function populate_contact_form(name, email, phone, description) {
	$('contact_name').value = name;
	$('contact_email').value = email;
	$('contact_phone').value = phone;
	$('contact_description').value = description;
}
function clear_contact_form() {
	populate_contact_form('', '', '', '');
	var contact_fields = $$('div#contactform .required');
	for(i=0;i<contact_fields.length;i++) {
		contact_fields[i].removeClassName("invalid");
	}
	var email_fields = $$('div#contactform .email');
	for(i=0;i<email_fields.length;i++) {
		email_fields[i].removeClassName("invalid");
	}
	var phone_fields = $$('div#contactform .phone');
	for(i=0;i<phone_fields.length;i++) {
		phone_fields[i].removeClassName("invalid");
	}	
	return false;
}
function contact_form_is_valid() {
	var contact_fields = $$('div#contactform .required');
	var is_valid = true;
	var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
	var phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
	for(i=0;i<contact_fields.length;i++) {
		if (contact_fields[i].value == "") {
			contact_fields[i].addClassName("invalid");
			is_valid = false;
		} else {
			contact_fields[i].removeClassName("invalid");
		}
	}
	var email_fields = $$('div#contactform .email');
	for(i=0;i<email_fields.length;i++) {
		if (emailRe.test(email_fields[i].value)) {
			email_fields[i].removeClassName("invalid");
		} else {
			email_fields[i].addClassName("invalid");
			is_valid = false;
		}
	}
	var phone_fields = $$('div#contactform .phone');
	for(i=0;i<phone_fields.length;i++) {
		if (phoneRe.test(phone_fields[i].value)) {
			phone_fields[i].removeClassName("invalid");
		} else {
			phone_fields[i].addClassName("invalid");
			is_valid = false;
		}
	}
	
	if(is_valid) {
		return true;
	} else {
		return false;
	}
}
function send_contact_form() {
	if(contact_form_is_valid()) {
		$('contact_inner_loader').show();
		new Ajax.Request('index.php?option=com_content&view=article&id=11&Itemid=29&ajax=true', {
			parameters: $('contact_form').serialize(true),
			onComplete: function(transport) {
				var contact_form_response = transport.headerJSON;
				if(contact_form_response.code == "Success") {
					alert(contact_form_response.message);
					$('contact_inner_loader').hide();
					clear_contact_form();
				} else {
					alert(contact_form_response.code+": "+contact_form_response.message);
					$('contact_inner_loader').hide();
				}
			},
			onFailure: function(transport) {
				alert('There was an error sending your message to the processor.');
				$('contact_inner_loader').hide();
			}
		});
		return false;
	} else {
		alert('Please enter the required information into the highlighted fields.');
		return false;
	}
}