function acceptOnlyAlphaNumeric(evt)
{
   evt = (evt) ? evt : window.event;
   var charCode = (evt.which) ? evt.which : evt.keyCode;

   if (charCode <= 31) return true;

   if (!((charCode >= 48 && charCode <= 57) ||
         (charCode >= 65 && charCode <= 90) ||
         (charCode >= 97 && charCode <= 122)) )
   {
     return false;
   }
  
   return true;
}

function acceptOnlyNumeric(evt)
{
   evt = (evt) ? evt : window.event;
   var charCode = (evt.which) ? evt.which : evt.keyCode;

   if (charCode <= 31) return true;

   if (!(charCode >= 48 && charCode <= 57))
   {
     return false;
   }
  
   return true;
}

function acceptOnlyLetter(evt)
{
   evt = (evt) ? evt : window.event;
   var charCode = (evt.which) ? evt.which : evt.keyCode;

   if (charCode <= 31) return true;

   if (!((charCode >= 65 && charCode <= 90) ||
         (charCode >= 97 && charCode <= 122)) )
   {
     return false;
   }
  
   return true;
}


// convert object name string or object reference
// into a valid object reference ready for style change
function getObject(obj)
{
  var theObj;
  if (document.layers)
  {
      if (typeof obj == "string")
        return document.layers[obj];
      else
        return obj;
  }
  
  if (document.all)
  {
      if (typeof obj == "string")
        return document.all(obj).style;
      else
        return obj.style;
  }
  
  if (document.getElementById)
  {
      if (typeof obj == "string")
        return document.getElementById(obj).style;
      else
        return obj.style;
  }
  return null;
}

// set the background color of an object
function setBGColor(obj, color)
{
  var theObj = getObject(obj);
  
  if (theObj.bgColor)
    theObj.bgColor = color;
  else if (typeof theObj.backgroundColor != "undefined")
    theObj.backgroundColor = color;
}

// set the visibility of an object to visible
function show(obj)
{
  var theObj = getObject(obj);
  theObj.visibility = "visible";
}
// set the visibility of an object to hidden
function hide(obj)
{
  var theObj = getObject(obj);
  theObj.visibility = "hidden";
}

function setControlState(theObj, bEnable)
{
    if(bEnable)
    {
    /*
      theObj.readonly = false;
      theObj.disabled = false;
      setBGColor(theObj, "#FFFFFF");
      */
      theObj.focus();
    }
    else
    {
    /*
      theObj.readonly = true;
      theObj.disabled = true;
        
      setBGColor(theObj, "#DEDEDE");
      //theObj.value = "";
      
      if(theObj.checked)
        theObj.checked = false;
        */
    }
}

//  Verificar si toda la cadena es espacios en blanco
	function countblank(str) {
		var cont=0;
		for (var i=0; i<str.length; i++) {
			if (str.charAt(i)==" ") {
				cont=cont+1;
			}
		}
		return cont;
	}

//  Suprimir espacios en blanco a la izquierda
	function ltrim(str) {
		if (countblank(str)==str.length) {
			return "";
		}
		else{
			for (var i=0; str.charAt(i)<=" "; i++);
			return str.substring(i,str.length);
		}
	}

//  Suprimir espacios en blanco a la derecha
	function rtrim(str) {
		if (countblank(str)==str.length) {
			return "";
		}
		else{
			for (var i=str.length-1; str.charAt(i)<=" "; i--);
			return str.substring(0,i+1);
		}
	}

//  Suprimir espacios en blanco a la izquierda y derecha
	function trim(str) {
		return ltrim(rtrim(str));
	}

//  Actualizar los valores de los controles "text" de un formulario a cadena sin espacios en blanco al inicio y fin
	function formdeleteblank(frm){
		var control="";
		var valcontrol="";
		for (var i=0; i<eval(frm+".elements.length"); i++){
			if(eval(frm+".elements[i].type")=="text"){
				control=frm+"."+eval(frm+".elements[i].name")+".value";
				valcontrol=trim(eval(frm+".elements[i].value"));
				eval(control+"='"+valcontrol+"'");
			}
		}
	}

//Check Email Format function
function checkEmailFormat(sEmail) {
//verifies that email format is x@y.z, a@b.c.d, etc.
	var re = new RegExp("^[a-zA-Z0-9\-\.\_\']+@([a-zA-Z0-9\-]+[\.])+[a-zA-Z]{2,3}$");
	var re2 = new RegExp("xp[\_]|[\.][\.]|[\-][\-]|[0][x]","gi");
	if (sEmail=='' || (re.test(sEmail) && (sEmail.length <=80) && !re2.test(sEmail)))
		return true;
	else
		return false;
}



//  Verificar si email es válido
	function valida_email(email){
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))){
			return (0);
		}
                else {
                 return 1;
                }
	}

//  Validar si una fecha es correcta según el formato dd/mm/aaaa
	function valida_fecha(fecha){
		var dia=fecha.substr(0,2);
		var separador1=fecha.substr(2,1);
		var mes=fecha.substr(3,2);
		var separador2=fecha.substr(5,1);
		var anho=fecha.substr(6,4);
		if(!(!(isNaN(dia)) && !(isNaN(mes)) && !(isNaN(anho)) && separador1=="/" && separador2=="/")){
			return false; // Fecha no válida
		}
		else{
			if (!(checkdate(dia,mes,anho))){
				return false; // Fecha no válida
			}
			else{
				return true; // Fecha válida
			}
		}
	}
        
//  Evaluar que una fecha sea correcta dia, mes, año
	function checkdate(d,m,y){
			var yl=1900; // least year to consider
			var ym=2100; // most year to consider
			if (m<1 || m>12) return(false);
			if (d<1 || d>31) return(false);
			if (y<yl || y>ym) return(false);
			if (m==4 || m==6 || m==9 || m==11)
			if (d==31) return(false);
			if (m==2){
				var b=parseInt(y/4);
				if (isNaN(b)) return(false);
				if (d>29) return(false);
				if (d==29 && ((y/4)!=parseInt(y/4))) return(false);
			}
			return true;
	}

//  Validar que un número esté correctamente ingresado
	function validanumero(valor) {
		if(isNaN(valor)){
			return false;
		}
		else{
			return true;
		}
	}
