
String.prototype.mensaje = function()
	{	mensaje.innerText = this;
		LayerMensaje.style.visibility="visible"
	window.setTimeout("LayerMensaje.style.visibility='hidden'",3000);	}

String.prototype.trim = function()
	{ return this.replace(/(^\s*)|(\s*$)/g, ""); 	}
	
String.prototype.left = function(d1)
	{ return this.substring(this.length-d1,this.length); 	}
	
String.prototype.right = function(d1)
	{ return this.substring(0,d1); 	}
	
String.prototype.isempty = function()
	{ if(this.trim()=="") return true; else return false; 	}
	
String.prototype.isnumber = function()
	{ arr = "";
	if(!this.isempty()) arr=this.split(".");
	for(ind1=0;ind1<arr.length;ind1++)
	for(ind2=0;ind2<arr[ind1].length;ind2++)
	if(arr[ind1].charCodeAt(ind2)<48 || arr[ind1].charCodeAt(ind2)>57)
	return false; 	return true; }

String.prototype.febYear = function()
	{if (this % 100 == 0) if (this % 400 == 0) return true;
	else if ((this % 4) == 0) return true;
	return false;	}



String.prototype.isdate = function()
	{ if(this.isempty()) {alert('La fecha ingresada no es valida. Debe tener el siguiente formato: dd/mm/aaaa');return "";}
	var adias = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	fecha = this.split("/");
	if(fecha.length!=3){alert('La fecha ingresada no es valida. Debe tener el siguiente formato: dd/mm/aaaa'); return "";}
	if(fecha[2]<1900){alert('La fecha ingresada no es valida. Debe tener el siguiente formato: dd/mm/aaaa');return "";}
	if(fecha[2]>2070){alert('La fecha ingresada no es valida. Debe tener el siguiente formato: dd/mm/aaaa');return "";}
	if(fecha[2].febYear()) adias[1] = 29;
	if(fecha[1]>12){alert('La fecha ingresada no es valida. Debe tener el siguiente formato: dd/mm/aaaa');return "";}
	if(fecha[0] > adias[(parseInt(fecha[1])-1)]) {alert('La fecha ingresada no es valida. Debe tener el siguiente formato: dd/mm/aaaa');return "";}
	fecha = fecha[0] + "/" + fecha[1] + "/" + fecha[2]
	return fecha.trim() ;	
}


function formaDT() { event.srcElement.value = event.srcElement.value.isdate();	}
document.onkeypress = forma;
// "fAgree", "fString", "fTelephone","fEmail","fGender","fDate","fInteger","fFloat","","", "fPassword",
//  "9" "9," "A9" "DT" "FN"

