// short form for document.getElementById()
function ge(elementId)
{
	return document.getElementById(elementId);
}

// short form for document.getElementById().value
function gev(elementId)
{
	return document.getElementById(elementId).value;
}

function esc(stringToEscape)
{
	return encodeURIComponent(stringToEscape);
}

function egev(elementId)
{
	return esc(gev(elementId));
}

function getParams(params)
{
	var paramsStr = '';
	
	if(params != null)
	{
		for(var i = 0; i < params.length; i++)
		{
			if(i != 0)
			{
				paramsStr += '&';
			}
			
			if(ge(params[i]) == null)
			{
				alert('getArgs() error: ' + params[i]);
			}
			paramsStr += params[i] + '=' + egev(params[i]);
		}
		
		return paramsStr;
	}
	else
	{
		return '';
	}
}

function ajaxPostFunc(func, url, params)
{
	var xmlHttp;
	
	if (window.XMLHttpRequest)
	{
		// IE7+, Firefox, Chrome, Opera, Safari
		xmlHttp = new XMLHttpRequest();
	}
	else
	{
		// IE6, IE5
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
		{
			debugger;
			func(xmlHttp.responseText);
		}
	}
	
	xmlHttp.open("POST", url, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("connection", "close");
	xmlHttp.send(params);
}

// enter key pressed
function kp(e)
{
	return (e.keyCode == 13);
}

function kpe(e)
{
	return (e.keyCode == 27);
}

function pageLoad()
{
	if(typeof window.pageLoadTwo == 'function')
	{
		pageLoadTwo();
	}
}


var currentPopup = null;

function showInputPopup(divId)
{
	var div = ge(divId);
	
	if(currentPopup == null)
	{
		$('#' + divId).fadeIn(400);
		currentPopup = div;
	}
	else
	{
		$(currentPopup).hide();
		$('#' + divId).fadeIn(400);
		currentPopup = div;
	}
	
	ge('lightbox').style.height = document.body.scrollHeight + 'px';
	$('#lightbox').fadeIn(400);
}

function hideCurrentInputPopup()
{
	if(currentPopup != null)
	{
		$(currentPopup).fadeOut(300);
		$('#lightbox').fadeOut(300);
		currentPopup = null;
	}
}

function hideCurrentInputPopupOnEsc(e)
{
	if(kpe(e))
	{
		hideCurrentInputPopup();
	}
}



var submitting = false;
function SUBMIT_contact_form()
{
	if(!submitting)
	{
		IN_strVal('name');
		IN_emailVal('email');
		IN_strVal('message');
		
		if(!IN_thereAreErrors())
		{
			submitting = true;
			
			ge('submit_button').innerHTML = '<img src="' + path + 'images/ajax-load.gif"/>';
			
			var func = function(responseText)
			{
				submitting = false;
				ge('submit_button').innerHTML = 'Submit';
				ge('contact').style.overflow = 'hidden';
				ge('contact').style.borderColor = '#0D0';
				$('#contact').animate({height:60}, 500);
				$('#thanks').fadeIn(500);
				$('#formbody').fadeOut(500);
			}
			
			var url = path + 'contact.form.php';
			var params = getParams(new Array('name', 'email', 'telno', 'message'));
			
			ajaxPostFunc(func, url, params);
		}
		else
		{
			IN_clearErrors();
		}
	}
}

function showContactForm()
{
	var div = ge('contact');
	div.style.height = '420px';
	div.style.borderColor = '#EA9964';
	$('#thanks').hide();
	$('#formbody').show();
	showInputPopup('contact');
	ge('name').focus();
}
