// Desabilita o botão de voltar do browser
window.history.forward(1);


/**********************************************************************************************************
**********************          FORMATA??O DE VALORES                  ************************************
**********************************************************************************************************/
//------------------------------------ 
//  Formata data
//	Uso:
//	<input type="text" name="dt_xxx" onKeyPress="return formataData(this,event)">
//------------------------------------ 	
	function formataData(obj,e) {
		var lineaux = "";
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
			if (keypress > 47 && keypress < 58 && obj.value.length < 10) {
				if (obj.value.length == 2 || obj.value.length == 5) 
			   		obj.value = obj.value + "/";			
			} else 
				event.returnValue = false;
		} else {
			lineaux = obj.value;			
			var keypress = e.which;
			if (keypress == 8|| keypress ==0)
				return true;
			if ((keypress < 48 || keypress > 57) || obj.value.length >= 10)
				return false;
			if (lineaux.length == 2 || lineaux.length == 5)
				lineaux = lineaux + "/";		
				
			lineaux = lineaux + (keypress - 48);
			obj.value = lineaux;
			
			return false;				
		}
		
		return true;
	}  	


//------------------------------------ 
//    Formata Hora
//	Uso:
//	<input type="text" name="hr_xxxx" onKeyPress="return formataHora(this,event)">
//------------------------------------ 	
	function formataHora(obj,e) {
		var lineaux = "";
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
			
			if (keypress > 47 && keypress < 58 && obj.value.length < 5) {
				if (obj.value.length == 2)
			   		obj.value = obj.value + ":";			
			} else 
				event.returnValue = false;
		} else {
			lineaux = obj.value;			
			var keypress = e.which;
			
			if (keypress == 8|| keypress == 0)
				return true;
			if ((keypress < 48 || keypress > 57) || obj.value.length >= 5)
				return false;
			if (lineaux.length == 2)
				lineaux = lineaux + ":";		
				
			lineaux = lineaux + (keypress - 48);
			obj.value = lineaux;
			
			return false;				
		}
		
		return true;
	}  	 


//------------------------------------ 
//  Formata CEP
//  Uso:
//	<input type="text" name="hr_xxxx" onKeyPress="return formataCep(this,event)">
//------------------------------------ 	
	function formataCep(obj,e) {
		var lineaux = "";
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
			
			if (keypress > 47 && keypress < 58 && obj.value.length < 9) {
				if (obj.value.length == 5)
			   		obj.value = obj.value + "-";			
			} else 
				event.returnValue = false;
		} else {
			lineaux = obj.value;			
			var keypress = e.which;
			
			if (keypress == 8|| keypress == 0)
				return true;
			if ((keypress < 48 || keypress > 57) || obj.value.length >= 9)
				return false;
			if (lineaux.length == 5)
				lineaux = lineaux + "-";		
				
			lineaux = lineaux + (keypress - 48);
			obj.value = lineaux;
			
			return false;				
		}
		
		return true;
	}  	 



//------------------------------------ 
//  Formata Placa de Carro
//  Uso:
//	<input type="text" value="" size="8" maxlength="8" onkeypress="return formataPlaca(this,event)">
//------------------------------------ 	
	function formataPlaca(obj,e) {
		
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
		} else {
			var keypress = e.which;
		}
		
		// transforma para maiúsculas e acrescenta "-"
		/*
		if (obj.value.length == 3) {
			obj.value = obj.value.toUpperCase() + "-";
		}
		*/
		
		// 3 primeiros caracteres
		if (obj.value.length < 3) {
			if ( (keypress >= 65 && keypress <= 90) || (keypress >= 97 && keypress <= 122)) {
				return true;
			} else {
				return false;
			}
		} else {
			// depois de 4 caracteres
			if ( (keypress >= 48 && keypress <= 57) ) {
				return true;
			} else {
				return false;
			}
		}
		
		
		
	}  	 


//------------------------------------ 
//  Formata Chassi
//  Uso:
//	<input type="text" value="" size="15" maxlength="15" onkeypress="return formataChassi(this,event)">
//------------------------------------ 	
	function formataChassi(obj,e) {
		obj.value = obj.value.toUpperCase();
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
		} else {
			var keypress = e.which;
		}
		if (obj.length == 15) {
		    return false;
		}
		if ( (keypress >= 97 && keypress <= 122) || (keypress >= 65 && keypress <= 90) || (keypress >= 48 && keypress <= 57) || keypress == 8) {
			return true;
		} else {
			return false;
		}
		return true;
	}  	 



