var ahora = new Date();
var hoy = new Date(ahora.getFullYear(), ahora.getMonth(), ahora.getDate());

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function esFecha (dia, mes, anio) {
// verifica si la fecha es valida
// Acepta fechas en los siguientes formatos:
// esFecha(dd,mm,ccyy), o
// esFecha(dd,mm) - el anio es el actual, o
// esFecha(dd) - mes y anio actual.

    anio = ((!anio) ? y2k(hoy.getYear()):anio);
    mes = ((!mes) ? hoy.getMonth():mes-1);
    if (!dia) return false;
	var test = new Date(anio, mes, dia);
    if ( (y2k(test.getYear()) == anio) &&
         (mes == test.getMonth()) &&
         (dia == test.getDate()) )
        return true;
    else
        return false;
}

// Determina si un a�o es bisiesto
function bisiesto(anio) {
   if (anio%400==0 || (anio%4==0 && anio%100!=0) )
      return true;
   return false;
}

function ultimoDia(mes, anio) {
    var diasMes = new Array(31,31,28,31,30,31,30,31,31,30,31,30,31);
	if ( (mes == 2) && (bisiesto(anio)) )
	   return 29;
    else return diasMes[mes];
}

function agregarMes (dia, mes, anio, meses) {
    if (!esFecha(dia, mes, anio)) {
	   alert ('La fecha no es valida: ' + dia + '/' + mes + '/' + anio);
       return false;
    }
	mes += meses;				// Total de meses, podria ser mayor de 12
	anio += parseInt(mes/13);	// Agregar anios, cuando mes > 12
	mes = (mes%12)?mes%12:12;	// Resto es el mes
	dia = (dia>(ultimo=ultimoDia(mes, anio)))?ultimo:dia;
//alert ('La fecha nueva es: ' + dia + '/' + mes + '/' + anio);
	if (esFecha(dia, mes, anio))
	   return new Date(anio, mes-1, dia);
	else {
	   alert ('La fecha nueva, no es valida: ' + dia + '/' + mes + '/' + anio);
	   return false;
	}
}

function creaFecha (objFecha) {
// Debe restarse 1 al mes
	var partes = objFecha.value.split('/');
	if (esFecha(partes[0], partes[1], partes[2]))
	   return new Date(partes[2], partes[1]-1, partes[0]);
	else {
	   alert ('La fecha creada, no es valida: ' + partes[0] + '/' + partes[1] + '/' + partes[2]);
	   return false;
	}
}

