
function focusOn(campo) {
	campo.style.backgroundColor = '#FFEACC';
}

function focusOut(campo) {
	campo.style.backgroundColor = 'white';
}

function abreJanela(url,nome,caracteristicas) {
	janelaAberta = window.open(url,nome,caracteristicas);
	janelaAberta.focus();
}

function abreJanelaCentralizada(pagina,nome,largura, altura,caracteristicas) {
	var esquerda = (screen.width - largura)/2;
	var topo = (screen.height - altura)/2;
	window.open(pagina,nome,'height=' + altura + ', width=' + largura + ', top=' + topo + ', left=' + esquerda + ', ' + caracteristicas);
}

//elimina os espaços vazios do inicio e fim da string
function trim(string){
	if ( typeof string != "string" ){
		return string;
	}
	var retorno = string;
	var ch = retorno.substring( 0, 1 );

	while( ch == " " ){
		retorno = retorno.substring( 1, retorno.length );
		ch = retorno.substring( 0, 1 );
	}
	ch = retorno.substring( retorno.length - 1, retorno.length );

	while( ch == " " ){
		retorno = retorno.substring( 0, retorno.length - 1 );
		ch = retorno.substring( retorno.length - 1, retorno.length );
	}
	while( retorno.indexOf("  ") != -1 ){
		retorno = retorno.substring( 0, retorno.indexOf("  ") ) +
		retorno.substring( retorno.indexOf("  ") + 1, retorno.length );
	}
	return retorno;
}


//
//INICIO DE FUNÇÕES DE FORMATAÇÃO (FUNCÕES USADAS NOS IMPUTS DOS FORMULARIOS)
//


//força o campo(input) aceitar somente valores numericos
// onKeyPress=\"return(campoNumerico(this,event))\"
function campoNumerico(campo, evento){
    var codTecla;
    var tamanho;
    if( document.all ) { // Internet Explorer
        codTecla = evento.keyCode;
    } else if( document.layers ) { // Nestcape
        codTecla = evento.which;
    }
    if( codTecla > 47 && codTecla < 58  ){
        return true;
    } else {
    	evento.returnValue = false;
  	    return false;
    }
}

function formatarFloatCincoCasasDecimais(input,e,tamanhoMaximo) {
	var separadorMilhar = ".";
	var separadorDecimal = ",";
	if(input.value.length > tamanhoMaximo){
		return false
	}
	var sep = 0;
	var key = '';
	var i = j = 0;
	var tamanho = tamanho2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;
	if (whichCode == 13){
		return true;
	}
	key = String.fromCharCode(whichCode);
	if (strCheck.indexOf(key) == -1){
		return false;
	}
	tamanho = input.value.length;
	for(i = 0; i < tamanho; i++){
		if ((input.value.charAt(i) != '0') && (input.value.charAt(i) != separadorDecimal)){
			break;
		}
	}
	aux = '';
	for(; i < tamanho; i++){
		if (strCheck.indexOf(input.value.charAt(i))!=-1){
			aux += input.value.charAt(i);
		}
	}
	aux += key;
	tamanho = aux.length;
	if (tamanho == 0){
		input.value = '';
	}
	if (tamanho == 1){
		input.value = '0'+ separadorDecimal + '0' + '0' + '0' + '0' + aux;
	}
	if (tamanho == 2){
		input.value = '0'+ separadorDecimal + '0' + '0' + '0' + aux;
	}
	if (tamanho == 3){
		input.value = '0'+ separadorDecimal + '0' + '0' + aux;
	}
	if (tamanho == 4){
		input.value = '0'+ separadorDecimal + '0' + aux;
	}
	if (tamanho == 5){
		input.value = '0'+ separadorDecimal + aux;
	}
	if (tamanho > 5) {
		aux2 = '';
		for (j = 0, i = tamanho - 6; i >= 0; i--){
			if (j == 5) {
				aux2 += separadorMilhar;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		input.value = '';
		tamanho2 = aux2.length;
		for (i = tamanho2 - 1; i >= 0; i--){
			input.value += aux2.charAt(i);
		}
		input.value += separadorDecimal + aux.substr(tamanho - 5, tamanho);
	}
	return false;
}

function campoNumericoComHifem(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	if( (codTecla > 47 && codTecla < 58) ||  codTecla == 45){
		return true;
	} else {
		evento.returnValue = false;
		return false;
	}
}

function campoNumericoComHifem_x(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	if( (	codTecla > 47 && codTecla < 58) ||
	codTecla == 45||
	codTecla == 88||
	codTecla == 120 ){
		return true;
	} else {
		evento.returnValue = false;
		return false;
	}
}

function campoNumericoComPonto(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	if( (codTecla > 47 && codTecla < 58) ||  codTecla == 46){
		return true;
	} else {
		evento.returnValue = false;
		return false;
	}
}

function campoNumericoComVirgula(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	if( (codTecla > 47 && codTecla < 58) ||  codTecla == 44 ||  codTecla == 46){
		return true;
	} else {
		evento.returnValue = false;
		return false;
	}
}

function campoNumericoSubmit(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}

	if( codTecla > 47 && codTecla < 58  ){
		return true;
	} else {
		if(codTecla == 13){
			reload(); // estatico, chama o reload de cadastrar produto
			// alteracao feita para suportar o leitor de cod de barras
		}
		evento.returnValue = false;
		return false;
	}
}

function campoNumericoRestringido(campo, evento, max){
	var codTecla;
	var tamanho;
	var valorDigitado = campo.value;

	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}

	if(codTecla == 48){
		valorDigitado = valorDigitado + 0;
	} else if(codTecla == 49){
		valorDigitado = valorDigitado + 1;
	} else if(codTecla == 50){
		valorDigitado = valorDigitado + 2;
	} else if(codTecla == 51){
		valorDigitado = valorDigitado + 3;
	} else if(codTecla == 52){
		valorDigitado = valorDigitado + 4;
	} else if(codTecla == 53){
		valorDigitado = valorDigitado + 5;
	} else if(codTecla == 54){
		valorDigitado = valorDigitado + 6;
	} else if(codTecla == 55){
		valorDigitado = valorDigitado + 7;
	} else if(codTecla == 56){
		valorDigitado = valorDigitado + 8;
	} else if(codTecla == 57){
		valorDigitado = valorDigitado + 9;
	}

	if( (codTecla > 47 && codTecla < 58) && (valorDigitado <= max)  ){
		return true;
	} else {
		alert("O valor deste campo deve ser inferior ou igual a "+max+".");
		evento.returnValue = false;
		return false;
	}
}