//------------------------------------ 
//  Formata Nome PJ - permite Letra e Número
//  Uso:
//	<input type="text" value="" size="35" maxlength="35" onkeypress="return formataNome(this,event)">
//------------------------------------ 	
	function formataNomePJ(obj,e) {
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
		} else {
			var keypress = e.which;
		}
		if ( (keypress >= 97 && keypress <= 122) || (keypress >= 65 && keypress <= 90) || (keypress >= 48 && keypress <= 57) || keypress == 8 || keypress == 32) {
			return true;
		} else {
			return false;
		}
		return true;
	}  	 


//------------------------------------ 
//  Formata Nome PF - permite Letra
//  Uso:
//	<input type="text" value="" size="35" maxlength="35" onkeypress="return formataNome(this,event)">
//------------------------------------ 	
	function formataNomePF(obj,e) {
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
		} else {
			var keypress = e.which;
		}
		
		if ((keypress >= 192 && keypress <= 255) || (keypress >= 97 && keypress <= 122) || (keypress >= 65 && keypress <= 90) || keypress == 8 || keypress == 32 || keypress == 45) {
			return true;
		} else {
			return false;
		}
		return true;
	}  	 


//------------------------------------ 
//  Formata Sinistro
//  Uso:
//	<input type="text" value="" size="15" maxlength="15" onkeypress="return formataSinistro(this,event)">
//------------------------------------ 	
	function formataSinistro(obj,e) {
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
		} else {
			var keypress = e.which;
		}
		if ( (keypress >= 58 && keypress <= 64) || (keypress >= 91 && keypress <= 96) ) {
			return false;
		}
        if ( (keypress >= 45 && keypress <= 122) || keypress == 8) {
			return true;
		} else {
			return false;
		}
		return true;
	}  	 


//------------------------------------ 
//  Formata Delegacia
//  Uso:
//	<input type="text" value="" size="15" maxlength="15" onkeypress="return formataDelegacia(this,event)">
//------------------------------------ 	
	function formataDelegacia(obj,e) {
		var keypress;
		if (navigator.userAgent.indexOf("IE") != -1) {
			keypress = window.event.keyCode;
		} else {
			keypress = e.which;
		}
		if ( (keypress >= 58 && keypress <= 64) || (keypress >= 91 && keypress <= 96) || (keypress == 46) ) {
			return false;
		}
        if ( (keypress >= 45 && keypress <= 122) || keypress == 8 || keypress == 170 || keypress == 186  || keypress == 32) {
			return true;
		} else {
			return false;
		}
		return true;
	}  	 



//------------------------------------------------------------------------------------
//    Permite apenas a digita??o de numeros inteiros
//	Uso:
//	<input type="text" name="dt_xxx" onKeyPress="return digitaNumeros(this,event)">
//--------------------------------------------------------------------------------------
	function digitaNumeros(obj, e) {
		var lineaux = "";
		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;

			if (keypress >= 48 && keypress < 58) {
				event.returnValue = true;
			} else 
				event.returnValue = false;
		} else {		
			lineaux = obj.value;			
			var keypress = e.which;
			if ((keypress >= 48 && keypress < 58)||(keypress == 0 || keypress == 8)){
				return true;
			} else if (keypress == 0) {
				return true;
			} else 
				return false;
			
		}
	}	


//------------------------------------------------------------------------------------
//    Permite apenas a digita??o de numeros inteiros para hora semanal
//	Uso:
//	<input type="text" name="dt_xxx" onKeyPress="return digitaHorasAlocadas(this,event)">
//--------------------------------------------------------------------------------------
	function digitaHorasAlocadas(obj, e) {
		var keypress;
		if (navigator.userAgent.indexOf("IE") != -1) {
			keypress = window.event.keyCode;
		} else {
			keypress = e.which;
		}
		
		if ( (keypress == 0 || keypress == 8 || keypress == 0) ){
			return true;
		}
		if ( (keypress >= 48 && keypress < 58) ){
			var valor = obj.value;
			if ( (valor >= '8') && (keypress > 48) ) {
				obj.value = 80;
				return false;
			}
			return true;
		} else {
			return false;
		}
	}

//----------------------------------------------------------------------------------
//    Permite apenas a digita??o de numeros inteiros ou ponto
//	Uso:
//	<input type="text" name="dt_xxx" onKeyPress="return digitaNumeros(this,event)">
//-------------------------------------------------------------------------------------
	function digitaNumerosFloat(obj, e) {
		var lineaux = obj.value;
		var iPoint = 0;
		for (var i = 0; i < lineaux.length; i++) {
			if (lineaux.charAt(i) == ".") {
				iPoint++;
			}
			if (iPoint > 1) {
				lineaux = lineaux.substring(0, i);
				obj.value = lineaux;
				return false;
			}
		}

		if (navigator.userAgent.indexOf("IE") != -1) {
			var keypress = window.event.keyCode;
			
			if ((keypress >= 48 && keypress < 58)|| keypress == 46 ) {
				event.returnValue = true;
			} else 
				event.returnValue = false;
		} else {		
			var keypress = e.which;
			if ((keypress >= 48 && keypress < 58)||(keypress == 0 || keypress == 8)){
				return true;
			} else if (keypress == 0) {
				return true;
			} else 
				return false;
			
		}
	}	

	
