function validateForm(validate_bg_info){
	var errorMessage = "";
	errorMessage += checkMandatoryTextField(document.forms['personal_profile'].firstname, "firstname");
	errorMessage += checkMandatoryTextField(document.forms['personal_profile'].lastname, "lastname");
	errorMessage += echeck(document.forms['personal_profile'].email.value);
	
	errorMessage += checkMandatoryTextField(document.forms['personal_profile'].state, "state");
	errorMessage += checkMandatoryTextField(document.forms['personal_profile'].postcode, "postcode");
	errorMessage += checkMandatoryTextField(document.forms['personal_profile'].business_number, "business_number");
	
	if(validate_bg_info == 1){
		errorMessage += checkMandatoryRadioField(document.forms['personal_profile'].timeframe, "timeframe");
		errorMessage += checkMandatoryRadioField(document.forms['personal_profile'].capital, "capital");
		errorMessage += checkMandatoryRadioField(document.forms['personal_profile'].referral, "referral");
	}
	
	if(errorMessage.length > 0){
		alert(errorMessage);
		return false;
	}else{
		return true;
	}
}


function GetSelectedItem() {
	len = document.f1.s1.length
	i = 0
	chosen = "none"
	
	for (i = 0; i < len; i++) {
	if (document.f1.s1[i].selected) {
	chosen = document.f1.s1[i].value
	} 
	}
	
	return chosen
} 


function checkMandatoryRadioField(formField, fieldName){
	var error = "";
	selectedOption = -1;
	for (i=formField.length-1; i > -1; i--) {
		if (formField[i].checked) {
			selectedOption = i;
			//if it's referral, need to check corresponding textfiled
			if(fieldName == "referral"){
				if(selectedOption == 0){ //newspaper selected
					error += checkMandatoryTextField(document.forms['personal_profile'].newspaper_title, "newspaper_title");
				}else if(selectedOption == 1){ //magazine selected
					error += checkMandatoryTextField(document.forms['personal_profile'].magazine_title, "magazine_title");
				}else if(selectedOption == 4){ //action coach selected
					error += checkMandatoryTextField(document.forms['personal_profile'].action_coach, "action_coach");
				}else if(selectedOption == 5){ //search engine selected
					error += checkMandatoryTextField(document.forms['personal_profile'].search_engine, "search_engine");
				}else if(selectedOption == 6){ //other selected
					error += checkMandatoryTextField(document.forms['personal_profile'].other_referral, "other_referral");
				}
				
				
			}
		}
	}
	
	if (selectedOption == -1) {
		if(fieldName == "timeframe"){
			error = "* Please specify investment timeframe\n";
		}else if(fieldName == "capital"){
			error = "* Please specify your capital investment\n";
		}else if(fieldName == "referral"){
			error = "* Please tell us how did you hear about Action International\n";
		}
	}
	
	return error;
}

function checkMandatoryTextField(formField, fieldName){
	var error = "";
	if((formField.value.length==0) || formField.value==null || formField.value=="Select State"){
		if(fieldName == "firstname"){
			error = "* Please enter your first name\n";
		}else if(fieldName == "lastname"){
			error = "* Please enter your last name\n";
		}else if(fieldName == "state"){
			error = "* Please select/enter state\n";
		}else if(fieldName == "postcode"){
			error = "* Please enter post code\n";
		}else if(fieldName == "business_number"){
			error = "* Please enter business phone number\n";
		}else if(fieldName == "email"){
			error = "* Please enter your email address\n";
		}else if(fieldName == "newspaper_title"){
			error = "* Please enter the title of the newspaper that refers you\n";
		}else if(fieldName == "magazine_title"){
			error = "* Please enter the title of the magazine that refers you\n";
		}else if(fieldName == "action_coach"){
			error = "* Please enter the name of the Action Coach that refers you\n";
		}else if(fieldName == "search_engine"){
			error = "* Please enter the phrase you searched in the Search Engine that refers you\n";
		}else if(fieldName == "other_referral"){
			error = "* Please provide info about the party/person that refers you\n";
		}
	}
	
	return error;
}

function echeck(str) {
		var error = "";
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1){
		   error = "* Invalid e-mai address \n";
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   error = "* Invalid e-mai address \n";;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    error = "* Invalid e-mai address \n";
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    error = "* Invalid e-mai address \n";
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    error = "* Invalid e-mai address \n";
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    error = "* Invalid e-mai address \n";
		 }
		
		 if (str.indexOf(" ")!=-1){
		    error = "* Invalid e-mai address \n";
		 }

 		 return error;					
	}