//onKeyPress="return(formatarData(this, event));"
function formatarData(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	tamanho = campo.value.length;
	dia = (campo.value.substring(0, 2));
	mes = (campo.value.substring(3, 5));
	if(dia.length==2) {
		if(1*dia < 1 || 1*dia >31) {
			alert("Dia inválido.");
		}
	}
	if(mes.length==2) {
		if(1*mes<1 || 1*mes>12) {
			alert("Mês inválido.");
		}
	}
	if( codTecla > 47 && codTecla < 58 && tamanho <= 9 ){
		if( (tamanho == 2 || tamanho == 5 ) && codTecla!=47){
			campo.value += "/";
		}
		return true;
	}else if(((codTecla==47) && (tamanho==2)) || ((codTecla==47) && (tamanho==5))){
		return true;
	}
	return false;
}

function formatarDataDiaMes(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	tamanho = campo.value.length;
	dia = (campo.value.substring(0, 2));
	mes = (campo.value.substring(3, 5));
	if(dia.length==2) {
		if(1*dia < 1 || 1*dia >31) {
			alert("Dia inválido.");
		}
	}
	if(mes.length==2) {
		if(1*mes<1 || 1*mes>12) {
			alert("Mês inválido.");
		}
	}
	if( codTecla > 47 && codTecla < 58 && tamanho <= 9 ){
		if( (tamanho == 2) && codTecla!=47){
			campo.value += "/";
		}
		return true;
	}else if(((codTecla==47) && (tamanho==2))){
		return true;
	}
	return false;
}

//onKeyPress="return(formatarHora(this, event));"
function formatarHora(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	tamanho = campo.value.length;
	hora = (campo.value.substring(0, 2));
	minuto = (campo.value.substring(3, 5));
	if(hora.length==2) {
		if(1*hora < 1 || 1*hora >23) {
			alert("Hora inválida.");
		}
	}
	if(minuto.length==2) {
		if(1*minuto < 0 || 1*minuto > 59) {
			alert("Minuto inválido.");
		}
	}
	if( codTecla > 47 && codTecla < 58 && tamanho <= 5 ){
		if( (tamanho == 2) && codTecla!=58){
			campo.value += ":";
		}
		return true;
	}else if(((codTecla==58) && (tamanho==2))){
		return true;
	}
	return false;
}

//onKeyPress="return(formatarDataHora(this, event));"
function formatarDataHora(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	tamanho = campo.value.length;
	dia = (campo.value.substring(0, 2));
	mes = (campo.value.substring(3, 5));
	hora = (campo.value.substring(11, 13));
	minuto = (campo.value.substring(14, 16));
	//segundo = (campo.value.substring(17, 18));
	if(dia.length==2) {
		if(1*dia < 1 || 1*dia >31) {
			alert("Dia inválido.");
		}
	}
	if(mes.length==2) {
		if(1*mes<1 || 1*mes>12) {
			alert("Mês inválido.");
		}
	}
	if(hora.length==2) {
		if(1*hora < 0 || 1*hora>23) {
			alert("Hora inválida.");
		}
	}
	if(minuto.length==2) {
		if(1*minuto < 0 || 1*minuto>59) {
			alert("Minuto inválido.");
		}
	}
	/*
	if(segundo.length==2) {
	if(1*segundo < 0 || 1*segundo > 59) {
	alert("Segundo inválido.");
	}
	}
	*/
	//if( codTecla > 47 && codTecla < 58 && tamanho <= 18 ){
	if( codTecla > 47 && codTecla < 58 && tamanho <= 15 ){
		if( (tamanho == 2 || tamanho == 5 ) && codTecla!=47){
			campo.value += "/";
		}
		//if( (tamanho == 13 || tamanho == 16 ) && codTecla!=58){
		if( (tamanho == 13) && codTecla!=58){
			campo.value += ":";
		}
		if( (tamanho == 10) && codTecla!=32){
			campo.value += " ";
		}
		return true;
	}else if(((codTecla==47) && (tamanho==2)) || ((codTecla==47) && (tamanho==5))){
		return true;
		//}else if(((codTecla==58) && (tamanho==13)) || ((codTecla==58) && (tamanho==16))){
	}else if(((codTecla==58) && (tamanho==13))){
		return true;
	}else if((codTecla==32) && (tamanho==10)){
		return true;
	}
	return false;
}

