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){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}

function checkNull(elements, names) {

	var elementarr = new Array();
	var namesarr = new Array();
    elementarr = elements.split(' ');
	namesarr = names.split(' ');

	for (var i = 0; i < elementarr.length; i++) {

		var elementvalue = document.getElementById(elementarr[i]);
		var namevalue = namesarr[i];

		if (elementvalue.value == null || elementvalue.value == "") {
			var displayalert = "Value of '" + namevalue + "' is missing. Enter value";
			alert(displayalert);
			return false;
		}else{
			//alert("checking to see if it's age: " + namevalue);
			if(namevalue == 'Age'){
				if(parseInt(elementvalue.value) < 21){
					alert('You must be over 21 to enter');
					return false;
				}
			}else if(namevalue == 'Email'){
				
				if(echeck(elementvalue.value))
					return true;
				else
					return false;
			}
		}
	}
	return true;
  }

function doFormSubmit(){
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 		
	
	//Div's
	var formDiv = document.getElementById('amoeHTML');
	var loadingDiv = document.getElementById('loading');
	var errorDiv = document.getElementById('error');
	
	//Dim the form 
	formDiv.style.display = "none";
	errorDiv.style.display = "none";
	loadingDiv.style.display = "block";
	
	
	var keyword 			= document.getElementById('keyword');
	var firstName			= document.getElementById('firstName');
	var lastName			= document.getElementById('lastName');
	var age					= document.getElementById('age');
	var email				= document.getElementById('email');
	var phone				= document.getElementById('phone');
	var recaptchaChallenge	= document.sweepstakesForm.recaptcha_challenge_field.value;
	var recaptchaResponse	= document.sweepstakesForm.recaptcha_response_field.value;
	
	var custField;
	
	if(document.sweepstakesForm.custField){
		custField = document.getElementById('custField');
		url="/do/rules/form?keyword=" + keyword.value + "&firstName=" + firstName.value + "&lastName=" + lastName.value + "&age=" + age.value + "&email=" + email.value + "&phone=" + phone.value + "&custField=" + custField.value + "&recaptchaChallenge=" + recaptchaChallenge + "&recaptchaResponse=" + recaptchaResponse;
	}else
		url="/do/rules/form?keyword=" + keyword.value + "&firstName=" + firstName.value + "&lastName=" + lastName.value + "&age=" + age.value + "&email=" + email.value + "&phone=" + phone.value + "&custField=" + "&recaptchaChallenge=" + recaptchaChallenge + "&recaptchaResponse=" + recaptchaResponse;
	
	
	xmlHttp.onreadystatechange=returnFormSubmit;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);	
	
	return false;
}

function returnFormSubmit() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		var result = xmlHttp.responseText;
		var splitter = result.split("|");
		
		//Div's
		var formDiv = document.getElementById('amoeHTML');
		var errorDiv = document.getElementById('error');
		var loadingDiv = document.getElementById('loading');
		var recaptchaErrorDiv = document.getElementById('recaptchaError');
		
		var error;
		var formHtml;
				
		if(splitter[0] == 'error'){
			
			errorDiv.innerHTML = splitter[1];
			loadingDiv.style.display = "none";
			formDiv.style.display = "block";
			
			if(splitter[2] != ''){
				recaptchaErrorDiv.innerHTML = splitter[2];
				recaptchaErrorDiv.style.display = "block";
			}
			
		} else {
			
			errorDiv.innerHTML = splitter[1];
			formDiv.style.display = "none";
			loadingDiv.style.display = "none";
			recaptchaErrorDiv.style.display = "none";
		}	
		
		errorDiv.style.display = "block";
		
	}
}


//AJAX Component
//Generic XML HTTP Object
function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	{
		//Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		//Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}
