//text field checks
	function isEmptyCheck(){
		var fieldName = isEmptyCheck.arguments[0];
	  	var compareNumber = isEmptyCheck.arguments[1];
	  	var alertText = isEmptyCheck.arguments[2];
	  		
	  	if (fieldName.value.length < compareNumber){
	    	ValidOk = false;
	    	alert('Please enter ' + alertText + '.');
	    	fieldName.focus();
	    	fieldName.select();
		}
	}

	function emailCheck(){
	  var fieldName = emailCheck.arguments[0];
	  var alertText = emailCheck.arguments[1];
	  
	  var AtSym = fieldName.value.indexOf('@');
	  var Period = fieldName.value.lastIndexOf('.');
	  var Space = fieldName.value.indexOf(' ');
	  var Length = fieldName.value.length - 1;   // Array is from 0 to length-1
	  if ((AtSym < 1) ||                 // '@' cannot be in first position
	  (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
	  (Period == Length ) ||             // Must be atleast one valid char after '.'
	  (Space  != -1)){                   // No empty spaces permitted
	 	ValidOk = false;
		alert('Please enter valid email address.');
		fieldName.focus();
		fieldName.select();
	  }
	  return true;
	}
	
	
	//Checks to make sure at least one radio button or chewck box is checked.
	function isChecked(){
		var fieldName = isChecked.arguments[0];
		var alertText = isChecked.arguments[1];
		var intNumOfButtons = fieldName.length;
		var i=0;
  
		while(i < intNumOfButtons){
			if (fieldName[i].checked == true){
				break;
			}
			i++;
  		}
		if(i == intNumOfButtons){
    		alert(alertText + '.');
			ValidOk = false;
		}
	}	
	
	
	function friendEmailCheck(){
	  var fieldName =  friendEmailCheck.arguments[0];
	  
	  var AtSym = fieldName.value.indexOf('@');
	  var Period = fieldName.value.lastIndexOf('.');
	  var Space = fieldName.value.indexOf(' ');
	  var Length = fieldName.value.length - 1;   // Array is from 0 to length-1
	  if ((AtSym < 1) ||                 // '@' cannot be in first position
	  (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
	  (Period == Length ) ||             // Must be atleast one valid char after '.'
	  (Space  != -1)){                   // No empty spaces permitted
	 	ValidOk = false;
		alert('Please enter your friends valid e-mail address.');
		fieldName.focus();
		fieldName.select();
	  }
	  return true;
	}
	
	function strCheck(){
	  var fieldName = strCheck.arguments[0];
	  var compareNumber = strCheck.arguments[1];
	  var alertText = strCheck.arguments[2];
	  
	  if ((fieldName.value.length < compareNumber) || (isNaN(fieldName.value) != true)){
	    ValidOk = false;
	    alert('Please enter your ' + alertText + '.');
	    fieldName.focus();
	    fieldName.select();
	  }
	}
	
	function isRegExp(str){
	var regExp = /^(\d{10}|\d{2} \d{4} \d{4}|\d{8}|\d{4} \d{3} \d{3}|\d{2} \d{8}|\d{4} \d{6}|\(\d{4}\) \d{3} \d{3}|\(\d{2}\) \d{4} \d{4}|\(\d{4}\)\d{6}|\(\d{2}\)\d{8})$/;
	return regExp.test(str);
	}

  function phoneCheck(){
	  	var fieldName = phoneCheck.arguments[0];
		var valid = true;
		var str = fieldName.value;
		if(!isRegExp(str)){
		    ValidOk = false;
			alert('Please enter a valid phone number');
	    	fieldName.focus();
	    	fieldName.select();
		}
	}
	
	function dob_yearCheck(){
	  var fieldName = dob_yearCheck.arguments[0];
	  var alertText = dob_yearCheck.arguments[1];
	  if ((fieldName.value.length < 4) || (fieldName.value.length > 4) || (isNaN(fieldName.value)) || (fieldName.value > 2001)){
	    ValidOk = false;
		alert('Please enter a valid ' + alertText + '.');
		fieldName.focus();
	    fieldName.select();
		return false;
	  }
	  return true;
	}

	function selectCheck(){
	  var fieldName = selectCheck.arguments[0];
	  var alertText = selectCheck.arguments[1];
	  if (((parseInt(navigator.appName.indexOf("Netscape")) == 0) && (parseInt(fieldName.selectedIndex) == 0))){
	    ValidOk = false;
	    alert('Please enter your ' + alertText + '.');
	  }else if(document.all){
	    if (parseInt(fieldName.selectedIndex) == 0){
          ValidOk = false;
	      alert('Please select your ' + alertText + '.');
		  fieldName.focus();
		}  
	  }  
	}
		
	function numCheck(){
	  var fieldName = numCheck.arguments[0];
	  var compareNumber = numCheck.arguments[1];
	  var alertText = numCheck.arguments[2];
	  if ((isNaN(fieldName.value) == true) || (fieldName.value.length < compareNumber)){
	    ValidOk = false;
	    alert('Please enter a valid ' + alertText + '.');
	    fieldName.focus();
	    fieldName.select();
	  }
	}

//radio button checks gender
	function genderCheck(){
	  var fieldName = genderCheck.arguments[0];
	  
	  if (fieldName[0].checked != true && fieldName[1].checked != true){
	    ValidOk = false;
	    alert("Please select your gender");
	  }
	}
	
	function prizeCheck(){
	  var fieldName = prizeCheck.arguments[0];
	  
	  if (fieldName[0].checked != true && fieldName[1].checked != true){
	    ValidOk = false;
	    alert("Please select one of the prizes");
	  }
	}
	
	function parentCheck(){
	  var formName   = parentCheck.arguments[0];
	  var fieldName  = parentCheck.arguments[1];
	  var parentName = formName.parentName;
	  
	  if (fieldName.checked == true){
	    strCheck(parentName,1,'parent name');
	  }
	}
	
	function discCheck(){
	  var fieldName  = discCheck.arguments[0];
	  
	  if (!fieldName.checked){
	    ValidOk = false;
	    alert("You must tick the box.");
	  }
	}
	
//radio button checks gender
	function methodofContactCheck(){
	  var fieldName = methodofContactCheck.arguments[0];
	  
	  if (fieldName[0].checked != true && fieldName[1].checked != true){
	    ValidOk = false;
	    alert("Please select your method of contact");
	  }
	}	

//Multiple Field Processes
	// This process checks that if the checkbox has been checked then something must be selected in the dropdown
	// if checkbox is selected then the drop down box must not equal 0 (0 = the first field)
	function checkboxDropdownCheck(){
	  var checkBoxFieldName = checkboxDropdownCheck.arguments[0];
	  var selectFieldName = checkboxDropdownCheck.arguments[1];
	  var alertText = checkboxDropdownCheck.arguments[2];
 	  if (checkBoxFieldName.checked == true && ((parseInt(navigator.appName.indexOf("Netscape")) == 0) && (parseInt(selectFieldName.selectedIndex) == 0)) ||
		checkBoxFieldName.checked == true && ((parseInt(navigator.appName.indexOf("Netscape")) != 0) && (parseInt(selectFieldName.selectedIndex) <= 0))){
		ValidOk = false;
		alert(alertText);
	  }
 	}

	// is at least one check box checked????
	function isCheckBoxChecked(){
	var formName = isCheckBoxChecked.arguments[0];
	var count = isCheckBoxChecked.arguments[1];
	var counter=0;
	while (count < 6)
	{
		if (formName.elements[count].checked == true)
		{
			counter++;

			break;
		}
		count++;
	}

	if (counter == 0)
	{
		alert("Please check at least one box");
		ValidOk = false;
	}
	}
