// JavaScript Document

function foco(campo,acao){
	if(acao == 'in'){
		campo.style.backgroundColor = "#80ffb6";
	}else{
		campo.style.backgroundColor = "transparent";
	}	
}

function mascara(campo,event,tipo,acesso){
	var nTecla;

	if(document.all) { // Internet Explorer
	    nTecla = event.keyCode;
	} else if(document.layers) { // Nestcape
	    nTecla = event.which;
	} else {
	    nTecla = event.which;
	}

	if(nTecla == 0) return false;
	if(nTecla == 9) return true;
	if(nTecla == 8) return true;
	if(nTecla == 46) return true;
	if(nTecla == 36) return true;
	if(nTecla == 35) return true;
	if(nTecla == 37) return true;
	if(nTecla == 39) return true;
	
	if(tipo	==	"int"){
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			if (event.preventDefault){ //standart browsers
				event.preventDefault();
			}else{ // internet explorer
				event.returnValue = false;
			}
		}
		//48 a 57 ascII - 0 a 9
	}
	if(tipo	==	"double"){
		var tamMax = campo.maxLength;
		var tam = campo.value.length;
		numMenor=0;
		numMaior=9;
		
		if(nTecla < (48 + numMenor) || nTecla > (48 + numMaior) || tamMax == tam){
			event.returnValue = false
		}else{				
			 mascara_float(campo,'onkeypress');
		}
	}
	if(tipo	==	"float"){
		var tamMax = campo.maxLength;
		var tam = campo.value.length;
		numMenor=0;
		numMaior=9;
		
		if(nTecla < (48 + numMenor) || nTecla > (48 + numMaior) || tamMax == tam){
			event.returnValue = false
		}else{				
			 mascara_double(campo,'onkeypress');
		}
	}
	if(tipo	==	"date"){
		if(campo.value.length>=10){
			return false;
		}
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			event.returnValue = false
			//48 a 57 ascII - 0 a 9
		}
		if(campo.value.length==2 || campo.value.length==5){
			campo.value = campo.value + "/";
		}
	}
	if(tipo	==	"cnpj"){
		if(campo.value.length>=18){
			return false;
		}
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			event.returnValue = false
			//48 a 57 ascII - 0 a 9
		}
		if(campo.value.length==2 || campo.value.length==6){
			campo.value = campo.value + ".";
		}
		if(campo.value.length==10){
			campo.value = campo.value + "/";
		}
		if(campo.value.length==15){
			campo.value = campo.value + "-";
		}
	}
	if(tipo== "cpf"){
		if(campo.value.length>=14){
			return false;
		}
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			event.returnValue = false
			//48 a 57 ascII - 0 a 9
		}
		var mycpf = '';
       	mycpf = mycpf + campo;
       	if (campo.value.length == 3){
        	campo.value = campo.value + '.';
       	}
       	if (campo.value.length == 7){
        	campo.value = campo.value + '.';
	    }
	    if (campo.value.length == 11){
	        campo.value = campo.value + '-';
	    }
	}
	if(tipo	==	"fone"){
		if(campo.value.length>=12){
			return false;
		}
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			event.returnValue = false
			//48 a 57 ascII - 0 a 9
		}
		if(campo.value.length==2){
			campo.value = campo.value + " ";
		}
		if(campo.value.length==7){
			campo.value = campo.value + "-";
		}
	}
	if(tipo	==	"cep"){
		if(campo.value.length>=9){
			return false;
		}
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			event.returnValue = false
			//48 a 57 ascII - 0 a 9
		}
		if(campo.value.length==5){
			campo.value = campo.value + "-";
		}
	}
	if(tipo	==	"mes"){
		if(campo.value.length>7){
			return false;
		}
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			event.returnValue = false
			//48 a 57 ascII - 0 a 9
		}
		if(campo.value.length==2){
			campo.value = campo.value + "/";
		}
	}
	if(tipo	==	"hora"){
		if(campo.value.length>8){
			return false;
		}
		numMenor=0;
		numMaior=9;
		if (nTecla < (48 + numMenor) || nTecla > (48 + numMaior)){
			event.returnValue = false
			//48 a 57 ascII - 0 a 9
		}
		if(campo.value.length==2){
			campo.value = campo.value + ":";
		}
		if(campo.value.length==5){
			campo.value = campo.value + ":";
		}
	}
}

