function eliminarCerosIzq(cadena) {
for(i=0; i<cadena.length; )
{
if(cadena.charAt(i)=="0")
cadena=cadena.substring(i+1, cadena.length);
else
break;
}
return cadena;
}
function FW(fecha) { alert('Entra en FW()');
month = fecha.getMonth();
date = fecha.getDate();
f1 = new Date(fecha.getFullYear(),0,1,0,0);
dayf1 = f1.getDay();
if(dayf1 == 0) dayf1 = 7;
f2 = new Date(fecha.getFullYear(),month,date,0,0);
dayf2 = f2.getDay();
if(dayf2 == 0) dayf2 = 7;
if(month == 0 && date == 1 && dayf2 > 4 || month == 0 && date == 2 && dayf2 > 5 || month == 0 && date == 3 && dayf2 == 7)
{
f1 = new Date(fecha.getFullYear()-1,0,1,0,0);
f2 = new Date(fecha.getFullYear()-1,11,31,0,0);
dayf1 = f1.getDay();
if(dayf1 == 0) day = 7;
}
if(month == 11 && date == 31 && dayf2 < 4 || month == 11 && date == 30 && dayf2 < 3 || month == 11 && date == 29 && dayf2 == 1)
return(1);
if(dayf1 <5)
FW = parseInt(((Math.round(((f2-f1)/1000/60/60/24))+(dayf1-1))/7) + 1);
else
FW = parseInt(((Math.round(((f2-f1)/1000/60/60/24))+(dayf1-1))/7));
return FW;
}
function FW2(fecha) { alert('Entra en FW2()');
month = fecha.getMonth();
date = fecha.getDate();
f1 = new Date(fecha.getFullYear(),0,1,0,0); alert('f1 vale' + f1);
dayf1 = f1.getDay();
if(dayf1 == 0) dayf1 = 7;
f2 = new Date(fecha.getFullYear(),month,date,0,0);
dayf2 = f2.getDay();
if(dayf2 == 0) dayf2 = 7;
if(month == 0 && date == 1 && dayf2 > 4 || month == 0 && date == 2 && dayf2 > 5 || month == 0 && date == 3 && dayf2 == 7)
{
f1 = new Date(fecha.getFullYear()-1,0,1,0,0);
f2 = new Date(fecha.getFullYear()-1,11,31,0,0);
dayf1 = f1.getDay();
if(dayf1 == 0) day = 7;
}
if(month == 11 && date == 31 && dayf2 < 4 || month == 11 && date == 30 && dayf2 < 3 || month == 11 && date == 29 && dayf2 == 1)
return(1);
if(dayf1 <5)
FW = parseInt(((Math.round(((f2-f1)/1000/60/60/24))+(dayf1-1))/7) + 1);
else
FW = parseInt(((Math.round(((f2-f1)/1000/60/60/24))+(dayf1-1))/7));
return FW;
}
function calculaFechas() {
alert('Entra en calculaFechas');
//var valor = document.getElementById('E_HIST_FUR').value;
//document.getElementById('E_HIST_FUR_CORRE').value=valor;
var valor = document.getElementById('E_HIST_FUR_CORRE').value;
fragmentoFecha = valor.split('/');
var d = eliminarCerosIzq(fragmentoFecha[0]);
var m = fragmentoFecha[1];
var numMes = parseInt(m);
numMes -= 1;
var a = fragmentoFecha[2];
fecha = new Date(a, numMes, d); //año, mes,dia
fecha2 = new Date();
//FW() y FW2() sin iguales, per si llamo 2 veces a la misma, peta
var i = FW(fecha); // <-- FALLA AQUI, la segunda vez que pasa
var j = FW2(fecha2);
var dif_dias = fecha2.getDay() - fecha.getDay();
if(dif_dias < 0) dif_dias += 7;
var dif_semanas = parseInt(i) - parseInt(j)
if (dif_semanas < 0) {
dif_semanas += 52;
}
var dd = fecha2.getDate() - fecha.getDate();
var restaMes = fecha2.getMonth() - fecha.getMonth();
if (restaMes==0 && dd>0 && dd < 7){
dif_semanas = 0;
}
alert('Asigna valor al campo EG');
document.getElementById('E_HIST_EG').value = dif_semanas + " semana/s y " + dif_dias + " día/s";
var mili=fecha.getTime();
fecha.setTime(parseInt(mili+24192000000)); //280 dias en milisegundos
//corregir formato fecha
var fd = fecha.getDate();
var fd_cad = '' + fd;
if(fd_cad.length == 1) fd_cad = "0" + fd_cad;
var fm = fecha.getMonth();
var fm_cad = '' + fm;
if(fm_cad.length == 1) fm_cad = "0" + fm_cad;
alert('Asigna valor al campo FPP');
document.getElementById('E_HIST_FPP').value = fd_cad + "/" + fm_cad + "/" + fecha.getYear();
}
function esFecha(p_fecha) {
return true;
}