// Variables globales
aviso = false;


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}




 function amayuscula(cadena)
 {
     return (cadena.toUpperCase());
 }

 function checa_campo(campo,mensaje)
 {
  if (campo.value == "") {
     alert(mensaje+": Este campo no puede estar en blanco!!");
     campo.focus();
     return (false);
  }
  else {
     return (true);
  }
 }

 
function checaFecha(date_field,field_name,necesario) {
    var first_slash = date_field.value.indexOf("/");

    if (date_field.value == "" && typeof(necesario) == 'undefined') 
       return true;

    if (date_field.value == "" || first_slash == -1 || !(mascara(date_field.value,'##/##/####'))) {
      alert(field_name+": Debes introducir una fecha con formato DD/MM/AAAA! ");
      date_field.focus();
      date_field.value='';
      date_field.select();
      return false;
    }
    var second_slash = eval(date_field.value.indexOf("/",first_slash+1));
    var day = date_field.value.substring(0,first_slash);
    var mon;
    var yr;
    if (second_slash == -1) { 
      var today = new Date();
      mon = date_field.value.substring(first_slash+1,date_field.value.length);
      yr = today.getYear();
    }
    else {
      mon = date_field.value.substring(first_slash+1,second_slash);
      yr = date_field.value.substring(second_slash+1,date_field.value.length);
    }
  
    if (eval(mon) < 1 || eval(mon) > 12 || eval(day) < 1 || eval(day) > 31) {
      alert(field_name+": Fecha inválida!  Debes introducir la fecha con formato DD/MM/AAAA! ");
      date_field.focus();
      date_field.value="";
      date_field.select();
      return false;
    }
    if ((mon == 4 || mon == 6 || mon == 10 || mon == 11) && 
  	(day < 1 || day > 30)) {
      alert(field_name+": El día "+day+" es inválido.  Por favor introduce un día entre 1 y 30 ");
      date_field.focus();
      date_field.value="";
      date_field.select();
      return false;
    }
    if (mon == 2 && (day < 1 || day > 29)) {
      alert(field_name+": El día "+day+" es inválido.  Por favor introduce un día entre 1 y 28 ");
      date_field.focus();
      date_field.select();
      date_field.value="";
      return false;
    }
    return true;
  }

  
function checaInteger(campo)
 {
     cadenaNueva = "";
     count = 0;
  
     cadena = campo
     for (i = 0; i < cadena.length; i++) {
         ch = cadena.substring(i, i+1);
 
         if (ch >= "0" && ch <= "9") {
              cadenaNueva += ch;
          }
      }

       if (cadena != cadenaNueva) {
                  return false;
       } else
                 return true;
  }
  
