  var daysInMonth=[ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];  function validateIntegerInput(text)  {    if(        (text)&&        (text.length>0)      )    {      if(          (/(^[+|-])*\d*$/.test(text))&&          (text.indexOf('.')==-1)&&          (text.indexOf(':')==-1)&&          (text.indexOf(',')==-1)        )      {        var i=parseInt(text);        if((i>-0x8000000000000000)&&(i<0x7FFFFFFFFFFFFFFF) && (text == i))          return(true);      }    }    return(false);  }  function validateNullableIntegerInput(text)  {    if(        (text)&&        (text.length==0)      )      return(true);    if(text)    {      if(          (/(^[+|-])*\d*$/.test(text))&&          (text.indexOf('.')==-1)&&          (text.indexOf(':')==-1)&&          (text.indexOf(',')==-1)        )      {        var i=parseInt(text);        if((i>-0x8000000000000000)&&(i<0x7FFFFFFFFFFFFFFF) && (text == i))          return(true);      };    };    return(false);  }  function validateJavaDateOld(year, month, day, minYear, maxYear)  {    var y;    var m;    var d;    var mYear;    var MYear;    mYear=minYear || 1970;    MYear=maxYear || 2070;    if(!validateIntegerInput(year))      return(false);    if(!validateIntegerInput(month))      return(false);    if(!validateIntegerInput(day))      return(false);    y=parseInt(year);    m=parseInt(month);    d=parseInt(day);    if( (y%4 == 0) && ((y%100!=0)||(y%400==0)) )      daysInMonth[1]=29;    else      daysInMonth[1]=28;    if( (y<mYear) || (y>MYear) || (m<0) || (m>11) || (d<=0) || (d>daysInMonth[m]) )      return(false);    return(true);  }  function validateJavaDate(frm, name, minYear, maxYear)  {    var y;    var M;    var d;    var h;    var m;    var s;    var yInput;    var MInput;    var dInput;    var hInput;    var mInput;    var sInput;    var mYear;    var MYear;    mYear=minYear || 1970;    MYear=maxYear || 2070;    y=mYear;    yInput=eval("window.document." + frm.name + "." + name + "_year");    MInput=eval("window.document." + frm.name + "." + name + "_month");    dInput=eval("window.document." + frm.name + "." + name + "_date");    hInput=eval("window.document." + frm.name + "." + name + "_hour");    mInput=eval("window.document." + frm.name + "." + name + "_minute");    sInput=eval("window.document." + frm.name + "." + name + "_second");    if(yInput)    {      y=parseInt(yInput.value);      if( (y<mYear) || (y>MYear) )        return(false);    };    if( (y%4 == 0) && ((y%100!=0)||(y%400==0)) )      daysInMonth[1]=29;    else      daysInMonth[1]=28;    if(MInput)    {      M=MInput.selectedIndex;      if( (M<0) || (M>11) )        return(false);    };    if(dInput)    {      d=parseInt(dInput.value);      if( (d<=0) || (d>daysInMonth[M]) )        return(false);    };    if(hInput)    {      h=parseInt(hInput.value);      if( (h<0) || (h>23) )        return(false);    };    if(mInput)    {      m=parseInt(mInput.value);      if( (m<0) || (m>59) )        return(false);    };    if(sInput)    {      s=parseInt(sInput.value);      if( (s<0) || (s>59) )        return(false);    };    return(true);  }  function validateNullableJavaDate(frm, name, minYear, maxYear)  {    var y;    var M;    var d;    var h;    var m;    var s;    var yInput;    var MInput;    var dInput;    var hInput;    var mInput;    var sInput;    var mYear;    var MYear;    mYear=minYear || 1970;    MYear=maxYear || 2070;    y=mYear;    M=-1;    yInput=eval("window.document." + frm.name + "." + name + "_year");    MInput=eval("window.document." + frm.name + "." + name + "_month");    dInput=eval("window.document." + frm.name + "." + name + "_date");    hInput=eval("window.document." + frm.name + "." + name + "_hour");    mInput=eval("window.document." + frm.name + "." + name + "_minute");    sInput=eval("window.document." + frm.name + "." + name + "_second");    if(yInput)    {      if(yInput.value.length>0)      {        y=parseInt(yInput.value);        if( (y<mYear) || (y>MYear) )          return(false);      };    };    if( (y%4 == 0) && ((y%100!=0)||(y%400==0)) )      daysInMonth[1]=29;    else      daysInMonth[1]=28;    if(MInput)      M=MInput.selectedIndex-1;    if(dInput)    {      if(dInput.value.length>0)      {        d=parseInt(dInput.value);        if(            (M>-1)&&            ( (d<=0) || (d>daysInMonth[M]) )           )          return(false);      };    };    if(hInput)    {      if(hInput.value.length>0)      {        h=parseInt(hInput.value);        if( (h<0) || (h>23) )          return(false);      };    };    if(mInput)    {      if(mInput.value.length>0)      {        m=parseInt(mInput.value);        if( (m<0) || (m>59) )          return(false);      };    };    if(sInput)    {      if(sInput.value.length>0)      {        s=parseInt(sInput.value);        if( (s<0) || (s>59) )          return(false);      };    };    return(true);  }//frm referencia al form//dn1 y dn2 nombres de las fechas segun valor del property attribute del tag <strutsext:date>//devuelve:// -1 si dn1 anterior a dn2//  0 si igualed//  1 si dn1 posterior a dn2  function compareStrutsextDates(frm, dn1, dn2)  {    var diff;    var k1;    var k2;    k1=eval("frm.kdate_"+dn1+"_year");    k2=eval("frm.kdate_"+dn2+"_year");    if(k1)    {      diff=parseInt(k1.value)-parseInt(k2.value);      if(diff<0)        return(-1);      else if(diff>0)        return(1);    };    k1=eval("frm.kdate_"+dn1+"_month");    k2=eval("frm.kdate_"+dn2+"_month");    if(k1)    {      diff=k1.selectedIndex-k2.selectedIndex;      if(diff<0)        return(-1);      else if(diff>0)        return(1);    };    k1=eval("frm.kdate_"+dn1+"_date");    k2=eval("frm.kdate_"+dn2+"_date");    if(k1)    {      diff=parseInt(k1.value)-parseInt(k2.value);      if(diff<0)        return(-1);      else if(diff>0)        return(1);    };    k1=eval("frm.kdate_"+dn1+"_hour");    k2=eval("frm.kdate_"+dn2+"_hour");    if(k1)    {      diff=parseInt(k1.value)-parseInt(k2.value);      if(diff<0)        return(-1);      else if(diff>0)        return(1);    };    k1=eval("frm.kdate_"+dn1+"_minute");    k2=eval("frm.kdate_"+dn2+"_minute");    if(k1)    {      diff=parseInt(k1.value)-parseInt(k2.value);      if(diff<0)        return(-1);      else if(diff>0)        return(1);    };    k1=eval("frm.kdate_"+dn1+"_second");    k2=eval("frm.kdate_"+dn2+"_second");    if(k1)    {      diff=parseInt(k1.value)-parseInt(k2.value);      if(diff<0)        return(-1);      else if(diff>0)        return(1);    };    return(0);  }
