//******************************************************************************************************************
//											Controle de formulario
//******************************************************************************************************************
//Variaveis Globais
//******************************************************************************************************************

	var numeroResidentes = 0;
	var contador = 1;
	

//******************************************************************************************************************
//Isdate
//******************************************************************************************************************
	
function isDate(sData)
{
	var bRet
	var i
	bRet = true

	if (sData.length != 10)
		bRet = false
	
	if (bRet)
	{
		i = 0
		while (i < sData.length && bRet)
		{
			if (i == 2 || i == 5)
			{
				if (sData.charAt(i) != "/")
					bRet = false
			}
			else
			{
				if (!IsNumeric(sData.charAt(i), 0))
					bRet = false
			}
			i++
		}
		}
	if (bRet)
	{
		iDia = parseInt(sData.substring(0, 2), 10)
		iMes = parseInt(sData.substring(3, 5), 10)
		iAno = parseInt(sData.substring(6, 10), 10) 
		
		if (iMes < 1 || iMes > 12)
			bRet = false
		if (iAno < 1)
			bRet = false
	}
	if (bRet)
	{
		if (iMes == 1 || iMes == 3 || iMes == 5 || iMes == 7 || iMes == 8 || iMes == 10 || iMes == 12)
		{
			if (iDia < 1 || iDia > 31)
				bRet = false
		}
		if (iMes == 2)
		{
			if (isBissexto(iAno))
			{
				if (iDia < 1 || iDia > 29)
					bRet = false
			}
			else
			{
				if (iDia < 1 || iDia > 28)
					bRet = false
			}
		}
		if (iMes == 4 || iMes == 6 || iMes == 9 || iMes == 11)
		{
			if (iDia < 1 || iDia > 30)
				bRet = false
		}
	}
	return bRet;
}

	
//------------------------------------------------------------------------------
// Criador: Fabio Brunetti Falci - 15/01/2002
// Objetivo: Retornar um Alert utilizando a função ja existente "isDate"
// Exemplo: onBlur = "isDateAlert(this)"

function isDateAlert(objCampo)
{
	//Checa se é data válida após blur do campo
	if (objCampo.value != '')
	{
		if (!(isDate(objCampo.value)))
		{
			alert("Data Inválida!");
			objCampo.value="";
			objCampo.focus();
		}
	}
}

//******************************************************************************************************************
//******************************************************************************************************************
// Validação de data, chamada no "onblur"
//******************************************************************************************************************
//******************************************************************************************************************
function validarData(campo) {
    var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
    var msgErro = 'Formato inválido de data.';
    if ((campo.value.match(expReg)) && (campo.value!='')) {
        alert('Data válida');
    } else {
        alert(msgErro);
        campo.focus();
    }
}
//******************************************************************************************************************
//******************************************************************************************************************
// Só números.
// Está função tem o objetivo de limitar o valor de um objeto do tipo texto à numeros
// chamada e feita no onKeypress, onkeyup, onchange ...
//******************************************************************************************************************
	function soNums(e,args)
    {        
        if (document.all)
		{
			var evt=event.keyCode;
		} // caso seja IE
        else
		{
			var evt = e.charCode;
		}    // do contrário deve ser Mozilla
        var chr= String.fromCharCode(evt);    // pegando a tecla digitada
        if (evt <20 || (evt >47 && evt<58) || (args.indexOf(chr)>-1 ) )
		{
			return true;
		}
        
		return false;
    }

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// Só Letras.
// Está função tem o objetivo de limitar o valor de um objeto do tipo texto à numeros
// chamada e feita no onKeypress, onkeyup, onchange ...
//******************************************************************************************************************
	 	
	function soLetras(e,args)
    {        
        if (document.all)
		{
			var evt=event.keyCode;
		} // caso seja IE
        else
		{
			var evt = e.charCode;
		} // do contrário deve ser Mozilla
        var chr= String.fromCharCode(evt);    // pegando a tecla digitada
        if (evt <20 || (evt <48 || evt>57) || (args.indexOf(chr)>-1 ) )
		{
			return true;
		}
        return false;
    }

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//verifica Campos vazios
//******************************************************************************************************************
	function verificaCampo(nomeCampo,msg,posicaoForm)
	{	
		var e = document.forms[posicaoForm].elements;
		if( e[nomeCampo].value == "" )
		{
			alert(msg);
			e[nomeCampo].focus();
			return false;
		}
		
		return true;
		
	}
//******************************************************************************************************************	

function ValidateForm(datares) {
	var e = document.forms[0].elements;
	var checkDate;
	var checkEmail;
	var checkName;
	var allvalid;

	allvalid = 1;
if (allvalid == 1) { 

checkDate = VerifyDate(datares.value);

if (checkDate < 0) {
	allvalid = 0;
	if (checkDate == -5) {
		enviar="falso"
        datares.value = lastvalue;
		alert("Data errada");
	}

	if (checkDate == -2) {
		enviar="falso"
        datares.value = lastvalue;
		alert("Valor do dia errado");
	}
	
	if (checkDate == -1) {
		enviar="falso"
        datares.value = lastvalue;
		alert("Separador de data invalido");
	}

	if (checkDate == -3) {
		enviar="falso"
        datares.value = lastvalue;
		alert("Valor do mes errado");

	}

	if (checkDate == -4) {
		enviar="falso"
        datares.value = lastvalue;
		alert("Valor do ano errado");

	}


	}else{
	enviar="verdadeiro";	
}
} 
}