// onKeyPress=\"return(formatarFloatMoedaBR(this,event,10))\"
function formatarFloatMoedaBR(input,e,tamanhoMaximo) {
	var separadorMilhar = ".";
	var separadorDecimal = ",";
	if(input.value.length > tamanhoMaximo){
		return false
	}
	var sep = 0;
	var key = '';
	var i = j = 0;
	var tamanho = tamanho2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;
	if (whichCode == 13){
		return true;
	}
	key = String.fromCharCode(whichCode);
	if (strCheck.indexOf(key) == -1){
		return false;
	}
	tamanho = input.value.length;
	for(i = 0; i < tamanho; i++){
		if ((input.value.charAt(i) != '0') && (input.value.charAt(i) != separadorDecimal)){
			break;
		}
	}
	aux = '';
	for(; i < tamanho; i++){
		if (strCheck.indexOf(input.value.charAt(i))!=-1){
			aux += input.value.charAt(i);
		}
	}
	aux += key;
	tamanho = aux.length;
	if (tamanho == 0){
		input.value = '';
	}
	if (tamanho == 1){
		input.value = '0'+ separadorDecimal + '0' + aux;
	}
	if (tamanho == 2){
		input.value = '0'+ separadorDecimal + aux;
	}
	if (tamanho > 2) {
		aux2 = '';
		for (j = 0, i = tamanho - 3; i >= 0; i--){
			if (j == 3) {
				aux2 += separadorMilhar;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		input.value = '';
		tamanho2 = aux2.length;
		for (i = tamanho2 - 1; i >= 0; i--){
			input.value += aux2.charAt(i);
		}
		input.value += separadorDecimal + aux.substr(tamanho - 2, tamanho);
	}
	return false;
}

// onKeyPress=\"return(formatarCpf(this,event))\"
function formatarCpf(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	tamanho = campo.value.length;
	if( codTecla > 47 && codTecla < 58  ){
		if(tamanho < 14 ){
			if( tamanho == 3 ){
				campo.value = campo.value + ".";
			}else if( tamanho == 7 ){
				campo.value = campo.value + ".";
			}else if( tamanho == 11 ){
				campo.value = campo.value + "-";
			}
		}else{
			evento.returnValue = false;
		}
		return true;
	} else {
		return false;
	}
	return false;
}

// onKeyPress=\"return(formatarCep(this,event))\"
function formatarCep(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	tamanho = campo.value.length;
	if( codTecla > 47 && codTecla < 58  ){
		if(tamanho < 9 ){
			if( tamanho == 5 ){
				campo.value = campo.value + "-";
			}
		}else{
			evento.returnValue = false;
		}
		return true;
	} else {
		return false;
	}
	return false;
}

// onKeyPress=\"return(formatarCnpj(this,event))\"
function formatarCnpj(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	tamanho = campo.value.length;
	if( codTecla > 47 && codTecla < 58  ){
		if(tamanho < 18 ){
			if( tamanho == 2 ){
				campo.value = campo.value + ".";
			}else if( tamanho == 6 ){
				campo.value = campo.value + ".";
			}else if( tamanho == 10 ){
				campo.value = campo.value + "/";
			}else if( tamanho == 15 ){
				campo.value = campo.value + "-";
			}
		}else{
			evento.returnValue = false;
		}
		return true;
	} else {
		return false;
	}
	return false;
}

function formataMoedaBr(entrada) {
	saida = new String(entrada);
	saida.replace(",",".");
	saida = new String(Math.round(100*saida)/100);
	saida = saida.replace(".",",");
	posicaoVirgula = saida.indexOf(",");
	if(posicaoVirgula==-1)
	saida = "" + saida + ",00";
	else if(posicaoVirgula==(saida.length-2))
	saida = "" + saida + "0";
	return saida;
}

function floatMySQLFromMoedaBR(entrada) {
	saida = entrada;
	
	while(saida.indexOf(".")!=-1){
		saida = saida.replace(".","");	
	}
	while(saida.indexOf(",")!=-1){
		saida = saida.replace(",",".");
	}	
	
	
	if(saida=="")
		saida = 0;
		
	saida = saida*1;
	return saida;
}

/*
function formatarFloatMoedaBR(campo,tammax,teclapres) {
var valor = campo.value;
var expReg = ",";
retorno = "false";
var index =  valor.indexOf(expReg);
if (index != -1){
return formatarFloatMoedaBRFloat(campo,tammax,teclapres);
}
}

//onKeyDown='formatarFloatMoedaBRFloat("valor", 13, event)'
function formatarFloatMoedaBRFloat(campo,tammax,teclapres) {

var tecla = teclapres.keyCode;

if (!(tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105
||	(String.fromCharCode(tecla) == ",")){
return false;
}
if (campo.value.indexOf(",") == -1){
return true;
}

vr = campo.value;
vr = vr.replace( "/", "" );
vr = vr.replace( ",", "" );
vr = vr.replace( ".", "" );
tam = vr.length;

if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

if (tecla == 8 ){	tam = tam - 1 ; }

if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
if ( tam <= 2 ){
campo.value = vr ; }
if ( (tam > 2) && (tam <= 5) ){
campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 6) && (tam <= 8) ){
campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 9) && (tam <= 11) ){
campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 12) && (tam <= 14) ){
campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 15) && (tam <= 17) ){
campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
}


for (var ct = 0; ct < document.form.elements.length; ct++) {
if (document.form.elements[ct].name == document.form.elements[campo].name) {
if ( !teclapres.shiftKey && tecla == 9 && document.form.elements[ct+1] && document.form.elements[ct+1].name == "senhaConta" && document.applets['tclJava'] ){
document.applets['tclJava'].setFocus();
}
}
}

}
*/



// onKeyPress=\"return(formatarMoeda(this,'.',',',event,10))\"
/*function formatarMoeda(input, separadorMilhar, separadorDecimal, e,tamanhoMaximo) {
if(input.value.length > tamanhoMaximo){
return false
}
var sep = 0;
var key = '';
var i = j = 0;
var tamanho = tamanho2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13){
return true;
}
key = String.fromCharCode(whichCode);
if (strCheck.indexOf(key) == -1){
return false;
}
tamanho = input.value.length;
for(i = 0; i < tamanho; i++){
if ((input.value.charAt(i) != '0') && (input.value.charAt(i) != separadorDecimal)){
break;
}
}
aux = '';
for(; i < tamanho; i++){
if (strCheck.indexOf(input.value.charAt(i))!=-1){
aux += input.value.charAt(i);
}
}
aux += key;
tamanho = aux.length;
if (tamanho == 0){
input.value = '';
}
if (tamanho == 1){
input.value = '0'+ separadorDecimal + '0' + aux;
}
if (tamanho == 2){
input.value = '0'+ separadorDecimal + aux;
}
if (tamanho > 2) {
aux2 = '';
for (j = 0, i = tamanho - 3; i >= 0; i--){
if (j == 3) {
aux2 += separadorMilhar;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
input.value = '';
tamanho2 = aux2.length;
for (i = tamanho2 - 1; i >= 0; i--){
input.value += aux2.charAt(i);
}
input.value += separadorDecimal + aux.substr(tamanho - 2, tamanho);
}
return false;
}

*/


//onKeyPress="return(limitarTamanhoEntrada(this,tamanhoMaximo));"
function restringirCampo(campo,tamanhoMaximo){
	var valorCampo;
	valorCampo = campo.value;
	if(valorCampo > tamanhoMaximo) {
		alert("O tamanho deste campo deve ser inferior ou igual a "+tamanhoMaximo+".");
		campo.value = "";
		return false;
	}
	return true;
}

function desabilitaCampo(campo){
	if(campo.type!="button" && campo.type!="submit" && campo.type!="reset")
	campo.value = "";
	campo.disabled=true;
}



//onKeyPress="return(limitarTamanhoEntrada(this,tamanhoMaximo));"
function limitarTamanhoEntrada(campo,tamanhoMaximo){
	var tamanho;
	tamanho = campo.value.length;
	if(tamanho > tamanhoMaximo) {
		alert("Este campo suporta uma quantidade máxima de "+tamanhoMaximo+" caracteres.");
		return false;
	}
	return true;
}

//
//INICIO DE FUNÇÕES DE VALIDAÇÃO (FUNCÕES USADAS PARA VALIDAR CAMPOS DE FORMULARIOS NO SUBMIT)
//

function validarAspas(texto){
	for(var i=0; i < texto.length; i++){
		if(texto.charAt(i) == '\x93'){
			texto = texto.replace('\x93','\x22');
		}else if(texto.charAt(i) =="“"){
			texto = texto.replace('“','\x22');
		}else if(texto.charAt(i) == '\x94'){
			texto = texto.replace('\x94','\x22');
		}else if(texto.charAt(i) =="”"){
			texto = texto.replace('”','\x22');
		}else if(texto.charAt(i) =="–"){
			texto = texto.replace('–','\x2d');
		}else if(texto.charAt(i) =="\x96"){
			texto = texto.replace('\x96','\x2d');
		}
	}
	return texto;
}

//validarCampoObrigatorio(document.form.data, "Data");
function validarCampoObrigatorio(campo, nome) {
	
	temp = trim(campo.value)
	if (temp.length == 0){
		alert('Por favor, especifique o campo \"' + nome + '\".');
		campo.focus();
		return false;
	}
	return true;
}

//validerChampObligatoire(document.form.data, "Data")
function validerChampObligatoire(campo, nome) {
	
	temp = trim(campo.value)
	if (temp.length == 0){
		alert('S\'il vous plaît, remplir le champ \"' + nome + '\".');
		campo.focus();
		return false;
	}
	return true;
}

function validarRadioObrigatorio(campo,nome){
	radioValidado=false;
	for(i=0;i<campo.length;i++){
		if(campo[i].checked){
			radioValidado=true;
			break;
		}
	}
	if(!radioValidado){
		alert('Por favor, especifiue o campo "' + nome + '\".');
		campo.focus();
	}
	return radioValidado;
}

//validarData(document.form.data, "Data");
function validarData(campo,nome) {
	data = trim(campo.value);
	dia = 1*(data.substring(0,2));
	mes = 1*(data.substring(3,5));
	if(data.length == 10){
		ano = 1*(data.substring(6,10));
	}
	if(data.length == 8){
		ano = 1*(data.substring(6,8));
		if(ano >= 50 ){
			ano = 1*("19" + ano);
		}else{
			ano = 1*("20"+ ano);
		}
	}

	retorno = "true";
	if(data.length != 10 && data.length != 8){
		retorno = "false";
	}
	if ((dia < 1) || (dia < 1 || dia > 30) && (  mes == 4 || mes == 6 || mes == 9 || mes == 11 ) || dia > 31) {
		retorno = "false";
	}
	if (mes < 1 || mes > 12 ) {
		retorno = "false";
	}
	//verifica se e ano bissexto
	if (mes == 2 && ( dia < 1 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)) )) {
		retorno = "false";
	}
	if(retorno == "false"){
		alert('Data informada inválida! Por favor, especifique uma data válida para o campo \"' + nome + '\".');
		campo.focus();
		return false;
	}else{
		return true;
	}
}