//*************************************************************************
//        Name: formatoFecha
//              
// Descripcion: Formatea una fecha usando una cadena de format. 
//              d0 o dd representa el dia del mes (eg 1 o 01)
//              m0 o mm representa el mes como numero(eg 1 o 01)
//              mmm o mmmm representa el mes como cadena (eg Ene o Enero)
//              a0 o aa representa el anio (eg 99 o 1999)
//              s0 o ss representa el dia de la semana (eg Lun o Lunes)
//              ejemplo: formatoFecha(Fecha, "dd/mm/yy") lucira 01/01/2000
//  Parametros: strFecha - requerido - fecha a desplegar(un objeto 'date')
//          	strcadenaFormato - requerido - cadena de formato
//              
//************************************************************************
function formatoFecha(strFecha, strCadenaFormato) {

	var strMes = new Array();
	var strDia = new Array();

 	strMes[0]  = "Enero";
	strMes[1]  = "Febrero";
	strMes[2]  = "Marzo";
	strMes[3]  = "Abril";
	strMes[4]  = "Mayo";
	strMes[5]  = "Junio";
	strMes[6]  = "Julio";
	strMes[7]  = "Agosto";
	strMes[8]  = "Septiembre";
	strMes[9]  = "Octubre";
	strMes[10] = "Noviembre";
	strMes[11] = "Diciembre";

	strDia[0]  = "Domingo";
	strDia[1]  = "Lunes";
	strDia[2]  = "Martes";
	strDia[3]  = "Miercoles";
	strDia[4]  = "Jueves";
	strDia[5]  = "Viernes";
	strDia[6]  = "Sabado";
 
	var strValor_d    = strFecha.getDate();
	var strValor_dd   = (strValor_d < 10) ? '0' + strValor_d : strValor_d;
	var strValor_m    = strFecha.getMonth() + 1;
	var strValor_mm   = (strValor_m < 10) ? '0' + strValor_m : strValor_m;
	var strValor_mmmm = strMes[strFecha.getMonth()];
	var strValor_mmm  = strValor_mmmm.substr(0,3);
	var strValor_aa   = strFecha.getFullYear() + "";
	var strValor_a    = strValor_aa.substr(2,2);
	var strValor_ss   = strDia[strFecha.getDay()];
	var strValor_s    = strValor_ss.substr(0,3);

	if (strCadenaFormato.indexOf("dd") > -1) {
	   strCadenaFormato = strCadenaFormato.replace("dd", "strValor_dd");
	} else {
	   if (strCadenaFormato.indexOf("d0") > -1) {
	      strCadenaFormato = strCadenaFormato.replace("d0", "strValor_d");
	   }
	}

	if (strCadenaFormato.indexOf("mmmm") > -1) {
	   strCadenaFormato = strCadenaFormato.replace("mmmm", "strValor_mmmm");
	} else {
	   if (strCadenaFormato.indexOf("mmm") > -1) {
	      strCadenaFormato = strCadenaFormato.replace("mmm", "strValor_mmm");
	   } else {
	      if (strCadenaFormato.indexOf("mm") > -1) {
	         strCadenaFormato = strCadenaFormato.replace("mm", "strValor_mm");
	      } else {
	         if (strCadenaFormato.indexOf("m0") > -1) {
	            strCadenaFormato = strCadenaFormato.replace("m0", "strValor_m");
	         }
	      }
	   }
	}

	if (strCadenaFormato.indexOf("aa") > -1) {
	   strCadenaFormato = strCadenaFormato.replace("aa", "strValor_aa");
	} else {
	   if (strCadenaFormato.indexOf("a") > -1) {
	      strCadenaFormato = strCadenaFormato.replace("y", "strValor_a");
	   }
	}

	if (strCadenaFormato.indexOf("ss") > -1) {
	   strCadenaFormato = strCadenaFormato.replace("ss", "strValor_ss");
	} else {
	   if (strCadenaFormato.indexOf("s0") > -1) {
	      strCadenaFormato = strCadenaFormato.replace("s0", "strValor_s");
	   }
	}

	strCadenaFormato = strCadenaFormato.replace("strValor_dd", strValor_dd);
	strCadenaFormato = strCadenaFormato.replace("strValor_d", strValor_d);
	strCadenaFormato = strCadenaFormato.replace("strValor_mmmm", strValor_mmmm);
	strCadenaFormato = strCadenaFormato.replace("strValor_mmm", strValor_mmm);
	strCadenaFormato = strCadenaFormato.replace("strValor_mm", strValor_mm);
	strCadenaFormato = strCadenaFormato.replace("strValor_m", strValor_m);
	strCadenaFormato = strCadenaFormato.replace("strValor_aa", strValor_aa);
	strCadenaFormato = strCadenaFormato.replace("strValor_a", strValor_a);
	strCadenaFormato = strCadenaFormato.replace("strValor_ss", strValor_ss);
	strCadenaFormato = strCadenaFormato.replace("strValor_s", strValor_s);

	return strCadenaFormato;
}

//Convierte la fecha timestamp de la BD al formato dia, mes y año
function fechaCorta(fecha)
{
    if (fecha) {
        var a = fecha.substr(0, 4);
        var m = fecha.substr(5, 2);
        var d = fecha.substr(8, 2);
        
        var f = d + "/" + m + "/" + a;
        return f;
    }
    else
    {
        return false;
    }
}

//Convierte la fecha timestamp de la BD al formato dia, mes, año, horas, minutos y segundos
function fechaCompleta(fecha)
{
    if (fecha) {
        var a = fecha.substr(0, 4);
        var m = fecha.substr(5, 2);
        var d = fecha.substr(8, 2);
        var h = fecha.substr(11, 2);
        var min = fecha.substr(14, 2);
        var s = fecha.substr(17, 2);
        
        var f = d + "/" + m + "/" + a + " " + h + ":" + min + ":" + s;
        return f;
    }
    else{
        return false;
    }
}