function formaPassword(){ event.srcElement.value = checkPassword(event.srcElement.value); }
function formaEmail(){ event.srcElement.value = checkEmail(event.srcElement.value); }
function formaString(){ event.srcElement.value = toTitle(event.srcElement.value);}
function formaTelephone2(){ event.srcElement.value = noZeroAtFirst(event.srcElement.value);}
function formaApe(){ event.srcElement.value = toTitle(event.srcElement.value);actContacts();}
function forma()
	{
	param = event.srcElement.forma;
	obj = event.srcElement;
	ev = event.keyCode;
	none = "";
	if(param=="fInteger")		{
		var car = "0123456789"
		if( car.indexOf(String.fromCharCode(ev))==-1) event.keyCode=none;
		}
	if(param=="fInteger2")		{
		var car = "0123456789,"
		if( car.indexOf(String.fromCharCode(ev))==-1) event.keyCode=none;
		}	
		
	if(param=="fMoney")		{
		var car = "0123456789,.$us "
		if( car.indexOf(String.fromCharCode(ev))==-1) event.keyCode=none;
		}	
		
	if(param=="fFloat")		{
		var car = "0123456789,"
		if( car.indexOf(String.fromCharCode(ev))==-1) event.keyCode=none;
		}
		
	if(param=="fTelephone")		{
		var obj = event.srcElement;
		var car = "0123456789-() "
		var uni = "-() "
		if ((car.indexOf(String.fromCharCode(ev))==-1) || ((uni.indexOf(String.fromCharCode(ev)) != -1) && (obj.value.indexOf(String.fromCharCode(ev)) != -1 )))event.keyCode=none;
		}		
	if(param=="fTelephone2")		{
		var obj = event.srcElement;
		obj.onblur = formaTelephone2 ;
		var car = "0123456789"
		if ((car.indexOf(String.fromCharCode(ev))==-1) ){event.keyCode=none;return}
		if (obj.value=='' && event.keyCode==48) event.keyCode=none;
		}
		
	if(param=="fString")
		{
		var valin = event.keyCode;
		var obj = event.srcElement; 
		obj.onblur = formaString ;
		obj = event.srcElement;
		var car = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ /.,;:&()-_";
		if(car.indexOf(String.fromCharCode(event.keyCode))!=-1){event.keyCode=event.keyCode; return;}
		if(String.fromCharCode(event.keyCode)=="'"){event.keyCode=180; return;}
		event.keyCode=none;
		return;
		}
		
	if(param=="fPasw")
		{
		var valin = event.keyCode;
		var obj = event.srcElement;
		obj = event.srcElement;
		var car = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
		if(car.indexOf(String.fromCharCode(event.keyCode))!=-1){event.keyCode=event.keyCode; return;}
		if(String.fromCharCode(event.keyCode)=="'"){event.keyCode=180; return;}
		event.keyCode=none;
		return;
		}	
		
	if(param=="fUser")
		{
		var valin = event.keyCode;
		var obj = event.srcElement;
		obj = event.srcElement;
		var car = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
		if(car.indexOf(String.fromCharCode(event.keyCode))!=-1){event.keyCode=event.keyCode; return;}
		if(String.fromCharCode(event.keyCode)=="'"){event.keyCode=180; return;}
		event.keyCode=none;
		return;
		}			

	if(param=="fApellido")
		{
		var valin = event.keyCode;
		var obj = event.srcElement; 
		obj.onblur = formaApe ;
		obj = event.srcElement;
		var car = "abcdefghijklmn隳pqrstuvwxyzABCDEFGHIJKLMN埆PQRSTUVWXYZ1234567890 /.,;:&()-_";
		if(car.indexOf(String.fromCharCode(event.keyCode))!=-1){event.keyCode=event.keyCode; return;}
		if(String.fromCharCode(event.keyCode)=="'"){event.keyCode=180; return;}
		event.keyCode=none;
		return;
		}
			
	if(param=="fEmail")
		{
		var valin = event.keyCode;
		var obj = event.srcElement; 
		obj.onblur = formaEmail ;
		obj = event.srcElement;
		var car = "abcdefghijklmn隳pqrstuvwxyzABCDEFGHIJKLMN埆PQRSTUVWXYZ1234567890 /.@&";
		if(car.indexOf(String.fromCharCode(event.keyCode))!=-1){event.keyCode=event.keyCode; return;}
		if(String.fromCharCode(event.keyCode)=="'"){event.keyCode=180; return;}
		//event.keyCode=none;
		}

	if(param=="fPassword")
		{
		var valin = event.keyCode;
		var obj = event.srcElement; 
		obj.onblur = formaPassword ;
		obj = event.srcElement;
		var car = "abcdefghijklmn隳pqrstuvwxyzABCDEFGHIJKLMN埆PQRSTUVWXYZ1234567890 /.,;:&()-_";
		if(car.indexOf(String.fromCharCode(event.keyCode))!=-1){event.keyCode=event.keyCode; return;}
		if(String.fromCharCode(event.keyCode)=="'"){event.keyCode=180; return;}
		//event.keyCode=none;
		}

			
	if(param=="fDate")
		{
	        var valin = event.keyCode;
	        var obj = event.srcElement;
	        if (obj.onblur == null) obj.onblur = formaDT ;
	        if(!String.fromCharCode(valin).isnumber()) return event.keyCode = none;	
	        if(obj.value.trim().length > 9) return event.keyCode = none;
	        obj.value += String.fromCharCode(valin)
	        event.keyCode = none;
	        if(obj.value.trim().length==3)
		        if(obj.value.indexOf("/")==-1) 
			        obj.value = obj.value.substring(0,2) +"/"+ String.fromCharCode(valin)
	        if(obj.value.trim().length==6)
		        if(obj.value.substring(5,6)!="/")
			        obj.value = obj.value.substring(0,5) +"/"+ String.fromCharCode(valin)
	        if(obj.value.trim().length==2 || obj.value.trim().length==5) {			
		        obj.value += "/"; }
	        if(obj.value.trim().length==10)
		        if(!obj.value.trim().isdate())
			        obj.value = none;
	        return ;
		}
}