/*
//validarData(document.form.data, "Data");
function validarData(campo,nome) {
data = trim(campo.value);
dia = 1*(data.substring(0,2));
mes = 1*(data.substring(3,5));
ano = 1*(data.substring(6,10));
retorno = "true";
if(data.length != 10){
retorno = "false";
}
if ((dia < 1) || (dia < 1 || dia > 30) && (  mes == 4 || mes == 6 || mes == 9 || mes == 11 ) || dia > 31) {
retorno = "false";
}
if (mes < 1 || mes > 12 ) {
retorno = "false";
}
//verifica se e ano bissexto
if (mes == 2 && ( dia < 1 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)) )) {
retorno = "false";
}
if(retorno == "false"){
alert('Data informada inválida! Por favor, especifique uma data válida para o campo \"' + nome + '\".');
campo.focus();
return false;
}else{
return true;
}
}
*/
//validarHora(document.form.hora, "Hora");
function validarHora(campo,nome) {
	campoHora = trim(campo.value);
	hora = 1*(campoHora.substring(0,2));
	minuto = 1*(campoHora.substring(3,5));
	retorno = "true";
	if(campoHora.length != 5){
		retorno = "false";
	}
	if ((hora < 0) || (hora > 23)) {
		retorno = "false";
	}
	if (minuto < 0 || minuto > 59 ) {
		retorno = "false";
	}
	if(retorno == "false"){
		alert('Hora informada inválida! Por favor, especifique uma hora válida para o campo \"' + nome + '\".');
		campo.focus();
		return false;
	}else{
		return true;
	}
}
//validarDataHora(document.form.dataHora, "Data hora");
function validarDataHora(campo,nome) {
	data = trim(campo.value);
	dia = 1*(data.substring(0,2));
	mes = 1*(data.substring(3,5));
	ano = 1*(data.substring(6,10));
	hora = 1*(data.substring(11, 13));
	minuto = 1*(data.substring(14, 16));
	//segundo = 1*(data.substring(17, 18));

	retorno = "true";
	//if(data.length != 19){
	if(data.length != 16){
		retorno = "false";
	}
	if ((dia < 1) || (dia < 1 || dia > 30) && (  mes == 4 || mes == 6 || mes == 9 || mes == 11 ) || dia > 31) {
		retorno = "false";
	}
	if (mes < 1 || mes > 12 ) {
		retorno = "false";
	}
	//verifica se e ano bissexto
	if (mes == 2 && ( dia < 1 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)) )) {
		retorno = "false";
	}
	if (hora < 0 || hora > 23 ) {
		retorno = "false";
	}
	if (minuto < 0 || minuto > 59 ) {
		retorno = "false";
	}
	/*
	if (segundo < 0 || segundo > 59 ) {
	retorno = "false";
	}
	*/
	if(retorno == "false"){
		alert('Data Hora informada inválida! Por favor, especifique uma data hora válida para o campo \"' + nome + '\".');
		campo.focus();
		return false;
	}else{
		return true;
	}
}
//validarComboBox(document.form.idObjeto, "Objeto","");
function validarComboBox(campo, nome, valor){
	if (campo.value==valor)	{
		alert('Por favor, especifique o campo \"' + nome + '\".');
		campo.focus();
		return false;
	}
	return true;
}

