var isIE = (document.getElementById && document.all);
var isFF = (document.getElementById && !document.all);

var index = 0;
var width = 0;
var height = 0;	

var timeout = null;

function __get_vars()
{					
	aPageSizes = getPageSize();
	
	if(aPageSizes.length == 4)
	{
		width = aPageSizes[0];
		height = aPageSizes[1];
	}
}

function __update_height()
{
	if(isIE || isFF)
	{
		document.getElementById('contactForm').style.height = (height) + 'px';
	}
}

function __get_contact_form()
{
	if(isIE || isFF)
	{
		document.getElementById('contactForm').style.display = '';	
		document.getElementById('contactForm').style.height = height + 'px'; 			
		document.getElementById('contactFormContent').style.left = (width-645)/2 + 'px';		
		
		window.scrollTo(0,0);
		Spry.Effect.AppearFade('contactForm', {duration: 1000, from: 0, to: 80, toggle: false});
		
		__trigger_up();	
	}
}

function __hide_contact_form()
{
	if(isIE || isFF)
	{	
		document.getElementById('contactFormContent').style.display = 'none';
		Spry.Effect.AppearFade('contactForm', {duration: 1000, from: 80, to: 0, toggle: false});
		
		__trigger_down();
	}
}

function __trigger_up()
{
	if(isIE || isFF)
	{
		if(index < 2)
		{
			index += 1;			
			timeout = setTimeout('__trigger_up()',1000);	
		}
		else
		{
			if(timeout != null)
			{				
				clearTimeout(timeout);
			}
			
			document.getElementById('contactFormContent').style.display = '';
			
			__get_vars();
			__update_height();
			
			return false;
		}
	}
}

function __trigger_down()
{
	if(isIE || isFF)
	{
		if(index > 0)
		{
			index -= 1;			
			timeout = setTimeout('__trigger_down()',1000);	
		}
		else
		{
			if(timeout != null)
			{	
				index = 0;
				clearTimeout(timeout);
			}
			
			document.getElementById('contactForm').style.display = 'none';
						
			return false;
		}
	}
}

function __handle_input()
{
	var formObject = document.forms['theForm'];
	
	if(formObject)
	{
		if(formObject['website'].value.replace(/\s+/g,'').length > 0) 
		{
			if(formObject['website'].value.substring(0,7) != "http://")
			{
				formObject['website'].value = "http://" + formObject['website'].value;
			}
		}
	}
}

function __submit_form()
{
	var formObject = document.forms['theForm'];
	var error = false;
	
	var regexp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	
	if(formObject)
	{
		if(formObject['firstname'].value.replace(/\s+/g).length == 0)
		{
			error = true;
			
			alert('Please enter your first name ! ');
			formObject['firstname'].focus();
		}
		else if(formObject['lastname'].value.replace(/\s+/g).length == 0)
		{
			error = true;
			
			alert('Please enter your last name ! ');
			formObject['lastname'].focus();
		}
		else if(formObject['email'].value.replace(/\s+/g,"").length == 0)
		{
			error = true;
			
			alert('Please enter your email address ! ');
			formObject['email'].focus();
		}
		else if(formObject['email'].value.search(regexp) == -1)
		{
			error = true;
			
			alert('Please enter a valid email address ! ');
			formObject['email'].focus();
		}
		else if(formObject['phone'].value.replace(/\s+/g,"").length == 0)
		{
			error = true;
			
			alert('Please enter your phone number ! ');
			formObject['phone'].focus();
		}
		
		if(error)
		{
			return false;
		}	
		else
		{
			var XMLHttpObject = __xmlhttp_request();
			
			if(XMLHttpObject)
			{	
				XMLHttpObject.open('POST','rpc.php?mode=contact',true);
				
				XMLHttpObject.onreadystatechange = function()
				{
					if(XMLHttpObject.readyState == 4)
					{
						if(XMLHttpObject.status == 200)
						{	
							var xmlData = XMLHttpObject.responseXML;
							
							if(xmlData.getElementsByTagName('response')[0].firstChild.nodeValue.toLowerCase() == "false")
							{
								alert('Fatal Error ! ');
								return false;
							}
							else
							{								
								__hide_contact_form();
								formObject.reset();
								
								alert('Information was sent successfully. Thank you ! ');
								return false;
							}
						}
					}
				}
				
				string =  "firstname=" + formObject['firstname'].value + "&";
				string += "lastname=" + formObject['lastname'].value + "&";
				string += "email=" + formObject['email'].value + "&";
				string += "company=" + formObject['company'].value + "&";
				string += "website=" + formObject['website'].value + "&";
				string += "address=" + formObject['address'].value + "&";
				string += "city=" + formObject['city'].value + "&";
				string += "state=" + formObject['state'].value + "&";
				string += "zip=" + formObject['zip'].value + "&";
				string += "country=" + formObject['country'].value + "&";
				string += "phone=" + formObject['phone'].value + "&";
				string += "fax=" + formObject['fax'].value + "&";				
				string += "body=" + formObject['body'].value + "&";
				string += "source=" + formObject['source'].value + "&";
				string += "source_other=" + formObject['source_other'].value;
																
				XMLHttpObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				XMLHttpObject.send(string);
			}
		}			
	}
}

function __handle_source_selection(value)
{
	if(document.getElementById)
	{
		document.getElementById('other_text').style.display = (value.toLowerCase() == 'other' ? '' : 'none');
		document.getElementById('other_source').style.display = (value.toLowerCase() == 'other' ? '' : 'none');
	}
}

document.onload = __get_vars();