// JavaScript Document
var iconRedX = '<img src="images/red_icon_x.gif" width="11" height="11" border="0" />';
var iconGreenCheck = '<img src="images/red_green_check.gif" width="11" height="11" border="0" />';

function getHTTPObject()
{
	if (window.ActiveXObject) 
		return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) 
		return new XMLHttpRequest();
	else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}
function confirmFields(element, conElement)
{
	var field = document.getElementById(element);
	var conField = document.getElementById(conElement);
	if(field.value == conField.value)
	{
		return true;
	}
	return false;
}
function checkAllFields()
{
	var valid = true;
	if(!$('iconEmailCheck').visible())
	{
		valid = false;
	}
	if(!$('iconUserCheck').visible())
	{
		valid = false;
	}
	if(!$('iconPassCheck').visible())
	{
		valid = false;
	}
	if(!$('iconFirstCheck').visible())
	{
		valid = false;
	}
	if(!$('iconLastCheck').visible())
	{
		valid = false;
	}
	if(!$('iconPostCheck').visible())
	{
		valid = false;
	}
	if(!$('iconBdayCheck').visible())
	{
		valid = false;
	}
	if(!$('agreeToTerms').checked)
	{
		valid = false;
	}
}

function validation(functionCall, element)
{
	switch(functionCall)
	{
		case 'validateEmail' : validateEmail(element); break;
		case 'validateUsername' : validateUsername(element); break;
		case 'validatePassword' : validatePassword(element); break;
		case 'validateFirstName' : validateFirstName(element); break;
		case 'validateLastName' : validateLastName(element); break;
		case 'validatePostcode' : validatePostcode(element); break;
		case 'validateBirthday' : validateBirthday(element); break;
	}
}

function validateEmail(element)
{
	var valid = true;
	if(confirmFields('email','conEmail') === false)
	{
		valid = false;
	}
	var at = "@";
	var dot = ".";
	var lat = element.value.indexOf(at);
	var lstr = element.value.length;
	var ldot = element.value.indexOf(dot);
	if (element.value.indexOf(at)==-1)
	{
		valid = false;
	}
	$('iconEmailCheck').hide();
	$('iconEmailX').hide();
	if(valid)
	{
		$('iconEmailCheck').appear();
	}
	else
	{
		$('iconEmailX').appear();
	}
	return;
}

function validateUsername(element)
{
	var url = "validateUsername&username=" + encodeURIComponent(element.value);
	var fullurl = 'inc/ajax.php?do=' + url;
	$('iconUserCheck').hide();
	$('iconUserX').hide();
	new Ajax.Request(fullurl,
		{
			method: 'post',
			onSuccess: function(html)
						{
							if(html.responseText == "true")
							{
								$('iconUserCheck').appear();
							}
							else
							{
								$('iconUserX').appear();
							}
						},
			onFailure: function(html)
						{
							alert(html);
						}
		});
	
}

function validatePassword(element)
{
	var valid = true;
	if(confirmFields('regPassword','conPassword') === false)
	{
		valid = false;
	}
	$('iconPassCheck').hide();
	$('iconPassX').hide();
	if(valid)
	{
		$('iconPassCheck').appear();
	}
	else
	{
		$('iconPassX').appear();
	}
	return;
}

function validateFirstName(element)
{
	$('iconFirstCheck').hide();
	$('iconFirstX').hide();
	if(element.value.length > 1)
	{
		$('iconFirstCheck').appear();
	}
	else
	{
		$('iconFirstX').appear();
	}
	return;
}

function validateLastName(element)
{
	$('iconLastCheck').hide();
	$('iconLastX').hide();
	if(element.value.length > 1)
	{
		$('iconLastCheck').appear();
	}
	else
	{
		$('iconLastX').appear();
	}
	return;
}

function validatePostcode(element)
{
	$('iconPostCheck').hide();
	$('iconPostX').hide();
	if(element.value.length == 5)
	{
		$('iconPostCheck').appear();
	}
	else
	{
		$('iconPostX').appear();
	}
	return;
}

function validateBirthday(element)
{
	$('iconBdayCheck').hide();
	$('iconBdayX').hide();
	var valid = true;
	if($('dobDay').value == "...")
	{
		valid = false;
	}
	if($('dobMonth').value == "...")
	{
		valid = false;
	}
	if(element.value.length != 4)
	{
		valid = false;
	}
	if(valid)
	{
		$('iconBdayCheck').appear();
	}
	else
	{
		$('iconBdayX').appear();
	}
	return;
}