//validarPeriodoData(campoDataInicial,nomeDataInicial,campoDataFinal,nomeDataFinal);
function validarPeriodoData(campoDataInicial,nomeDataInicial,campoDataFinal,nomeDataFinal) {
	dataInicial = trim(campoDataInicial.value);
	dataFinal = trim(campoDataFinal.value);
	numeroDataInicial = 1*(dataInicial.substring(6,10) +  dataInicial.substring(3,5) + dataInicial.substring(0,2));
	numeroDataFinal = 1*(dataFinal.substring(6,10) +  dataFinal.substring(3,5) + dataFinal.substring(0,2));
	if(numeroDataFinal < numeroDataInicial){
		retorno = false;
	}else{
		retorno = true;
	}
	if(retorno == false){
		alert('A data informada no campo \"'+ nomeDataFinal +'\" deve ser inferior ou igual a data fornecida no campo \"' +nomeDataInicial +'\"! Por favor, especifique uma data coerente para o campo \"' + nomeDataFinal + '\".');
		campoDataFinal.select();
		campoDataFinal.focus();
		return false;
	}else{
		return true;
	}
}

//validarSenha(document.form.senha, "Senha",document.form.confirmarSenha, "Confirmar Senha",8)
function validarSenha(campoSenha, nomeSenha, campoConfirmarSenha, nomeConfirmarSenha, tamanhoMinimo)
{
	if((campoSenha.value.length < tamanhoMinimo)){
		alert('Por favor, especifique o campo \"' + nomeSenha + '\" com no mínimo '+ tamanhoMinimo +' caracteres.');
		campoSenha.value = "";
		campoConfirmarSenha.value = "";
		campoSenha.focus();
		return false;
	}
	if(!validarCampoObrigatorio(campoConfirmarSenha,nomeConfirmarSenha)){return false;};
	if(campoSenha.value != campoConfirmarSenha.value){
		alert('O valor do campo \"' + nomeConfirmarSenha + '\" não coincide com o valor do campo \"' + nomeSenha + '\". Por favor, especifique os campos com o mesmo valor.');
		campoSenha.value = "";
		campoConfirmarSenha.value = "";
		campoSenha.focus();
		return false;
	}
	return true;
}

