/*
verifica se um campo é vazio e retornar true caso for
informe o segundo parametro com o tipo de dados que deseja validar o valor passado
numeric = números de 0 a 9
alphanumeric = caracteres e numeros
*/
function EVazio(){
	//valor default
	var TextValidator = new RegExp("[A-Za-z0-9]{1,}");
	if(arguments.length > 1){
		switch (String(arguments[1]).toLowerCase()){
			case "numeric":
				TextValidator = new RegExp("[0-9]+")
				break;
			case "alphanumeric":
				TextValidator = new RegExp("[A-Za-z0-9]+")
				break;
			case "custom":
				TextValidator = new RegExp(arguments[2])
				break;
		}
	}
	arguments[0] = arguments[0].replace(/^\s+|\s+$/g, "");
	if(TextValidator.test(String(arguments[0]))){
		return false;
	}
	return true;
}
function EmailValido(pText){
	var CaracteresInvalidos = pText.replace(/[0-9A-Za-z\@\.]/g, '');
	if(CaracteresInvalidos.length > 0){
		return false;
	}
	var TmpEmail = pText.split("@");
	if(TmpEmail.length == 2){
		return true;
	}
	return false
}
/*
Substitui todos os caracteres que não forem números por nada.
*/
function SomenteNumeros(Campo){
	Campo.value = Campo.value.replace(/[^0-9]/g, "");
}
/*
Substitui todos os caracteres que não forem letras e números por nada.
*/
function SomenteCaracteresENumeros(Campo){
	Campo.value = Campo.value.replace(/[^A-Za-z0-9]/g, "");	
}
/*
Aplica uma mascara espefificada pela variável sMask no campo especificado strField
*/
function Mascara(strField, sMask) {
	var i, nCount, svalue, fldLen, mskLen,bolMask, sCod, nTecla;
	objForm = document.forms[0];

	if(document.all) { // Internet Explorer
		nTecla = event.keyCode; 
	}else if(document.layers) { // Nestcape
		nTecla = event.which;
	}

	if(nTecla == 39) 
		return false;

	svalue = objForm[strField].value;

	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	svalue = svalue.toString().replace( "-", "" );
	svalue = svalue.toString().replace( "-", "" );
	svalue = svalue.toString().replace( ".", "" );
	svalue = svalue.toString().replace( ".", "" );
	svalue = svalue.toString().replace( "/", "" );
	svalue = svalue.toString().replace( "/", "" );
	svalue = svalue.toString().replace( "(", "" );
	svalue = svalue.toString().replace( "(", "" );
	svalue = svalue.toString().replace( ")", "" );
	svalue = svalue.toString().replace( ")", "" );
	svalue = svalue.toString().replace( " ", "" );
	svalue = svalue.toString().replace( ":", "" );
	svalue = svalue.toString().replace( ",", "" );
	svalue = svalue.toString().replace( "$", "" );
	svalue = svalue.toString().replace( "R", "" ); 
	fldLen = svalue.length;
	mskLen = sMask.length; // = 5

	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;

	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"));
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "));
		bolMask = bolMask || ((sMask.charAt(i) == ":") || (sMask.charAt(i) == "$") || (sMask.charAt(i) == "R") || (sMask.charAt(i) == ","));
	
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++; }
		else {
			sCod += svalue.charAt(nCount);
			nCount++;
		}
	
		i++;
	}

	objForm[strField].value = sCod;
	
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); // números de 0 a 9
		} else { // qualquer caracter...
			return true;
		} 
	}else {
		return true;
	}
}
function Mascara1(strField, sMask) {
	var i, nCount, svalue, fldLen, mskLen,bolMask, sCod, nTecla;
	objForm = document.forms[1];

	if(document.all) { // Internet Explorer
		nTecla = event.keyCode; 
	}else if(document.layers) { // Nestcape
		nTecla = event.which;
	}

	if(nTecla == 39) 
		return false;

	svalue = objForm[strField].value;

	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	svalue = svalue.toString().replace( "-", "" );
	svalue = svalue.toString().replace( "-", "" );
	svalue = svalue.toString().replace( ".", "" );
	svalue = svalue.toString().replace( ".", "" );
	svalue = svalue.toString().replace( "/", "" );
	svalue = svalue.toString().replace( "/", "" );
	svalue = svalue.toString().replace( "(", "" );
	svalue = svalue.toString().replace( "(", "" );
	svalue = svalue.toString().replace( ")", "" );
	svalue = svalue.toString().replace( ")", "" );
	svalue = svalue.toString().replace( " ", "" );
	svalue = svalue.toString().replace( ":", "" );
	svalue = svalue.toString().replace( ",", "" );
	svalue = svalue.toString().replace( "$", "" );
	svalue = svalue.toString().replace( "R", "" ); 
	fldLen = svalue.length;
	mskLen = sMask.length; // = 5

	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;

	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"));
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "));
		bolMask = bolMask || ((sMask.charAt(i) == ":") || (sMask.charAt(i) == "$") || (sMask.charAt(i) == "R") || (sMask.charAt(i) == ","));
	
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++; }
		else {
			sCod += svalue.charAt(nCount);
			nCount++;
		}
	
		i++;
	}

	objForm[strField].value = sCod;
	
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); // números de 0 a 9
		} else { // qualquer caracter...
			return true;
		} 
	}else {
		return true;
	}
}
function FormataValor(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	if(FormataValor.arguments[3] != null){
		vr1 = FormataValor.arguments[3]
	}else{
		vr1 = document.forms[0];
	}
	
	vr = vr1[campo].value
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( /[^0-9]/g, "" );
	tam = vr.length;
        
	if (tam < tammax && tecla != 8){ 
		tam = vr.length + 1; 
	}
    	    
    if (tecla == 8 ){ 
		tam = tam - 1; 
	}
         
    if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){ 
        	vr1[campo].value = vr; 
		}
        if ( (tam > 2) && (tam <= 5) ){
        	vr1[campo].value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); 
		}
        if ( (tam >= 6) && (tam <= 8) ){
			vr1[campo].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
        if ( (tam >= 9) && (tam <= 11) ){
           	vr1[campo].value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
        if ( (tam >= 12) && (tam <= 14) ){
			vr1[campo].value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
        if ( (tam >= 15) && (tam <= 17) ){
			vr1[campo].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
		}
    }
    for (var ct = 0; ct < vr1.elements.length; ct++) {
		if (vr1.elements[ct].name == vr1.elements[campo].name) {
			if ( !teclapres.shiftKey && tecla == 9 && vr1.elements[ct+1] && vr1.elements[ct+1].name == "senhaConta" && document.applets['tclJava'] ){
				document.applets['tclJava'].setFocus();
          	} 
        }
   	}
}  
function EDataMaior(pData1, pData2){
    	var d1 = pData1.substr(6, 2) + pData1.substr(3, 2) + pData1.substr(0, 2) + pData1.substr(9, 2) + pData1.substr(12, 2)
	var d2 = pData2.substr(6, 2) + pData2.substr(3, 2) + pData2.substr(0, 2) + pData2.substr(9, 2) + pData2.substr(12, 2)
	if(d1 > d2){
		return true;	
	}	
	return false;
}
function SetValueToSelectInput(pObject, pDefaultValue){
    
    for(i=0;i<pObject.options.length;i++){
        if(pObject.options[i].value == pDefaultValue){
            pObject.options[i].selected = true
        }
    }
}
function insertValueToSelectInput(pObject, pValue, pText){
    var novaopcao = document.createElement("option")
    novaopcao.text = pText
    novaopcao.value = pValue
    pObject.add(novaopcao, 1)
    
}
function ClearValueToSelectInput(pObject){
    try{
    for(i=0;i<pObject.options.length;i--){
        pObject.remove(pObject.length-1);
    }
    }catch(ex){
        status = "Concluído"
    }
}
function retiraAcento(obj)
 {
   palavra = String.fromCharCode(event.keyCode);
  
  var caracteresInvalidos = 'àèìòùâêîôûäëïöüáéíóúãõçÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕÇ';
  var caracteresValidos =   'aeiouaeiouaeiouaeiouaocAEIOUAEIOUAEIOUAEIOUAOC';
  var acento = "´`^¨~";
  if(acento.indexOf(palavra)!= -1)
  {
    window.event.keyCode = 0;
  }
 
 if (caracteresInvalidos.indexOf(palavra) == -1) 
  {
       if (caracteresValidos.indexOf(palavra) != -1) {
         window.event.keyCode = 0;
         obj.value = obj.value + palavra;
       }
  } 
  else 
  {
           window.event.keyCode = 0;
           nova = caracteresValidos.charAt(caracteresInvalidos.indexOf(palavra));
           obj.value =  obj.value + nova;
  }
  
 }
 function FormataMetragem(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.all[campo].value
	vr = vr.replace( /[^0-9]/g, "" );
	tam = vr.length;
		
	if (tam < tammax-1){ 
		tam = vr.length + 1; 
	}
	if ( tam <= 3 ){ 
		document.all[campo].value = vr; 
	}else if ( tam > 3 ){
		document.all[campo].value = vr.substr( 0, tam - 3 ) + ',' + vr.substr( tam - 3, tam ); 
	}
}
