/**
 * Limpa os campos de um form.
 */
function limparForm(form) {
	var first=-1;
	
	for (i=0;i<form.length;i++){
		var tempobj=form.elements[i];
		
		if (tempobj.type=="text"){
			eval(tempobj.value="");
			if (first==-1) {first=i}
		} else if (tempobj.type=="checkbox"){
			eval(tempobj.checked=0);
			if (first==-1) {first=i}
		} else if (tempobj.type=="combobox"){
			eval(tempobj.checked=0);
			if (first==-1) {first=i}
		} else if (tempobj.type=="radio"){
			// retorna a selecao dos radio para o "default"
		    tempobj.checked = tempobj.defaultChecked;
		    if (first==-1) {first=i}
		} 
		// nao limpa os hidden
		else if (tempobj.type !="hidden" && tempobj.col!="" && !tempobj.disabled) {
			eval(tempobj.value="");
			if (first==-1) {first=i}
		}
	}
	//seta o focus para o primeiro elemento.
	form.elements[first].focus();
}



function onlyNumberOnKeyPress(event){
	var codTecla = "";		
	if(navigator.appName=="Microsoft Internet Explorer"){ codTecla = event.keyCode;}
	else {
		codTecla = event.which;
		if(codTecla == 0 || codTecla == 8){ return true;}
	}
	if(codTecla >= 48 && codTecla <= 57){ return true;}
	else { return false;}
}

function decimalMask(event, input, N, tamCampo){
	var tab=true;
	//validacao para campo nao perder a selecao quando aperta TAB no IE
	if(navigator.appName=="Microsoft Internet Explorer"){
		if((event != null) 
			&& (event.keyCode == 9 || event.keyCode == 27 // TAB e ESC
				|| event.keyCode == 16 || event.keyCode == 17 // SHIFT e CTRL
					|| event.keyCode == 37 || event.keyCode == 38 // SETAS DIR e CIMA
			 			|| event.keyCode == 39 || event.keyCode == 40)) // SETAS ESQ e BAIXO
		{
			tab=false;		    	
	    }
	}
		
	var str = input.value;
	tamCampo-=1;
	var tamAux= tamCampo;
	
	if(str.length > N && tab==true){
		//ajusta para ficar 0,xx
		if(str.length == 3 && str.indexOf(',')==1)
			str='0'+str;
		
		//elimina os "."
		while(str.indexOf('.')!=-1){
				str=str.substring(0,str.indexOf('.'))+str.substring(str.indexOf('.')+1); 
		}
		//elimina a ","
		while(str.indexOf(',') != -1){
			str = str.substring(0,str.indexOf(','))+str.substring(str.indexOf(',')+1);
		}	

		//elimina "0" a esquerda
		//while((str.length > 3) && (str.charAt(0)=='0')){
		//	str=str.substring(1);
		//}
		
		//ajusta a string para nao ultrapassar o nº maximo de caracteres
		while(tamAux >5){
			tamCampo-=1;
			tamAux-=4;
		}

		// Se o valor do campo não for um número
		if (isNaN(str)) {
			str = "";
		}

		while(str.length > tamCampo){
			str=str.substring(0,str.length-1);
		}
	
		//ajusta a ","
		if(str.length > N)
			str = str.substring(0,str.length - N)+','+str.substring(str.length - N);

		//faz controle das casas de milhar
		if((str.substring(0,str.indexOf(','))).length > 3){
			var i=str.indexOf(',')-3;
			for(i; i>0;i-=3){
				str=str.substring(0,i)+'.'+str.substring(i);
			}
		}
	
		input.value=str;

	} else if (isNaN(input.value) && tab==true) {
		input.value = "";
	}
}
//Mascara para data.
function dateMask(campo, evento){
	var codTecla = "";		
	if(navigator.appName=="Microsoft Internet Explorer") codTecla = evento.keyCode;
	else codTecla = evento.which;
	var sData = campo.value;
	var dia = campo.value.substr(0,campo.value.indexOf('/'));
	var mesAno = "";
	var mes = "";
	var ano = "";
	if (campo.value.indexOf('/') != -1) {
		mesAno = campo.value.substr((campo.value.indexOf('/')+1));
		if (mesAno.indexOf('/') != -1) {
			mes = mesAno.substr(0,mesAno.indexOf('/'));
			ano = mesAno.substr((mesAno.indexOf('/')+1));
		} else {
			mes = mesAno;
		}
	} else {
		dia = campo.value;
	}
	//alert(dia + " - " + mes + " - " + ano);
	
	if (dia.length <= 2 && mes.length <= 2 && ano.length <= 4) {
		return false;
	} 
	
	if (dia.length > 2 || mes.length > 2 || ano.length > 4) {
		sData = sData.replace(/\D/g,"");
		var tam = sData.length;
		if (tam > 2 && tam < 5) {
			campo.value = sData.substr(0, 2) + '/' + sData.substr(2, tam);
		} else if (tam >= 5 && tam <=10) {
			campo.value = sData.substr(0,2) + '/' + sData.substr(2,2) + '/' + sData.substr(4,4);
		} else {
			campo.value = sData;
		}
	} else {
		sData = dia;
		if (dia.length == 2 || mes != "") {
			sData = sData + "/";
		} 
		
		sData = sData + mes;
		if (mes.length == 2 || ano != "") {
			sData = sData + "/";
		}
		
		sData = sData + ano;
	
		campo.value = sData;
	}
	return false;
}