/*
comparacao:
IGUAL 		se a primeira data for igual 		a sengunda
DIFERENTE 	se a primeira data for diferente 	a sengunda
MENOR_QUE	se a primeira data for menor que 	a sengunda
MAIOR_QUE	se a primeira data for maior que 	a sengunda
*/
function comparaData(primeiraData,segundaData,comparacao) {
	numeroPrimeiraData 	= 1*(primeiraData.substring(6,10) +  primeiraData.substring(3,5) + primeiraData.substring(0,2));
	numeroSegundaData 	= 1*(segundaData.substring(6,10) +  segundaData.substring(3,5) + segundaData.substring(0,2));
	if(comparacao == 'IGUAL'){
		if(numeroPrimeiraData == numeroSegundaData){
			retorno = true;
		}else{
			retorno = false;
		}
	}else if(comparacao == 'DIFERENTE'){
		if(numeroPrimeiraData != numeroSegundaData){
			retorno = true;
		}else{
			retorno = false;
		}
	}else if(comparacao == 'MENOR_QUE'){
		if(numeroPrimeiraData < numeroSegundaData){
			retorno = true;
		}else{
			retorno = false;
		}
	}else if(comparacao == 'MAIOR_QUE'){
		if(numeroPrimeiraData > numeroSegundaData){
			retorno = true;
		}else{
			retorno = false;
		}
	}else{
		alert('O parametro comparação não foi informado corretamente.');
	}
	return retorno;
}


function validarCpf(campo,nome){
	cpf = campo.value;
	cpf = replaceAll(cpf,".","");
	cpf = replaceAll(cpf,"-","");
	retorno = true;
	if(trim(cpf).length > 0){
		cpfstr= '';
		temp = cpf + '';

		cpfstr = temp.substring(0,3);
		cpfstr = cpfstr + temp.substring(3,6);
		cpfstr = cpfstr + temp.substring(6,9);
		cpfstr = cpfstr + temp.substring(9,11);

		/*
		cpfstr = temp.substring(0,3);
		cpfstr = cpfstr + temp.substring(4,7);
		cpfstr = cpfstr + temp.substring(8,11);
		cpfstr = cpfstr + temp.substring(12,14);
		cpf = cpfstr;
		*/

		retorno = false;
		if(cpf != null){
			soma = 0;
			digito1 = 0;
			digito2 = 0;
			for(i = 0; i < 9; i = i + 1) {
				soma = soma + ((parseInt(cpf.substring(i,i+1)))*(11-(i+1)));
			}
			soma = soma % 11;
			if (soma == 0 || soma == 1) {
				digito1 = 0;
			} else {
				digito1 = 11 - soma;
			}
			soma = 0;

			for(i = 0; i < 9; i = i + 1) {
				soma = soma + ((parseInt(cpf.substring(i,i+1)))*(12-(i+1)));
			}
			soma = soma + (digito1*2);
			soma = soma % 11;
			if (soma == 0 || soma == 1) {
				digito2 = 0;
			}
			else{
				digito2 = 11 - soma;
			}
			digito = digito1 +''+ digito2;

			if(digito == (cpfstr.substring(9,11))){
				retorno = true;
			} else{
				retorno = false;

			}
		} else {
			retorno = false;
		}
	}
	if(!retorno) {
		alert('O Número de CPF informado no campo "' + nome + '" é inválido! Por favor, informe um número de CPF válido!');
		campo.value = '';
		campo.focus();
	}
	return retorno;
}