function dsplit(dateval, sepval) {
	var pos1;
	var pos2;
	var darray;
	var foobar;

	foobar = new (0);
	darray = new (3);
	pos1 = dateval.indexOf(sepval, 0);
	if (pos1 == dateval.length - 1) {
		return foobar;
	}

	if (pos1 != -1) {
		pos2 = dateval.indexOf(sepval, pos1 + 1);
	} else {
		return foobar;
	}

	if (pos2 == dateval.length - 1) {
		return foobar;
	}

	if (pos2 != -1) {
		darray[0] = dateval.substring(0, pos1);
		darray[1] = dateval.substring(pos1 + 1, pos2);
		darray[2] = dateval.substring(pos2 + 1, dateval.length + 1);
	} else {
	return foobar;
	}
	return darray;
}


function VerifyDate(dateval) {
	var darray;
	var mval;
	var dval;
	var yval;

	if (navigator.appName == "Netscape") {
		darray = dateval.split("/");
		if (darray.length != 3) {
			darray = dateval.split("-");
			if (darray.length != 3) {
				darray = dateval.split(".");
				if (darray.length != 3) {
					return -1; 
				}
			}
		}
	} else {
		darray = dsplit(dateval, "/");
		if (darray.length != 3) {
			darray = dsplit(dateval, "-");
			if (darray.length != 3) {
				darray = dsplit(dateval, ".");
				if (darray.length != 3) {
					return -1; 
				}
			}
		}
	}
	dval = parseInt(darray[0], 10);
	mval = parseInt(darray[1], 10);
	yval = parseInt(darray[2], 10);

	if (isNaN(mval) || isNaN(dval) || isNaN(yval)) {
		return -5; // invalid date
	}

	if (dval > 31 || dval < 1) {
		return -2; // invalid day value
	} 

	if (mval > 12 || mval < 1) { 
		return -3; // invalid month value
	}

	if (yval > 2004 || yval < 2003) {
		return -4; // invalid year value
	}

	return 1;
} 	
	
	

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// escolhe mascara chamada: onKeypress
//******************************************************************************************************************

	function escolheMascara(campo)
	{	

		var e= document.formulario.elements;
		
		if(e['tipo'].value == "1")
		{		
			criaMascara(campo,"###.###.###-##");
		}	
		else 
		{
			criaMascara(campo,"######.###.###/####-##");
		}
	}	
	
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
	//Pegar valor de variavel Hidden  
//******************************************************************************************************************

	function pegaValor(){
		alert('alerta de funcao');
		e=document.form_psea.elements;
		numeroResidentes = e['numero_residente'].value;
		alert(numeroResidentes);
}
//******************************************************************************************************************
//******************************************************************************************************************

	  
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// zera campo chamada: onchange
//******************************************************************************************************************

	function zeraCampo(campo)
	{	
		var e= document.formulario.elements;
		e[campo].value="";
	}		
	
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//Cria mascara, usada em campos do tipo "text", 
//serve para definir um padrão de formatação do q
// vai ser escrito, tipo data: ##/##/####.
// e chamada atraves do onChange do propio objeto
// e passado como parametro o propio objeto e
//o modelo que deseja para formatação, sempre usando
// "#" para os valores e caracteres especias para dividir
// autor:Martin Simas
//******************************************************************************************************************
	function criaMascara(_RefObjeto,_Modelo)
	{
		var valorAtual = _RefObjeto.value;
		var valorNumerico = '';
		var nIndexModelo = 0;
		var nIndexString = 0;
		var valorFinal = '';
		var adicionarValor = true;
		for (i=0;i<_Modelo.length;i++)
		{
			if (_Modelo.substr(i,1) != '#')
			{
			valorAtual = valorAtual.replace(_Modelo.substr(i,1),'');
			}
		}
		for (i=0;i<valorAtual.length;i++)
		{
			if (!isNaN(parseFloat(valorAtual.substr(i,1))))
			{
			valorNumerico = valorNumerico + valorAtual.substr(i,1);
			}
		}
		for (i=0;i<_Modelo.length;i++)
		{
			if (_Modelo.substr(i,1) == '#')
			{
				if (valorNumerico.substr(nIndexModelo,1) != '')
				{
				valorFinal = valorFinal + valorNumerico.substr(nIndexModelo,1);
				nIndexModelo++;nIndexString++;
				}
				else
				{
					adicionarValor = false;
				}
			}
			else
			{
				if (adicionarValor && valorNumerico.substr(nIndexModelo,1) != '')
				{
				valorFinal = valorFinal + _Modelo.substr(nIndexString,1)
				nIndexString++;
				}
			}
		}
		_RefObjeto.value = valorFinal 
}
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************	
//******************************************************************************************************************
// Preenche campo, é usado para cabacar com
// redundancia no formulario,caso seja verdadeira
//a reposta da pergunta e preenchido, com os valores
//a baixo os campos especifikados na função.
//e passaso como parâmetro o valor da opção em
//está sendo chamada.Chamada: onclick do radio buton
//******************************************************************************************************************
	
	function preencheCampo(valor)
	{
		
		var e= document.forms[0].elements;		
		if(valor == "sim"){
			e['cidade_origem'].value = "Arraial do Cabo";
			e['estado'].value = "RJ";
		} else {			
			e['cidade_origem'].value = "";
			e['estado'].value = "";			
		}					
	}	

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
	
	
	




