(function($){
	$.defaultCookieOptions = {expires: 7, path: '/'};
	$.regionTr = {
		1: 'ac',
		2: 'al',
		3: 'ap',
		4: 'am',
		5: 'ba',
		6: 'ce',
		7: 'df',
		8: 'es',
		11: 'ms',
		13: 'ma',
		14: 'mt',
		15: 'mg',
		16: 'pa',
		17: 'pb',
		18: 'pr',
		20: 'pi',
		21: 'rj',
		22: 'rn',
		23: 'rs',
		24: 'ro',
		25: 'rr',
		26: 'sc',
		27: 'sp',
		28: 'se',
		29: 'go',
		30: 'pe',
		31: 'to'
	};
	$.prepareList = function(){
		jQuery('#estados').hide();
		jQuery('#hd > .mudarestado > a').click(function(e){
			jQuery('#estados').slideToggle('slow');
			return false;
		});
		jQuery('#estados > li > a').each(function(){
			jQuery(this).click(function(){
				jQuery('#estados').slideUp('slow');
				jQuery.changeEstado(jQuery(this).attr('rel'));
				return false;
			});
		});
	};
	$.loadScript = function(url, callback){
		var script = document.createElement("script")
		script.type = "text/javascript";

		if (script.readyState){  //IE
			script.onreadystatechange = function(){
				if (script.readyState == "loaded" || script.readyState == "complete"){
						script.onreadystatechange = null;
						callback();
				}
			};
		} else {  //Others
			script.onload = function(){
				callback();
			};
		}

		script.src = url;
		document.getElementsByTagName("body")[0].appendChild(script);
	};
	$.loadEstado = function(){
		var uf = jQuery.cookie('uf');
		if (uf == null) {
			jQuery.loadDefaultEstado();
		} else {
			/*@remove this
			if (uf != 'sp' && uf != 'rj') {
				alert('Nos demais Estados, em maio de 2010.');
				jQuery.changeEstado('sp');
			}
			//*/
			jQuery.displayEstado(uf);
		}
	};
	$.changeEstado = function(estado){
		var sprj = jQuery.cookie('sprj');
		/*@remove this
		if (estado != 'sp' && estado != 'rj') {
			alert('Nos demais Estados, em maio de 2010.');
			estado = 'sp';
		}
		//*/
		if (estado == 'sp' || estado == 'rj') {
			jQuery.cookie('sprj', 1, jQuery.defaultCookieOptions);
		} else {
			jQuery.cookie('sprj', 0, jQuery.defaultCookieOptions);
		}
		jQuery.cookie('uf', estado, jQuery.defaultCookieOptions);
		if (sprj != null && sprj != jQuery.cookie('sprj')) {
			window.location.reload(true);
		}
		jQuery.displayEstado(estado);
	};
	$.loadDefaultEstado = function(){
		if (jQuery.browser.safari) {
			jQuery.changeEstado(jQuery.regionTr[27]);
		} else {
			jQuery.loadScript('http://j.maxmind.com/app/geoip.js', function(){
				jQuery.changeEstado(jQuery.regionTr[parseInt(geoip_region())]);
				if (jQuery.cookie('sprj') == 0) {
					top.location.reload();
				}
			});
		}
	};
	$.displayEstado = function(estado){
		if (estado == null || estado == undefined) {
			return false;
		}
		jQuery('#estado').html(jQuery("#estados > li > a[rel='" + estado + "']").html());
		return true;
	};
	$.preparePerdeu = function(){
		jQuery('#perdeu > a.solicite').hide();
		jQuery('#perdeu').bind('mouseover', function(){
			jQuery(this).children('a.solicite').show();
			return false;
		});
		jQuery('#perdeu').bind('mouseout', function(){
			jQuery(this).children('a.solicite').hide();
			return false;
		});
		/*
		jQuery('body').click(function(){
			jQuery('#perdeu > a.solicite').hide();
		});
		//*/
	};
	$.prepareFloatingAssine = function(){
		jQuery.floatingAssineMaxWidth = 1125;
		if (jQuery.browser.msie) {
			jQuery('#assinebottom').css('position', 'absolute');
			jQuery.floatingAssineInitialTop = parseInt(jQuery('body').height()) - parseInt(jQuery('#assinebottom').height()) - parseInt(jQuery('#assinebottom').css('bottom'));
		} else {
			jQuery.floatingAssineInitialTop = parseInt(jQuery("#assinebottom").css('top'));
		}
		if (parseInt(jQuery(document).width()) < jQuery.floatingAssineMaxWidth) {
			jQuery("#assinebottom").hide();
		}
		jQuery("#assinebottom").css("top", jQuery.floatingAssineInitialTop + "px");
		jQuery(window).scroll(function(){
			//alert((jQuery(this).scrollTop() + jQuery.floatingAssineInitialTop) + ' > ' +  jQuery('#ft').offset().top);
			if (parseInt(jQuery(document).width()) < jQuery.floatingAssineMaxWidth && jQuery(this).scrollTop() + jQuery.floatingAssineInitialTop > jQuery('#ft').offset().top) {
				if (!jQuery("#assinebottom").hasClass('show')) {
					jQuery("#assinebottom").show();
					jQuery("#assinebottom").addClass('show');
				}
			} else if(jQuery("#assinebottom").hasClass('show')) {
				jQuery("#assinebottom").removeClass('show');
				jQuery("#assinebottom").hide();
			}
			if (jQuery.browser.msie) {
				jQuery("#assinebottom").css("top", jQuery(this).scrollTop() + jQuery.floatingAssineInitialTop + "px");
			}
		});
	};
	$.prepareAnalyticsForExternalLinks = function(){
		if(pageTracker){
			jQuery('a[rel=external]').each(function(){
				jQuery(this).click(function(event){
					var code=event.charCode || event.keyCode;
					if(!code || (code && code == 13)) {
						var fixedLink = this.href;
						fixedLink = fixedLink.replace(/https?:\/\/(.*)/,"$1");
						fixedLink = '/' + jQuery(this).attr('rel') + '/' + fixedLink;
						pageTracker._trackPageview(fixedLink);
					};
					return true;
				});
			});
		}
	};
})(jQuery);

jQuery(document).ready(function(){
	jQuery.prepareList();
	jQuery.loadEstado();
	jQuery.preparePerdeu();
	jQuery.prepareFloatingAssine();
	jQuery.prepareAnalyticsForExternalLinks();
});

