/*******************************************
*
* Lib de validação de formulário
* Autor: Gustavo Guimarães
* Data:  19/11/2004
*
*******************************************/

//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok
	// CPF
	function mascara_cpf(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);

		if ( (isNum(key)) || (isValid(tecla)) )
		{
			cpf = limpa_campoNum(campo.value);
			t = cpf.length;
			if (t > 11)
				t = 11;
			novocpf = "";
			for(i=0; i<=t-1; i++)
			{
				if (i==3)
					novocpf+=".";
				if (i==6)
					novocpf+=".";
				if (i==9)
					novocpf+="-";
				novocpf+=cpf.charAt(i);
			}
			campo.value = novocpf;
			return(true);
		}
		else
		{
			return(false);
		}
	} 

function isNum( caractere ) 
	{ 
		var strValidos = "0123456789" 
		if ( strValidos.indexOf( caractere ) == -1 ) 
			return false; 
		return true; 
	}

	function isValid(valor)
	{
		var LEFT = 37;
		var RIGHT = 39;
		var HOM = 36;
		var END = 35;
		var DEL = 46;
		var INS = 45;
		var CAPS = 20;
		var SHIFT = 16;
		var BACKSPACE = 8;
		var TAB = 0;
		if ((valor == LEFT) || (valor == RIGHT) || (valor == HOM) || (valor == END) || (valor == DEL) || (valor == INS) || (valor == CAPS) || (valor == SHIFT) || (valor == BACKSPACE) || (valor == TAB))
			return(true);
		return(false);
	}

	function limpa_campoNum(valor)
	{
		t = valor.length;
		novovalor='';
		for(i=0; i<=t-1; i++)
		{
			if (isNum(valor.charAt(i)))
			{
				novovalor += valor.charAt(i);
			}
		}
		return(novovalor);
	}
function validateEmail( email )
{
	if(email == "")
	{
		return false;
	}
	if( email.indexOf("@") == -1 || email.indexOf("@") == 0 )
	{
		return false;
	}
	if( email.indexOf(".") == -1 )
	{
		return false;
	}
	if(email.indexOf("@.") != -1 || email.indexOf(".@") != -1 )
	{
		return false;
	}
	if(email.indexOf(".") == email.length -1)
	{
		return false;
	}
	if(email.indexOf(" ") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("&") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("%") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("#") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("!") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("$") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("/") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("\\") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf(",") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf(";") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("+") == email.length >= 0)
	{
		return false;
	}
	if(email.indexOf("|") == email.length >= 0)
	{
		return false;
	}
	
	//if(nform.email.value.indexOf(" ") != -1) {
	
	return true;
}

function nextField(event, nextField)
{
	if ((event.keyCode == 13))
	{
		nextField.focus();
	}
}

function adicionaLista (lista, valor)
{
	lista[lista.length] = new Option(valor,valor, false, false);
}

function removeLista(lista)
{
	for(var i = 0; i < lista.length; i++)
	{
		if(lista[i].selected)
		{
			lista[i] = null;
		}
	}
}

function estaVazio(oCampo) {
	if (oCampo.value == "") {
		return true;
	}
	else	{
		return false;
	}
}

function abrePop(URL, w, h)
{
	var msgWin

	msgWin = window.open(URL , "newWin", "menubar=no,location=no,resizable=no,scrollbars=no,status=yes,width=" + w +",height=" + h);
	msgWin.focus();
}

function format_cep(valor){
		var numero  = '0123456789';
		var result  = '';
		var result1 = '';
		var zero = 'N';
		var i;
		var j;
		
		for (i=0; i < valor.length; i++){
				var temp1=valor.charAt(i);
				for (j=0; j < numero.length; j++){
						var temp2=numero.charAt(j);
					  if (temp1==temp2){
							 result = result + valor.charAt(i);
						}	
				}
		}
		while (result.charAt(0)==' '){
			result = result.substring(1, result.length);
		}
		var tamanho = result.length;
		if (tamanho>3){
				for (k=0; k < tamanho; k++){
						if (k==(tamanho-3)){
								result1 = result1 + '-';	 
								}
						if (((k==(tamanho-6))&&(tamanho!==6))||((k==(tamanho-9))&&(tamanho!==9))){
								result1 = result1 + '';	 
								}
						result1 = result1 + result.charAt(k);
						}
				}
		else{
				if (tamanho==2){
						result1 = ' ' + result;
						}
				else{
						result1 = ' ' + result;
						}
				}
		
		if (result1==''){
			result1=' ';
		}
		return(result1);
		}
		
		
		
		
		
		
