// 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,div)
{
	//document.body.style.cursor = 'wait';
	var xmlHttp		= false;
	var values		= '';
	var errors		= '';
	var div			= document.getElementById(div);
	var xmlHttp		= createXMLObj();
	
	//Get form names, values
	var form = document.getElementById(frm);
	
	for(var f=0; f<form.length; f++){
		field 	= form[f];
		classN 	= field.className;
		
		if(classN != 'notrequired')
		{
			if((field.value == '') || (field.value == 'null') && (field.type != 'hidden') && (field.type != 'button') && (field.type != 'reset'))
			{
				classN = "errorBdr";
				document.getElementById(field.name+'Label').className = "error";
				errors = true;
			} else if(field.name == 'email' && (!echeck(field.value)))
			{
				classN = "errorBdr";
				document.getElementById(field.name+'Label').className = "error";
				errors = true;
				//document.body.style.cursor = 'default';
			} else
			{
				if(field.type == 'text' || field.type == 'select-one' && field.type != 'hidden'){
					classN = 'input';
					document.getElementById(field.name+'Label').className = '';
				}
			}
		}
		
		values += field.name+"="+field.value+"&";
	};
	
	if(!errors)
	{
		xmlHttp.open("POST", dest, true);
		
		xmlHttp.onreadystatechange = function(){
			if(xmlHttp.readyState == 4 && (xmlHttp.responseText)){
				var result = xmlHttp.responseText;
				(div) ? div.style.display = 'none' : window.location.href = result ;
				resetForm(frm);
				//document.body.style.cursor = 'default';
			}
		}
		
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttp.send(values);		
	}
}
//////////////////////////////////////////// RESET FORM
function resetForm(frm)
{
	var form = document.getElementById(frm);
	
	for(var f = 0; f < form.length; f++)
	{
		fields[f] 	= document.getElementById(frm)[f];
		classN 		= document.getElementById(fields[f].name).className;
			
		if(fields[f].type != 'hidden' && fields[f].type != 'button' && fields[f].type != 'reset')
		{
			document.getElementById(fields[f].name).className = "";
			document.getElementById(fields[f].name+'Label').className = "";
		}
	}
}
//////////////////////////////////////////// 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					
}