/**********************************************
******		  	 	AJAX				 ******
**********************************************/


/**********************************************
******		  	 	DATAS				 ******
**********************************************/

function formatarData( idComponente, evento ){

	var stTeclaDigitada = verificaTeclaDigitada( evento );
	if( stTeclaDigitada != "8" && stTeclaDigitada != "13" ){
		var obComponente = document.getElementById( idComponente );
		
		switch( obComponente.value.length ){
			case 2 : 
			case 5 : 
				obComponente.value += "/";
		}
	}
}

function validarData( idComponente ){
	var obComponente = document.getElementById( idComponente );
	var obSpan = document.getElementById( "span"+idComponente );
	
	if( obComponente.value ){
		if( !verificarConsistenciaData( obComponente.value ) ){
			obSpan.innerHTML = " <-- Data invalida";
			obComponente.value = "";
			//obComponente.focus();
		}
	}
	return;
}

function verificarConsistenciaData( data ){
	
	var nrDiaInformado = data.substr( 0, 2 );
	var nrMesInformado = data.substr( 3, 2 );
	var nrAnoInformado = data.substr( 6, 4 );
	
	var nrDiaValidado = /^(0[1-9]|[12][0-9]|3[0-1])/;
	var nrMesValidado = /^(0[1-9]|1[0-2])/;
	var nrAnoValidado = /^(19[0-9]{2}|2[0-9]{3})/;
	var meses30Dias	  = /^(0[2469]|11)/;
	
	// Valida o dia informado
	if( !( nrDiaValidado.test( nrDiaInformado ) ) ){ 
		alert( "O dia " + nrDiaInformado + " é inválido!" ); 
		return false;
	}
		
	// Valida o mês informado
	if( !( nrMesValidado.test( nrMesInformado ) ) ){ 
		alert( "O mês " + nrMesInformado + " é inválido!" ); 
		return false;
	}
		
	// Valida o ano informado
	if( !( nrAnoValidado.test( nrAnoInformado ) ) ){ 
		alert( "O ano " + nrAnoInformado + " é inválido!" ); 
		return false;
	}
	
	// Valida meses com menos de 31 dias
	if( nrDiaInformado == '31' && meses30Dias.test( nrMesInformado ) ){ 
		alert( "O Mes " + nrMesInformado + " não possui 31 dias!" ); 
		return false;
	}
	
	// Valida anos bissextos
	if( ( nrAnoInformado % 4 == 0 ) && ( ( nrAnoInformado % 100 != 0 ) || ( nrAnoInformado % 400 == 0 ) ) ){
		if( nrDiaInformado > 29 ){
			alert( "Fevereiro no ano " + nrAnoInformado + " possui apenas 29 dias!" );
			return false;
		}
	}
	else{
		if( nrDiaInformado > 28 ){
			alert( "Fevereiro no ano " + nrAnoInformado + " possui apenas 28 dias!" );
			return false;
		}
	}
	
	return true;
}

/**********************************************
******		  	 	E-MAIL				 ******
**********************************************/

function validarEmail( idComponente ){
	
	var obComponente = document.getElementById( idComponente );
	
	if( obComponente.value ){
		if( !verificarConsistenciaEMail( obComponente.value ) ){
			obComponente.value = "";
			//obComponente.focus();
		}
	}
}

function verificarConsistenciaDataEmail( eMail ){
/*	
	var eMailValidado = 

	[A-Za-z0-9_.-]+@([A-Za-z0-9_]+\.)+[A-Za-z]{2,4}	
	([:alnum:]+[_.-]*)*[:alnum:]+@([:alnum:]+[_.-]*)*[:alnum:]+\.
*/
}


/**********************************************
******		  	   DIVERSOS				 ******
**********************************************/

function verificaTeclaDigitada( evento ){
	if( navigator.appName.indexOf( "Netscape" ) != -1 ){
		return evento.which;
	}else{
		return evento.keyCode;
	}
}