function mask_cpf(cpf,e){
	var key;
	var tempo;

	if (window.event){
   	key = window.event.keyCode;
		if ((cpf.length == 3)&&(key!=8))
		{
			cpf += '.';
		}
		if ((cpf.length == 7)&&(key!=8))
		{
			cpf += '.';
		}
		if ((cpf.length == 11)&&(key!=8))
		{
			cpf += '-';
		}
	}else{
	   if (e){
	      key = e.which;
			if(cpf.length==11)
		      tempo = cpf.substring(0,3)+'.'+cpf.substring(3,6)+'.'+cpf.substring(6,9)+'-'+cpf.substring(9,12);
			else
				tempo = '';
			cpf = tempo;
	   }
	}
	return(cpf);
}

		
function moeda(w_valor)
	{
	var numero  = '0123456789';
	var result  = '';
	var result1 = '';
	var zero = 'N';
	var i;
	var j;
	for (i=0; i < w_valor.length; i++)
		{
		var temp1=w_valor.charAt(i);
		for (j=0; j < numero.length; j++)
			{
			var temp2=numero.charAt(j);
			 if (temp1==temp2)
			 	{
				 result = result + w_valor.charAt(i);
				}	
			}
		}
	while (result.charAt(0)=='0')
		{
		result = result.substring(1, result.length);
		}
	var tamanho = result.length;
	if (tamanho>2)
		{
		for (k=0; k < tamanho; k++)
			{
			if (k==(tamanho-2))
				{
				result1 = result1 + ',';	 
				}
			if (((k==(tamanho-5))&&(tamanho!==5))||((k==(tamanho-8))&&(tamanho!==8)))
				{
				result1 = result1 + '.';	 
				}
			result1 = result1 + result.charAt(k);
			}
		}
	else
		{
		if (tamanho==2)
			{
			result1 = '0,' + result;
			}
		else
			{
			result1 = '0,0' + result;
			}
		}
	if (result1=='0,0')
		{
		result1='0,00';
		}
	return(result1);
	}
	
function numbersonly(myfield, e, dec)
{
	var key;
	var keychar;

	if (window.event)
   	key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	if ((key==null) || (key==0) || (key==9) || (key==13) || (key==27) )
	   return true;
	else if ((("0123456789").indexOf(keychar) > -1))
	   return true;
	else if (dec && (keychar == "."))
	   {
	   myfield.form.elements[dec].focus();
	   return false;
	   }
	else
	   return false;
}



function mask_cpf(cpf,e){
	var key;
	var tempo;

	if (window.event){
   	key = window.event.keyCode;
		if ((cpf.length == 3)&&(key!=8))
		{
			cpf += '.';
		}
		if ((cpf.length == 7)&&(key!=8))
		{
			cpf += '.';
		}
		if ((cpf.length == 11)&&(key!=8))
		{
			cpf += '-';
		}
	}else{
	   if (e){
	      key = e.which;
			if(cpf.length==11)
		      tempo = cpf.substring(0,3)+'.'+cpf.substring(3,6)+'.'+cpf.substring(6,9)+'-'+cpf.substring(9,12);
			else
				tempo = '';
			cpf = tempo;
	   }
	}
	return(cpf);
}


function validacpf(){ 
	  
	var i; 
	  
	s = stringFilter(document.form.cpf.value); 
	  
	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){ 
		
		document.form.cpf.value = '';
	  
		alert("CPF Inválido") 
		  
		return false; 
	  
	} 
	  
	d1 = 11 - (d1 % 11); 
	  
	if (d1 > 9) d1 = 0; 
	  
		if (dv.charAt(0) != d1) 
		  
		{ 
		  
			document.form.cpf.value = '';
			
			alert("CPF Inválido") 
			  
			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) 
		  
		{ 
		  
		document.form.cpf.value = '';
		
		alert("CPF Inválido") 
		  
		return false; 
	  
	} 
	  
	return true; 
  
} 


function stringFilter (input) {
	s = input;
	filteredValues = ".-/";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	return(returnString);
}
