/*
AUTOR: Eduardo Alemany Vicens
FECHA: 10/09/2003
Funciones para aplicar una máscara a un campo texto. ej: "nn-nn"
Tomando como exemplo la mascara de arriba. Cuando el usuário escriba 8888
en el campo, será aplicada a la máscara
y el valor del campo será 88-88. El evento que llamará a la funcion sera "ONKEYPRESS".

Valores fijos de mascara:
Para referenciar números, caracter 'n'
Para referenciar caracteres, caracter 'c'.
Para referenciar Mayusculas, caracter 'M'
Para referenciar minusculas, caracter 'm'
Para referenciar guion, caracter '-'
Para referenciar separador de fecha, caracter '/'
Para referenciar separador de hora, caracter ':'
Para referenciar punto decimal, caracter '.'
Para referenciar coma, caracter ','
Para referenciar espacio, caracter ' '
*/


function mascara(Campo,teclapres,masc) { 
    //pegando el tamaño del texto de la caja de texto con delay de -1 no event 
    //o sea el último caracter que fue tecleado no sera contado. 
    strtext = Campo.value 
    tamtext = strtext.length 
    //pegando el tamaño de la mascara
    tammask = masc.length 
    //creando un array para guardar cada caracterer de la máscara 
    arrmask = new Array(tammask)     
    //copiando los caracteres para el vector 
    for (var i = 0 ; i < tammask; i++){ 
        arrmask[i] = masc.slice(i,i+1) 
    } 

   //Para capturar los eventos en el netscape!
   //var isNS4 = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" )?1:0;
   var Key = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" ) ? teclapres.which : teclapres.keyCode;

    //Empezando el trabajo sucio 
	if (arrmask[tamtext]=="n") {
	   if (Key>=48 && Key<=57) {
	   } else { 
		if (Key!=8 && Key!=9 && Key!=13) { Event_nulo(Campo,strtext,teclapres)  }
	   }
	}//FIN if numero
	if (arrmask[tamtext]=="c") {
	   if ((Key>=97 && Key<=122) || (Key==241) || (Key>=65 && Key<=90) || (Key==192)) {
	   } else { 
		if (Key!=8 && Key!=9 && Key!=13) { Event_nulo(Campo,strtext,teclapres)  }
	   }
	}//FIN if caracter
	if ((arrmask[tamtext]!="n") && (arrmask[tamtext]!="c")) {
	   if ((arrmask[tamtext + 1]=="n") && (Key>=48 && Key<=57)) {
		Organiza_Casa(Campo,arrmask[tamtext],Key,strtext);
	   } else {
		if ((arrmask[tamtext + 1]=="c") && ((Key>=97 && Key<=122) || (Key==241) || (Key>=65 && Key<=90) || (Key==192))) {
		  Organiza_Casa(Campo,arrmask[tamtext],Key,strtext);
		} else {
		  if (Key!=8 && Key!=9 && Key!=13) { Event_nulo(Campo,strtext,teclapres)  }
		}
	   }
	}//FIN if caracter especial	
}//FIN funcion
/**********************************************************************/ 

/**********************************************************************/ 
function Organiza_Casa(Campo,arrpos,teclapres_key,strtext){
    if (((arrpos == "/") || (arrpos == ".") || (arrpos == ",") || (arrpos== ":") || (arrpos == " ") || (arrpos == "-")) && !(teclapres_key ==8)){
        separador = arrpos;
        masktext = strtext + separador;
        Campo.value = masktext;
    }
}//FIN funcion
/**********************************************************************/

function Event_nulo(Campo,strtext,event){
    //Para capturar los eventos en el netscape!
    var isNS4 = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" ) ? 1 : 0;
   //var isNS4 = (document.layers ? true : false);
    
    if (!isNS4) {
      event.returnValue = false;
      if (strtext != "") {
	Campo.value = strtext
      }
    } else {
	event.preventDefault();
	//return false;
    }//FIn si es no es netscape

}//FIN funcion
/**********************************************************************/

function mascara_unica(Campo,teclapres,mascara){
  //pegando el tamaño del texto de la caja de texto con delay de -1 no event
  //o sea el último caracter que fue tecleado no sera contado.
  strtext = Campo.value;
  //Para capturar los eventos en el netscape!
  //var isNS4 = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" ) ? 1 : 0;
  var Key = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" ) ? teclapres.which : teclapres.keyCode;

  switch (mascara) {
     case 'n' :
	if ((Key >= 48 && Key <= 57) || (Key == 8 || Key == 9 || Key == 13)) {
	} else {Event_nulo(Campo,strtext,teclapres);}
     break;
     case 'c' :
	if (((Key >= 65 && Key <= 90)||(Key == 192)) ||((KeyCode >= 97 && Key <=122)||(Key == 241))||(Key==8 || Key==9 || Key==13)) {
	} else {Event_nulo(Campo,strtext,teclapres);}
     break;
     case 'M' :
	if (((Key>=65 && Key<=90)||(Key==192))||(Key==8 || Key==9 || Key==13)) {
	} else {Event_nulo(Campo,strtext,teclapres);}
     break;
     case 'm' :
	if (((Key>=97 && Key<=122)||(Key==241)) || (Key==8 || Key==9 || Key==13)) {
	} else {Event_nulo(Campo,strtext,teclapres);}
     break;
   }//FIN switch

}//FIN funcion
/**********************************************************************/

