function focusOn(campo) {
    campo.style.backgroundColor = '#FFEACC';
}

function focusOut(campo) {
    campo.style.backgroundColor = 'white';
}
//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 ) { // Netscape
        codTecla = evento.which;
    }
    else if( evento ){// firefox
    	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 || codTecla == 8  || codTecla == 0) && tamanho <= 9 ){
        if( (tamanho == 2 || tamanho == 5 ) && codTecla!=47 && codTecla !=8 && codTecla != 0){
            campo.value += "/";
        }
        return true;
    }else if(((codTecla==47) && (tamanho==2)) || ((codTecla==47) && (tamanho==5)) || codTecla == 8 || codTecla == 0){
		return true;
    }
    return false;
}


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;
}
// onKeyPress=\"return(formatarNumero(this,event))\"
function formatarNumero( 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  ){
        evento.returnValue = true;
    } else {
  	    evento.returnValue = 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;
	}else if( evento ) { // Firefox
   		codTecla = evento.which;
	}
	tamanho = campo.value.length;
	if((codTecla > 47 && codTecla < 58) || codTecla == 0 || codTecla == 8 ){
		if(tamanho < 12 ){
			if(tamanho == 0){
				campo.value = "(" + campo.value;
			}else if( tamanho == 3 && codTecla!=8){
				campo.value = campo.value + ")";
			}
		}else{
			evento.returnValue = false;
		}
		return true;
	} else {
		return false;
	}
	return false;
}


function formatarCep(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}
	else if( evento ) { // Firefox
        codTecla = evento.which;
    }
	tamanho = campo.value.length;
	if( (codTecla > 47 && codTecla < 58)  || codTecla==8  || codTecla == 0){
		if(tamanho < 9 ){
			if( tamanho == 5 && codTecla!=8){
				campo.value = campo.value + "-";
			}
		}else{
			evento.returnValue = false;
		}
		return true;
	} else {
		return false;
	}
	return false;
}


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 formatarCpf(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Nestcape
	codTecla = evento.which;
	}else if( evento ) { // Firefox
        codTecla = evento.which;
    }
	tamanho = campo.value.length;
	if( (codTecla > 47 && codTecla < 58)  || codTecla== 8 || codTecla == 0){
		if(tamanho < 14 ){
			if( tamanho == 3 && codTecla != 8 && codTecla != 0){
				campo.value = campo.value + ".";
			}else if( tamanho == 7 && codTecla != 8 && codTecla != 0){
				campo.value = campo.value + ".";
			}else if( tamanho == 11 && codTecla != 8 && codTecla != 0){
				campo.value = campo.value + "-";
			}
		}else{
			evento.returnValue = false;
		}
		return true;
	} else {
		return false;
	}
	return false;
}

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;
}

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;
}


/**************************************************************
 *  Verifica se o usuario digitou algo no campo especificado. *
 *                                                            *
 *  Parâmetros:                                               *
 *                                                            *
 *          campo: nome do campo no código                    *
 *          nome : nome do campo na página                    *
 *                                                            *
 **************************************************************/

//validarCampo(document.form.data, "Data"); 
function validarCampo(campo, nome) {
	temp = trim(campo.value) 
	if (temp.length == 0)
	{
		alert('Por favor, especifique o campo \"' + nome + '\".');
		campo.focus();
		return false;
	}

	return true;
}

//validarData(document.form.data, "Data");
function validarData(campo,nome) {
	data = trim(campo.value);
	dia = (data.substring(0,2));
	mes = (data.substring(3,5));
	ano = (data.substring(6,10));
	retorno = "true";
	if(data.length != 10){
        retorno = "false";
    }
	if ((dia < 01) || (dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) {
		retorno = "false";
	}
	if (mes < 01 || mes > 12 ) {
		retorno = "false";
	}
	//verifica se e ano bissexto
	if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)) )) {
		retorno = "false";
	}
	if(retorno == "false"){
		alert('Data informada invalida! Por favor, especifique uma data válida para o campo \"' + nome + '\".');		
		campo.focus();
		return false;
	}else{	
		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;
}

		

/**************************************************************
 *  Verifica se o usuario selecionou uma opção inválida em um *
 *  Combo Box.                                                *
 *                                                            *
 *  Parâmetros:                                               *
 *                                                            *
 *          campo: nome do campo no código                    *
 *          nome : nome do campo na página                    *
 *          valor: valor da opção inválida                    *
 *                                                            *
 **************************************************************/

function validarComboBox(campo, nome, valor)
{
	if (campo.value==valor)
		{
		alert('Por favor, especifique o campo \"' + nome + '\".');	
		campo.focus();
		return false;
		}
	return true;
}