//----------------------------------------------------------------------------------------------
// Formata um campo do formulario de acordo com a m?scara informada...
// onkeypress="return txtBoxFormat(document.campo, \'99999-999\', event);">
// Observacao: As mascaras podem ser representadas como os exemplos abaixo:
// CEP -> 99.999-999
// CPF -> 999.999.999-99
// CNPJ -> 99.999.999/9999-99
// Data -> 99/99/9999
// Tel Resid -> (99) 999-9999
// Tel Cel -> (99) 9999-9999
// Processo -> 99.999999999/999-99
// C/C -> 999999-! 
//----------------------------------------------------------------------------------------------
function txtBoxFormat(obj, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode; }
	else {
	//if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	}
	
	sValue = obj.value;
	
	// Limpa todos os caracteres de formata??o que
	// j? estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	// Caso seja pressionado backspace, ent?o ignora a verifica??o da m?scara
	if (nTecla !=8){
	   while (i <= mskLen) {
		  bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		  bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
	
		  if (bolMask) {
			 sCod += sMask.charAt(i);
			 mskLen++; 
		  } else {
			 sCod += sValue.charAt(nCount);
		     nCount++;
		  }
	
	       i++;
	   }	
		
	   obj.value = sCod;
	   
	}
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas n?meros...
			return ((nTecla > 47) && (nTecla < 58)); 
		} // n?meros de 0 a 9
		else { // qualquer caracter...
			return true;
		} 
	} else {
		return true;
	}
}


//------------------------------------ 
//    Formata o n?mero de CPF
//
//	Uso:
//	<input type="text" name="dt_xxx" onKeyPress="return formataCPF(this,event)">
//------------------------------------ 	
function formataCPF(obj,event) {
    if (obj.value.length > 13) {
		obj.value = obj.value.substring(0,13);
		return false;
	}
    digitaNumeros(obj, event);
	return txtBoxFormat(obj, '999.999.999-99', event);
}

function formataCNPJ(obj,event) {
      

       digitaNumeros(obj, event);
	   return txtBoxFormat(obj, '99.999.999/9999-99', event);	

}

//---------------------------------------------------
// Retira caracteres de m?scara de uma string.
// Uso: 
//    var s = retiraMascara(valor);
//-------------------------------------------------
function retiraMascara(valor) {
  var s = valor;
  for (i = 0; i < valor.length; i++) {
	s = s.toString().replace( ",", "" );
	s = s.toString().replace( ".", "" );
	s = s.toString().replace( "-", "" );
	s = s.toString().replace( "/", "" );
	s = s.toString().replace( "(", "" );
	s = s.toString().replace( ")", "" );
  }
  return s;
}  	


function formataMoeda(obj, e) {
	digitaNumeros(obj, e);
	var sVal = obj.value;
	sVal = retiraMascara(sVal);
	iTam = sVal.length;
	// 9.999.999.999,99
	if (iTam < 12) {
		sNew = "";
		for (i = iTam; i > 0; i--) {
			if (i == (iTam - 1)) {
				sNew = "," + sNew;
			} else if (i == (iTam - 4)) {
				sNew = "." + sNew;
			} else if (i == (iTam - 7)) {
				sNew = "." + sNew;
			} else if (i == (iTam - 10)) {
				sNew = "." + sNew;
			}
			sNew = sVal.charAt(i-1) + sNew;
		}
		obj.value = sNew;
	}
}


/**********************************************************************************************************
**********************************************************************************************************
**********************              VALIDA??O DE VALORES              ************************************
**********************************************************************************************************
**********************************************************************************************************/

/****************** valida data *****************/
function dataValida(valor) {
	if (valor.length == 0) {
		window.status = "Data nao preenchida!";
		alert("Data nao preenchida!");
		return true;
	}
	if ((valor.length > 0) && (valor.length < 10) || (valor.length > 10)) { // dd/mm/aaaa
		window.status = "";
		alert("Preenchimento incorreto!");
		return false;
	}
	var dia = valor.substring(0,2);
	var mes = valor.substring(3,5);
	var ano = valor.substring(6,10);
	//Verifica se ? um n?mero v?lido:: isNaN -> Fun??o JavaScript que significa "is not a number"
	if ((isNaN(dia)) || (isNaN(mes)) || (isNaN(ano))) {
		window.status = "";
		alert("Dados nao sao numeros!");
		return false;
	}
	// verifica o dia valido para cada mes
	if ((dia < 01) || (dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31 ) {
		window.status = "";
		alert("Dia invalido!");
		return false;
	}
	// verifica se o mes e valido
	if (mes < 1 || mes > 12 ) {
		window.status = "";
		alert("Mes invalido!");
		return false;
	}
	// verifica se e ano bissexto
	if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) {
		window.status = "";
		alert("Data invalida!");
		return false;
	}
	return true;
}


