var funcoes = function() 
{
	return {
		incializar: function() 
		{
			verfForm('vazios'); //Verififa se os campos estão vazios;
			funcoes.clickAba(); // Função de clique na aba dos formulários
			funcoes.revisarAbas(); //Quando todas as abas estiverem preenchidas;
			funcoes.setaUpDown(); //Abre e fecha as instituições do Formulário;
			funcoes.addArq(); //Adiciona mais campos file;
			funcoes.IN();
		},
		
		removArq: function() 
		{
			jQuery(".removArq").click(function () 
			{
				jQuery(this).parents('div[id="row"]').remove();
				return false;
			});	
		},
		
		addArq: function() 
		{
			jQuery("#addArq").click(function () 
			{
				var x = verfArq(0);
				jQuery("input[name='document[]']").each(function (i) 
				{
					var campoFile = jQuery(this);
					if(campoFile.val() == '')
						x = i + 1; 
				});	

				if(x == 0)
				{
					var idProxi    = jQuery("#id_arq").val();
					var newid = (idProxi - 1) + 2;

					jQuery('<div id="row"><input type="file" name="document[]" class="documento" /><a href="#" class="removArq">Remove</a></div>').insertBefore("#files");
					
					jQuery("#id_arq").val(newid);
					funcoes.removArq(); //Remove campos file;
					verfForm('vazios');
				}
			});	
		},
			
        IN: function() 
		{
			jQuery(".bLogar").click(function () 
			{	
				var x = 0;
				var cmail = jQuery('#menuLogin').find('input[name="lemail"]');
				var caces = jQuery('#menuLogin').find('input[name="lsenha"]');
				jQuery('#lemail').remove();
				jQuery('#lsenha').remove();
				var erEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;						
				if (!erEmail.test(cmail.val())) 
				{
					x = 1;
					cmail.focus();
					if(jQuery('#'+cmail.attr('name')).attr('id') == null)
						jQuery('<span id="'+cmail.attr('name')+'" class="msgErro">Por favor confira seu e-mail.</span>').insertAfter(cmail);
				} 				
				if (!caces.val()) 
				{
					x = 1;
					caces.focus();
					if(jQuery('#'+caces.attr('name')).attr('id') == null)
						jQuery('<span id="'+caces.attr('name')+'" class="msgErro">'+caces.attr('title')+'</span>').insertAfter(caces);
				} 

				caces.click(function (e) 
				{
                    var campo = jQuery(this);
                    if(jQuery('#'+jQuery(this).attr('name'))) 
				        jQuery('#'+campo.attr('name')).remove();
                });  
				cmail.click(function (e) 
				{
                    var campo = jQuery(this);
                    if(jQuery('#'+jQuery(this).attr('name'))) 
				        jQuery('#'+campo.attr('name')).remove();
                });
				
				if(x == 0)
				{		
					if(jQuery('#lodar').attr('id') == null)
						jQuery('<span class="loginload"><img src="includes/images/loader.gif" border="0" id="lodar"></span>').insertAfter('.lemail');					
					
					if(document.location.hostname == '192.168.0.13') 
					{ 		
						var dir = document.location.pathname.split('/');
						var end = 'http://'+document.location.hostname+'/'+dir[1]+'/';
					} else
						var end = 'http://'+document.location.hostname+'/';
	
					jQuery.ajax({
						type: "POST",
						url: end+"auxiliar.php",
						data: "t="+jQuery('#menuLogin').find('input[name="tipo"]:checked').val()+"&lemail="+jQuery('#menuLogin').find('input[name="lemail"]').val()+"&lsenha="+jQuery('#menuLogin').find('input[name="lsenha"]').val(),
						success: function(retorno) {
							jQuery('#lodar').remove();
							separa = retorno.split("|");
							switch(separa[0])
							{
								case '1':
									cmail.focus();
									if(jQuery('#'+cmail.attr('name')).attr('id') == null)
										jQuery('<span id="'+cmail.attr('name')+'" class="msgErro">Usuário não existe.</span>').insertAfter(cmail);
								break;								
								case '2':
									caces.focus();
									if(jQuery('#'+caces.attr('name')).attr('id') == null)
										jQuery('<span id="'+caces.attr('name')+'" class="msgErro">Por favor confira sua senha</span>').insertAfter(caces);
								break;								
								case '99':
									jQuery('#endse').html('<a href="/sair" id="encerrar">Encerrar sua sessão</a>');
									jQuery('#menuLogin').remove();
									scroll(0,10);
									jQuery('#topo').html(separa[1]);
								break;
							}
						}
					})
				}	
			});	
        },          
		
		setaUpDown: function() 
		{
			jQuery(".imgSeta").click(function () {
				var qual = jQuery(this).parents(".instituicao").find('ul');
				var estado = jQuery(this).parents(".instituicao").find('ul').attr("class");
				if (typeof(estado) == 'undefined') {
					jQuery(this).parents(".instituicao").find('ul').slideUp("100000", function(){ jQuery(qual).addClass("desativado") });
					jQuery(this).attr('src', 'includes/images/blue_down.png')
					jQuery('input, select', jQuery(this).parents(".instituicao")).each(function() {
						jQuery(this).val('');
					});	
				} else {
					jQuery(this).parents(".instituicao").find('ul').slideDown("100");
					jQuery(this).parents(".instituicao").find('ul').removeClass("desativado");
					jQuery(this).attr('src', 'includes/images/blue_up.png');			
				}
			});	
        },  
		
		habilitarCampos : function() 
		{
			jQuery("span[id='editcampo']").click( function() 
			{
				var campo = jQuery(this).find("img").attr('id');
				if(jQuery("[class^="+campo+"]").attr('name') == null) campoEdit = "[name^="+campo+"]"; else campoEdit = "[class^="+campo+"]";
				jQuery(campoEdit).each(function () 
				{
					if (jQuery(this).attr('disabled') == true) 
					{
						jQuery(this).attr('disabled', false);
						jQuery("#"+jQuery(this).attr('name')).attr('src', 'includes/images/iconOK.gif');
					} 
					else 
					{
						jQuery(this).attr('disabled', true);
						jQuery("#"+jQuery(this).attr('name')).attr('src', 'includes/images/edit.gif');
					}
				});
				
			});				
		},
		
		revisarAbas : function() 
		{
			jQuery("#abaRevis").click(function() 
			{
				var x = verfForm('vazio');	
				if(x == 101)
					jQuery(".avisoAbaC").html('Verifique o seu e-mail.');
				if(x == 0)
				{
					jQuery(".avisoAbaC").css('display', 'none');
					jQuery("#cont_aba1").find('.avisoAbaC').css('display', 'block');
					jQuery("#cont_aba1").find('.avisoAbaC').html('Estes são os dados que você inseriu. Por favor, revise com atenção antes de confirmar o envio. Caso seja necessário alterar algo, clique no ícone de edição ao lado de cada campo.”');
					jQuery('.outaba').css('display', 'none');
					
					jQuery('.revisar').css('display', 'block');
					jQuery('#cont_aba1').css('display', 'block');
					jQuery('#cont_aba2').css('display', 'block');
					jQuery('#cont_aba3').css('display', 'block');
					jQuery('#cont_aba4').css('display', 'block');
					jQuery('#cont_aba5').css('display', 'block');
					
					jQuery('div[class="abaButtons"]').css('display', 'none');

					jQuery(':input', 'form[name="geralFile"]').each(function() 
					{ 
						var tipo = jQuery(this)[0].type;
						switch(tipo) 
						{
							case 'file':
								disable(this);
								editar(jQuery('input[class="'+jQuery(this).attr('class')+'"]:last'), "class");
							break;
							case 'radio':
								disable(this);
								editar(jQuery('input[name="'+jQuery(this).attr('name')+'"]:last'), "name");
							break;							
							case 'checkbox':
								disable(this);
								editar(jQuery('input[class="'+jQuery(this).attr('class')+'"]:last'), "class");
							break;
							case 'select-one':
							case 'password':
							case 'text':
							case 'textarea':
								if(jQuery(this).attr('name') != "coment" && jQuery(this).attr('name') != "tipo" && jQuery(this).attr('name') != "end" && jQuery(this).attr('name') != "act")
								{
									disable(this);
									editar(jQuery(this), "name");	
								}			
							break;
	                    }					
					});
					
					scroll(0,130);
					
					jQuery('#abaRevis').css('display', 'none');					
					jQuery('#goform').removeClass('invisivel');	
					
					if(document.location.hostname == '192.168.0.13') 
					{ 		
						var dir = document.location.pathname.split('/');
						var end = 'http://'+document.location.hostname+'/'+dir[1]+'/';
					} else
						var end = 'http://'+document.location.hostname+'/';

					jQuery('form[name="geralFile"]').validacao 
					({
						vl_formaenvio: 'file',
						vl_pgexterna:  end+'auxiliar.php',
						vl_elementos:  'input, textarea',
						vl_registros:  1,
						vl_arquivo: 'input[name="documento"]'
					});
					
					funcoes.habilitarCampos();
				} 
				else 
				{
					scroll(0,130);
					jQuery(".avisoAbaC").fadeOut(100, function() {
						jQuery(".avisoAbaC").fadeIn(70, function() {
							jQuery(".avisoAbaC").fadeOut(100, function() {
								jQuery(".avisoAbaC").fadeIn(100);
							});						
						});	
					});
				}
					
				return false;
			});			
		},
		
		clickAba: function() 
		{
		    jQuery(".aba").click(function() 
			{

				verfForm('vazios');
				
				var idAba = '';
				var idAba = '';
				var abaAtual = jQuery(this);
				var ulAbas = abaAtual.parents("ul");
				var infoAba = '';
				jQuery("li[class='outaba']").each(function() 
				{
					var span = '#cont_aba'+jQuery(this).find('span').attr('id');
					if(jQuery(this).find('span').attr('id') == abaAtual.attr('id')) 
					{
						jQuery(this).attr('id', 'current');	
						jQuery(span).css('display', 'block');
					} 
					else 
					{
						jQuery(this).attr('id', '');	
						jQuery(span).css('display', 'none');
					}
				});
				
				var el = jQuery("#cont_aba1").find(":input[class='req']");
				var e2 = jQuery("#cont_aba2").find(":input[class='req']");
				var e3 = jQuery("#cont_aba3").find(":input[class='req']");
				var e4 = jQuery("#cont_aba4").find(":input[class='req']");
				var e5 = jQuery("#cont_aba5").find(":input[class='req']");
				if(el.length > 0) 
					infoAba += '1; ';				
				if(e2.length > 0) 
					infoAba += '2; ';				
				if(e3.length > 0) 
					infoAba += '3; ';				
				if(e4.length > 0) 
					infoAba += '4; ';				
				if(e5.length > 0) 
					infoAba += '5; ';

				if(infoAba.length > 0) 
				{				
					jQuery('#cont_aba'+abaAtual.attr('id')).find(".avisoAbaC").css('display', 'block');
					jQuery('#cont_aba'+abaAtual.attr('id')).find(".avisoAbaC").html("Campos não preenchidos na(s) aba(s): "+infoAba.substr(0, (infoAba.length - 2)));		
				} 
				else
					jQuery('#cont_aba'+abaAtual.attr('id')).find(".avisoAbaC").css('display', 'none');

				scroll(0,160);			
		    });	 
        }    	
    }

	//Verifica o Formulário;	
	function verfForm(opcao) 
	{
		var x = 0;
		jQuery(':input', 'form[name="geralFile"]').each(function() 
		{
			var elemento = jQuery(this);
			if(elemento.attr('title')) 
			{
				var tipo = jQuery(elemento)[0].type;
				switch(tipo) 
				{			
					case 'checkbox':
					case 'password':
					case 'text':
					case 'textarea':
						if(elemento.val() == "") {
							x = (x + 1);

							if(elemento.attr('class') == null)
								elemento.addClass('req');
						}
					break;	
					case 'select-one':
						if(elemento.val() == 0) {
							x = (x + 1);
							if(elemento.attr('class') == null)
								elemento.addClass('req');
						}					
					break;
				}
						
				elemento.click(function (e) 
				{
					var campo = jQuery(this);
					if(campo.attr('class'))
						campo.removeClass('req');
				});	
						
				elemento.keypress(function (e) 
				{
					var campo = jQuery(this);
					if(campo.attr('class'))
						campo.removeClass('req');
				});
			}
		});
		
		// Verifica E-mail
		var elemento = jQuery('input[name="email_divu"]');
		if(elemento.val() != "") 
		{
			var erEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;						
			if (!erEmail.test(elemento.val())) 
			{
				x = 101;
			} 
		}
		
		return verfArq(x);
	}
	
	function verfArq(x)
	{
		jQuery("input[name='document[]']").each(function (i) 
		{
			var campoFile = jQuery(this);
			if(campoFile.attr('class') != null) 
			{
				if(campoFile.val() != '')
				{
					var ext = /(.doc|.txt|.jpg|.pdf|.zip|.rar)$/;
					if (!ext.test(campoFile.val()))
					{
						x = (x + 1);

						if(jQuery('#file'+i).attr('id') == null)
							jQuery('<span id="file'+i+'" class="msgErro">.doc .txt .jpg. .pdf .zip .rar</span>').insertAfter(campoFile);					
					}
					
					campoFile.click(function (e) 
					{
						var campo = jQuery(this);
						if(jQuery('#file'+i))
							jQuery('span[id="file'+i+'"]').remove();
					});	
				}
			}
		});	
		return x;
	}
	
	function disable(objeto)
	{
		jQuery(objeto).attr('disabled', true);
	}

	function editar(objeto, atribu)
	{
		if(jQuery('#'+objeto.attr(''+atribu+'')).attr('id') == null)
			jQuery('<span id="editcampo"><img src="includes/images/edit.gif" title="Editar informa&ccedil;&otilde;es" id="'+objeto.attr(''+atribu+'')+'"></span>').insertAfter(objeto);
	}	
}();

$(document).ready(funcoes.incializar);