/**********************************************************************/
function moneda(Campo,teclapres){
  //pegando el tamaño del texto de la caja de texto con delay de -1 no event
  //o sea el último caracter que fue tecleado no sera contado.
  strtext = Campo.value;
  
  //Para capturar los eventos en el netscape!
  //var isNS4 = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" )?1:0;
  var Key = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" ) ? teclapres.which : teclapres.keyCode;
  	
    tamtext = strtext.length
    //creando un array para guardar cada caracterer
    arrtext = new Array(tamtext)
    //copiando los caracteres para el vector
    for (var i = 0 ; i < tamtext; i++){
        arrtext[i] = strtext.slice(i,i+1)
    }

  if ((Key>=48 && Key<=57) || (Key==8 || Key==9 || Key==13)) {
  } else {
	haypunto = false;
	for (var i = 0 ; i < tamtext; i++){
		if (arrtext[i]==".") haypunto=true;
	}
	if (Key==46 && !haypunto) {
	} else { Event_nulo(Campo,strtext,teclapres); }
  }
}//FIN funcion
/**********************************************************************/

function comprueba_vacio(Campo,msjerror){
 if (Campo.value=="" || Campo.value==" ") {
  alert(msjerror);
 }
}
/**********************************************************************/

/**********************************************************************/
function compruebaObligatorios(form,tab,event) {
   return compruebaObligatorios(form,tab," no puede ser vacío",event);
 }
/**********************************************************************/

/**********************************************************************/
function compruebaObligatorios(form,tab,message,event) {
 tamano=tab.length;
 var isNS4 = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" ) ? 1 : 0;

 for(i=0; i<tamano; i++) {
    if (tab[i].value.length==0 ) {
        alert(tab[i].name+' '+message);
    	if (!isNS4) { event.returnValue=false;}
	else { event.preventDefault(); }
        return false;         
    }
 } 
 return true;  
}
/**********************************************************************/

/**********************************************************************/
function activaCampo(activador,campo) {
	activaCampo(activador,campo,"");
}//FIN funcion activaCampo
/**********************************************************************/

/**********************************************************************/
function activaCampo(activador,campo,select) {
 var campoActivador = document.getElementById(activador);
 //alert(campoActivador.checked);
 if ((campoActivador.type=="radio") || (campoActivador.type=="checkbox")) {
 	if (campoActivador.checked==true)  {
  		var campoActivar = document.getElementById(campo);
  		campoActivar.className="ACTIVO";
 		campoActivar.disabled = false;
 	} else {
 		var campoActivar = document.getElementById(campo);
 		campoActivar.value = "";
  		campoActivar.className="INACTIVO";
 		campoActivar.disabled = true;
 	}
 }//FIN if activador es radio
 if ((campoActivador.type=="select") || (campoActivador.type=="select-one")) {
 //alert(campoActivador.selectedIndex);
 	if (campoActivador.selectedIndex==select)  {
		var campoActivar = document.getElementById(campo);
  		campoActivar.className="ACTIVO";
 		campoActivar.disabled = false;
 	} else {
 		var campoActivar = document.getElementById(campo);
 		campoActivar.value = "";
  		campoActivar.className="INACTIVO";
 		campoActivar.disabled = true;
 	}
 }//FIN if activador es select
}//FIN funcion activaCampo
/**********************************************************************/

/**********************************************************************/
function compruebaPassword(pass1,pass2,message) {
	var campo1 = document.getElementById(pass1);
	var campo2 = document.getElementById(pass2);
	if (campo1.value != campo2.value) {
		alert (message);
	}
}
/**********************************************************************/

/**********************************************************************/
function compruebaComillas(Campo,teclapres) {
   //Se obtiene el valor del campo
   strtext = Campo.value;
   //Para capturar los eventos en el netscape
   // var isNS4 = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" )?1:0;
   var Key = (navigator.appName=="Netscape" || navigator.appName=="Mozilla" ) ? teclapres.which : teclapres.keyCode;
   //var isNS4 = (document.layers ? true : false);
   if (Key==34 || Key==39) {
	Campo.value = strtext+"\\";
   }
}//FIN funcion compruebaComillas
/**********************************************************************/