//******************************************************************************************************************
// 													Controle de blocos
//******************************************************************************************************************		
//******************************************************************************************************************	
//******************************************************************************************************************	
//******************************************************************************************************************
//Abre Bloco
//******************************************************************************************************************

	function abreAbas(nomeAba)
	{
		document.all[nomeAba].style.display="";		
	}
	
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// Fecha Bloco
//******************************************************************************************************************

	function fechaAbas(nomeAba)
	{
		document.all[nomeAba].style.display= "none";
	}

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// Abre e fecha Abas sem mexer com imagem de fundo.
// OBS.: essa função desabilita e habilita todas diferente da função de baixo q deixa pelomenos uma habilitada!!
//******************************************************************************************************************
	 var abaAtiva=0;
	function abreFechaAbas(aba,nomeAba)
	{
		for(i = 1;i<4;i++)
		{
			
			if(i == aba)
			{	
				if(abaAtiva == aba)
				{ 
					fechaAbas(nomeAba + i);
					abaAtiva = 0;
				}
				
				else
				{	
					abreAbas(nomeAba + i)
					abaAtiva = aba;
				}	
									
			}
					
			else
				fechaAbas(nomeAba + i)
		}		
	}

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************	
//******************************************************************************************************************
// Controle de Abas com mudança de imagens.... função singular, onde é passado o numero de abas, a aba q foi clicada
// o nome da aba, o nome do bloco na qual a aba é correspondente, e o caminho da imagem q vai ser trocada no momento
// do click.
//******************************************************************************************************************
	function trocaAba(numAbas,aba,nomeAba,nomeBloco,caminhoImagem)
	{
		
		for(var i = 0; i < numAbas; i++)
		{
      		if(i==aba)
			{
				document.all[nomeAba + i].style.background = "url(" + caminhoImagem + "on.gif)";
				abreAbas(nomeBloco + i);
			}
			else
			{
				document.all[nomeAba+i].style.background = "url(" + caminhoImagem + "off.gif)";
				fechaAbas(nomeBloco+i);
	  		}
		}
	}

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// Habilita bloco usando o select
//******************************************************************************************************************
	function habilitaAbaSelect(campo,valor,blocoHabilitar)
	{
		if(campo.value == valor)
		{
			abreAbas(blocoHabilitar); 
		}
		else
		{
			fechaAbas(blocoHabilitar);
		}
	}

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// Desabilita bloco usando o select
//******************************************************************************************************************
	function desabilitaAbaSelect(campo,valor,blocodesabilitar)
	{
		if(campo.value == valor)
		{
			fechaAbas(blocodesabilitar); 
		}
		else
		{
			abreAbas(blocodesabilitar);
		}
	}

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// Habilita bloco usando radio
//******************************************************************************************************************
	function habilitaAbaRadio(valor,blocoHabilitar)
	{
		
		if(valor == "sim")
		{
			abreAbas(blocoHabilitar);
		}
		else
		{
			fechaAbas(blocoHabilitar);
		}
	}

//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//Desabilita bloco usando radio
//******************************************************************************************************************
	function desabilitaAbaRadio(valor,blocodesabilitado)
	{
		
		if(valor == "sim")
		{
			//fechaAbas(blocodesabilitar);
			document.all[blocodesabilitado].style.display= "none";
		}
		else
		{
			abreAbas(blocodesabilitado);
		}
	}	
	
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//Habilita bloco usando o checkbox
//******************************************************************************************************************
	function habilitaAbaCheckbox(campo,valor,blocoHabilitar)
	{
		
		if(campo.value == valor)
		{
			if(campo.checked)
			{
				abreAbas(blocoHabilitar);
			}
			else
			{
				fechaAbas(blocoHabilitar);
			}
		}
	}
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
// Desabilitar bloco usando checkbox
//******************************************************************************************************************
	function desabilitaAbaCheckbox(campo,valor,blocodesabilitar)
	{
		
		if(campo.value == valor)
		{
			if(campo.checked)
			{
				fechaAbas(blocodesabilitar);
			}
			else
			{
				abreAbas(blocodesabilitar);
			}
		}
	}
	
//**************************************************************************************************************
	function principal(){
		trocaAba(4,0,'aba','abas','img/ababotao');
	}
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************
//******************************************************************************************************************		