function fechaActual()
{//__________________________________________________________________

	var fecha=new Date();
	//a la variable “fecha” le asignamos el valor de la fecha actual

	var diames=fecha.getDate();
	//a la variable “diames” le asignamos el día del mes (del 1 al 31)

	var diasemana=fecha.getDay();
	//a la variable “diasemana” le asignamos el día de la semana en número, siendo 0 el domingo, 1 el lunes, …, 6 el sábado)

	var mes=fecha.getMonth() +1 ;
	//a la variable “mes” le asignamos el día del mes en número (de 0 a 11) y le sumamos 1 para tener el mes tal y como lo utilizamos nosotros (de 1 a 12)

	var ano=fecha.getFullYear();
	//a la variable “ano” le asignamos el año con cuatro cifras.  Si quisiéramos tener el año con dos cifras, el formato sería: var ano=fecha getYear();
    
    var hora = fecha.getHours()
    //Retorna la hora
    
    var minutos = fecha.getMinutes()
    //Devuelve los minutos
        
    var segundos = fecha.getSeconds()
    //Devuelve los segundos
    
	if(diames< 10)
	{
		diames = '0'+diames;
	}
    if(hora<10)
    {
        hora = '0'+hora;
    }
    if(mes< 10)
	{
		mes = '0'+mes;
	}
	
    var m = diames + '/'+mes+'/'+ano+' '+hora+':'+minutos;
	
	return m; 
}//__________________________________________________________________

function formatoAMPM(fecha)
{
   
    var fechaSinHora = fecha.substring(0,10);
	var hora = fecha.substring(11,13);
	var minutos = fecha.substring(14,16);

	if(hora>12)
	{			
		var horaConvertida = hora - 12;
		var tipoHorario='PM';
	}
    else
	{
		var horaConvertida = hora;
		var tipoHorario = 'AM';
	}
	
    /*** Colocar cero (0) a la hora **/
	/*if(horaConvertida<10)
	{
		var cadenaHora= String(horaConvertida);
		var numeroHora="0"+cadenaHora;		
	}
    else
	{*/
		var numeroHora=horaConvertida;
	//}
 
    /*** Colocar cero (0) a los minutos **/
    /*if(minutos<10)
	{
		var cadenaMinutos= String(minutos);
		var numeroMinutos="0"+cadenaMinutos;		
	}else
	{*/
		var numeroMinutos=minutos;
	//}
	
    
    numeroHora=eval(numeroHora);
    numeroMinutos=eval(numeroMinutos);
    //alert(numeroHora);
    
    if(numeroHora<10)
    {
      //numeroHora='0'+String(numeroHora);
      numeroHora='0'+numeroHora;
    }
    
    if(numeroMinutos<10)
    {
      //numeroMinutos='0'+String(numeroMinutos);
      numeroMinutos='0'+numeroMinutos;
    }
    
    var fechaCompleta = fechaSinHora+" "+numeroHora+':'+numeroMinutos+" "+tipoHorario;
	  
	return fechaCompleta;
}

