// JavaScript Document
function createXMLObj()
{
	try{
    	// Firefox, Opera 8.0+, Safari
    	return xmlHttp = new XMLHttpRequest();
    }
	
	catch(e){
    	// Internet Explorer
		try{
			return xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		
		catch(e){
			try{
				return xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			catch(e){
				alert("Your browser does not support AJAX!");
				return false;
			}
		  }
    }
}

//////////////////////////////////////////// FORMS
function chkFrm(frm,dest)
{
	document.body.style.cursor = 'wait';
	var xmlHttp		= false;
	var fields		= new Array();
	var ids			= new Array();
	var errorBox	= document.getElementById('error');
	errorBox.style.display 	= 'none';
	var values		= '';
	var errors		= '';
	var xmlHttp		= createXMLObj();
	
	//Get form names, values
	var form = document.getElementById(frm);
										 
	for(var f=0; f<form.length; f++)
	{
		fields[f] 	= document.getElementById(frm)[f];
		classN 		= fields[f].className;
		
		if(classN != 'notrequired')
		{
			if(fields[f].value == '' || checkValue(fields[f].value) && fields[f].type != 'hidden')
			{
				document.getElementById(fields[f].name).className = "errorBdr";
				if (document.getElementById(fields[f].name+'Label')) document.getElementById(fields[f].name+'Label').className = "error";
				errorBox.style.display 	= 'block';
				errors = true;	
				document.body.style.cursor = 'default';
			} else if(fields[f].name == 'email' && (!echeck(fields[f].value)))
			{
				document.getElementById(fields[f].name).className = "errorBdr";
				if (document.getElementById(fields[f].name+'Label')) document.getElementById(fields[f].name+'Label').className = "error";
				errorBox.style.display 	= 'block';
				errors = true;
				document.body.style.cursor = 'default';
			} else if((form.emailconfirm) && form.email.value != form.emailconfirm.value)
			{
				document.getElementById('email').className = "errorBdr";
				document.getElementById('emailLabel').className = "error";
				document.getElementById('emailconfirm').className = "errorBdr";
				document.getElementById('emailconfirmLabel').className = "error";
				errorBox.style.display 	= 'block';
				errors = true;
				document.body.style.cursor = 'default';
			} else
			{
				if(fields[f].type == 'text' || fields[f].type == 'select-one' && fields[f].type != 'hidden'){
					if (document.getElementById(fields[f].name).className !== 'defaultText defaultTextActive')document.getElementById(fields[f].name).className = '';
					if (document.getElementById(fields[f].name+'Label')) document.getElementById(fields[f].name+'Label').className = '';
					//errorBox.style.display 	= 'none';
				}
			}
		}
		
		values += fields[f].name+"="+fields[f].value+"&";
	}
	
	if(!errors)
	{
		errorBox.style.display 	= 'none';
		xmlHttp.open("POST", dest, true);
		
		xmlHttp.onreadystatechange = function(){
			if(xmlHttp.readyState == 4 && (xmlHttp.responseText)){
				var result = xmlHttp.responseText;
				window.location.href = result;
			}
		}
		
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttp.send(values);		
	}
}
//////////////////////////////////////////// CHECK EMAIL
function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false
	 }

	 return true					
}
