function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
  result = true;
  }

  return result;
}

function validRequired(formField,fieldLabel)
{
  var result = true;
  if ((formField.value.length==0) || (formField.value==null))
  {
    alert('Per favore, inserisci un valore per il campo "' + fieldLabel +'".');
    formField.focus();
    result = false;
  }
  return result;
}

function validEmail(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;

  if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
  {
    alert("Per favore, inserisci un indirizzo mail completo Es. yourname@yourdomain.com");
    formField.focus();
    result = false;
  }

  return result;

}

function validNum(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;

   if (result)
   {
     var num = parseInt(formField.value,10);
     if (isNaN(num))
     {
       alert('Per favore inserisci un numero nel campo "' + fieldLabel +'".');
      formField.focus();
      result = false;
    }
  }

  return result;
}

function checkDate(daDate) {
	if (daDate.match(/(\d{1,2})-(\d{1,2})-(\d{4})/)) {
		var daMonth = parseInt(RegExp.$1) - 1
		var daDay   = parseInt(RegExp.$2)
		var daYear  = parseInt(RegExp.$3)
		var checkDate = new Date(daYear, daMonth, daDay)
		if ( (checkDate.getMonth()    == daMonth) &&
		     (checkDate.getDate()     == daDay  ) &&
		     (checkDate.getFullYear() == daYear )
		   ) {
		   	return
		}
	}
	alert ("Please enter a valid date: mm-dd-yyyy!")
}

function IsInteger(s) {
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (!((c >= "0") && (c <= "9"))) {
			return false;
		}
	}
  return true;
}

function isDate(days,months,years)
{

var a;
var m;
var d;

d = eval(days);
m = eval(months);
a = eval(years);

	if (a>1900 && a<2099)
		{
		  if (m>=1 && m<=12)
			{
			switch (m)
			{
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:
					if (d > 31 || d < 1)
					{
						return false;
					}
					break;
				case 4:
				case 6:
				case 9:
				case 11:
					if (d > 30 || d < 1)
					{
						return false;
					}
					break;
				case 2:
					if (((a % 4) == 0 && (a % 100) != 0 || (a % 400) == 0))
					{
						if (d > 29 || d < 1)
						{
							return false;
						}
					}
					else
					{
						if (d > 28 || d < 1)
						{
							return false;
						}
					}
					break;
				default :
				     return false;
			}
		}
		else return false;
	} else return false;
	return true;
}

function dateDiff(g1,m1,a1,g2,m2,a2) {
var one_day=1000*60*60*24;
date1 = new Date(a1, m1-1,g1);
date2 = new Date(a2,m2-1, g2);
diff  = new Date();

diff= Math.ceil((date2.getTime()-date1.getTime())/(one_day));

if (diff<0) {
 return false;
} else
	{
	 return true;
		}

return true;
}
