var http_request = false;
function init_http_request()
{
	http_request=false;
	if (window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
			}
		}
	}
}

function set_param(p, n, v)
{
	if(p=='')
	{
		return n + '=' + escape(v) . replace(/\+/g, '%2B') . replace(/\"/g,'%22') . replace(/\'/g, '%27') . replace(/\//g,'%2F');
	}
	else
	{
		return p + '&' + n + '=' + escape(v) . replace(/\+/g, '%2B') . replace(/\"/g,'%22') . replace(/\'/g, '%27') . replace(/\//g,'%2F');
	}
}

function g(id)
{
	return document.getElementById(id);
}

function hide(id)
{
	g(id).style.display = 'none';
}

function show(id)
{
	g(id).style.display = 'block';
}

function clear_err(l)
{
	for(var i=0; i<=l; i++)
	{
		g('err' + i).innerHTML = '';
	}
}

function contact(frm)
{
	var fname = frm.fname.value;
	var lname = frm.lname.value;
	var email = frm.email.value;
	var role = frm.role.value;
	var subject = frm.subject.value;
	var question = frm.question.value;
	clear_err(4);
	var err = false;
	if(fname == '')
	{
		err = true;
		g('err0').innerHTML = 'Required field cannot be left blank';
	}
	if(lname == '')
	{
		err = true;
		g('err1').innerHTML = 'Required field cannot be left blank';
	}
	if(email == '')
	{
		err = true;
		g('err2').innerHTML = 'Required field cannot be left blank';
	}
	else if(/^.+@.+\..{2,4}$/.test(email)==false)
	{
		err = true;
		g('err2').innerHTML = 'Please enter a valid email address';
	}
	if(subject == '')
	{
		err = true;
		g('err3').innerHTML = 'Required field cannot be left blank';
	}
	if(question == '')
	{
		err = true;
		g('err4').innerHTML = 'Required field cannot be left blank';
	}
	if(err)
	{
		location.href = '#';
		return false;
	}
	hide('submit');
	show('wait');
	param = set_param('', 'fname', fname);
	param = set_param(param, 'lname', lname);
	param = set_param(param, 'email', email);
	param = set_param(param, 'role', role);
	param = set_param(param, 'subject', subject);
	param = set_param(param, 'question', question);

	init_http_request();
	if(!http_request)
	{
		alert('JavaScript/XMLHTTP is either disabled or not supported by your browser.');
		return false;
	}
	http_request.onreadystatechange = proc_contact;
	http_request.open('POST', '/contact.html', true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send(param);
	return false;
}

function proc_contact()
{
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			var xmldoc = http_request.responseXML;
			var code = xmldoc.getElementsByTagName('code').item(0).firstChild.nodeValue;
			g('signup').innerHTML = '<h4>Your message has been sent</h4><p>You should receive a response by email from our support department within the next business day.</p>';
		}
		else
		{
			alert('Service Not Available');
		}
	}
}

