/* Add event listener */
addEvent(window, 'load', ajaxContact, false);

function ajaxContact() {
	var frmEl = document.getElementById('cForm');
	addEvent(frmEl, 'submit', validateFields, false);
	frmEl.onsubmit = function() { return false; }
}


/*
 * Input Validation
 */
function validateFields() {
	var frmEl = document.getElementById('cForm');

	var contact_name = document.getElementById('contact_name');
	var contact_email = document.getElementById('contact_email');
	var contact_subject = document.getElementById('contact_subject');
	var contact_message = document.getElementById('contact_message');
	var submit_language = document.getElementById('submit_language');
	//var strCC = document.getElementById('selfCC');
	
	var whiteSpace = /^[\s]+$/;

	var errorText = '';

	if ( contact_name.value == '' || whiteSpace.test(contact_name.value ) ) {
		if (submit_language.value == 'en') {
			errorText="* A contact name is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText="* Un nom est nécessaire.\n";
		}
	} 
	
	if ( contact_email.value == '' || whiteSpace.test(contact_email.value ) ) {
		if (submit_language.value == 'en') {
			errorText = errorText + "* An email address is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Une adresse courriel est nécessaire.\n";
		}
	} else if ( !emailValidator(contact_email.value) ) {	
	
		if (submit_language.value == 'en') {
			errorText = errorText + "* A valid email address is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Une adresse courriel valide est nécessaire.\n";
		}
	}
	 
	if ( contact_subject.value == '' || whiteSpace.test(contact_subject.value ) ) {
		if (submit_language.value == 'en') {
			errorText = errorText + "* A message subject is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Un sujet est nécessaire.\n";
		}
	}
	 
	if ( contact_message.value == '' || whiteSpace.test(contact_message.value) ) {
		if (submit_language.value == 'en') {
			errorText = errorText + "* A message body is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Un message est nécessaire.\n";
		}
	} 

	// if ( contact_email.value == '' && strCC.checked == true ) { }
	
	if (errorText != '') {
		if (submit_language.value == 'en') {
			alert("In order to proceed:\n\n" + errorText);	
		} else if (submit_language.value == 'fr') {
			alert("Afin de procéder:\n\n" + errorText);		
		}
		contact_name.focus();
	} else {
		sendcontact_email();
	}
}


/*
 * Send Email
 */
function sendcontact_email () {
	var contact_name = document.getElementById('contact_name');
	var contact_email = document.getElementById('contact_email');
	var contact_subject = document.getElementById('contact_subject');
	var contact_message = document.getElementById('contact_message');
	var submit_language = document.getElementById('submit_language');
	//var strCC = document.getElementById('selfCC').value;
	
	/* Page to call */
	var page = "request.php?function=contact&xml=false&lang=" + submit_language.value;
	
	
	// convert (&, +, =) to string equivs. Needed so URL encoded POST won't choke.
	var str1 = contact_name.value;
	str1 = clearAllWhiteSpace(str1);
	str1 = encodeURIComponent(str1);

	var str2 = contact_email.value;
	str2 = clearAllWhiteSpace(str2);
	str2 = encodeURIComponent(str2);

	var str3 = contact_subject.value;
	str3 = clearAllWhiteSpace(str3);
	str3 = encodeURIComponent(str3);

	var str4 = contact_message.value;
	str4 = clearAllWhiteSpace(str4);
	str4 = encodeURIComponent(str4);

	var stuff = "contact_name="+str1+"&contact_email="+str2+"&contact_subject="+str3+"&contact_message="+str4;

	/* SLEEP */
	sentTimer = setTimeout("clearForm()", 5000);
	
	/* Invoke Service Request */
	getServiceFeed('contactUsStatus', null, page, stuff);
}


/*
 * Clear form
 */
function clearForm() {
	var fieldArea = document.getElementById('contactFormArea');
	var inputs = fieldArea.getElementsByTagName('input');
	var inputsLen = inputs.length;
	var tAreas = fieldArea.getElementsByTagName('textarea');
	var tAreasLen = tAreas.length;

	// Now Hijack the form elements
	for ( i=0;i<inputsLen;i++ ) {
		if ( inputs[i].getAttribute('type') == 'text' ) {
			inputs[i].value = '';
		}
	}
	for ( j=0;j<tAreasLen;j++ ) {
		tAreas[j].value = '';
	}
	document.getElementById('contact_name').focus();
}

