// Muda a cor do campo selecionado
function changeColor(oField, iAcao){
	if (iAcao == 0){
		oField.style.backgroundColor = '#F5F5F5';
	} else if (iAcao == 1){
		oField.style.backgroundColor = '#ffffff';
	}
}

function changeColorTr(oField, iAcao){
	oField.setAttribute('class', iAcao);
	oField.setAttribute('className', iAcao);
}


// Define a variável do local em que está
var sLocal = null;
function defineLocal(sLoc){
	sLocal = sLoc;
}

// : Pega o nome do id e retorna o objeto
function getObj( id ){
    return document.getElementById( id );
}

function validaForm( ){
    var erro = 0;
    var inputFocus = null;
	var inputs = document.getElementsByTagName( 'input' );
    $x=0;
	$x2=0;
    while( $x < inputs.length ){
       if( inputs[$x].getAttribute( 'not' ) != 'not' ){
           if( inputs[$x].value == '' ){
               erro = 1;
			   inputs[$x].setAttribute('class', 'formulario_erro');
			   inputs[$x].setAttribute('className', 'formulario_erro');
			   if($x2 == 0){
				   inputFocus =  inputs[$x];
				   $x2++;
			   }
           }
       }
        $x++;
    }
	
	var inputs = document.getElementsByTagName( 'select' );
    $x=0;
	$x2=0;
    while( $x < inputs.length ){
       if( inputs[$x].getAttribute( 'not' ) != 'not' ){
           if( inputs[$x].value == '' ){
               erro = 1;
			   inputs[$x].setAttribute('class', 'formulario_erro');
			   inputs[$x].setAttribute('className', 'formulario_erro');
			   if($x2 == 0){
				   inputFocus =  inputs[$x];
				   $x2++;
			   }
           }
       }
        $x++;
    }
	
	if(erro == 1){
    	alert('Campo(s) obrigatorio(s)!');
		inputFocus.focus();
		return false;
	}
	
    return true;    
}

window.onload = function(){
	var inputs = document.getElementsByTagName( 'input' );
	$x=0;
	while( $x < inputs.length ){
		if( inputs[$x].getAttribute( 'not' ) != 'not' )
		{
			inputs[$x].onkeypress = function(e){
				voltaClassPadrao(this);
			}
			
			//inputs[$x].setAttribute('onKeyPress' , ' voltaClassPadrao( this )');
			//alert(inputs[$x].getAttribute('onKeyPress'));
			//inputs[ $x ].attachEvent('onKeyPress' , ' voltaClassPadrao( this )');			
		}
	$x++;
	}
}

function voltaClassPadrao(input){
	if((input.getAttribute('className') == 'formulario_erro') || (input.getAttribute('class') == 'formulario_erro')){
       input.setAttribute('class', 'formulario');
	   input.setAttribute('className', 'formulario');
	}
}


// VALIDACOES -------------------------------------------
// teclas
	var BACKSPACE = 8;
	var ENTER = 13;
	var DEL = 46;
	var ALT = 16;
	var TAB = 9;
	var END = 35;
	var HOME = 36;
	var SHIFT = 18;
	var ZEROTOP = 48;
	var NOVETOP = 57;
	var ZERONUM = 96;
	var NOVENUM = 105;
	var SETAUP = 37;
	var SETADOWN = 40;
	var key;
	var tecla;

// Validação de email
function verificaEmail(sEmail){
	//Expressão regular para validação de endereço de e-mail
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(sEmail))){
		return false;
	}
}

// Valida Data
function validaData(sData){
	var aData = sData.split('/');
	// Confere se o ano é maior que 1900 e menor 2100
	if (aData[2] < 1900 || aData[2] > 2100){
		alert('Informe um ano maior que 1900 e menor que 2100');
		return false;
	}
	// Confere se o mês é maior que 0 e menor que 12
	if (aData[1] < 1 || aData[1] > 12){
		alert('Informe um mês entre 1 e 12');
		return false;
	}
	// Verifica se o dia está no limite do Mês
	// Fevereiro (29)
	if (aData[1] == 2){
		if (aData[0] < 1 || aData[0] > 29){
			alert('Este mês não tem o dia '+aData[0]);
			return false;
		}
	} else if (aData[1] == 4 || aData[1] == 6 || aData[1] == 9 || aData[1] == 11){
		// Abril, Junho, Setembro, Novembro (30)
		if (aData[0] < 1 || aData[0] > 30){
			alert('Este mês não tem o dia '+aData[0]);
			return false;
		}
	} else if (aData[1] == 1 || aData[1] == 3 || aData[1] == 5 || aData[1] == 7 || aData[1] == 8 || aData[1] == 10 || aData[1] == 12){
		// Abril, Junho, Setembro, Novembro (30)
		if (aData[0] < 1 || aData[0] > 31){
			alert('Este mês não tem o dia '+aData[0]);
			return false;
		}
	}
	return true;
}

function validaHora(sHora){
	var aHora = sHora.split(':');
	// Confere se a hora esta entre 00 e 23
	if (aHora[0] < 00 || aHora[0] > 23){
		alert('Hora incorreta');
		return false;
	// Segundos
	} else if (aHora[1] < 00 || aHora[1] > 59){
		alert('Minuto incorreto');
		return false;
	// Minutos
	} else if (aHora[2] < 00 || aHora[2] > 59){
		alert('Segundo incorreto');
		return false;
	}
	return true;
}

