<!--
// Non-Leap year Month days..
var DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
// Leap year Month days..
var lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

function getDaysOfMonth(monthNo, p_year) {
  if ((p_year % 4) == 0) {
    if ((p_year % 100) == 0 && (p_year % 400) != 0) {
      return DOMonth[monthNo-1];
    }
    return lDOMonth[monthNo-1];
  } else {
    return DOMonth[monthNo-1];
  }
}

function isDate(theDate) {
  if (theDate.indexOf('/')==-1) return false;
  if (theDate.lastIndexOf('/')==1) return false;

  var theDay = theDate.substring(0, theDate.indexOf('/'));
  var theMonth = theDate.substring(theDate.indexOf('/')+1, theDate.lastIndexOf('/'));
  var theYear = theDate.substring(theDate.lastIndexOf('/')+1);

  if (isNaN(theDay)) return false;
  if (isNaN(theMonth)) return false;
  if (isNaN(theYear)) return false;

  if ( (theDay>31)||(theDay<=0) ) return false;
  if ( (theMonth>12)||(theMonth<=0) ) return false;
  if ( (theYear>2100)||(theYear<1900) ) return false;

  if(theYear.length<4) return false;

  //Check for good days in value
  daysInMonth = getDaysOfMonth(theMonth, theYear);

  if (theDay>daysInMonth) return false;

  return true;
}

function MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,localetxt,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; localetxt=args[i+1]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve contenere un indirizzo e-mail.\n';
      } else if (test!='R') {
        if ( (test.indexOf('RisNum')!=-1)&&(isNaN(val)) ) errors+='- '+localetxt+' deve contenere un numero.\n';
        if ( (test.indexOf('RisDate')!=-1)&&(!isDate(val)) ) errors+='- '+localetxt+' deve contenere una data.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+localetxt+' è richiesto.\n'; }
  } if (errors) alert('I seguenti errore(i) sono stati rilevati:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function reloadBannerFrame(contestoBanner) {
  theURL = 'bannerFrame.jsp?contestoBanner=' + contestoBanner;
  parent.bannerFrame.location = theURL;
}
//-->
