// use this version for inputfield dates. (not dropdowns)

function checkLeapYear(iYear)
{
	return (((iYear % 4 == 0) && (iYear % 100 != 0)) || (iYear % 400 == 0)) ? 1 : 0;
}

function checkNumInput(sFieldValue)
{
	var sDigits = "0123456789"
	var sTemp
	var iCount
  	for (var iCount = 0; iCount < sFieldValue.length; iCount++)
  	{
		sTemp = sFieldValue.substring(iCount , iCount + 1);
		if (sDigits.indexOf(sTemp) == -1){ return true; }
	}
}

function checkAlphaInput(sFieldValue)
{
	var sDigits = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var sTemp
	var iCount
  	for (var iCount = 0; iCount < sFieldValue.length; iCount++)
  	{
		sTemp = sFieldValue.substring(iCount , iCount + 1);
		if (sDigits.indexOf(sTemp) == -1){ return true; }
	}
}

function checkEmail(sFieldName, sFormName)
{
   if (eval("document." + sFormName + "." + sFieldName + ".value.indexOf('@',0)==-1") || eval("document." + sFormName + "." + sFieldName + ".value.indexOf('@',0)== 0") || eval("document." + sFormName + "." + sFieldName + ".value.indexOf('.',0)==-1"))
   {
       	alert('Veuillez introduire une adresse e-mail valide');
		eval("document." + sFormName + "." + sFieldName + ".focus()");
		iError = 1;
	    return;
    }
}

function checkDate(sDateName, sFormName, sFieldNameDay, sFieldNameMonth, sFieldNameYear)
{

// declare variables

	var iNow = new Date();
	var iDay = iNow.getDate();
	var iMonth = iNow.getMonth() + 1;
	var iYear = iNow.getYear();

	if (iYear < 1000) { iYear = iYear + 1900 }

	aMonthDays = new Array(12);
	aMonthDays[1] = 31;
	aMonthDays[2] = 29;
	aMonthDays[3] = 31;
	aMonthDays[4] = 30;
	aMonthDays[5] = 31;
	aMonthDays[6] = 30;
	aMonthDays[7] = 31;
	aMonthDays[8] = 31;
	aMonthDays[9] = 30;
	aMonthDays[10] = 31;
	aMonthDays[11] = 30;
	aMonthDays[12] = 31;

	var sFieldValueDay = eval("document." + sFormName + "." + sFieldNameDay + ".value");
	var sFieldValueMonth = eval("document." + sFormName + "." + sFieldNameMonth + ".value");
	var sFieldValueYear = eval("document." + sFormName + "." + sFieldNameYear + ".value");

	var iFieldValueDay = parseInt(sFieldValueDay, 10);
	var iFieldValueMonth = parseInt(sFieldValueMonth, 10);
	var iFieldValueYear = parseInt(sFieldValueYear, 10);

// check length of datefields

  	if (sFieldValueDay.length != 2 || sFieldValueMonth.length != 2 || sFieldValueYear.length != 4)
  	{
	    alert(sDateName + ": Veuillez introduire une date valide (dd/mm/jjjj)");
		eval("document." + sFormName + "." + sFieldNameDay + ".focus()");
		iError = 1;
		return;
	}

// check days / month, month value, alphanumeric input

	if (iFieldValueDay > aMonthDays[iFieldValueMonth] || iFieldValueMonth > 12 || checkNumInput(sFieldValueDay) || checkNumInput(sFieldValueMonth) || checkNumInput(sFieldValueYear))
	{
		    alert(sDateName + ": n'est pas une date valide");
			eval("document." + sFormName + "." + sFieldNameDay + ".focus()");
			iError = 1;
			return;
	}

// check leap year

	if (iFieldValueDay == 29 && iFieldValueMonth == 2)
	{
		if (!checkLeapYear(iFieldValueYear))
		{
		    alert(sDateName + ": n'est pas une date valide");
			eval("document." + sFormName + "." + sFieldNameDay + ".focus()")
			iError = 1
			return
		}
	}

// check if date is date in the past - delete this if not used

/*	if ((iFieldValueYear > iYear) || (iFieldValueYear == iYear && iFieldValueMonth > iMonth) || (iFieldValueYear == iYear && iFieldValueMonth == iMonth && iFieldValueDay > iDay)){
		alert(sDateName + ": future date");
		eval("document." + sFormName + "." + sFieldNameDay + ".focus()")
		iError = 1
		return
	}
*/
// end function
}

