var thisForm



/* ------------------------------------------ */
/* Support                                    */
/* ------------------------------------------ */

/* Tech support */

function validateSupportTechForm()	{

	var valid, errMsg;
	valid = true;
	errMsg = "There has been an error:\n";

	if (document.frmTechSupport.txtName.value == '')			{
		errMsg = errMsg + "\n - You must fill in your Name";
		valid = false;
	}

	// check for numbers
	if (document.frmTechSupport.txtCompany.value == '')			{
		errMsg = errMsg + "\n - You must fill in your Company";
		valid = false;
	}
		
	if (document.frmTechSupport.txtEmail.value == '')			{
		errMsg = errMsg + "\n - You must fill in your Email Address";
		valid = false;
	}	else	{
		var x = document.frmTechSupport.txtEmail.value;
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (filter.test(x))			{
			valid = true;
		} else {
			valid = false;
			errMsg = errMsg + "\n - You must fill in a valid Email Address";
		}
	}
		
		
	var myTelNo = document.getElementById('txtPhone').value;

	// If invalid number, report back error
	if (!checkUKTelephone(myTelNo))		{
		errMsg = errMsg + "\n - You must fill in a valid Telephone Number";
		valid = false;
	}	else	{
		// do nothing
	}
	
		
	if (document.frmTechSupport.ddlVersion.value == '')			{
		errMsg = errMsg + "\n - You must enter a Version";
		valid = false;
	}
	if (document.frmTechSupport.ddlModule.value == '')			{
		errMsg = errMsg + "\n - You must enter a Module";
		valid = false;
	}
		
	if (document.frmTechSupport.txtSubject.value == '')			{
		errMsg = errMsg + "\n - You must fill in a Question Summary";
		valid = false;
	}

	if (document.frmTechSupport.txtQuestion.value == '')			{
		errMsg = errMsg + "\n - You must fill in a Question";
		valid = false;
	}
	
	// only process the form if everythings okay
	if (valid)	{
	//	document.getElementById('frmTechSupport').submit();
		return true;
	}	else	{
		alert(errMsg);
		return false;
	}

}






function checkUKTelephone(telephoneNumber) {

  // Convert into a string and check that we were provided with something
  var telnum = telephoneNumber + " ";
  var valid = true;
  if (telnum.length == 1)  {
     valid = false;
  }
  telnum.length = telnum.length - 1;

  
  // Remove spaces from the telephone number to help validation
  while (telnum.indexOf(" ")!= -1)  {
    telnum = telnum.slice (0,telnum.indexOf(" ")) + telnum.slice (telnum.indexOf(" ")+1)
  }
  
  // Remove hyphens from the telephone number to help validation
  while (telnum.indexOf("-")!= -1)  {
    telnum = telnum.slice (0,telnum.indexOf("-")) + telnum.slice (telnum.indexOf("-")+1)
  }  
  
  // Now check that all the characters are digits
  exp = /^[0-9]{10,11}$/
  if (exp.test(telnum) != true) {
	  
     valid = false;
  }

  // Telephone number seems to be valid - return the stripped telehone number  
  return valid;
}

function unChanged(strVal) {
	elmVal = eval('document.' + thisForm + '.' + strVal +'.value');
	if (strVal == 'name' && elmVal == 'Name') {
		return false;
	} else if (strVal == 'email' && elmVal == 'Email') {
		return false;
	}
	return true;
}

function isEmpty(strVal) {
	elmVal = eval('document.' + thisForm + '.' + strVal +'.value');
	elmLen = elmVal.length;
	if (elmLen == null || elmLen == 0) {
		return false;
	}
	return true;
}

function checkTick(strVal) {
	elmVal = eval('document.' + thisForm + '.' + strVal +'.checked');
	if (!elmVal) {
		return false;
	}
	return true;
}

function checkEmail(strVal) {
	elmVal = eval('document.' + thisForm + '.' + strVal +'.value');
	testRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(elmVal);
	if (!testRe) {
		return false;
	}
	return true;
}

function checkOther(strVal, otherVal) {
	elmVal = eval('document.' + thisForm + '.' + strVal +'[3].checked');
	elmOtherVal = eval('document.' + thisForm + '.' + otherVal +'.value');
	elmOtherLen = elmOtherVal.length;
	if (elmVal && (elmOtherLen == 0)) {
		return false;
	} else if (elmOtherLen > 0) {
		document.questForm.Develop[3].checked = true;
	}
	return true;
}

function isDate(strVal) {
	sDate =  eval('document.' + thisForm + '.' + strVal +'.value');
	
	var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
	if (re.test(sDate)) {
	  var dArr = sDate.split("/");
	  var d = new Date(sDate);
	  return  (d.getDate() == dArr[0]) && (d.getMonth() + 1 == dArr[1]) && (d.getFullYear() == dArr[2]);
	}
	else {
	  return false;
	}
}