//Functions

//Setup Ajax

    //Aqui se cambian los tabs
function setTabs(plaza) {
    if (plaza == 21) {
	plaza = 69; // el df se ve como Mexico en los tabs
    }
    $('.onTabs').removeClass('onTabs');
    $("#c"+plaza).addClass('onTabs');
    $("#c"+plaza).click('onTabs');
    $("#c"+plaza).click( function(){
	    $("div.ui-tabs-panel").addClass("ui-tabs-hide");
	});
}

function atiempoLoadCallback(plaza) {
    // superhack para la aficion
    var seccion = $('.ui-tabs-selected a span')[0].innerHTML;
    if (seccion == 'Deportes') {
	if (plaza == 69) {
	    $('.view-content-atiempo-insert .view-data-node-title a').each(function(){var link = this.href; this.href = link.replace('www.milenio', 'www.laaficion'); });
	    $('#ui-tabs-45').append('<div class="mas_notas_atiempo fLeft"><a href="http://www.laaficion.com"><img width="148" height="22" src="/portal/images/btn_todas_noticias_hoy.png"/></a></div>');
	} else {
	    //$('#ui-tabs-14').append('<div class="mas_notas_atiempo fLeft"><a href="http://www.laaficion.com"><img width="148" height="22" src="/portal/images/btn_todas_noticias_hoy.png"/></a></div>');
	}
    }
}

// se llama como callback al cargar un tab con la edicion impresa
function footerImpresoCallback() {
    var contenido = '<a href="' + $('#edimp_titular > a').get(0).href + '">';
    contenido += '<h3>' + $('#edimp_titular > a').find('.titulonota1').html() + '</h3>';
    contenido += $('#edimp_titular > a').find('.abstractnota1').html() + '</a>';
    var link = $('#ed_imp_por_img > a').get(0).href;
//    $('#portada_ed_imp > a').get(0).href = link.replace('www2.milenio', 'www.milenio');
//    $('#ed_imp_por_img > a').get(0).href = link.replace('www2.milenio', 'www.milenio');
    $('#portada_ed_imp img').get(0).src = $('#ed_imp_por_img img').get(0).src;
    $('#portada_ed_imp span').html(contenido);
    $('.espacio_portada > img').get(0).src = $('#ed_imp_por_img img').get(0).src;
}