function mascara_double(campo,evento){
	var tamMax = campo.maxLength;
	var tam = campo.value.length;
	var str = campo.value;
	var pos = 0;
	if(evento == ''){
		pos = 1;
	}	
	if(str!=''){
		str = str.replace(",","");	// Tira as vírgulas
		str = str.replace(".","");	// Tira os pontos
		str = str*1;	// Converte para inteiro
		campo.value = str;
	}
	tam = campo.value.length;
	switch (tam){
		case 0:
			campo.value = "0,0" + campo.value;
			break;	
		case 1:
			campo.value = "0," + campo.value;
			break;
		default:
			var decimal 	= campo.value.substr(tam-1-pos,1+pos);
			var inteiro 	= campo.value.substr(0,tam-1-pos);
			var inteiroTam 	= inteiro.length;
			var inteiros 	= new Array();
			var i=0;
			var ii;
			while((inteiroTam%3) != 0){
				inteiro		= "0"+inteiro;
				inteiroTam 	= inteiro.length;					
			}
			while(inteiro != ''){
				inteiros[i] = inteiro.substr(0,3);
				inteiro 	= inteiro.substr(3,inteiroTam);
				inteiroTam 	= inteiro.length;
				i++;
			}
			if(inteiros[0] != ''){
				inteiros[0]	= Number(inteiros[0]);
			}
			for(ii=0;ii<i;ii++){
				if(inteiros[ii]!='' && inteiros[ii]!=undefined){
					if(inteiro!=''){
						inteiro = inteiro + '.';
					}
					inteiro = inteiro + inteiros[ii];
				}
			}
			str = inteiro + ',' + decimal;
			campo.value = str;
			break;					
	}
}

function mascara_float(campo,evento){
	var tamMax = campo.maxLength;
	var tam = campo.value.length;
	var str = campo.value;
	var pos = 0;
	if(evento == ''){
		pos = 1;
	}	
	if(str!=''){
		str = str.replace(",","");	// Tira as vírgulas
		str = str.replace(".","");	// Tira os pontos
		str = str*1;	// Converte para inteiro
		campo.value = str;
	}
	tam = campo.value.length;
	switch (tam){
		case 0:
			campo.value = "0,00" + campo.value;
			break;	
		case 1:
			campo.value = "0,0" + campo.value;
			break;
		case 2:
			campo.value = "0," + campo.value;
			break;
		default:
			var decimal 	= campo.value.substr(tam-2-pos,2+pos);
			var inteiro 	= campo.value.substr(0,tam-2-pos);
			var inteiroTam 	= inteiro.length;
			var inteiros 	= new Array();
			var i=0;
			var ii;
			while((inteiroTam%3) != 0){
				inteiro		= "0"+inteiro;
				inteiroTam 	= inteiro.length;					
			}
			while(inteiro != ''){
				inteiros[i] = inteiro.substr(0,3);
				inteiro 	= inteiro.substr(3,inteiroTam);
				inteiroTam 	= inteiro.length;
				i++;
			}
			if(inteiros[0] != ''){
				inteiros[0]	= Number(inteiros[0]);
			}
			for(ii=0;ii<i;ii++){
				if(inteiros[ii]!='' && inteiros[ii]!=undefined){
					if(inteiro!=''){
						inteiro = inteiro + '.';
					}
					inteiro = inteiro + inteiros[ii];
				}
			}
			str = inteiro + ',' + decimal;
			campo.value = str;
			break;					
	}
}