function validOrder(form)
{
	var count = 0;
	var i=0;
	for(i=0;i<34;++i)
	{		
		if(form[i].checked == true)
			++count;
	}

	if(count == 0)
	{
		alert("You have not selected a stand to order");
		return false;
	}
	
	if(checkEmpty(form.companyName, "Please enter your company name"))
		return true;
	
	return false;
}

function validHotelDinnerBooking(form)
{

	if(form.totalCost.value == "0")
	{
		alert("You have not ordered anything");
		return false;
	}
	else 
	{
		return validPayment(form);
	}
}

function validPayment(form) 
{
	if(	checkEmpty(form.firstName, "Please enter you first name") &&
		checkEmpty(form.lastName, "Please enter you last name") &&
		checkEmpty(form.address, "Please enter your address, e.g 15 The Street") &&
		checkEmpty(form.town, "Please enter your town/city, e.g Brighton") &&
		checkEmpty(form.postcode, "Please enter your post/zip code") &&
		checkEmpty(form.country, "Please enter your country") &&
		checkEmpty(form.email, "Please enter your email address, it will be used to send you booking confirmation") &&
		checkExpiryDate(form.expiryDate) && 
		checkCardNumber(form.cardNumber))
	  	return true
	else
		return false;
}

function checkEmpty(field, msg)
{
	  var value = field.value;

	  if (!(value=="")) { // if syntax is valid
		return true;
	  }
	  alert(msg); 
	  field.focus();
	  field.select();

	  return false;
}

// The below function is used because when using a 'select' box on a form, you
// cannot use the field.select() method. If you do, 'true' is always returned.
function checkNone(field, msg)
{
	  var value = field.value;

	  if (!(value=="none")) { // if syntax is valid
		return true;
	  }
	  alert(msg); 
	  field.focus();

	  return false;
}

function validVoteForm(form) 
{

	if( checkEmpty(form.Email, "Please enter your Email Address") &&
	    checkEmpty(form.RegNum, "Please enter your Registration Number") && 
		  checkNone(form.ID, "Please select a supplier") )
	{

		return true;
	}
	else
	{
	  return false;
	}

}

function validRegForm(form) 
{

	if( checkEmpty(form.Email, "Please enter your Email Address")  )
	{
		return true;
	}
	else
	{
	  return false;
	}

}
			
function checkExpiryDate(field) 
{

	var input = field.value;
	
	var today = new Date();
    var thisFullYear = "" + today.getFullYear();
	var thisYear = thisFullYear.charAt(2) + thisFullYear.charAt(3);
	var thisMonth = today.getMonth();

  	if ((input.length == 5)&&(input.charAt(2)=="/"))
	{
		var iMonth = (input.charAt(0) + input.charAt(1));
		var iYear = (input.charAt(3) + input.charAt(4));
		
		if((iYear == thisYear)&&(iMonth < thisMonth))
		{
			alert("Please enter a valid expiry date: Format is MM/YY");
			field.focus();
			field.select();
			return false;
		}
		
		if((iMonth <= "12")&&(iMonth >= "01") && (iYear<40) && (iYear>=thisYear)) 
		{
			return true;
		}
	}
	alert("Please enter a valid expiry date: Format is MM/YY");
	field.focus();
	field.select();
	return false;
}

function checkCardNumber(field)
{
	var cardNumber = field.value;
	
  	if (cardNumber.length == 16)
	{
		sum = 0; 
		mul = 1; 
		l = cardNumber.length;
		for (i = 0; i < l; i++) 
		{
			digit = cardNumber.substring(l-i-1,l-i);
			tproduct = parseInt(digit ,10)*mul;
			if (tproduct >= 10)
				sum += (tproduct % 10) + 1;
			else
				sum += tproduct;
			if (mul == 1)
				mul++;
			else
				mul--;
		}

		if ((sum % 10) == 0)
			return true;
	}
  	
	alert("Please enter a valid card number without spaces");
	field.focus();
	field.select();
	return false;

}

function writeNominateEmail()
{      	   
	var subject='Supplier Nomination';
	var body="Dear Strictly Formal," + '\u000B' + '\u000C' + "        I would like to nominate the following supplier to be placed on the supplier of the year voting list:"

	self.location="mailto:info@strictlyformal.net?subject="+subject +"&body="+body;
}