//------------------------------------------------------------------------------------------------
//Descripción: Permite comparar dos fechas
//Entrada: fecha1, fecha2
//Salida: 0, 1
//------------------------------------------------------------------------------------------------
function compararFecha(fecha1, fecha2)
{
    var fec1 = new Date(Date.parse(fecha1));
    var fec2 = new Date(Date.parse(fecha2));
//alert('fecha 2:'+fec2+'\nfecha 1:'+fec1)
	if (fec1 > fec2)
	{ 
	  return 0;
	}
    else 
	{
	  return 1;
	}
    
    /*if (fec1 == fec2)
	{ 
	  return 3;
	}*/
    
}
function compararFechaServicio(fecha1, fecha2, hora1, hora2)
{
    var fec1 = new Date(Date.parse(fecha1));
    var fec2 = new Date(Date.parse(fecha2));
//alert('fecha 2:'+fec2+'\nfecha 1:'+fec1)

//alert(hora1)
//alert(hora2)

if (fecha1 != fecha2) {
	if (fec1 > fec2) {
		 return 0;
	}
	else {
		 return 1;
	}
}
else
{
	hora11=hora1.split(',');
	hora22=hora2.split(',');
  if(hora1==hora2)//si es la misma hora	
  return 1;
  
  if(hora11[2]=="AM" && hora22[2]=="PM")//si la inicial es am y final pm
  return 0;
  
  if(hora11[2]=="PM" && hora22[2]=="AM")//si la inicial es pm y final am
  return 1;
  
  if((hora11[2]=="AM" && hora22[2]=="AM")|| (hora11[2]=="PM" && hora22[2]=="PM") )//si la inicial es am y final am
  {
  	if(hora11[0]>hora22[0])//si la hora inicial es mayor
	return 1;
	else if(hora11[0]==hora22[0])//si las horas son iguales
	{
  	//alert(hora11[1]+"   "+hora22[1])
  	
		if(hora11[1]<hora22[1])//si los minutos de la inicial son menor
		return 0;
		else 
		return 1;
	}
	else if(hora11[0]<hora22[0])//si la hora inicial es menor
	return 0;
  }

	
	
}	
	
    

    
}


//------------------------------------------------------------------------------------------------
//Descripción: Permite comprobar si un dia es hábil
//Entrada: anio,mes,dia
//Salida: 0, 1
//Programador(es): David Silva
//------------------------------------------------------------------------------------------------
function diaHabil(anio,mes,dia)
{
	//var d=new Date(Date.UTC(anio,mes,dia));
	var d=new Date(anio,mes,dia);
	
	if ((d.getDay()==0) || (d.getDay()==6)) 
	{
	   var habil=0;//Dia no hábil
	   return habil;
	}	
	else
	{
	  var habil= 1;//Dia hábil
	  return habil;	
	}
}