function checkDateBeforeDate(sDateName1, sDateName2, sFormName, sField1NameDay, sField1NameMonth, sField1NameYear, sField2NameDay, sField2NameMonth, sField2NameYear)
{

	var iField1ValueDay = parseInt(eval("document." + sFormName + "." + sField1NameDay + ".value"), 10);
	var iField1ValueMonth = parseInt(eval("document." + sFormName + "." + sField1NameMonth + ".value"), 10);
	var iField1ValueYear = parseInt(eval("document." + sFormName + "." + sField1NameYear + ".value"), 10);
	var iField2ValueDay = parseInt(eval("document." + sFormName + "." + sField2NameDay + ".value"), 10);
	var iField2ValueMonth = parseInt(eval("document." + sFormName + "." + sField2NameMonth + ".value"), 10);
	var iField2ValueYear = parseInt(eval("document." + sFormName + "." + sField2NameYear + ".value"), 10);

	if ((iField2ValueYear < iField1ValueYear) || (iField2ValueYear == iField1ValueYear && iField2ValueMonth < iField1ValueMonth) || (iField2ValueYear == iField1ValueYear && iField2ValueMonth == iField1ValueMonth && iField2ValueDay < iField1ValueDay))
	{
	    alert(sDateName2 + ": est une date avant " + sDateName1);
		eval("document." + sFormName + "." + sField2NameDay + ".focus()");
		iError = 1;
		return;
	}
}

function checkEmptyField(sFieldTitle, sFieldName, sFormName)
{
	if (eval("document." + sFormName + "." + sFieldName + ".value.length == 0"))
	{
		alert("Veuillez introduire '" + sFieldTitle + "' s.v.p.");
		eval("document." + sFormName + "." + sFieldName + ".focus()");
		iError = 1;
		return;
	}
}

function enableField(sFieldName, sFormName)
{
	eval("document." + sFormName + "." + sFieldName + ".disabled = false");
}

function disableField(sFieldName, sFormName)
{
	eval("document." + sFormName + "." + sFieldName + ".disabled = true");
}

function checkEmptyDropDown(sFieldTitle, sFieldName, sFormName)
{
	if (eval("document." + sFormName + "." + sFieldName + ".options[document." + sFormName + "." + sFieldName + ".selectedIndex].value == '0'"))
	{
		alert("Choisi '" + sFieldTitle + "' s.v.p.")
		eval("document." + sFormName + "." + sFieldName + ".focus()")
		iError = 1
		return
	}
}
function checkEmptyDropDownSearch(sFieldTitle, sFieldName, sFormName)
{
	if (eval("document." + sFormName + "." + sFieldName + ".options[document." + sFormName + "." + sFieldName + ".selectedIndex].value.length == 0"))
	{
		alert("Choisi '" + sFieldTitle + "' s.v.p.")
		eval("document." + sFormName + "." + sFieldName + ".focus()")
		iError = 1
		return
	}
}
function checkEmptyDropDownProvince(sFieldTitle, sFieldName, sFormName)
{
	if (eval("document." + sFormName + "." + sFieldName + ".options[document." + sFormName + "." + sFieldName + ".selectedIndex].value.length == 'All provinces'"))
	{
		alert("Choisi '" + sFieldTitle + "' s.v.p.")
		eval("document." + sFormName + "." + sFieldName + ".focus()")
		iError = 1
		return
	}
}

function checkRadioButtonsChecked(sFieldTitle, sFieldName, sFormName, iNumber)
{
	var bIsChecked = false;
	for (counter = 0; counter < iNumber; counter++)
	{

		if (eval("document." + sFormName + "." + sFieldName + "[" + counter + "].checked == true"))
		{
			bIsChecked = true;
		}
	}
	if (bIsChecked == false)
	{
		alert("Choisi '" + sFieldTitle + "' s.v.p.");
		iError = 1;
		return;
	}
}
function checkPassword(sFieldName, sFieldNameReenter, sFormName)
{
	if (eval("document." + sFormName + "." + sFieldName + ".value") != eval("document." + sFormName + "." + sFieldNameReenter + ".value"))
	{
		alert("Le mot de passe et le mot de passe répété ne sont pas égal.")
		eval("document." + sFormName + "." + sFieldName + ".focus()")
		iError = 1
		return
	}
}