function checaCalendar(date_field,field_name,necesario) {
    if(date_field.value =="")
    	return false;
    var first_slash = date_field.value.indexOf("/");
    var second_slash = eval(date_field.value.indexOf("/",first_slash+1));
    var day = date_field.value.substring(0,first_slash);
    var mon;
    var yr;
    var hr='00';
    var min='00';
    if (second_slash == -1) { 
      var today = new Date();
      mon = date_field.value.substring(first_slash+1,date_field.value.length);
      yr = today.getYear();
    }
    else {
      mon = date_field.value.substring(first_slash+1,second_slash);
      var espacio=date_field.value.indexOf(" ",second_slash+1);
      if(espacio==-1)
      	yr = date_field.value.substring(second_slash+1,date_field.value.length);
      else
      {
        yr = date_field.value.substring(second_slash+1,espacio);
      	var puntos = date_field.value.indexOf(":",espacio+1);
      	if(puntos !=-1) {
      		hr=date_field.value.substring(espacio+1,puntos);
      		min=date_field.value.substring(puntos+1,date_field.value.length);
      	}
      }
    }
    var ok=true;
    if(ok) ok=checaInteger(day);
    if(ok) ok=checaInteger(mon);
    if(ok) ok=checaInteger(yr);
    if(ok) ok=checaInteger(hr);
    if(ok) ok=checaInteger(min);
    if(!ok) return ok;
    
    if (eval(mon) < 1 || eval(mon) > 12 || eval(day) < 1 || eval(day) > 31) {
      return false;
    }
    if ((mon == 4 || mon == 6 || mon == 10 || mon == 11) && 
  	(day < 1 || day > 30)) {
      return false;
    }
    if (mon == 2 && (day < 1 || day > 29)) {
      return false;
    }
    if(eval(hr)<0 || eval(hr)>24) return false;
    if(eval(min)<0 || eval(min)>59) return false;
    return true;
  }
  
  function checaEntero(campo,mens,necesario)
  {
      cadenaNueva = "";
      count = 0;
  
      cadena = campo.value
      for (i = 0; i < cadena.length; i++) {
          ch = cadena.substring(i, i+1);
  
          if (ch >= "0" && ch <= "9") {
              cadenaNueva += ch;
          }
      }

       if (cadena != cadenaNueva) {
                 alert(mens+" Este campo debe ser un entero.\n"+
                 " Favor de corregir!!.\n ");
                  campo.focus();
                  return false;
       } else
                 return true;

      if (cadena != cadenaNueva) {
        alert(mens+" Este campo contiene caracteres inválidos.\nPor tanto, será corregido\n");
        return cadenaNueva;
      }
      return cadena;
  }
  function checaEntero2(campo,mens,necesario)
  {
      cadenaNueva = "";
      count = 0;
  
      cadena = campo.value
      for (i = 0; i < cadena.length; i++) {
          ch = cadena.substring(i, i+1);
  
          if (ch >= "0" && ch <= "9") {
              cadenaNueva += ch;
          }
      }

          if (typeof(necesario) != "undefined")
              if (cadenaNueva == "") {
                  campo.focus();
                  return false;
              }
              else
                  if (cadena != cadenaNueva) {
                      campo.focus();
                      return false;
                  } else
                      return true;

      if (cadena != cadenaNueva) {
        return cadenaNueva;
      }
      return cadena;
  }
  
  function checaEmail(cadena,campo)
  {
      var cadenaNueva = "";
      var at = false;
      var punto = false;
  
      if (cadena.indexOf("@") != -1) {
        at = true;
  
      } else if (cadena.indexOf(".") != -1) {
        punto = true;
      }
  
      for (var i = 0; i < cadena.length; i++) {
          ch = cadena.substring(i, i + 1)
          if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z")
                  || (ch == "@") || (ch == ".") || (ch == "_")
                  || (ch == "-") || (ch >= "0" && ch <= "9")) {
                  cadenaNueva += ch;
                  if (ch == "@") {
                      at=true;
                  }
                  if (ch == ".") {
                      punto=true;
                  }
          }
      }
      if ((at == true) && (punto == true)) {
          //return (cadenaNueva.toUpperCase());
		  return (cadenaNueva);
      }
      else {
        alert ("El formato del Email es incorrecto");
        return "";
      }
  }
  

 function checaNumero(cadena,campo, error) {
      cadenaNueva = "";
      count = 0;
      var fallo = false
      for (i = 0; i < cadena.length; i++) {
          ch = cadena.substring(i, i+1);
          if ((ch >= "0" && ch <= "9") || (ch == ".") || (ch == ",")) {
              if (ch != ",")
              cadenaNueva += ch;
          }
          else
              fallo = true;
      }
      if (fallo) {
        alert(campo+"  Este campo debe ser un Número.");
        return false;
      }
      return true;
  }
