var NUMBER = /^[\-]?\d*$/ ;
var REAL = /^[\-]?\d*\.?\d*$/;

var TEXTONLY = /^[a-zA-Z\.\-\s]*$/ ;
var PASSWORD = /^\w+$/ ;
var TEXT = /^[^<^>]*$/;

var DATE = /^(\d{1,2})\-(\d{1,2})\-(\d{4})$/;
var TIME = /^(\d{1,2})\:(\d{1,2})\:(\d{1,2})$/;

var EMAIL = /^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/;
var PHONE = /^[\d\s\-]+$/;

var OK = true;
var MESSAGE = "";


function showEMail ( username , domainname ) {
	document.write( username + '@' + domainname )
}

function showSendFriend ( type ) {
		document.getElementById('sendFriendBox').style.display = type;
}

function formChecker(f) {

	OK = true;
	MESSAGE = "";
	var i,x;
	var ok = true;
	i = f.elements.length;
	
	for (x=0;x<i;x++)
	{
		if(f.elements[x].attributes.getNamedItem('checkit'))
		{
			checkNow(f.elements[x]);
		}
	}
	if (!OK)
	{
		alert(MESSAGE);
	}
	return OK;
}

function checkNow(f)
{
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	switch(type[0])
	{
			
		case "text":
			return checkString(f,TEXT);
			break;
			
		case "email":
			return checkString(f,EMAIL);
			break;

		case "match":
			return checkMatch(f);
			break;				
			
		case "radio":
			return checkRadio(f);
			break;	
			
		case "county":
			return checkCounty(f);
			break;	
			
		default:
			
	}
}

function checkString(f,regX)
{
	var type = f.attributes.getNamedItem('checkit').value.split('|');

	if (f.value == "")
	{
		return finish(f,type);
	}
		
	if(!regX.test(f.value))
	{
		return finish(f,type);
	}

	if (type[2])
	{
		var minimum = type[2];
		if ((f.value.length < parseInt(minimum)))
			return finish(f,type);
		else
			return true;
	}
	
}

function checkMatch(f)
{
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	controlToMatch = type[2];

	if (f.value==document.getElementById(controlToMatch).value)
		return true;
	else
		return finish(f,type);
}

function checkRadio(f)
{
	var checked=false;
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	var inputs = document.getElementsByTagName ('input');
	if (inputs) 
	{
		for (var i = 0; i < inputs.length; ++i) 
		{
			if (inputs[i].type == 'radio' && inputs[i].name == f.name)
			if (inputs[i].checked)
			checked=true; 
		}
	}

	if (!checked)
		return finish(f,type);
}

function checkCounty(f)
{
	var checked=false;
	var type = f.attributes.getNamedItem('checkit').value.split('|');
	if(f.selectedIndex<1)
	{
		checked=false;	
	}
	else
	{
		checked=true; 	
	}

	if (!checked)
		return finish(f,type);
}


function finish(f,type)
{
	MESSAGE += type[1] + "\n";
	OK=false;
	return false;
}
