//////////////////////////////////////////////////////////////////////////////////////////////
//  Carrega a imagem que será usada no carregando
//////////////////////////////////////////////////////////////////////////////////////////////
//document.write ("<img style=\"display:none\" src=\"../images/carregando.gif\">");

//////////////////////////////////////////////////////////////////////////////////////////////
// Validação do formulário
//////////////////////////////////////////////////////////////////////////////////////////////

var controle=0;
function limparstring(s)
{

  	while (s.search(" ")!=-1)
   	{
	s=s.replace(" ","");
	}
  	return(s);
}

function fofocus(formulario)
{
	
}

function validar(fr, txt, campos) 
{
	var a;
	var i = 0;
	var s=new String;
	var resp;
	var limite;
	a=0;
	var erro="";
	var senha="";
	controle=0;
	resp=0;
	if(campos=='100')
		limite=fr.elements.length;
	else
		limite=campos;
		
	for(i=0;i<limite;i++)
	{ 
		if (fr.elements[i].getAttribute("Tipo")!="IGNORE")
		{
			fr.elements[i].className="EdtForm";
			if (fr.elements[i].getAttribute("Obrigatorio")=="1")
			{
				if(fr.elements[i].tagName!="SELECT")
				{	
					s=fr.elements[i].value;
					s=limparstring(s);
					if (s.length==0) 
					{
						fr.elements[i].className="formErro";
						resp=resp+1;
						if(fr.elements[i].getAttribute("Tipo")!="OPT")
						fofocus(fr.elements[i]);
						}
						else
						{
						/////////////////////////////////////////////////////////////////////////
						
						if (ValidacampoformsPreenchidos(fr.elements[i], i)==false)
							resp=resp+1;
							
						///////////////////////////////////////////////////////////////////////////
						}
					} 
					else
					{ 
					if (fr.elements[i].item(fr.elements[i].selectedIndex).value==-99) 
					{
						fr.elements[i].className="formErro";
						resp=resp+1;
						fofocus(fr.elements[i]);
					}
				}
			}
			else
			{
			if(fr.elements[i].tagName!="SELECT")
				if(fr.elements[i].value.length!=0)
				{
					var r;
					r=ValidacampoformsPreenchidos(fr.elements[i], i);
					if(r=false)
						resp=resp+1;
				}
			}
		}
	}

	if(resp>0)
	{
		document.getElementById("alerta").innerHTML ="<div class=\"erroAlerta\"><div style=\"float:left\">Verifique se os campos foram preenchidos com dados válidos.</div><div style=\"float:right\"><a href=\"#\"><img src=\"../images/btn_fechar.gif\" width=\"16\" height=\"16\" border=\"0\" onClick=\"document.getElementById('alerta').className='invisivel';\"></a></div></div>";
		document.getElementById("alerta").className="ErroAlerta";
		return false;
	}
}

function validaCPF(cpf) 
{
	erro = new String;
	if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n";
	var nonNumbers = /\D/;
	if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
		erro += "Numero de CPF invalido!"
	}
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] * c--);
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
		erro +="Digito verificador com problema!";
	}
	if (erro.length > 0)
		return false;
	else
		return true;
}

function ValidacampoformsPreenchidos(campoform, i)
{
	var resposta=true;
	var x;
	x=0;
	if (campoform.getAttribute("Tipo")=="IN")
	{  
		s=campoform.value;
		s=limparstring(s);
		if (campoform.getAttribute("Obrigatorio")=="1" || s.length>0) 
		{
		temp=campoform.value;
		if (isNaN(parseInt(temp)))
		{ 
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	}
	}
	if (campoform.getAttribute("Tipo")=="F") 
	{
		s=campoform.value;
		s=limparstring(s);
		if (campoform.getAttribute("Obrigatorio")=="1" || s.length>0) 
		{
		temp=campoform.value;
		if (isNaN(parseFloat(temp)) || parseFloat(temp)<=0)
		{ 
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
		}
	}
		if (campoform.getAttribute("Tipo")=="DIA")
	{  
		s=campoform.value;
		s=limparstring(s);
		temp=campoform.value;
		if (!isNaN(parseInt(temp))){
			if(temp.length!=2)
			{
			resposta=false;
			campoform.className="formErro";
			fofocus(campoform);
			}
			else if(temp<1 || temp>31)
			{
			resposta=false;
			campoform.className="formErro";
			fofocus(campoform);
			}
		}
		else
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	}

	if (campoform.getAttribute("Tipo")=="MES")
	{  
		x=0;
		s=campoform.value;
		s=limparstring(s);
		temp=campoform.value;
		if (!isNaN(parseInt(temp)))
		{
			if(temp.length!=2)
				x=x+1;
			else if(temp<1 || temp>12)
				x=x+1;
		}
		else
		{
		x=x+1
		}
		if(x!=0)
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	}
	if (campoform.getAttribute("Tipo")=="ANO")
	{  
		s=campoform.value;
		s=limparstring(s);
		temp=campoform.value;
		if (!isNaN(parseInt(temp))){
			if(temp.length!=4)
			{
			resposta=false;
			campoform.className="formErro";
			fofocus(campoform);
			}
		}
		else
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	}
	
	if (campoform.getAttribute("Tipo")=="CEP")
	{  
		s=campoform.value;
		s=limparstring(s);
		temp=campoform.value;
		if (!isNaN(parseInt(temp)))
		{
			if(temp.length!=8)
			{
			resposta=false;
			campoform.className="formErro";
			fofocus(campoform);
			}
		}
		else
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	}


	if (campoform.getAttribute("Tipo")=="NOM") 
	{
		s=campoform.value;
		s=limparstring(s);
		if (campoform.getAttribute("Obrigatorio")=="1" || s.length>0) 
		{
		temp=campoform.value;
		if (temp.indexOf(" ")==-1)
		{ 
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		} 
		}
	}
	if (campoform.getAttribute("Tipo")=="MAIL") 
	{
		s=campoform.value;
		s=limparstring(s);
		temp=campoform.value;
		if (temp.indexOf("@")==-1 || temp.indexOf(".")==-1)
		{ 
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	} 
	if (campoform.getAttribute("Tipo")=="LOG") 
	{
		s=campoform.value;
		s=limparstring(s);
		padrao = /\W/;
		OK = padrao.exec(s);
		if (OK)
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		} 
	}
	if (campoform.getAttribute("Tipo")=="SENHA") 
	{
		s=campoform.value;
		s=limparstring(s);
		padrao = /\W/
		OK = padrao.exec(s);
		senha=s;
		if (OK)
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		} 
	}
	if (campoform.getAttribute("Tipo")=="SENHA2") 
	{
		s=campoform.value;
		s=limparstring(s);
		if(s!=senha)
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		} 
	}
	if (campoform.getAttribute("Tipo")=="CPF") 
	{
		s=campoform.value;
		s=limparstring(s);
		if(validaCPF(s)==false)
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		} 
	}
	if (campoform.getAttribute("Tipo")=="DN") 
	{
		s=campoform.value;
		s=limparstring(s);
		hoje = new Date();
		anoAtual = hoje.getFullYear();
		barras = s.split("/");
		if (barras.length == 3)
		{
		dia = barras[0];
		mes = barras[1];
		ano = barras[2];
		resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano < anoAtual && ano >= 1900));
		if (!resultado) 
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
		} 
		else 
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	}
	if (campoform.getAttribute("Tipo")=="DATA") 
	{
		s=campoform.value;
		s=limparstring(s);
		hoje = new Date();
		anoAtual = hoje.getFullYear();
		barras = s.split("/");
		if (barras.length == 3)
		{
		dia = barras[0];
		mes = barras[1];
		ano = barras[2];
		resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
		if (!resultado) 
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
		} 
		else 
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		}
	}
	if (campoform.getAttribute("Tipo")=="TEL") 
	{
		s=campoform.value;
		s=limparstring(s);
		padrao = /\(?\d{3}\)?\d{4}-\d{4}/
		OK = padrao.exec(s);
		if (!OK)
		{
		resposta=false;
		campoform.className="formErro";
		fofocus(campoform);
		} 
	}
	return(resposta);
}	
	
