<!--
//#############################################################################
//# Copyright TouchScreenData Ltd. 2004
//#
//# Author 	: R.Parkins
//#
//# Company 	: TouchScreenData Ltd.
//#
//# Date 		: March 2004
//#
//# This file must not be used either in part or whole without the express 
//# permission of Jonathan Walker and Richard Parkins.
//#
//#############################################################################
function validateTextRequired(formField,fieldLabel)
{
	if (formField.value == "")
	{
		alert('' + fieldLabel +'');
		formField.focus();
		return false;
	}
	
	return true;
}

function isTextSet(formField)
{
	if (formField.value == "") {
		return false;
	}
	
	return true;
}

function validateRadioButtonRequired(formField,fieldLabel)
{   for (var i = 0; i < formField.length; i++)
    {   
		if (formField[i].checked) 
		{
			return true;
		}
    }

	alert('Please select a value for "' + fieldLabel+'".');
	return false;
}

function isRadioButtonRequired(formField) {   
	if (typeof(formField.length) == "undefined") {
		return formField.checked;	
	}

	for (var i = 0; i < formField.length; i++) {   
		if (formField[i].checked) {
			return true;
		}
    }

	return false;
}

function validateSelectionRequired(formField,fieldLabel)
{
	if (formField.selectedIndex == 0)
	{
		alert('Please select a value for the "' + fieldLabel +'" field.');
		formField.focus();
		return false;
	}
	
	return true;
}

function isSelectionSet(formField)
{
	if (formField.selectedIndex == 0) {
		return false;
	}
	
	return true;
}

function validateCheckTextRequired(formField,fieldLabel,txtarray)
{
	entry = formField.value.toUpperCase();

	if (formField.value.length == 0) {
		if (fieldLabel.length != 0) {
			alert('Please enter a valid value from the set "'+txtarray+'" for the "' + fieldLabel +'" field.');
		}
		
		return false;
	}
	
	for (i=0; i < formField.value.length; i++) {
		if (txtarray.indexOf(entry.charAt(i)) < 0) {
			if (fieldLabel.length != 0) {
				alert('Please enter a valid value from the set "'+txtarray+'" for the "' + fieldLabel +'" field.');
			}
			
			return false;
		}
	}
	
	return true;
}

function isCheckTextRequired(formField, txtarray)
{
	entry = formField.value.toUpperCase();

	if (formField.value.length == 0) {
		return false;
	}
	
	for (i=0; i < formField.value.length; i++) {
		if (txtarray.indexOf(entry.charAt(i)) < 0) {
			return false;
		}
	}
	
	return true;
}

function checkTextLength(formField,fieldLabel, length) {
	if (formField.value.length > length) {
		alert('Your entry for "' + fieldLabel +'" is too long. Please limit to ' + length +' characters');
		return false;
	}
	
	return true;
}

//check password to have alpha and numeric characters;
function checkPassword(formField, min_length, max_length) {
	ret = true;
	val = formField.value;
	afound = false;
	nfound = false;
	
	alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	numeric = "0123456789";
	
	for (i = 0;  i < val.length;  i++) {
		found = false;
		ch = val.charAt(i);
		
		for (j = 0;  j < alpha.length;  j++) {
			
			if (ch == alpha.charAt(j)) {
				found = true;
				afound = true;
				break;
			} else {
				for (k = 0;  k < numeric.length;  k++) {
					if (ch == numeric.charAt(j)) {
						nfound = true;
						found = true;
						break;
					}
				}
			}
		}
		
		if (found == false) {
			ret = false;
			break;
		}
	}

	if (nfound == false || afound == false) {
		ret = false;
	}
	
	if (formField.value.length > max_length) {
		ret = false;
	}
	
	if (formField.value.length < min_length) {
		ret = false;
	}
	
	if (ret == false) {
		alert('Passwords must only contain alphanumeric characters, and be a minimum of '+min_length+' and a maximum of '+max_length+' characters, AND contain at least 1 alpha and 1 numeric character.');
	}

	return ret;
}


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 check_date(field){
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = ".";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;

   err = 0;
   DateValue = field;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
		return true;
		//      DateField.value = day + seperator + month + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert("Your date is incorrect!");
	  return false;
   }
}

//-->