/*


function formatarHorario( campo, evento ){

var codTecla;
var tamanho;

if( document.all ) { // Internet Explorer
codTecla = evento.keyCode;
} else if( document.layers ) { // Nestcape
codTecla = evento.which;
}

tamanho = campo.value.length;
hora = campo.value.substring(0, 2);
minuto = campo.value.substring(3, 5);
if(hora.length==2) {
if(parseInt(hora)<0 || parseInt(hora)>23) {
alert("Hora inválida.");
}
}
if(minuto.length==2) {
if(parseInt(minuto)<0 || parseInt(minuto)>59) {
alert("Minuto inválido.");
}
}

if( codTecla > 47 && codTecla < 58 && tamanho <= 5 ){
if(tamanho == 2){
campo.value += ":";
}
return true;
} else if((codTecla==58) && (tamanho==2))
return true;

return false;
}

// onKeyPress=\"return(formatarMoeda(this,'.',',',event,10))\"
function formatarMoeda(input, separadorMilhar, separadorDecimal, e,tamanhoMaximo) {
if(input.value.length > tamanhoMaximo){
return false
}
var sep = 0;
var key = '';
var i = j = 0;
var tamanho = tamanho2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13){
return true;
}
key = String.fromCharCode(whichCode);
if (strCheck.indexOf(key) == -1){
return false;
}
tamanho = input.value.length;
for(i = 0; i < tamanho; i++){
if ((input.value.charAt(i) != '0') && (input.value.charAt(i) != separadorDecimal)){
break;
}
}
aux = '';
for(; i < tamanho; i++){
if (strCheck.indexOf(input.value.charAt(i))!=-1){
aux += input.value.charAt(i);
}
}
aux += key;
tamanho = aux.length;
if (tamanho == 0){
input.value = '';
}
if (tamanho == 1){
input.value = '0'+ separadorDecimal + '0' + aux;
}
if (tamanho == 2){
input.value = '0'+ separadorDecimal + aux;
}
if (tamanho > 2) {
aux2 = '';
for (j = 0, i = tamanho - 3; i >= 0; i--){
if (j == 3) {
aux2 += separadorMilhar;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
input.value = '';
tamanho2 = aux2.length;
for (i = tamanho2 - 1; i >= 0; i--){
input.value += aux2.charAt(i);
}
input.value += separadorDecimal + aux.substr(tamanho - 2, tamanho);
}
return false;
}

function formatarInscricao(campo, evento){
var codTecla;
var tamanho;
if( document.all ) { // Internet Explorer
codTecla = evento.keyCode;
} else if( document.layers ) { // Nestcape
codTecla = evento.which;
}
//numeros, "-","." e "/"
if( codTecla > 47 && codTecla < 58 || (codTecla==45 || codTecla==46 || codTecla==47) ){
return true;
} else {
evento.returnValue = false;
return false;
}
}


function formatarTelefone(campo, evento){
var codTecla;
var tamanho;
if( document.all ) { // Internet Explorer
codTecla = evento.keyCode;
} else if( document.layers ) { // Nestcape
codTecla = evento.which;
}
tamanho = campo.value.length;
if( codTecla > 47 && codTecla < 58  ){
if(tamanho < 12 ){
if( tamanho == 0 ){
campo.value = "(" + campo.value;
} else if( tamanho == 3 ){
campo.value = campo.value + ")";
}
}else{
evento.returnValue = false;
}
return true;
} else {
return false;
}
return false;
}

function validarDataMesAno(data) {
data = trim(data);
mes = (data.substring(0,2));
ano = (data.substring(3,7));
if(data.length != 7){
return false;
}
if ( mes > 12 ) {
return false;
}
if ( ano > 2004 ) {
return false;
}
return true;
}


//validarEmail(document.form.email, "E-mail");
function validarEmail(campo,nome) {
prim = campo.value.indexOf("@");
retorno = true;
if(prim < 1) {
retorno = false;
}
if(campo.value.indexOf("@",prim + 1) != -1) {
retorno = false;
}
if(campo.value.indexOf(".") < 1) {
retorno = false;
}
if(campo.value.indexOf(" ") != -1) {
retorno = false;
}
if(campo.value.indexOf(".@") > 0) {
retorno = false;
}
if(campo.value.indexOf("@.") > 0) {
retorno = false;
}
if(campo.value.indexOf("/") > 0) {
retorno = false;
}
if(campo.value.indexOf("[") > 0) {
retorno = false;
}
if(campo.value.indexOf("]") > 0) {
retorno = false;
}
if(campo.value.indexOf("(") > 0) {
retorno = false;
}
if(campo.value.indexOf(")") > 0) {
retorno = false;
}
if(campo.value.indexOf("..") > 0) {
retorno = false;
}
if(retorno == false){
alert('E-mail informado invalido! Por favor, especifique um E-mail válido para o campo \"' + nome + '\".');
campo.focus();
return false;
}else{
return true;
}
}
//validarSenha(document.form.senha, "Senha",document.form.confirmarSenha, "Confirmar Senha",8)
function validarSenha(campoSenha, nomeSenha, campoConfirmarSenha, nomeConfirmarSenha, tamanhoMinimo)
{
if((campoSenha.value.length < tamanhoMinimo)){
alert('Por favor, especifique o campo \"' + nomeSenha + '\" com no mínimo '+ tamanhoMinimo +' caracteres.');
campoSenha.value = "";
campoConfirmarSenha.value = "";
campoSenha.focus();
return false;
}
if(!validarCampo(campoConfirmarSenha,nomeConfirmarSenha)){return false;};
if(campoSenha.value != campoConfirmarSenha.value){
alert('O valor do campo \"' + nomeConfirmarSenha + '\" não coincide com o valor do campo \"' + nomeSenha + '\". Por favor, especifique os campos com o mesmo valor.');
campoSenha.value = "";
campoConfirmarSenha.value = "";
campoSenha.focus();
return false;
}
return true;
}

*/


/*
*/
//Funções para validação de CNPJ
function isNUMB(c){
	if((cx=c.indexOf(","))!=-1) {
		c = c.substring(0,cx)+"."+c.substring(cx+1);
	}
	if((parseFloat(c) / c != 1)) {
		if(parseFloat(c) * c == 0){
			return(1);
		}else {
			return(0);
		}
	}else{
		return(1);
	}
}

function LIMP(c){
	while((cx=c.indexOf("-"))!=-1){
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("/"))!=-1){
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(","))!=-1){
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("."))!=-1){
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("("))!=-1){
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(")"))!=-1){
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(" "))!=-1) {
		c = c.substring(0,cx)+c.substring(cx+1);
	}
	return(c);
}

function VerifyCNPJ(CNPJ){
	CNPJ = LIMP(CNPJ);
	if(isNUMB(CNPJ) != 1){
		return(0);
	}else{
		if(CNPJ == 0){
			return(0);
		}else{
			g=CNPJ.length-2;
			if(RealTestaCNPJ(CNPJ,g) == 1){
				g=CNPJ.length-1;
				if(RealTestaCNPJ(CNPJ,g) == 1){
					return(1);
				}else{
					return(0);
				}
			}else{
				return(0);
			}
		}
	}
}

