var AIM = {

	frame : function(c) {

		var n = 'f' + Math.floor(Math.random() * 99999);
		var d = document.createElement('DIV');
		d.innerHTML = '<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';
		document.body.appendChild(d);

		var i = document.getElementById(n);
		if (c && typeof(c.onComplete) == 'function') {
			i.onComplete = c.onComplete;
		}

		return n;
	},

	form : function(f, name) {
		f.setAttribute('target', name);
	},

	submit : function(f, c) {
		AIM.form(f, AIM.frame(c));
		if (c && typeof(c.onStart) == 'function') {
			return c.onStart();
		} else {
			return true;
		}
	},

	loaded : function(id) {
		var i = document.getElementById(id);
		if (i.contentDocument) {
			var d = i.contentDocument;
		} else if (i.contentWindow) {
			var d = i.contentWindow.document;
		} else {
			var d = window.frames[id].document;
		}
		if (d.location.href == "about:blank") {
			return;
		}

		if (typeof(i.onComplete) == 'function') {
			i.onComplete(d.body.innerHTML);
		}
	}

}

		function startCallback() {
		$('start').setStyle('display', 'block');								
			return true;
		}

		function completeCallback(response) {
		if (response=="invalidemail")
			{
				$('alert').removeClass('success');
				$('alert').addClass('error');								
				$('alert').setHTML("<span>The following information has to be corrected before you can get in touch with us:</span><ul><li>Your email address doesn't contain a valid format (E.g. user@domain.com)</li></ul>");
				$('alert').setStyle('display', 'block');				
				$('email').addClass('invalid');				
			}
			
		else
			{		
				$('alert').removeClass('error');
				$('alert').addClass('success');	
				$('alert').setStyle('display', 'block');								
				$('alert').setHTML(response);				
				$('orderForm').setStyle('display','none');
				
			}
		$('alert').setStyle('display', 'block');								
		$('start').setStyle('display', 'block');										
		}

window.addEvent('domready', function(){
updateTotal();
$('fname').addEvent('blur', function() {
									 
										 	var a=$('fname').getValue();
											document.forms[0].bfname.value=a;
										 	});
$('lname').addEvent('blur', function() {
									 
										 	var a=$('lname').getValue();
											document.forms[0].blname.value=a;
										 	});

$('email').addEvent('blur', function() {
										 	var a=$('email').getValue();
											document.forms[0].bemail.value=a;
										 	});

$('turnaround').addEvent('change', updateTotal);
$('subpages').addEvent('change', updateTotal);
$('integration').addEvent('change', updateTotal);
									 
$('orderForm').addEvent('submit', function(e) {

	$$('input').removeClass('invalid');
	$$('textarea').removeClass('invalid');				
	var fname=$('fname').getValue();
	var lname=$('lname').getValue();
	var email=$('email').getValue();
	var project=$('project').getValue();
	var details=$('details').getValue();
	var company=$('company').getValue();	
	var street1=$('street1').getValue();		
	var city=$('city').getValue();			
	var state=$('state').getValue();		
	var zip=$('zip').getValue();	
	var mathguard_answer=$('mathguard_answer').getValue();
	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
	if (fname=="" || lname=="" || email=="" || project=="" || details=="" || company=="" || street1=="" || city=="" || state=="" || zip=="" || mathguard_answer=="" || !reg.test($('email').value))
		{
		new Event(e).stop();
		$('alert').addClass('error');
		$('alert').removeClass('success');
		var msg="<span>Error! Please fix these fields before continuing:</span><ol>";
		if (fname=="")
			{
			msg = msg + "<li><strong>First Name:</strong> You must enter your first name.</li>";
			$('fname').addClass('invalid');
			}
		if (lname=="")
			{
			msg = msg + "<li><strong>Last Name:</strong> You must enter your last name.</li>";
			$('lname').addClass('invalid');
			}
		if (email=="")
			{
			msg = msg + "<li><strong>Email:</strong> You must enter your email.</li>";
			$('email').addClass('invalid');
			}
		if(!reg.test($('email').value) && !email=="") {
			msg = msg + "<li><strong>Email:</strong> You must enter a valid email address (E.g. user@domain.com).</li>";
			$('email').addClass('invalid');
			}
		if (project=="")
			{
			msg = msg + "<li><strong>Project Name:</strong> You must enter a project name.</li>";
			$('project').addClass('invalid');
			}
		if (details=="")
			{
			msg = msg + "<li><strong>Project Details:</strong> You must enter the project details.</li>";
			$('details').addClass('invalid');
			}
		if (company=="")
			{
			msg = msg + "<li><strong>Company Name:</strong> You must enter your company's name.</li>";
			$('company').addClass('invalid');
			}						
		if (street1=="")
			{
			msg = msg + "<li><strong>Street Address:</strong> You must enter your street address.</li>";
			$('street1').addClass('invalid');
			}									
		if (city=="")
			{
			msg = msg + "<li><strong>City:</strong> You must enter your city.</li>";
			$('city').addClass('invalid');
			}									
		if (state=="")
			{
			msg = msg + "<li><strong>State:</strong> You must enter your state.</li>";
			$('state').addClass('invalid');	
			}									
		if (zip=="")
			{
			msg = msg + "<li><strong>Zip:</strong> You must enter your ZIP/postal code.</li>";
			$('zip').addClass('invalid');
			}
		if (mathguard_answer=="")
			{
			msg = msg + "<li><strong>Security Question:</strong> You must enter the security question.</li>";
			$('mathguard_answer').addClass('invalid');
			}
		
		//Get Focus
		if (fname=="")
			{
			$('fname').focus();
			}
		else if (lname=="")
			{
			$('lname').focus();
			}
		else if (email=="")
			{
			$('email').focus();
			}
		else if (!reg.test($('email').value) && !email=="") {
			$('email').focus();
			}
		else if (project=="")
			{
			$('project').focus();
			}
		else if (details=="")
			{
			$('details').focus();
			}
		else if (company=="")
			{
			$('company').focus();
			}						
		else if (street1=="")
			{
			$('street1').focus();
			}									
		else if (city=="")
			{;
			$('city').focus();
			}									
		else if (state=="")
			{
			$('state').focus();
			}									
		else if (zip=="")
			{
			$('zip').focus();
			}
		else if (mathguard_answer=="")
			{
			$('mathguard_answer').focus();
			}
		else 
			{
			}
			
		msg = msg + "</ol>";
		$('alert').setHTML(msg);
		$('alert').setStyle('display', 'block');
		}
	else
		{		
		return AIM.submit(this, {'onStart' : startCallback, 'onComplete' : completeCallback})
		}
});
}); 

function updateTotal()
	{
		var a=$('turnaround').getValue();
		var b=$('subpages').getValue();
		var c=$('integration').getValue();		
		if (a==1)
			{
				total=75;
			}
		if (a==2)
			{
				total=50;
			}
		total += b*40;			

	switch(c)
		{
		case 'None':
			total += 0;
			break;		
		case 'WP':
			total += 150;
			break;
		case 'JO':
			total += 225;
			break;		case 'EE':			total += 225;			break;
		}
		
		msg="Total Cost: $"+total+" USD";
		$('total').setHTML(msg);
	}