function fecha_valida ( fecha ) {
  var fecha = fecha.split( '-' );
  var dia_actual = fecha[ 0 ];
  var mes_actual = fecha[ 1 ];
  var ano_actual = fecha[ 2 ];

  if (ano_actual % 4 == 0) mfeb = "29";
  else mfeb = "28" ;
  ldias = "31," + mfeb + ",31,30,31,30,31,31,30,31,30,31";
  ldiasm = ldias.split(',');
  
  if ( dia_actual.length == 1 ) dia_actual = "0" + dia_actual;
  if ( dia_actual > ldiasm[ mes_actual - 1] ) return false;
  else return true;
}

function formatea_fecha ( fecha ) {
  var fecha = fecha.Split( '-' );

  tmpdia = fecha[ 0 ];
  tmpdia = tmpdia.length > 1 ? tmpdia : "0" + tmpdia;
  tmpmes = fecha[ 1 ];
  tmpmes = tmpmes.length > 1 ? tmpmes : "0" + tmpmes;
  tmpano = fecha[ 2 ];
  
  return( tmpano + tmpmes + tmpdia );
}

function formatea_fecha_separada ( fecha, Separador ) {
  if (fecha == "" || fecha == null) return;
  var fecha = fecha.split( '-' );

  tmpdia = fecha[ 0 ];
  tmpdia = tmpdia.length > 1 ? tmpdia : "0" + tmpdia;
  tmpmes = fecha[ 1 ];
  tmpmes = tmpmes.length > 1 ? tmpmes : "0" + tmpmes;
  tmpano = fecha[ 2 ];
  
  return( tmpano + Separador + tmpmes + Separador + tmpdia );
}

/*
La siguiente función es de comparación de dos fechas, los valores que devuelve son:
     1 ---> fecha1 es anterior a fecha2
     2 ---> fecha1 es igual a fecha2
     3 ---> fecha1 es posterior a fecha2
*/
function compara_fechas ( fecha1, fecha2 ) {
  fecha1 = formatea_fecha( fecha1 );
  fecha2 = formatea_fecha( fecha2 );

  if ( fecha1 < fecha2 ) {
     return 1; 
  }
  else {
     if ( fecha1 == fecha2 ) {
        return 2;
     }
     else {
        return 3;
     }
  }
}

function datediff(per,d1,d2) {
   var d = (d2.getTime()-d1.getTime())/1000
   switch(per) {
      case "yyyy": d/=12
      case "m": d*=12*7/365.25
      case "ww": d/=7
      case "d": d/=24
      case "h": d/=60
      case "n": d/=60
   }
   return Math.round(d);
}

function objDate(Fecha) {
  var varFecha = false;

  if (fecha_valida(Fecha)) {
    varFecha = new Date(formatea_fecha_separada(Fecha, "/"));
  }
  return varFecha;
}