function RealTestaCNPJ(CNPJ,g){
	var VerCNPJ=0;
	var ind=2;
	var tam;
	for(f=g;f>0;f--){
		VerCNPJ += parseInt(CNPJ.charAt(f-1))*ind;
		if(ind>8){
			ind=2;
		}else{
			ind++;
		}
	}
	VerCNPJ%=11;
	if(VerCNPJ==0 || VerCNPJ==1){
		VerCNPJ=0;
	}else{
		VerCNPJ=11-VerCNPJ;
	}
	if(VerCNPJ!=parseInt(CNPJ.charAt(g))){
		return(0);
	}else{
		return(1);
	}
}

function validarCnpj(campo,nome){
	if(VerifyCNPJ(campo.value)!=1){
		alert('O valor de CNPJ informado no campo "' + nome + '" é inválido. Por favor, especifique um número de CNPJ válido.');
		campo.focus();
		return false;
	}else{
		return true;
	}
}

function validarEmail(campo) {	
	function validarPontos(inicio,campoTratar){
		posicao = inicio;
		stringAtual = campoTratar.value.substr(posicao);			
		primeiraVez = true;
		checado = false			
		while (!checado){				
			if(primeiraVez) {
				if(stringAtual.indexOf(".")<1){
					return false;
				} else {
					novaPosicao = stringAtual.indexOf(".")+1;
					if (stringAtual.substr(stringAtual.indexOf(".")+1,1)==""){				
						return false;
					} else {
						novaString = stringAtual.substr(novaPosicao);							
					}												
				}
				primeiraVez=false;					
			} else {
				if(stringAtual.indexOf(".")<1){
					checado=true;											
				} else {
					novaPosicao = stringAtual.indexOf(".")+1;						
					if (stringAtual.substr(stringAtual.indexOf(".")+1,1)==""){				
						return false;
					} else {
						novaString = stringAtual.substr(novaPosicao);							
					}																		
				}					
				
			}
			posicao = novaPosicao;
			stringAtual = novaString				
		}
		
		return true;
	}	
	prim = campo.value.indexOf("@");
	retorno = true;

	if(prim < 1) {
		retorno = false;
	}
	if(campo.value.indexOf("@",prim + 1) != -1) {
		retorno = false;
	} else {
		if(campo.value.substr(campo.value.indexOf("@")+1).indexOf(".")<1){
			retorno = false;
		}
	 }	
	if(campo.value.indexOf(".") < 1) {
		retorno = false;
	} else {	
		if(!validarPontos(campo.value.indexOf("@")+1,campo)){
			retorno = false;
		}
	}
	if(campo.value.indexOf(" ") != -1) {
		retorno = false;
	}
	if(campo.value.indexOf(".@") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("@.") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("/") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("[") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("]") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("(") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf(")") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("..") > 0) {
		retorno = false;
	}
	if(retorno == false){
		alert('E-mail informado inválido! Por favor, especifique um E-mail válido.');		
		campo.focus();
		return false;
	}else{	
		return true;
	}
}

function validerEmail(campo) {	
	function validarPontos(inicio,campoTratar){
		posicao = inicio;
		stringAtual = campoTratar.value.substr(posicao);			
		primeiraVez = true;
		checado = false			
		while (!checado){				
			if(primeiraVez) {
				if(stringAtual.indexOf(".")<1){
					return false;
				} else {
					novaPosicao = stringAtual.indexOf(".")+1;
					if (stringAtual.substr(stringAtual.indexOf(".")+1,1)==""){				
						return false;
					} else {
						novaString = stringAtual.substr(novaPosicao);							
					}												
				}
				primeiraVez=false;					
			} else {
				if(stringAtual.indexOf(".")<1){
					checado=true;											
				} else {
					novaPosicao = stringAtual.indexOf(".")+1;						
					if (stringAtual.substr(stringAtual.indexOf(".")+1,1)==""){				
						return false;
					} else {
						novaString = stringAtual.substr(novaPosicao);							
					}																		
				}					
				
			}
			posicao = novaPosicao;
			stringAtual = novaString				
		}
		
		return true;
	}	
	prim = campo.value.indexOf("@");
	retorno = true;

	if(prim < 1) {
		retorno = false;
	}
	if(campo.value.indexOf("@",prim + 1) != -1) {
		retorno = false;
	} else {
		if(campo.value.substr(campo.value.indexOf("@")+1).indexOf(".")<1){
			retorno = false;
		}
	 }	
	if(campo.value.indexOf(".") < 1) {
		retorno = false;
	} else {	
		if(!validarPontos(campo.value.indexOf("@")+1,campo)){
			retorno = false;
		}
	}
	if(campo.value.indexOf(" ") != -1) {
		retorno = false;
	}
	if(campo.value.indexOf(".@") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("@.") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("/") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("[") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("]") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("(") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf(")") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("..") > 0) {
		retorno = false;
	}
	if(retorno == false){
		alert('Vous avez signalé un E-mail non valide. S\'il vous plaît spécifier une adresse E-mail valide.');		
		campo.focus();
		return false;
	}else{	
		return true;
	}
}

function replaceAll( str, from, to ) {
	var idx = str.indexOf( from );


	while ( idx > -1 ) {
		str = str.replace( from, to );
		idx = str.indexOf( from );
	}

	return str;
}