/********************** valida Hora *****************/
function horaValida(valor) {
	if (valor.length == 0) {
		window.status = "HORA N?O PREENCHIDA!";
		alert("HORA NAO PREENCHIDA!");
		return true;
	}
	if ((valor.length > 0) && (valor.length < 5)) {
		window.status = "";
		alert("DADOS INCORRETOS!");
		return false;
	}
	var hora = valor.substring(0,2);
	var minuto = valor.substring(3);
	var separador = valor.substring(2,3);
	if (separador != ":") {
		window.status = "";
		alert("CARACTER SEPARADOR INCORRETO!");
		return false;
	}
	//Verifica se ? um n?mero v?lido:: isNaN -> Fun??o JavaScript que significa "is not a number"
	if ( (isNaN(hora)) || (isNaN(minuto)) ) {
		window.status = "";
		alert("DADOS NAO SAO NUMEROS!");
		return false;
	}
	// verifica a hora
	if ( (hora < 0) || (hora > 23) ){
		window.status = "";
		alert("HORA INCORRETA!");
		return false;
	}
	// verifica se o minuto e valido
	if (minuto < 0 || minuto > 59 ) {
		window.status = "";
		alert("MINUTOS INCORRETOS!");
		return false;
	}
	window.status = "HORA VALIDA!";
	return true;
}


/********************* valida CPF *********************/
function cpfValido(valor) {
	var i;
	var achou = true;
	var msginv = "CPF invalido";
/*
	// verifica se campo esta vazio
	if (s.length == 0) {
		window.status = "CPF nao preenchido!";
		alert("CPF nao preenchido!");
		return false;
	}
*/	
   // Retira mascara de CPF
    var s = retiraMascara(valor);

	if (s.length == 11) {
		if (s == "01234567890") {
			window.status = "";
			alert(msginv);
			return false;
		}
		var c = s.substr(0,9);
		var dv = s.substr(9,2);
		var d1 = 0;
		for (i = 0; i < 9; i++) {
			d1 += c.charAt(i) * (10 - i);
		}
		if (d1 == 0) {
			window.status = "";
			alert(msginv);
			return false;
		}
		d1 = 11 - (d1 % 11);
		if (d1 > 9) {
			d1 = 0;
		}
		if (dv.charAt(0) != d1) {
			window.status = "";
			alert(msginv);
			return false;
		}
		d1 *= 2;
		for (i = 0; i < 9; i++) {
			d1 += c.charAt(i) * (11 - i);
		}
		d1 = 11 - (d1 % 11);
		if (d1 > 9) {
			d1 = 0;
		}
		if (dv.charAt(1) != d1) {
			window.status = "";
			alert(msginv);
			return false;
		} else {
			//testa se todos os numeros sao iguais...se forem, retorna falso
			for ( i = 1; i < 11; i++ ) {
				if ( s.charAt(i) != s.charAt(i - 1) ) {
					achou = false;
				}
			}
			if (!achou == true) {
				window.status = msginv;
			} else {
				window.status = "";
				alert(msginv);
			}
			return !achou;
		}
	} else {
		window.status = "";
		alert(msginv);
		return false;
	}
	return true;
}


var validDoc = "";
function selecionaDoc(obj) {
	// Testa se a opção 1 ou 2 foi selecionada
	/*
	if (obj.options[1].selected) {
		return obj.options[1].text;
	} else if (obj.options[2].selected) {
		return (obj.options[2].text);
	}
	*/

	// Varre o SELECT até achar o item selecionado
	for (i = 0; i < obj.length; i++) {
	    if (obj.options[i].selected) {
			validDoc = obj.options[i].text;
		}
    }
	
}

// seleciona o numero do documento de PF ou PJ
function formataCPFCNPJ(obj,event) {
	if (validDoc == ""){
		return false;
	} else if (validDoc == "CNPJ"){
		return formataCNPJ(obj,event);
	} else {
		return formataCPF(obj,event);
	}
}

// seleciona nome de PF ou PJ
function formataNomePFPJ(obj,event) {
	if (validDoc == ""){
		return false;
	} else if (validDoc == "CNPJ"){
		return formataNomePJ(obj,event);
	} else {
		return formataNomePF(obj,event);
	}
}


//Evita que o enter envie o formulário
    function EnterNull(e)
        {
            //alert(e.keyCode);
            if (e.keyCode == 13)
            {
            e.keyCode=0
            return false;
            }
        }
	 