function submitGenericErrorContactForm(form)
{	
	removeStaticMessage();
	removeSingleErrorMessage("forename");
	removeSingleErrorMessage("surname");
	removeSingleErrorMessage("fromemail");

	if (form.forename == null || form.forename.value.length < 1)
	{
		setErrorMessage("forename", Common.errorMessages["REQUIRED_FIRSTNAME"]);
		form.forename.focus();
		setError(true);
	}
	if (form.surname == null || form.surname.value.length < 1)
	{
		setErrorMessage("surname", Common.errorMessages["REQUIRED_LASTNAME"]);
		form.surname.focus();
		setError(true);
	}
	if (form.fromemail == null || form.fromemail.value.length < 1)
	{
		setErrorMessage("fromemail", Common.errorMessages["REQUIRED_EMAIL"]);
		form.fromemail.focus();
		setError(true);
	}
	if (!(checkEmail(form.fromemail.value))) 
	{
		setErrorMessage("fromemail", Common.errorMessages["WISHLIST_INVALIDEMAILFORMAT"]);
		form.fromemail.focus();
		setError(true);
	}
	
	//form.notes.value = encodedNotes + errorString; 

	if (!getError() && !getBusy())
	{
		var encodedNotes = form.notes.value + ' ';
	
		//Detect Browser and Operating System
		form.appendChild( createElement("AppCodeName", navigator.appCodeName) );
		form.appendChild( createElement("AppName", navigator.appName) );
		form.appendChild( createElement("AppVersion", navigator.appVersion) );
		form.appendChild( createElement("UserAgent", navigator.userAgent) );
		form.appendChild( createElement("Platform", navigator.platform) );
		
		//need to encode the notes area in case the customer puts any weird characters in (£, $ etc)
		encodedNotes = encodeURIComponent(encodedNotes);
	
		setBusy(true);
		form.submit();
	}
}

function removeStaticMessage()
{
	var errorBox = document.getElementById("pageErrors");
	errorBox.className = "hide";
}

function createElement(name, value) 
{
	var inputElement = document.createElement("input");
	inputElement.type = "HIDDEN";
	inputElement.name = name;
	inputElement.value = value;
	
	return inputElement;
}

function submitContactForm(form, userType)
{
	if (userType == "G")
	{
		removeErrorBar();
		removeSingleErrorMessage("forename");
		removeSingleErrorMessage("surname");
		removeSingleErrorMessage("fromemail");
	
		if (form.forename == null || form.forename.value.length < 1)
		{
			setErrorMessage("forename", Common.errorMessages["REQUIRED_FIRSTNAME"]);
			form.forename.focus();
			setError(true);
		}
		if (form.surname == null || form.surname.value.length < 1)
		{
			setErrorMessage("surname", Common.errorMessages["REQUIRED_SURNAME"]);
			form.surname.focus();
			setError(true);
		}
		if (form.fromemail == null || form.fromemail.value.length < 1)
		{
			setErrorMessage("fromemail", Common.errorMessages["REQUIRED_EMAIL"]);
			form.fromemail.focus();
			setError(true);
		}
		if (!(checkEmail(form.fromemail.value))) 
		{
			setErrorMessage("fromemail", Common.errorMessages["WISHLIST_INVALIDEMAILFORMAT"]);
			form.fromemail.focus();
			setError(true);
		}
	}
	else
	{
		removeErrorBar();
		removeSingleErrorMessage("name");
		removeSingleErrorMessage("fromemail");
	
		if (form.name == null || form.name.value.length < 1)
		{
			setErrorMessage("name", Common.errorMessages["REQUIRED_FIELD_ENTER"]);
			form.name.focus();
			setError(true);
		}
		if (form.fromemail == null || form.fromemail.value.length < 1)
		{
			setErrorMessage("fromemail", Common.errorMessages["REQUIRED_EMAIL"]);
			form.fromemail.focus();
			setError(true);
		}
		if (!(checkEmail(form.fromemail.value))) 
		{
			setErrorMessage("fromemail", Common.errorMessages["WISHLIST_INVALIDEMAILFORMAT"]);
			form.fromemail.focus();
			setError(true);
		}
	}
	if (!getError() && !getBusy())
	{
		var encodedNotes = 'Enquiry/problem is: ' + '<fmt:message bundle="${storeText}" key="${WCParam.msg}"/>' + '  ';
		encodedNotes     = encodedNotes + 'Notes: ' + form.extraInfo.value + ' ' ;
			
		var now = new Date();
		encodedNotes     = encodedNotes + ' ' + 'Submitted at: ' + now.toLocaleString();
	
		//Detect Browser and Operating System
			
		encodedNotes = encodedNotes+"\nAppCodeName: "+navigator.appCodeName;
		encodedNotes = encodedNotes+"\nAppName: "+navigator.appName;
		encodedNotes = encodedNotes+"\nAppVersion: "+navigator.appVersion;
		encodedNotes = encodedNotes+"\nUserAgent: "+navigator.userAgent;
		encodedNotes = encodedNotes+"\nPlatform: "+navigator.platform;
		
		//need to encode the notes area in case the customer puts any weird characters in (£, $ etc)
		encodedNotes = encodeURIComponent(encodedNotes);
			
		form.notes.value = encodedNotes;
	}
	
	if (!getError() && !getBusy())
	{
		setBusy(true);
		//alert("submitted");
		form.submit();
	}
}
			
