<!--
//FUNCIONES GENERICAS

function Validar_imagen(ima){
	//Extensiones de los archivos q se pueden subir: gif, jpg y png
	var array = ima.split('.');
	extension = array[array.length-1];
	if ((extension != "gif") && (extension != "jpg") && (extension != "png"))
	{
		alert("Sólo puede subir imágenes con extensión .gif, .jpg y .png");
		return false;
	}
}

function EsNumero(valor)
{
	var n;
	for (n=0; n<valor.length; n++)
	{
		if ((valor.substr(n,1)<'0' || valor.substr(n,1)>'9') && ((valor.substr(n,1)!='.') && (valor.substr(n,1)!=','))) return false;
	}
}

function ValidaFechaCal(dateStr)
{
	var hoy,suma_hoy,suma_fecha;
	
	hoy=new Date();
	suma_hoy=(hoy.getMonth()+1)*31 + hoy.getDate() + hoy.getYear()*365;

	var datePat = /^(\d{2})\/(\d{2})\/(\d{4})$/;
	var matchArray = dateStr.match(datePat);
	if (matchArray == null)
	{
		return false;
	}
	dd = matchArray[1];
	mm = matchArray[2];
	aa = matchArray[3];
	suma_fecha=parseInt(mm,10)*31 + parseInt(dd,10) + parseInt(aa,10)*365;
	if (dd < 1  || dd > 31)
	{
		alert("El día debe estar entre 1 y 31.");
		return false;
	}
	if (mm < 1 || mm > 12)
	{
		alert("El mes debe estar entre 1 y 12.");
		return false;
  }
  return true;
}

//VALIDACIÓN DE FECHAS CON FORMATO "DD/MM/AAAA"
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

var reason = '';

function isValidDate (myDate,sep) {
// checks if date passed is in valid dd/mm/yyyy format

    if (myDate.length == 10) {
        if (myDate.substring(2,3) == sep && myDate.substring(5,6) == sep) {
            var date  = myDate.substring(0,2);
            var month = myDate.substring(3,5);
            var year  = myDate.substring(6,10);

            var test = new Date(year,month-1,date);

            if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) {
                reason = '';
                return true;
            }
            else {
                reason = 'Formato válido pero fecha no válida';
                return false;
            }
        }
        else {
            reason = 'Los separadores de la fecha no son válidos';
            return false;
        }
    }
    else {
        reason = 'La longitud de la fecha no es válida';
        return false;
    }
}

function getNumberOfDaysInMonth(year, month) {
  return (new Date(year, month, 0).getDate());
}

function checkDate(day, month, year) {
  day=new String(day);
  month=new String(month);
  year=new String(year);

  if (!day.length || !month.length || !year.length ) {
    return false;
  } else {
    year=parseInt(year);
    month=parseInt(month);
    day=parseInt(day);
    if (year<1970 || year>2038 || year==0 || month==0 || day==0 ) 
	{
      return false;
    } 
	else {
      if (month>12 || month<1)
	  {
        return false;
      } 
	  else 
	  {
        if (day<1 || day>getNumberOfDaysInMonth(year, month)) {
          return false;
        }
      }
    }
  }
  return (new Date(year, month-1, day, 0, 0, 0, 0));
}

function esfecha(dd,mm,aa)
{
	var numero;
	numero=new Number(aa);
	if (numero<1753)
	{
		alert("El año debe ser a partir de 1753");
		return false;
	}	
	if ((mm==4)||(mm==6)||(mm==9)||(mm==11))
	{
		if (dd==31)
		{
			alert("La fecha " + dd + "/" + mm + "/" + aa + " no es válida");
			return false;
		}
	}
	if (mm==2)
	{
		if (dd>=30)
		{
			alert("La fecha " + dd + "/" + mm + "/" + aa + " no es válida");
			return false;
		} 
		if (dd==29)
		{
			if (!(((aa%4==0)&&(aa%100!=0))||(aa%400==0)))
			{
				alert("La fecha " + dd + "/" + mm + "/" + aa + " no es válida");
				return false;
			}
		}
	}
	return true;
}

function isEmail(sEmail) {
  nPos = sEmail.indexOf("@");
  switch (nPos)	{
    case -1: {
      window.alert("La dirección debe contener el carácter ''@''");
      return false;
    }
    case 0: {
      window.alert("El carácter ''@'' no puede estar al principio de la dirección");
      return false;
    }
    case sEmail.length-1: {
      window.alert("El carácter ''@'' no puede estar al final de la dirección");
      return false;
    }
    default: {
      sEmail=sEmail.substr(nPos+1);
      nPos=sEmail.indexOf("@");
      if (nPos>-1){
        window.alert("La dirección solo puede contener un carácter ''@''");
        return false;
      }
      nPos=sEmail.indexOf(".");
      if (nPos==-1){
        window.alert("La parte del servidor debe contener un carácter ''.''");
        return false;
      }
      if (nPos==0){
        window.alert("El carácter ''.'' no puede estar al principio de la parte del servidor");
        return false;
      }
      while (nPos>-1)	{				
        if (nPos==sEmail.length-1){
          window.alert("El carácter ''.'' no puede estar al final de la parte del servidor");
          return false;
        }
        sEmail=sEmail.substr(nPos+1);
        nPos=sEmail.indexOf(".");
      }
    }
  }
  return true;
}

function showLayer(layerID) { 
document.getElementById(layerID).style.display='block'; 
} 
function hideLayer(layerID) { 
document.getElementById(layerID).style.display='none'; 
} 

function MM_openBrWindow(theURL,winName,features) {window.open(theURL,winName,features);}

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_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_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.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_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function AmpliarImagen(id) {
  window.open('imagenes_ampliar.asp?id=' + id,'','width=100,height=100,titlebar=no,scrollbars=0,resizable=no');
}
//-->