function checaNumero2(campo,mens,necesario)
{
    cadenaNueva = "";
    count = 0;
    cadena = campo.value;
    for (i = 0; i < cadena.length; i++) {
        ch = cadena.substring(i, i+1);
        if ((ch >= "0" && ch <= "9") || (ch == ".") || (ch == ",")) {
            cadenaNueva += ch;
        }
        else
        	return false;
    }
    if (cadena != cadenaNueva) 
           return false
    else
           return true
}
  
  function checaMoneda (Numero, DollarSign)  {

    if (Numero == "") 
       return "";

    Numero=""+Numero;
    Numero = checaNumero(Numero,"Moneda",SI);

    if (Numero.indexOf (".", 0)!=-1) {
  		Pesos = Numero.substring(0, Numero.indexOf (".", 0));
  		Cents = Numero.substring(Numero.indexOf (".", 0)+1, Numero.indexOf (".", 0)+3);
  		if (Cents.length==0)
  			Cents="00";
       if (Cents.length==1)
  			Cents=Cents+"0";
  	 } else {
  		Pesos = Numero;
  		Cents = "00";
  	   }
  	 cadSalida="";
  	 len=Pesos.length;
  	 if (len>=3) {
  		while (len>0) {
  		    cadTemp=Pesos.substring(len-3, len)
  			if (cadTemp.length==3) {
  			    cadSalida=","+cadTemp+cadSalida
  				len=len-3;
  			} else {
  			    cadSalida=cadTemp+cadSalida
  				len=0
  			}
  	    }
  		if (cadSalida.substring(0, 1)==",")
  		  Pesos=cadSalida.substring (1, cadSalida.length)
  		else
  		  Pesos=cadSalida
    }
    if (DollarSign)
  		return ("$"+Pesos+"."+Cents);
  	 else
  		return (Pesos+"."+Cents);
  }
  

/*function ponhoy(fecha) {
 if ((fecha != 'DD/MM/AAAA') && (fecha != ''))
    return fecha;
    var hoy=new Date();
    var dia=hoy.getDate();
    var mes=hoy.getMonth()+1;
    var ano = ""+hoy.getYear()+"";
    if (ano.length==2) ano="19"+ano
        else ano="20" + ano.substring(1,3);

    var temp = "" + ((dia < 10) ? "0": "") + dia;
    temp += "/" + ((mes < 10) ? "0": "") + mes;
    temp +=  "/" + ano;  

    return temp;
}
*/
function ponhoy(fecha) {
 if ((fecha != 'DD/MM/AAAA') && (fecha != ''))
    return fecha;
    var hoy=new Date();
    var dia=hoy.getDate();
    var mes=hoy.getMonth()+1;
    var ano = ""+hoy.getYear()+"";
    if (ano.length==2) ano="19"+ano;
        else ano="20" + ano.substring(2,4);

    var temp = "" + ((dia < 10) ? "0": "") + dia;
    temp += "/" + ((mes < 10) ? "0": "") + mes;
    temp +=  "/" + ano;  

    return temp;
}  

  function mascara (Cadena, Mascara)  {
  	LongCad = Cadena.length;
  	LongMasc = Mascara.length;
  	if ((LongCad==0) || (LongMasc==0))
  		return false;
  	if (LongCad!=LongMasc)
  		return false;
  	CadTemp=""
  	for (Count=0; Count<=Cadena.length; Count++)  {
  		CaracCad = Cadena.substring(Count, Count+1);
  		CaracMasc = Mascara.substring(Count, Count+1);
  		if (CaracMasc=="#") {
  			if(!esCaracNum(CaracCad))
  				return false;
  		}
  		else if (CaracMasc=="?") {
  			if(!esCaracAlf(CaracCad))
  				return false;
  		}
  		else if (CaracMasc=="!") {
  			if(!esNumoCarac(CaracCad))
  				return false;
  		}
  		else if (CaracMasc=="*") {
  		}
  		else {
  			if (CaracMasc!=CaracCad) 
  				return (false);
  		}
  	}
  	return (true);
  }
  
  function esCaracAlf (Cadena)  {
  	if(Cadena.length!=1) 
  		return (false);
  	Cadena=Cadena.toLowerCase();
  	CadRef="abcdefghijklmnopqrstuvwxyz";
  	if (CadRef.indexOf (Cadena.toLowerCase(), 0)==-1) 
  		return (false);
  	return (true);
  }
  
  function esCaracNum (Cadena)  {
  	if(Cadena.length!=1) 
  		return (false);
  	CadRef="1234567890";
  	if (CadRef.indexOf (Cadena, 0)==-1) 
  		return (false);
  	return (true);
  }
  
  function esNumoCarac (Cadena)  {
  	if(Cadena.length!=1) 
  		return (false);
  	Cadena=Cadena.toLowerCase();
  	CadRef="1234567890abcdefghijklmnopqrstuvwxyz";
  	if (CadRef.indexOf (Cadena, 0)==-1)  
  		return (false);
  	return (true);
  }
  