// Verifica se a tecla passada é um número
function soNum(tecla)
{
	if ( tecla == BACKSPACE || tecla == END || tecla == ALT || tecla == TAB || tecla == HOME || tecla == SHIFT || tecla == ENTER || tecla == DEL || (tecla >= ZEROTOP && tecla <= NOVETOP) || (tecla >= ZERONUM && tecla <= NOVENUM) || (tecla >= SETAUP && tecla <= SETADOWN) ) {
		return true;
	}
} 

// Faz a masca de data e hora (XX/XX/XXXX XX:XX:XX)
function maskDataHora(oField, event){
	if(navigator.appName.indexOf("Netscape")!= -1){
		tecla= event.which;
	} else {
		tecla= event.keyCode;
	}

	// DEBUG
	// alert(tecla);

	// Verifica se é um número
	if (!soNum(tecla)){
		return false;
	}
	if (tecla != BACKSPACE){
		// Quantidade de caracteres
		var iC = oField.value.length;
		
		if (iC == 2){
			oField.value = oField.value+'/';
		}
		if (iC == 5){
			oField.value = oField.value+'/';
		}
		if (iC == 10){
			oField.value = oField.value+' ';
		}
		if (iC == 13){
			oField.value = oField.value+':';
		}
		if (iC == 16){
			oField.value = oField.value+':';
		}
	}
}

// Faz a mascara de cnpj (XX.XXX.XXX/XXXX-XX)
function maskCNPJ(oField, event){
	if(navigator.appName.indexOf("Netscape")!= -1){
		tecla= event.which;
	} else {
		tecla= event.keyCode;
	}

	// DEBUG
	// alert(tecla);

	// Verifica se é um número
	if (!soNum(tecla)){
		return false;
	}
	if (tecla != BACKSPACE){
		// Quantidade de caracteres
		var iC = oField.value.length;
		
		if (iC == 2){
			oField.value = oField.value+'.';
		}
		if (iC == 6){
			oField.value = oField.value+'.';
		}
		if (iC == 10){
			oField.value = oField.value+'/';
		}
		if (iC == 15){
			oField.value = oField.value+'-';
		}
	}
}
function apenas_numero(evento)
{
	var keypress = evento.keyCode ? evento.keyCode : evento.which ? evento.which : evento.charCode;
	
	if(keypress == 8 || keypress == 37 || keypress == 39 || keypress == 46)
	{
		return true;	
	}
	
	if((keypress > 47 && keypress < 58))
	{
		return true;
	}
	
	return false;
}
	

// Faz a mascara de telefone ( (XX)-XXXX-XXXX )
function maskTelefone(oField, event){
	if(navigator.appName.indexOf("Netscape")!= -1){
		tecla= event.which;
	} else {
		tecla= event.keyCode;
	}

	// DEBUG
	// alert(tecla);

	// Verifica se é um número
	if (!soNum(tecla)){
		return false;
	}
	if (tecla != BACKSPACE){
		// Quantidade de caracteres
		var iC = oField.value.length;
		
		if (iC == 1){
			oField.value = '('+oField.value;
		}
		if (iC == 3){
			oField.value = oField.value+')-';
		}
		if (iC == 9){
			oField.value = oField.value+'-';
		}
	}
}

// Verifica se a data de ínicio é maior ou maior que a data final
function verificaPeriodoData(dDataIni, dDataFim){
	var aDataIni = dDataIni.split('/');
	var aDataFim = dDataFim.split('/');
	
	// Confere o Ano
	if (aDataFim[2] < aDataIni[2]){
		alert('O ano de inicio é maior que o ano final');
		return false;
	} else if (aDataFim[2] == aDataIni[2]){
		if (aDataFim[1] < aDataIni[1]){
			alert('O mês de ínicio é maior que o mês final');
			return false;
		} else if (aDataFim[1] == aDataIni[1]){
			if (aDataFim[0] < aDataIni[0]){
				alert('O dia de início é maior que o dia final');
				return false;
			}
		}
	}
	return true;
}

// Verifica se a hora de ínicio é maior ou maior que a data final
function verificaPeriodoHora(dHoraIni, dHoraFim){
	var aHoraIni = dHoraIni.split(':');
	var aHoraFim = dHoraFim.split(':');

	// Confere a hora
	if (aHoraFim[0] < aHoraIni[0]){
		alert('A hora de início é maior que a hora final');
		return false;
	} else if (aHoraFim[0] == aHoraIni[0]){
		if (aHoraFim[1] < aHoraIni[1]){
			alert('O minuto de início é maior que o minuto final');
			return false;
		} else if (aHoraFim[1] == aHoraIni[1]){
			if (aHoraFim[2] < aHoraIni[2]){
				alert('O segundo de início é maior que o segundo final');
				return false;
			}
		}
	}
	return true;
}

// Limita o textarea retornando um "false" ao número de caracteres informado
function limitaText(oField, iLim){
	if (tecla == BACKSPACE || tecla != ENTER || tecla != DEL || tecla != ALT || tecla != TAB || tecla != HOME || tecla != SHIFT || tecla != SETAUP || tecla != SETADOWN ){
		return true;
	} else {
		if (oField.value.length >= iLim){
			return false;
		}
	}
}

// Abre um popup
function popUP(sURL, sName, iWidth, iHeight) { 
	open (sURL, sName, "status=no, width="+iWidth+", height="+iHeight)
}