//////

function checkPassword(pass) 
{ 

    //POR AHORA ESTA DESHABILIADO
    return pass;
    var valid = pass; 
    var vPass = pass.toLowerCase(); 
    if (vPass != "") 
    { 
        if (vPass.length >= 6)
        {
            if (tieneNumero(vPass) && tieneLetra(vPass)) {}
            else { valid = ''; }
        }
        else { valid = ''; }
     }
     
     else { valid = '' }
     
     if (valid == '')  alert("La contrasena debe contener mas de 6 caracteres con numeros y letras.");
     
     return valid.toLowerCase(); 
 }
  
  function tieneNumero(pass)
  {
    a = "0123456789"; 
    b = 0; 
      while (b < pass.length) 
      { 
          if (a.indexOf(pass.charAt(b)) >= 0) { return true; }
        
          b = b + 1; 
      }
      return false;
  }
  
  function tieneLetra(pass)
  {
    c = "0123456789"; 
    d = 0; 
    while (d < pass.length) 
    { 
        if (c.indexOf(pass.charAt(d)) == -1) {return true; }
     
        d = d + 1; 
    }
  return false;
  }
   
function checkEmail(mail) { 
 var valid = mail; 
 var email = mail.toLowerCase(); 
 if (email != "") { 
  if (email.length<7 || 
   email.indexOf("@.") != -1 ||
   email.indexOf("-.") != -1 ||
   email.indexOf("_.") != -1 ||
   email.indexOf("..") != -1 || 
   email.indexOf("._") != -1 ||
   email.indexOf(".-") != -1 ||
   email.indexOf(".@") != -1 ||
   email.indexOf("@-") != -1 ||
   email.indexOf("@_") != -1 ||
   email.indexOf("@") != email.lastIndexOf("@") ||
   email.indexOf("@") == -1 ||
   email.indexOf(".") == -1 ||
   (email.length - (email.lastIndexOf(".") + 1)) < 2) { 
   
   valid = ''; 
  
  } else { 
   a = "abcdefghijklmnopqrstuvwxyz0123456789@-_."; 
   b = 0; 
   while (b < email.length) { 
    if (a.indexOf(email.charAt(b)) == -1) { 
     valid = ''; 
     b = email.length; 
    } 
    b = b + 1; 
   } 
  } 
 }
 
/* if (valid == mail) { 
  rx = /^[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.[a-z][a-z]$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.aero$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.biz$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.coop$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.com$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.edu$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.gov$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.info$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.int$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.mil$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.museum$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.name$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.net$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.org$回[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.pro$/i; 
  if (rx.test(email)) { 
   rx = /^[a-z0-9_]/i; 
   if(!(rx.test(email))) { 
    valid = ''; 
   } 
  } 
 } */
 if (valid=='') alert("La direccion de E-Mail ingresada no es valida");
 return valid.toLowerCase(); 
} 

function toTitle(str){
	var sResult, sTmp;
	var i;
	var isFirst = true;
	sTmp = str.toLowerCase();
	sResult=''
	for (i=0;i<sTmp.length;i++){
		if (isFirst) {sResult = sResult + sTmp.charAt(i).toUpperCase(); isFirst=false;}
		else sResult = sResult + sTmp.charAt(i);
		if (sTmp.charAt(i)==' ') isFirst=true;	
		
	}
	return sResult;
}
function noZeroAtFirst(val){
	var sResult, sTmp;
	var i;
	var isFirst = true;
	sTmp = val;
	sResult=''
	for (i=0;i<sTmp.length;i++){
		if (isFirst) {
			if (!(sTmp.charAt(i)=='0')){
				sResult = sResult + sTmp.charAt(i);
				isFirst=false;
			} 
		}
		else sResult = sResult + sTmp.charAt(i);
	}
	return sResult;	
}