//------------------------------------------------------------------------------------------------
//Descripción: Permite comprobar si un dia es hábil
//Entrada: anio,mes,dia
//Salida: 0, 1
//Programador(es): David Silva
//------------------------------------------------------------------------------------------------
/*function diasNoHabiles(fecha1,fecha2)
{
    if (fecha1 && fecha2) {
        // Duración entre fechas
        var duracion = restaFechas(fecha1, fecha2);
       
        // Descomposición de fechas 
        var cadenaFecha1 = fecha1.substring(0, 10);
        var cadenaDia = fecha1.substring(0, 2);
        var cadenaMes = eval(fecha1.substring(3, 5)) - 1;
        var cadenaAno = fecha1.substring(6, 10);
       
        var cadenaMes2 = eval(fecha1.substring(3, 5)) - 1;
       
        // Se instacia la clase Date para crear las fechas que existen entre la fecha inicio y la final 
        primerDia = new Date(cadenaAno, cadenaMes, cadenaDia);
        var cont = 0;
       
        // Verifica si el año es bisiesto 
        var verificaAnio = bisiesto(cadenaAno);//Verifica si el año es bisiesto
        if (verificaAnio == true) {
            if ((cadenaMes == 2) && (cadenaMes2 != cadenaMes)) {
                duracion = duracion - 1;
            }
            else {
                duracion = duracion;
            }
           
        }
        else {
       
            if ((cadenaMes == 2) && (cadenaMes2 != cadenaMes)) {
                duracion = duracion - 2;
            }
            else {
                duracion = duracion;
            }
        }
       
        // Se recorren las fechas para verificar que dia es hábil 
        for (var i = 1; i <= duracion; i++) {
            var siguiente = new Date(primerDia.getFullYear(), primerDia.getMonth(), (primerDia.getDate() + i));
           
            var dia = siguiente.getDate();
            var mes = siguiente.getMonth() + 1;
            var anio = siguiente.getYear() + 1900;
           
            var diaCadena = String(dia);
            var mesCadena = String(mes);
           
            var anioCadena = String(anio);
           
            var diaNumero = eval(diaCadena);
            var mesNumero = eval(mesCadena);
            var anioNumero = eval(anioCadena);
           
            if ((mesNumero < 10) && (diaNumero >= 10)) {
                var fec = diaCadena + '/0' + mesCadena + '/' + anioCadena;
            }
            else
                if ((mesNumero < 10) && (diaNumero < 10)) {
                    var fec = '0' + diaCadena + '/0' + mesCadena + '/' + anioCadena;
                }
                else
                    if ((mesNumero > 10) && (diaNumero < 10)) {
                        var fec = '0' + diaCadena + '/' + mesCadena + '/' + anioCadena;
                    }
           
            var cadena2 = fec.substring(0, 2);
            var cadena3 = eval(fec.substring(3, 5)) - 1;
            var cadena4 = fec.substring(6, 10);
           
            //Verifica si el dia es hábil 
            var habil = diaHabil(cadena4, cadena3, cadena2);
            if (habil == 1) {
                cont++;
            }
        }
        // Devuelve el número de dias hábiles 
        return cont;
    }
    else
    {
        return false;
    }
}*/
function diasNoHabiles(fecha1,fecha2)
{
    if (fecha1 && fecha2) 
    {
        /*** Duración entre fechas **/
        var duracion = restaFechas(fecha1, fecha2);
       
        /*** Descomposición de fechas **/
        var cadenaFecha1 = fecha1.substring(0, 10);
        var cadenaDia = fecha1.substring(0, 2);
        var cadenaMes = eval(fecha1.substring(3, 5)) - 1;
        var cadenaAno = fecha1.substring(6, 10);     
        var cadenaMes2 = eval(fecha1.substring(3, 5)) - 1;
       
        /*** Se instacia la clase Date para crear las fechas que existen entre la fecha inicio y la final **/
        var primerDia = new Date(cadenaAno, cadenaMes, cadenaDia);       
        var cont = 0;
       
        /** Verifica si el año es bisiesto */
        var verificaAnio = bisiesto(cadenaAno);//Verifica si el año es bisiesto
        if (verificaAnio == true) {
            if ((cadenaMes == 2) && (cadenaMes2 != cadenaMes)) {
                duracion = duracion - 1;
            }
            else {
                duracion = duracion;
            }
           
        }
        else {
       
            if ((cadenaMes == 2) && (cadenaMes2 != cadenaMes)) {
                duracion = duracion - 2;
            }
            else {
                duracion = duracion;
            }
        }
       
        /*** Se recorren las fechas para verificar que dia es hábil **/
        for (var i = 1; i <= duracion; i++) {
            var siguiente = new Date(primerDia.getFullYear(), primerDia.getMonth(), (primerDia.getDate() + i));
           
            var dia = siguiente.getDate();
            var mes = siguiente.getMonth() + 1;
            var anio = siguiente.getYear() + 1900;
           
            var diaCadena = String(dia);
            var mesCadena = String(mes);
           
            var anioCadena = String(anio);
           
            var diaNumero = eval(diaCadena);
            var mesNumero = eval(mesCadena);
            var anioNumero = eval(anioCadena);
           
            if ((mesNumero < 10) && (diaNumero >= 10))
            {
                var fec = diaCadena + '/0' + mesCadena + '/' + anioCadena;
            }
            else if ((mesNumero < 10) && (diaNumero < 10))
            {
                var fec = '0' + diaCadena + '/0' + mesCadena + '/' + anioCadena;
            }else if ((mesNumero > 10) && (diaNumero < 10))
            {
                var fec = '0' + diaCadena + '/' + mesCadena + '/' + anioCadena;
            }else if ((mesNumero>=10)&&(diaNumero >= 10))
            {
                 var fec = diaCadena + '/' + mesCadena + '/' + anioCadena;
            }else if((mesNumero>=10)&&(diaNumero < 10))
            {
                var fec = '0' + diaCadena + '/' + mesCadena + '/' + anioCadena;
            }
           
            var cadena2 = fec.substring(0, 2);          

            var cadena3 = eval(fec.substring(3, 5)) - 1;           

            var cadena33 = String(cadena3);
            var cadena4 = fec.substring(6, 10);
           
            /*** Verifica si el dia es hábil **/
            var habil = diaHabil(cadena4, cadena33, cadena2);
            if (habil == 1) {
                cont++;
            }
        }
       
        //alert(cadena4+' '+cadena3+' '+cadena2);
        /*** Devuelve el número de dias hábiles **/
        return cont;
    }
    else
    {
        return false;
    }
} 