//cargar plazas
function cargar_plaza(plaza){
    //Esto carga el contenido
    $('#tabs-1').css({ backgroundImage: "url(/portal/images/bg_atiempo_"+plaza+".jpg)" });
    $('#tabs-2 > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });
    $('#tabs-3 > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });
    $('#tabs-4 > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });
    $('#tabs-5 > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });
    $('#tabs-6 > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });

    // mientras leon no tiene impreso usamos nacional
    if (plaza == 3250) {
        plaza = 69;
    }

    // pon links en espacio suscriptor
    $('.espacio_portada .boton').get(0).href = 'http://www.milenio.com/' + plaza_url(plaza) + '/milenio';
    $('.espacio_revista .boton').get(0).href = 'http://www.milenio.com/semanal';

    // Manejo del UI tabs de ediciones impresas
    //$('#tabs-7 > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });
    $('.ediciones_tabs').removeClass('plaza22');
    $('.ediciones_tabs').removeClass('plaza23');
    $('.ediciones_tabs').removeClass('plaza24');
    $('.ediciones_tabs').removeClass('plaza25');
    $("div#tabs-7").addClass("plaza"+plaza+"");
    $("li.tabmex").removeClass("ui-tabs-selected");
    $("li.tab22").removeClass("ui-tabs-selected");
    $("li.tab23").removeClass("ui-tabs-selected");
    $("li.tab24").removeClass("ui-tabs-selected");
    $("li.tab25").removeClass("ui-tabs-selected");
    $('.plaza22 > ul').tabs({ selected: 2, load: function(){footerImpresoCallback()} });
    $('.plaza23 > ul').tabs({ selected: 3, load: function(){footerImpresoCallback()} });
    $('.plaza24 > ul').tabs({ selected: 5, load: function(){footerImpresoCallback()} });
    $('.plaza25 > ul').tabs({ selected: 4, load: function(){footerImpresoCallback()} });
}

function getLatest(plaza){
    $("#pAtiempo").load('/portal/render/atiempo_ticker_'+plaza+'.html');
    window.setTimeout(function(){getLatest(plaza)},60000);
}
//cookiehanlder
function set_plaza(plaza) {
    set_cookie('plaza', plaza);
}

function set_stats_type(type){
    set_cookie('stats-type', type);
}

function set_cookie(name, value){
    var expdate = new Date(); 
    expdate.setDate(expdate.getDate()+365);
    document.cookie = name+'='+value+'; expires='+expdate.toGMTString()+'; path=/portal/';
}

function get_cookie_val(name){
    var cookie;
    if(document.cookie.length > 0){
	all_cookies = document.cookie.split('; ');
	for(i = 0; i < all_cookies.length; i++){
	    cookie = all_cookies[i].split('=');
	    if(cookie[0] == name){  
		cookie = cookie[1];
		return cookie;
	    }
	}
    }
}

function get_plaza(){
    var default_plaza = 69;
    var plaza = get_cookie_val('plaza');
    if(plaza.length > 0){
	return plaza;
    } else {
	set_plaza(default_plaza);
	return default_plaza;
    }
}

function get_stats_type(){
    var default_type = 'blogs';
    var type = get_cookie_val('stats-type');
    if(type && type.length > 0){
	return type;
    } else {
	set_stats_type(default_type);
	return default_type;
    }
}

//Animacion del Scroller
jQuery.easing['BounceEaseOut'] = function(p, t, b, c, d) {
    if ((t/=d) < (1/2.75)) {
	return c*(7.5625*t*t) + b;
    } else if (t < (2/2.75)) {
	return c*(7.5625*(t-=(1.5/2.70))*t + .75) + b;
    } else if (t < (2.5/2.75)) {
	return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
    } else {
	return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
    }
};


//Funcion masmenos
jQuery.fn.truncate = function( max, settings ) {
    settings = jQuery.extend( {
	    chars: /\s/,
	    trail: [ "...", "" ]
	}, settings );
    var myResults = {};
    var ie = $.browser.msie;
    function fixIE( o ) {
        if ( ie ) {
            o.style.removeAttribute( "filter" );
        }
    }
    return this.each( function() {
	    var $this = jQuery(this);
	    var myStrOrig = $this.html().replace( /\r\n/gim, "" );
	    var myStr = myStrOrig;
	    var myRegEx = /<\/?[^<>]*\/?>/gim;
	    var myRegExArray;
	    var myRegExHash = {};
	    var myResultsKey = $("*").index( this );
	    while ( ( myRegExArray = myRegEx.exec( myStr ) ) != null ) {
		myRegExHash[ myRegExArray.index ] = myRegExArray[ 0 ];
	    }
	    myStr = jQuery.trim( myStr.split( myRegEx ).join( "" ) );
	    if ( myStr.length > max ) {
		var c;
		while ( max < myStr.length ) {
		    c = myStr.charAt( max );
		    if ( c.match( settings.chars ) ) {
			myStr = myStr.substring( 0, max );
			break;
		    }
		    max--;
		}
		if ( myStrOrig.search( myRegEx ) != -1 ) {
		    var endCap = 0;
		    for ( eachEl in myRegExHash ) {
			myStr = [ myStr.substring( 0, eachEl ), myRegExHash[ eachEl ], myStr.substring( eachEl, myStr.length ) ].join( "" );
			if ( eachEl < myStr.length ) {
			    endCap = myStr.length;
			}
		    }
		    $this.html( [ myStr.substring( 0, endCap ), myStr.substring( endCap, myStr.length ).replace( /<(\w+)[^>]*>.*<\/\1>/gim, "" ).replace( /<(br|hr|img|input)[^<>]*\/?>/gim, "" ) ].join( "" ) );
		} else {
		    $this.html( myStr );
		}
		myResults[ myResultsKey ] = myStrOrig;
		$this.html( [ "<div class='truncate_less'>", $this.html(), settings.trail[ 0 ], "</div>" ].join( "" ) )
		    .find(".truncate_show",this).click( function() {
			    if ( $this.find( ".truncate_more" ).length == 0 ) {
				$this.append( [ "<div class='truncate_more' style='display: none;'>", myResults[ myResultsKey ], settings.trail[ 1 ], "</div>" ].join( "" ) )
				    .find( ".truncate_hide" ).click( function() {
					    $this.find( ".truncate_more" )/*.css( "background", "#fff" )*/.fadeOut( "normal", function() {
						    $this.find( ".truncate_less" )/*.css( "background", "#fff" )*/.fadeIn( "normal", function() {
							    fixIE( this );
							    $(this).css( "background", "none" );
							});
						    fixIE( this );
						});
					    return false;
					});
			    }
			    $this.find( ".truncate_less" ).fadeOut( "normal", function() {
				    $this.find( ".truncate_more" ).fadeIn( "normal", function() {
					    fixIE( this );
					});
				    fixIE( this );
				});
			    jQuery(".truncate_show",$this).click( function() {
				    $this.find( ".truncate_less" )/*.css( "background", "#fff" )*/.fadeOut( "normal", function() {
					    $this.find( ".truncate_more" )/*.css( "background", "#fff" )*/.fadeIn( "normal", function() {
						    fixIE( this );
						    $(this).css( "background", "none" );
						});
					    fixIE( this );
					});
				    return false;
				});
			    return false;
			});
	    }
	});
};

function bloques_sidebar(plaza){
    //Aqui cargamos los bloquesitos de las notas
    if(!plaza){
	plaza = get_plaza();
    }
    if (plaza == 21) {
	plaza = 69;
    }
    $('#eltema-sidebar').load('/portal/render/eltema_block_' + plaza + '.html');
    $('#destacadas-sidebar').load('/portal/render/destacadas_' + plaza + '.html');
}


//CSS Browser Selector v0.2.6
//Documentation: http://rafael.adm.br/css_browser_selector
//License: http://creativecommons.org/licenses/by/2.5/
//Author: Rafael Lima (http://rafael.adm.br)
//Contributors: http://rafael.adm.br/css_browser_selector#contributors
function css_browser() {
    var css_browser_selector = function() {
	var ua=navigator.userAgent.toLowerCase(),
	is=function(t){return ua.indexOf(t) != -1;},
	h=document.getElementsByTagName('html')[0],
	b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('gecko/')? 'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',
	os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';
	var c=b+os+' js'; h.className += h.className?' '+c:c;
    }();
}

function flash_remplace() {
    var FlashReplace = {
	elmToReplace : null,
	flashIsInstalled : null,
	defaultFlashVersion : 7,
	replace : function (elmToReplace, src, id, width, height, version, params){
	    this.elmToReplace = document.getElementById(elmToReplace);
	    this.flashIsInstalled = this.checkForFlash(version || this.defaultFlashVersion);
	    if(this.elmToReplace && this.flashIsInstalled){
		var obj = '<object' + ((window.ActiveXObject)? ' id="' + id + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" data="' + src + '"' : '');
		obj += ' width="' + width + '"';
		obj += ' height="' + height + '"';
		obj += '>';
		var param = '<param';
		param += ' name="movie"';
		param += ' value="' + src + '"';
		param += '>';
		param += '';
		var extraParams = '';
		var extraAttributes = '';
		for(var i in params){
		    extraParams += '<param name="' + i + '" value="' + params[i] + '">';
		    extraAttributes += ' ' + i + '="' + params[i] + '"';
		}
		var embed = '<embed id="' + id + '" src="' + src + '" type="application/x-shockwave-flash" width="' + width + '" height="' + height + '"';
		var embedEnd = extraAttributes + '></embed>';
		var objEnd = '</object>';
		this.elmToReplace.innerHTML = obj + param + extraParams + embed + embedEnd + objEnd;			
	    }
	},
		
	checkForFlash : function (version){
	    this.flashIsInstalled = false;
	    var flash;
	    if(window.ActiveXObject){
		try{
		    flash = new ActiveXObject(("ShockwaveFlash.ShockwaveFlash." + version));
		    this.flashIsInstalled = true;
		}
		catch(e){
		    // Throws an error if the version isn't available			
		}
	    }
	    else if(navigator.plugins && navigator.mimeTypes.length > 0){
		flash = navigator.plugins["Shockwave Flash"];
		if(flash){
		    var flashVersion = navigator.plugins["Shockwave Flash"].description.replace(/.*(\d+\.\d+).*/, "$1");
		    if(flashVersion >= version){
			this.flashIsInstalled = true;
		    }
		}
	    }
	    return this.flashIsInstalled;
	}
    };
}

function postPoll(element) {
    var i;
    var v;
    for (i=0; i < element.votar.length; i++) {
	if  (element.votar[i].checked) {
	    v = element.votar[i].value;
	    $("#cuerpo_encuesta").load("/services/poll/poll.php?votar="+v);
	}
    }
    return false;
}

function cargaPublicidad() {
    if ($("#publicidad_portada_top").get(0)) {
        $("#publicidad_portada_top").get(0).src = '/portal/publicidad_portada_top.html';
    }
    if ($("#publicidad_portada_boxbanner_top").get(0)) {
	$("#publicidad_portada_boxbanner_top").get(0).src = '/portal/publicidad_portada_boxbanner_top.html';
    }
    if ($("#publicidad_portada_banner").get(0)) {
	$("#publicidad_portada_banner").get(0).src = '/portal/publicidad_portada_banner.html';
    }
    if ($("#publicidad_portada_banner2").get(0)) {
	$("#publicidad_portada_banner2").get(0).src = '/portal/publicidad_portada_banner2.html';
    }
    if ($("#publicidad_portada_google1").get(0)) {
	$("#publicidad_portada_google1").get(0).src = '/portal/publicidad_portada_google1.html';
    }
    if ($("#publicidad_portada_google2").get(0)) {
	$("#publicidad_portada_google2").get(0).src = '/portal/publicidad_portada_google2.html';
    }
    if ($("#banner_sponsored").get(0)) {
	$("#banner_sponsored").get(0).src = '/portal/banner_sponsored.html';
    }
}

function MM_jumpMenu(targ,selObj,restore,url){
    document.location = url + selObj.options[selObj.selectedIndex].value;
    if (restore) {
	selObj.selectedIndex=0;
    }
}

function plaza_url(plaza) {
    var plazas = {21: 'df',
		  22: 'monterrey',
		  23: 'guadalajara',
		  24: 'tampico',
		  25: 'torreon',
		  69: 'mexico',
		  1451: 'puebla',
		  1452: 'villahermosa',
		  1453: 'edomex',
		  1454: 'pachuca',
		  1455: 'xalapa',
		  3250: 'mexico'
    };
    return plazas[plaza];
}

function top20 (type) {
    set_stats_type(type);
    document.location = '/portal/top20.php';
}

function updateStylesheets(){
	var i,a,s;
	a=document.getElementsByTagName('link');
	for(i=0;i<a.length;i++) {
		s=a[i];
		if(s.rel.toLowerCase().indexOf('stylesheet')>=0&&s.href) {
			var h=s.href.replace(/(&|\\?)forceReload=d /,'');
			s.href=h+(h.indexOf('?')>=0?'&':'?')+'forceReload='+(new Date().valueOf());
		}
	}
}
