 /**
 * Arquivo responsavel pela chamada de todas as funcionalidades do Site Marcelo Moreira
 *
 * @author: Mateus Moura chagas[dot]mateus[at]gmail[dot]com
 * @date: 13/03/2010
 *
 * Copyright(c) Todos os direitos reservados a Marcelo Moreira
 */ 

if( window.console == null ) window.console = { log: function( p ) {  }, error: function( p ) {} }

var self;

var Actions = function()
{
	self = this;
	
	$.browser.msie && $.browser.version == "6.0"
		&& DD_belatedPNG.fix( ".png24" );
	
	self.init();
}

Actions.fn = Actions.prototype;
Actions.fn.extend = jQuery.extend;
Actions.fn.extend(
{
	init: function()
	{
		this.content = $( "#content" );
		
		$( "div.human", self.content ).fadeOut( function()
		{
			$( this ).fadeIn();	
		});
		
		if( window.screen.width == "800" )
			$( "div.menuFlash", self.cotent ).css( "marginLeft", "-176px" )
					
		var params =
		{
			scale: "noscale",
			wmode: "transparent"	
		}
		swfobject.embedSWF("http://eleicoes2010.jus.br/wp-content/themes/eleicoes2010/swf/menu_animado.swf", "flash", "750", "430", "7.0.0", '', '', params, '', '');
		
		//swfobject.embedSWF("http://localhost:8888/wp-content/themes/eleicoes2010/swf/menu_animado.swf", "flash", "750", "430", "7.0.0", '', '', params, '', '');
		
		self.modalGreen( $( "div.modalGreen", self.content ), $( "div.menu", self.content )  );
		
		//self.modalFlash();
		
		$( ".bt_accessibility", self.content ).unbind().click( function()
		{
			$( "div.menuFlash", self.content ).fadeToggle( function()
			{
				var menuHTML = $( "div.menuHTML", self.content );
				
				menuHTML.fadeToggle();	
				
				$( "a", menuHTML ).unbind().click( function()
				{
					self.modalFlash( $( this ).attr( "class" ) );
					
					return false;
				});
			})
			
			return false;
		});
		
		$( ".bt_first", self.content ).unbind().click( function()
		{
			var w = 1280,
				h = 745,
				t = 0,
				left = 0;
			
			window.open("http://" + window.location.host + "/wp-content/themes/eleicoes2010/primeiroAcesso.html", 'MatutoVIP', 'width='+w+', height='+h+', top='+t+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=yes, fullscreen=no');
			
			//self.modalFirst();
			
			return false;
		});
		
	},
	
	// Abrir modal de primeiro acesso.
	modalFirst: function()
	{
		var modal = $( "div.modalFirst", self.content );
		
		$( "div.player", self.content ).hide();
		
		modal.fadeIn( function()
		{
			$( ".bt_close", modal ).unbind().click( function()
			{
				$( "div.player", self.content ).show();
				modal.fadeOut();
				
				return false;
			});
			
			$( "body" ).click( function( e )
			{
				var ct = $( e.target ).parents( "div.modalFirst" );
				
				if( !ct.is( ".modalFirst" ) )
				{
					$( "div.modalFirst", self.content ).fadeOut();
					$( "div.player", self.content ).show();
				}
			});
		});
	},
	
	// Funcao para chamar as funcionalidades da modal branca
	modalFlash: function( d )
	{
		var modal = $( "div.modal", self.content );
		
		if( d == "menu2" )
		{
			window.open("http://divulgacand2010.tse.jus.br/divulgacand2010/");
			//window.location.href = "http://divulgacand2010.tse.jus.br/divulgacand2010/";
			return false;
		}
		if( d == "menu3" )
		{
			window.open( "http://www.tse.gov.br/internet/servicos_eleitor/consultaSituacaoNome.htm" );
			//window.location.href = "http://www.tse.gov.br/internet/servicos_eleitor/consultaSituacaoNome.htm";
			return false;
		}
		
		$( "div.player", self.content ).hide();
		
		$( ".active", modal ).removeClass( "active" );
		
		if( d == "menu1" )
		{
			$( ".bt_path", modal ).addClass( "active" );
			$( "div.path", modal ).addClass( "active" ); 
		}
		else if( d == "menu4" )
		{
			$( ".bt_step", modal ).addClass( "active" );
			$( "div.step", modal ).addClass( "active" );
			self.pagination( $( "div.step", modal ) );
		}
		else if( d == "menu5" )
		{
			$( ".bt_generation", modal ).addClass( "active" );
			$( "div.generation", modal ).addClass( "active" );
			self.generation( $( "div.generation", modal ) );
		}
		
		modal.fadeIn( function()
		{
			$( ".bt_close", modal ).unbind().click( function()
			{
				$( "div.player", self.content ).show();
				modal.fadeOut();
				
				return false;
			});
			
			$( "body" ).click( function( e )
			{
				var ct = $( e.target ).parents( "div.modal" );
				
				if( !ct.is( ".modal" ) )
				{
					$( "div.modal", self.content ).fadeOut();
					$( "div.player", self.content ).show();
				}
			});
		});
		
		self.menu( $( "ul.menu", modal ) );
	},
	
	// Funcao responsavel pelas funcionalidades da area de gerador de cola
	generation: function( div )
	{
		$( "input", div ).onlyNumber().resetDefaultValue();
		
		/*$( ".bt_one, .bt_two", div ).unbind().click( function()
		{
			
			if( $( this ).is( ".bt_one" ) )
			{
				$( "ul.second", div ).is( ":visible" )
					? $( "ul.second", div ).fadeOut( function()
					{
						$( "ul.first", div ).addClass( "active" ).fadeIn();
							
					}).removeClass( "ac" )
					: $( "ul.first", div ).addClass( "active" ).fadeIn();
			}
			else
			{
				$( "ul.first", div ).is( ":visible" )
					? $( "ul.first", div ).fadeOut( function()
					{
						$( "ul.second", div ).addClass( "active" ).fadeIn();
							
					})
					: $( "ul.second", div ).addClass( "active" ).fadeIn();
			}
			
			$( ".bt_print", div ).show();
			
			return false;
		});*/
		
		$( ".bt_print", div ).unbind().click( function()
		{
			var est1 = $( "input#est1", div ).val(),
				est2 = est1.charAt(1),
				est3 = est1.charAt(2),
				est4 = est1.charAt(3),
				est5 = est1.charAt(4),
				fed1 = $( "input#fed1", div ).val(),
				fed2 = fed1.charAt(1),
				fed3 = fed1.charAt(2),
				fed4 = fed1.charAt(3),
				sen11 = $( "input#sen11", div ).val(),
				sen12 = sen11.charAt(1),
				sen13 = sen11.charAt(2),
				sen21 = $( "input#sen21", div ).val(),
				sen22 = sen21.charAt(1),
				sen23 = sen21.charAt(2),
				gov1 = $( "input#gov1", div ).val(),
				gov2 = gov1.charAt(1),
				pre1 = $( "input#pre1", div ).val(),
				pre2 = pre1.charAt(1),
				w = 1000,
				h = 805,
				t = 0,
				left = 0;
			
			//window.open( "http://" + window.location.host + "/tse/wp-content/themes/twentyten/geradorDeCola.html?est=" + est + "&fed=" + fed + "&sen1=" + sen1 + "&sen2=" + sen2 + "&gov=" + gov + "&pre=" + pre, "teste" ,"width=600", "height=405" );
			window.open("http://" + window.location.host + "/wp-content/themes/eleicoes2010/geradorDeCola.html?est1=" + est1.charAt(0) + "&est2=" + est2 + "&est3=" + est3 + "&est4=" + est4 + "&est5=" + est5 + "&fed1=" + fed1.charAt(0) + "&fed2=" + fed2 + "&fed3=" + fed3 + "&fed4=" + fed4 + "&sen11=" + sen11.charAt(0) + "&sen12=" + sen12 + "&sen13=" + sen13 + "&sen21=" + sen21.charAt(0) + "&sen22=" + sen22 + "&sen23=" + sen23 + "&gov1=" + gov1.charAt(0) + "&gov2=" + gov2 + "&pre1=" + pre1.charAt(0) + "&pre2=" + pre2,'MatutoVIP', 'width='+w+', height='+h+', top='+t+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=yes, fullscreen=no');
					
			return false;
		});
	},
	
	// Funcao responsavel pela navegacao no menu da modal branca
	menu: function( div )
	{
		var content = $( "div.contentModal", self.content ),
			active = $( "div.active", content ),
			clicked = 0;
		
		$( "a", div ).unbind().click( function()
		{
			var $this = $( this ),
				parent = $this.parent(),
				c = parent.attr( "class" ),
				newActive = $( "div." + c, content );
			
			if( $this.is( ".menu2" ) )
			{
				window.open( "http://divulgacand2010.tse.jus.br/divulgacand2010/" );
				//window.location.href = "http://divulgacand2010.tse.jus.br/divulgacand2010/";
				return false;
			}
			if( $this.is( ".menu3" ) )
			{
				window.open( "http://www.tse.gov.br/internet/servicos_eleitor/consultaSituacaoNome.htm" );
				//window.location.href = "http://www.tse.gov.br/internet/servicos_eleitor/consultaSituacaoNome.htm";
				return false;
			}	
					
			
			if( $this.is( ".active" ) || clicked )
				return false;
			
			$( "a.active", parent.siblings() ).removeClass( "active" );
			$this.addClass( "active" );
			
			if( newActive.length )
			{
				active.fadeOut( function()
				{
					newActive.fadeIn( function()
					{
						newActive.addClass( "active" );
					});
					
					active.removeClass( "active" );
					
					active = newActive;
					
					newActive.is( ".step" )
						&& self.pagination( newActive );
					
					newActive.is( ".generation" )
						&& self.generation( newActive );
				});
			}
			
			return false;
		});
		
		$( "a", div ).hover( function()
		{
			$( this ).is( ".bt_situation" )
				? $( this ).css( "backgroundPosition", "0 -16px" )
				: $( this ).css( "backgroundPosition", "0 -10px" );	
		}, function()
		{
			$( this ).css( "backgroundPosition", "0 3px" );
		});
	},
	
	// Funcao da paginacao em passo-a-passo
	pagination: function( div )
	{
		var clicked = 0,
			count = 1;
		
		$( ".bt_prev, .bt_next", div ).unbind().click( function()
		{
			var $this = $( this ),
				uls = $( "div.scroll ul", div ),
				valueLeft = uls.css( "left" ).split( "px" )[ 0 ] != "0"
								? Number( uls.css( "left" ).split( "px" )[ 0 ] )
								: 0;
			
			if( $this.is( ".inactive" ) || clicked )
				return false;
			
			clicked++;
			
			if( $this.is( ".bt_prev" ) )
			{
				uls.animate(
				{
					left: valueLeft + 460 	
				}, 400, function()
				{
					count--;
					clicked = 0;
					
					count == 1
						&&	$this.addClass( "inactive" );
					
					$( ".bt_next", div ).removeClass( "inactive" );
				});	
			}
			else
			{
				uls.animate(
				{
					left: valueLeft - 460 	
				}, 400, function()
				{
					count++;
					clicked = 0;
					
					count == 8
						&&	$this.addClass( "inactive" );
					
					$( ".bt_prev", div ).removeClass( "inactive" );
				});	
			}
			
			return false;
		});
	},
	
	// Funcao para chamar as funcionalidades da modal verde
	modalGreen: function( div, menu )
	{
		$( "div.contentModal ul.downloadList", div ).each( function()
		{
			$( "li:even", $( this ) ).addClass( "marignRight" );
		});
		
		$( ".bt_film", menu ).unbind().click( function()
		{
			$( "div.player", self.content ).hide();
			
			div.fadeIn( function()
			{
				$( ".bt_close", div ).unbind().click( function()
				{
					div.fadeOut( function()
					{
						$( "div.player", self.content ).show();
					});
					
					return false;
				});
			});
			
			$( "body" ).click( function( e )
			{
				var ct = $( e.target ).parents( "div.modalGreen" );
				
				if( !ct.is( ".modalGreen" ) )
				{
					$( div ).fadeOut();
					$( "div.player", self.content ).show();
				}
			});
			
			return false;
		});
	}
});

jQuery( function()
{
	var actions = new Actions(); 
});

function openModal( d )
{
	self.modalFlash( d );
};

$.fn.onlyNumber=function(settings)
{
	var defaults = {
		except:"-.A"
	},
	settings = $.extend( {}, defaults, settings|| {}),
	except = [];
	
	for( var i = 0; i < settings.except.length;i++)
	{
		except.push(settings.except.charCodeAt(i));
	}
	return this.each(function()
	{
		$(this).keypress(function(e)
		{
			if(e.which!=8&&e.which!=0&&(e.which<48||e.which>57)&&$.inArray(e.which,except)==-1)
			return false;
		});
	});
}

/**
 * jQuery resetDefaultValue plugin
 *
 * @name jQuery.fn.resetDefaultValue
 * @version 0.9.1
 * @author Leandro Vieira Pinho
 * @example $( "input[@type='text']" ).resetDefaltValue()
 */

$.fn.resetDefaultValue = function( now )
{
	return this.each( function()
	{
		var d = this.defaultValue,
			clear = function()
			{
				this.value == d && ( this.value = '' );
			},	
			reset = function()
			{
				this.value == '' && ( this.value = d );
			}
		
		$( this )
			.click( clear )
			.focus( clear )
			.blur( reset );
	});
}

/**
 * Implementation to fadeToggle, this plugin allow the same fadeIn and fadeOut's parameters.
 *
 * @name jQuery.fn.fadeToggle();
 * @exemple $( "div" ).fadeToggle();
 * @param {String|Number} speed An velocity that you want. By default is "normal". Possible values are "slow", "normal" and "fast" 					 *                        to string and any number in miliseconds.
 * @param {Function} callback A function to be invoked when animation over.
 *
 */ 
$.fn.fadeToggle = function( speed, callback )
{
	callback = callback || null;
	
	typeof velocity == "function"
		&& ( callback = speed ) && ( speed = "normal" )
		
	return this.each( function()
	{
		var $this = $( this ),
			opacity = $this.is( ":visible" )
				? "hide"
				: "show";
			
		$this.animate( {opacity: opacity }, speed, callback );
	});
}