//------------------------------------------------------------------------------------------------
//Descripción: Resta dos fechas
//Entrada: CadenaFecha1, CadenaFecha2
//Salida: Retorna dias
//Modificado: David Silva
//------------------------------------------------------------------------------------------------
function restaFechas (CadenaFecha1,CadenaFecha2)
{
    var cadenaFecha1=CadenaFecha1.substring(0,10);
    var cadenaFecha2=CadenaFecha2.substring(0,10);
 
    var fechaCompleta1 = new fechaCadena( cadenaFecha1 )
    var fechaCompleta2 = new fechaCadena( cadenaFecha2 )
   
    //Obtiene objetos Date
   
    //var miFecha1 = new Date( fechaCompleta1.anio, fechaCompleta1.mes+1, fechaCompleta1.dia )
    //var miFecha2 = new Date( fechaCompleta2.anio, fechaCompleta2.mes+1, fechaCompleta2.dia )
    var miFecha1 = new Date( fechaCompleta1.anio, fechaCompleta1.mes-1, fechaCompleta1.dia )
    var miFecha2 = new Date( fechaCompleta2.anio, fechaCompleta2.mes-1, fechaCompleta2.dia )
   
    //Resta fechas y redondea
    var diferencia = miFecha2.getTime() - miFecha1.getTime()
    var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24))
   
    return dias;
}


//------------------------------------------------------------------------------------------------
//Descripción: Resta dos fechas tomando en cuenta hora y minutos
//Entrada: CadenaFecha1, CadenaFecha2
//Salida: Retorna totalHoras
//Modificado: David Silva 
//------------------------------------------------------------------------------------------------
function restaFechasCompleta (fecha_inicio,fecha_fin)
{
    
    //alert(fecha_inicio+' '+fecha_fin);
    
    /***Validaciones****/	
    hora1=fecha_inicio.substring(11,13);
    if((fecha_inicio.substring(17,20))=="PM" && hora1!="12")
        //hora1= parseInt(hora1,10)+12;
        hora1= eval(hora1,10)+12;
    else if((fecha_inicio.substring(17,20))=="AM" && hora1=="12")
    	hora1 = 00;
	
	/****Obtener Fecha Inicio***/
	var fecha1=new Date();
	var fechaDia1 = fecha1.setDate(fecha_inicio.substring(0,2));
	fecha1.setMonth(eval(fecha_inicio.substring(3,5))-1); //Se le resta uno porque en el metodo setMonth los meses van del 0 al 11
	fecha1.setYear(fecha_inicio.substring(6,10));
	fecha1.setHours(hora1);
	fecha1.setMinutes(fecha_inicio.substring(14,16));
		
	var milisegundos=fecha1.getTime();
	
    hora2=fecha_fin.substring(11,13);
    if((fecha_fin.substring(17,20))=="PM" && hora2!="12")
	{
	 //hora2= parseInt(hora2,10)+12;
     hora2= eval(hora2,10)+12;
    }else if((fecha_fin.substring(17,20))=="AM" && hora2=="12")
    	hora2 = 00;
	
    
	/****Obtener Fecha Fin***/
	 var fecha2=new Date();
	 fecha2.setDate(fecha_fin.substring(0,2));
	 fecha2.setMonth(eval(fecha_fin.substring(3,5))-1);
	 fecha2.setYear(fecha_fin.substring(6,10));
	 fecha2.setHours(hora2);
	 fecha2.setMinutes(fecha_fin.substring(14,16));
	
	 var tiempo=fecha2.getTime();	
	
	 var totalMilisegundos = tiempo-milisegundos;
     var totalHoras = totalMilisegundos/3600000;//Se lleva a horas
     
     totalHoras=totalHoras.toFixed(2);
     
     //alert(totalHoras);
    
     return totalHoras;
}

