// Ajax Controller
var xmlHttp;
var requestType;
var div;
function createXMLHttpRequest() {
	if(window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if(window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	}
}

function startRequest( url, qry, type , divid) {
	div = divid;
	createXMLHttpRequest();
	xmlHttp.onreadystatechange = handleStateChange;
	xmlHttp.open(type, url, true);
	if(type == 'POST') {
		xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
		xmlHttp.send(qry);
	} else {
		xmlHttp.send(null);
	}
}
	
function handleStateChange() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			document.getElementById(div).innerHTML = xmlHttp.responseText;
		}
	}
}




// E-Mail Controller

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


// Form controller


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 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)
	{
		showAlert(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;
		
		case "select":
			return checkSelect(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 checkSelect(a)
{
	var splits=a.attributes.getNamedItem('CheckIt').value.split('|');
	if (a.selectedIndex<1)
		return finish(a,splits);
}

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 finish(f,type)
{
	var browser=navigator.appName;
	var version=navigator.appVersion;

	if((browser.indexOf("Microsoft") >= 0 && version.indexOf("MSIE 7.0") >= 0))
		MESSAGE += type[1] + "<br>";
	else 
		MESSAGE += type[1] + "\n";
	
	OK=false;
	return false;
}


function showAlert(msg)
{
	var browser=navigator.appName;
	var version=navigator.appVersion;

	if((browser.indexOf("Microsoft") >= 0))
		var b='1';
	if((browser.indexOf("Microsoft") >= 0 && version.indexOf("MSIE 7.0") >= 0))
		var b='2';
	else 
		var b = '1';
	if(b==1)
	{
		alert(msg);
	}
	else
	{
		document.getElementById('alertBackGround').style.visibility="visible";
		document.getElementById('alertBackGround').style.display="block";
		document.getElementById('alertBoxBackGround').style.visibility="visible";
		document.getElementById('alertBoxBackGround').style.display="block";

		createAlertBackground();
		document.getElementById('alertBoxAlert').innerHTML = msg + '<br /><br /><input  type="button" value="CLOSE" onclick="closeAlertBox()" />';
		var loc = alertGetCenter();
		document.getElementById('alertBoxContainer').style.top = loc.y - 250;
		document.getElementById('alertBoxContainer').style.left = loc.x - 210;
		document.getElementById('alertBackGround').style.width = loc.w;
		document.getElementById('alertBackGround').style.height = loc.h;
		document.getElementById('alertBoxBackGround').style.width = loc.w;
		document.getElementById('alertBoxBackGround').style.height = loc.h;
	}
}
function createAlertBackground()
{
	document.getElementById('alertBoxBackGround').innerHTML='<div class="alertBoxContainer" id="alertBoxContainer"><div id="alertBoxTitle">ALERT</div><div id="alertBoxAlert"></div></div>';
}
function closeAlertBox()
{
	var browser=navigator.appName;
	var version=navigator.appVersion;
	if((browser.indexOf("Microsoft") >= 0 && version.indexOf("6.") >= 0 && version.indexOf("7.")==0) )
		var b='1';
	if(b!=1)
	{
		document.getElementById('alertBoxAlert').innerHTML='';
		document.getElementById('alertBoxBackGround').innerHTML='';
		document.getElementById('alertBackGround').style.visibility="hidden";
		document.getElementById('alertBackGround').style.display="none";
		document.getElementById('alertBoxBackGround').style.visibility="hidden";
		document.getElementById('alertBoxBackGround').style.display="none";
	}
}

function alertGetCenter()
{
	var ns4=document.layers
	var ie4=document.all
	var ns6=document.getElementById&&!document.all
	var isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
	var clientHeight;
	var clientWidth;
	var docTop;
	var docLeft;
	
	if (ie4) 
	{
		clientHeight = document.body.clientHeight;
		clientWidth = document.body.clientWidth;
		docTop = document.body.scrollTop;
		docLeft = document.body.scrollLeft;
	} 
	else if (ns4 || ns6)
	{
		clientHeight = window.innerHeight - 20;
		clientWidth = window.innerWidth - 20;
		docTop = window.pageYOffset;
		docLeft = window.pageXOffset;
	}
    
	var loc = new Object();
	loc.x = docLeft + clientWidth/2 + 50;
	if(clientHeight < 600)
		loc.y = docTop + clientHeight/2 + 200;
	else
		loc.y = docTop + clientHeight/2 - 200;
	loc.y = 400;
	loc.w = clientWidth + docLeft;
	loc.h = clientHeight + docTop + 100;
	return loc;
}

function GetCenter()
{
	var browser=navigator.appName;
	var version=navigator.appVersion;
	var ns4=document.layers
	var ie4=document.all
	var ns6=document.getElementById&&!document.all
	var isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
	var clientHeight;
	var clientWidth;
	var docTop;
	var docLeft;
	
	if (ie4) 
	{
		clientHeight = document.body.clientHeight;
		clientWidth = document.body.clientWidth;
		docTop = document.body.scrollTop;
		docLeft = document.body.scrollLeft;
	} 
	else if (ns4 || ns6)
	{
		clientHeight = window.innerHeight - 20;
		clientWidth = window.innerWidth - 20;
		docTop = window.pageYOffset;
		docLeft = window.pageXOffset;
	}
    
	var loc = new Object();
	
	if((browser.indexOf("Microsoft") >= 0 && version.indexOf("MSIE 7.0") >= 0))
	{
		loc.x = docLeft + clientWidth/2 - 150;
		loc.y = docTop + clientHeight/2 - 200;
	}
	else
	{
		loc.x = (docLeft + clientWidth/2 - 150) + 'px';
		loc.y = (docTop + clientHeight/2 - 100) + 'px';
	}
	
	return loc;
}
