function clear_contact_form() {
	$('contact_description').value = '';
	$('contact_name').value = '';
	$('contact_email').value = '';
	$('contact_phone').value = '';
	$('city').value = '';
	$('state').value = 'California';
	$('contact_other_info').value = 'Any';
	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();
		var query = 'ajax=true';
		query += "&contact_name="+Base64.encode($('contact_name').value);
		query += "&contact_email="+Base64.encode($('contact_email').value);
		query += "&contact_description="+Base64.encode($('contact_description').value);
		query += "&contact_phone="+Base64.encode($('contact_phone').value);
		query += "&city="+Base64.encode($('city').value);
		query += "&state="+Base64.encode($('state').value);
		query += "&contact_current_url="+Base64.encode(window.location.href);
		query += "&contact_other_info="+Base64.encode($('contact_other_info').value);
		new Ajax.Request('staticfiles/contact_form/processor.php', {
			parameters: query,
			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();
					//For google analytics
					pageTracker._trackPageview("/contact_form" );
					placeAdwordsConversion();
				} 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;
	}
}
function placeAdwordsConversion() {
	try {
		var a = new Element('script', { 'type' : 'text/javascript' }).update("var google_conversion_id = 1042291355;\nvar google_conversion_language = 'en_US';\nvar google_conversion_format = '1';\nvar google_conversion_color = 'ffffff';\nvar google_conversion_label = 'PaSkCK_GjgEQm7WA8QM';");
		document.body.appendChild(a);
		var b = new Element('script', { 'type' : 'text/javascript', 'src' : 'http://www.googleadservices.com/pagead/conversion.js' });
		document.body.appendChild(b);
	} catch(err) {
		//Above script errors in IE, just append the image since this is the case.
		//alert(err.toString());
		var a = new Element('img', { 'src' : 'http://www.googleadservices.com/pagead/conversion/1042291355/?label=PaSkCK_GjgEQm7WA8QM&amp;guid=ON&amp;script=0', style : 'height:1px;width:1px;' });
		document.body.appendChild(a);
		alert('Called D');
	}
}