//////////////////////////////////////////////////////////////////////////////////////////////
//  Eventos do site
//////////////////////////////////////////////////////////////////////////////////////////////
	

function adicionaEvento(campo, evento, funcao)
{
	if (campo.addEventListener)
		campo.addEventListener(evento, funcao, true)
	if (campo.attachEvent)
		campo.attachEvent("on"+evento, funcao)
}

function criaEventAndThis(e)
{
	if(typeof(e)=='undefined')var e=window.event
	source=e.target?e.target:e.srcElement
	if(source.nodeType == 3)source = source.parentNode
}

//onFocus
function criaOnFocus()
{
	for (j=0;j<document.forms.length;j++)
	{
		for (var i=0; i<document.forms[j].elements.length; i++)
		{
			if (document.forms[j].elements[i].type == "text" || document.forms[j].elements[i].type == "password" || document.forms[j].elements[i].type == "textarea" || document.forms[j].elements[i].type == "select-one" || document.forms[j].elements[i].type == "file")
			{
				campoForm = document.forms[j].elements[i]
				adicionaEvento(campoForm, "focus", formFoca)
			}
		}
	}
}

//onKeyPress
function criaOnKeyPress()
{
	for (j=0;j<document.forms.length;j++)
	{
		for (var i=0; i<document.forms[j].elements.length; i++)
		{
			if (document.forms[j].elements[i].type == "text" || document.forms[j].elements[i].type == "password" || document.forms[j].elements[i].type == "textarea" || document.forms[j].elements[i].type == "select-one" || document.forms[j].elements[i].type == "file")
			{
				campoForm = document.forms[j].elements[i]
				adicionaEvento(campoForm, "keypress", formNormal)
			}
		}
	}
}

//onBlur
function criaOnBlur()
{
	for (j=0;j<document.forms.length;j++)
	{
		for (var i=0; i<document.forms[j].elements.length; i++)
		{
			if (document.forms[j].elements[i].type == "text" || document.forms[j].elements[i].type == "password" || document.forms[j].elements[i].type == "textarea" || document.forms[j].elements[i].type == "select-one" || document.forms[j].elements[i].type == "file")
			{
				campoForm = document.forms[j].elements[i]
				adicionaEvento(campoForm, "blur", chamaFormDesfoca)
			}
		}
	}
}


function formFoca (e)
{
	criaEventAndThis(e)
	if(source.className!="formErro")
	{
	source.className="CampoFoco"
	escondeTexto(source)
	}
}

function formDesfoca (campo, numtexto)
{
	if(campo.className!="formErro")
	{
		campo.className="EdtForm";
		mostraTexto(campo, numtexto);
	}
}

function desfocaAreaRestrita()
{
	formDesfoca(source,'')
}



function escondeTexto(campo)
{
	for (var i=1; i <= texto.length; i++)
	{
		if (campo.value == texto[i])
		{
			campo.value = ""
		}
	}
}

function mostraTexto(campo, numtexto)
{

	if (campo.value == "" && numtexto != "")
	{
			campo.value = texto[numtexto]
	}
}


function formNormal (e)
{
	criaEventAndThis(e)
	source.className="EdtForm"
}

function carregando()
{
	document.getElementById("carregar").innerHTML="Aguarde, carregando...";
	document.getElementById("carregar").className="msgcarregando";
	return true;
}