/*function restaFechas (CadenaFecha1,CadenaFecha2)
{  
   
    var cadenaFecha1=CadenaFecha1.substring(0,10);
    var cadenaFecha2=CadenaFecha2.substring(0,10);
 
	var fechaCompleta1 = new fechaCadena( cadenaFecha1 )
	var fechaCompleta2 = new fechaCadena( cadenaFecha2 )
	
	//Obtiene objetos Date
	var miFecha1 = new Date( fechaCompleta1.anio, fechaCompleta1.mes, fechaCompleta1.dia )
	var miFecha2 = new Date( fechaCompleta2.anio, fechaCompleta2.mes, fechaCompleta2.dia )
	
	//Resta fechas y redondea
	var diferencia = miFecha2.getTime() - miFecha1.getTime()
	var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24))
	
	return dias;

}*/
	
//------------------------------------------------------------------------------------------------
//Descripción: Convierte cadenas en fechas (Utilizada en restaFechas() )
//Entrada:cadena
//Salida: 
//------------------------------------------------------------------------------------------------
function fechaCadena( cadena )
{
	//Separador para la introduccion de las fechas
	var separador = "/"
	
	//Separa por dia, mes y año
	if ( cadena.indexOf( separador ) != -1 )
	{
		var posi1 = 0
		var posi2 = cadena.indexOf( separador, posi1 + 1 )
		var posi3 = cadena.indexOf( separador, posi2 + 1 )
		this.dia = cadena.substring( posi1, posi2 )
		this.mes = cadena.substring( posi2 + 1, posi3 )
		this.anio = cadena.substring( posi3 + 1, cadena.length )
	} else
	{
		this.dia = 0
		this.mes = 0
		this.anio = 0
	}
}

//------------------------------------------------------------------------------------------------
//Descripción: Convierte la fecha de dia, mes, año al formato timestamp
//Entrada: Fecha cuyo formato es dia, mes, año
//Salida: Retorna la fecha en timestamp
//------------------------------------------------------------------------------------------------
function formatoFechaBD(fecha)
{   
    var f="";
    var pedazo="";
    var contgion=0;
    if((fecha!=null)&&(fecha!="undefined")&&(fecha!=""))
    {
        for(var i=0; i<fecha.length; i++)
        {
            if(fecha.charAt(i)!="/")
            {
                pedazo=pedazo+fecha.charAt(i);
            }else
            {
                if(contgion!=0)
                {
                    pedazo=pedazo+"-";
                }
                    f=pedazo+f;
                    pedazo="";
                    contgion++;
            }
        }
        f=pedazo+"-"+f;
        f=f+" 00:00:00"
        return f;
    }
}

//------------------------------------------------------------------------------------------------
//Descripción: Resta dos fechas y devuelve el tiempo en meses
//Entrada: CadenaFecha1: es la fecha menor, CadenaFecha2= es la fecha mayor
//Salida: Retorna meses
//Modificado: Lorena Córdova G.
//------------------------------------------------------------------------------------------------
function restaFechaMeses (CadenaFecha1,CadenaFecha2)
{
	var cadenaFecha1=CadenaFecha1.substring(0,10);
    var cadenaFecha2=CadenaFecha2.substring(0,10);
 
    var fechaCompleta1 = new fechaCadena( cadenaFecha1 )
    var fechaCompleta2 = new fechaCadena( cadenaFecha2 )
   
    //Obtiene objetos Date
   
    //var miFecha1 = new Date( fechaCompleta1.anio, fechaCompleta1.mes+1, fechaCompleta1.dia )
    //var miFecha2 = new Date( fechaCompleta2.anio, fechaCompleta2.mes+1, fechaCompleta2.dia )
    var miFecha1 = new Date( fechaCompleta1.anio, fechaCompleta1.mes-1, fechaCompleta1.dia )
    var miFecha2 = new Date( fechaCompleta2.anio, fechaCompleta2.mes-1, fechaCompleta2.dia )
   
    //Resta fechas y redondea
    var diferencia = miFecha2.getTime() - miFecha1.getTime()
	var meses = Math.floor(diferencia / (1000 * 60 * 60 * 24 * 30))
	return meses;
}
