(function($){
	$.fn.fontResize = function(options) {
		var defaults = {
			alvo: '.noticia-letra',
			//tipoPaiLink: 'none',
			resizeCounter: 0,
			//defaultSize: 12,
			/*
			increment: {
				px: 1,
				em: 0.085
			},
			*/
			increment:10,
			maxIncrement: 10,
			minIncrement: -3,
			//tags: new Array('div','td','tr','p','b','table','strong','em','a','h2','h3','h4','h5','h6','pre','sub','sup','i','th','cp','ul','ol','li','dt','dd','input','label','span'),
			//docBody: 'noticia-letra',
			cookieName: 'TRF1ResizeFont'
		};
		
		var d = $.extend(defaults, options);
		
		function loadSettings () 
		{
			cookie = Cookie.read(d.cookieName);
			if (cookie) {
				d.resizeCounter = cookie;
			} else {
				d.resizeCounter = 0;
			}
			
			$(d.alvo).css('font-size','100%');
			
			setSize();
		};
		
		function setSize () 
		{
			//var resize = (d.resizeCounter > 0) ? 100 + (d.resizeCounter * d.increment) :  100 - Math.abs(d.resizeCounter * d.increment);
			$(d.alvo).css('font-size', changeSize(0) + '%');
		};
		
		function resize (f_size, changeCounter) 
		{
			if (changeCounter == null){
				changeCounter = true;
			}
			
			if ((d.resizeCounter <= d.minIncrement && f_size < 0) || (d.resizeCounter >= d.maxIncrement && f_size > 0)) {
				alert('Tamanho limite da letra.');
				return false;
			}
			
			if (changeCounter) {
				(f_size > 0) ? d.resizeCounter++ : d.resizeCounter--;
				saveSettings();
			}
			//;
			$(d.alvo).css('font-size',changeSize(f_size) + '%');
		};
		
		function changeSize (f_size) 
		{
			//console.log('resizeCounter' +d.resizeCounter );
			//console.log('f_size' +f_size );
			//console.log('resizeCounter' +resizeCounter );
			var size = 0;
			var newSize = 0;
			if (d.resizeCounter == 0) {
				size = 100;
			} else if (d.resizeCounter > 0) {
				size = 100 + (d.resizeCounter * d.increment);
			} else {
				size = 100 - Math.abs(d.resizeCounter * d.increment);
			}
			
			switch (f_size) {
				case -1: newSize = size - 10; break;
				case  1: newSize = size + 10; break;
				default: newSize = size; break;
			}
			
			//var resize = (f_size > 0) ? size + 10 :  size - 10;
			return newSize;
			//$(d.alvo).css('font-size', resize + '%');
		};
		
		function resetSize () 
		{
			//$(d.alvo).css('font-size','100%');
			d.resizeCounter = 0;
			saveSettings();
			$(d.alvo).css('font-size', changeSize(0) + '%');
		};
		
		function saveSettings () 
		{
			//console.log('saveSettings');
			Cookie.create(d.cookieName,d.resizeCounter,365);
		};
		
		return this.each(function() {
			//Acrescentando os links para aumentar e diminuir tamanho da fonte	
			//pailink = d.tipoPaiLink;
			//reset = d.opResetar;
			$(this).html('<ul class="resizeFont"><li><a href="javascript:;" class="decrementarFont" title="Diminuir tamanho da letra">A-</a></li><li><a href="javascript:;" class="resetarFont" title="Restaurar o tamanho da letra">A</a></li><li><a href="javascript:;" class="incrementarFont" title="Aumentar tamanho da letra">A+</a></li></ul>');
			
			$('.decrementarFont','.resizeFont').click(function () {
				resize(-1);
				return false;
			});
			
			$('.incrementarFont','.resizeFont').click(function () {
				resize(1);
				return false;
			});
			
			$('.resetarFont','.resizeFont').click(function () {
				resetSize();
				return false;
			});
				
			loadSettings();
		});
	};
})(jQuery);

/*
 * <link rel="alternate" type="text/css" media="screen" title="altoContraste" href="/layout/css/template_altoContraste.css?1" disabled="disabled" />
 * */

(function($){
	$.fn.styleSwitcher = function(options) {
		var defaults = {
			cookieName: 'TRF1style',
			styles: [
			    {title:'altoContraste',desc:'Vers�o em alto contraste'},
			   // {title:'monocromatica',desc:'Vers�o monocrom�tica'},
			    {title:'default',desc:'Restaurar padr�es de cores', active:true}
			]
		};
		
		var d = $.extend(defaults, options);
		
		function setActive (title) 
		{
			//alert(title);
			for(var i = 0; i < d.styles.length; i++ )
			{
				if (!d.styles[i].active) {
					$("link[title='" + d.styles[i].title + "']").attr('disabled',true);	
				}
			}
			
			$("link[title='" + title + "']").removeAttr('disabled').disabled = false;
			
			d.active = title;
			saveSettings();
		};
				
		function getPreferred () 
		{
			for(var i = 0; i < d.styles.length; i++ )
	  		{
				if (d.styles[i].active) {
					return d.styles[i].title;
				}
	  			//li += '<li><a href="javascript:;" class="' + d.styles[i].title + '" rel="' + d.styles[i].title + '" title="' + d.styles[i].desc + '">A</a></li>';
	  		}
			
		};
		
		function loadSettings () 
		{
			var cookie = Cookie.read(d.cookieName);
			var title = cookie ? cookie : getPreferred();
			setActive(title);
		};
		
		function saveSettings () 
		{
			Cookie.create(d.cookieName, d.active, 365);
		};
	
	  	return this.each(function() {
	  		var li = '';
	  		for(var i = 0; i < d.styles.length; i++ )
	  		{
	  			li += '<li><a href="javascript:;" class="' + d.styles[i].title + '" rel="' + d.styles[i].title + '" title="' + d.styles[i].desc + '">A</a></li>';
	  		}
	  		
	  		//li += '<li><a href="javascript:;" class="' + d.active.title + '" rel="' + d.active.title + '" title="' + d.active.desc + '">A</a></li>';
	  		
			$(this).append('<ul class="styleSwitcher">' + li + '</ul>');
			
			$('a','.styleSwitcher').click(function () {
				setActive($(this).attr('rel'));
				return false;
			});
			
			loadSettings();
	    });
	};
})(jQuery);