//valida uma data
function isRealDate(digData)
{
    var bissexto = 0;
    var data = digData;
    var tam = data.length;
    if (tam == 10)
    {
        var dia = data.substr(0,2)
        var mes = data.substr(3,2)
        var ano = data.substr(6,4)
        if ((ano > 1000)&&(ano < 3000))
        {
            switch (mes)
            {
                case '01':
                case '03':
                case '05':
                case '07':
                case '08':
                case '10':
                case '12':
                    if  (dia <= 31)
                    {
                        return true;
                    }
                    break
                
                case '04':        
                case '06':
                case '09':
                case '11':
                    if  (dia <= 30)
                    {
                        return true;
                    }
                    break
                case '02':
                    /* Validando ano Bissexto / fevereiro / dia */
                    if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0))
                    {
                        bissexto = 1;
                    }
                    if ((bissexto == 1) && (dia <= 29))
                    {
                        return true;                
                    }
                    if ((bissexto != 1) && (dia <= 28))
                    {
                        return true;
                    }            
                    break                        
            }
        }
    }    
     return false;
}

//valida e-mail
function isRealEmail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){
        	return true;
        }
    }else if(typeof(mail) == "object"){
    	if(er.test(mail.value)){
    		return true;
    	}
    }else{
        return false;
    }
}

// valida cpf
function isRealCpf(cpf){
/*
	if (cpf.length != 11) return false;
	var nonNumbers = /\D/;
	if (nonNumbers.test(cpf)) return false;
	if (cpf == "00000000000" ||
			cpf == "11111111111" ||
			cpf == "22222222222" ||
			cpf == "33333333333" ||
			cpf == "44444444444" ||
			cpf == "55555555555" ||
			cpf == "66666666666" ||
			cpf == "77777777777" ||
			cpf == "88888888888" ||
			cpf == "99999999999") return false;
	
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 }
	else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++)
		b += (a[y] * c--);
	if ((x = b % 11) < 2) { a[10] = 0; } 
	else { a[10] = 11-x; }
	if ((cpf.charAt(9) != a[9]) ||
			(cpf.charAt(10) != a[10])) return false;*/
	return true;
}

//valida cnpj
function isRealCnpj(s){
	if(s.length != 14) return false;
	var a = new Array();
	var b = new Number;
	var c = [ 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 ];
	for ( i = 0; i < 12; i++ ){
		a[ i ] = s.charAt( i );
		b += a[ i ] * c[ i + 1 ];
	}
	if ( ( x = b % 11 ) < 2 ){ a[ 12 ] = 0; }
	else { a[ 12 ] = 11 - x; }
	b = 0;
	for ( y = 0; y < 13; y++ ){
		b += ( a[ y ] * c[ y ] );
	}
	if ( ( x = b % 11 ) < 2 ){ a[ 13 ] = 0; }
	else { a[ 13 ] = 11 - x; }
	if ( ( s.charAt( 12 ) != a[ 12 ] ) || 
			( s.charAt( 13 ) != a[ 13 ] ) ) { return false; }
	return true;
}

function confirmar(){
	if(validarForm()){
		document.forms[0].submit();
	}
}

function excluir(id, action){
	if(confirm('Confirma a exclusão do registro?')){
		document.forms[0].action = action + ".remove.logic?id="+id;
		document.forms[0].submit();
	}
}