function validate() {

	var error = "";
	
	//validate the input
	if ($("apiEntryUrl").value == "") 
	{
		if($("storeFrontUrl").value == "") {
			error = error + "Please enter your storefront URL.\n"
		}
	}
	
	if($("company").value == "") {
		error = error + "Please enter your company name.\n"
	}
	
	if($("first_name").value == "") {
		error = error + "Please enter your first name.\n"
	}
	
	if($("last_name").value == "") {
		error = error + "Please enter your last name.\n"
	}
	
	if(emailCheck($("email").value) == false) {
		error = error + "Please enter your email address.\n"
	}
	
	if($("phone").value.length < 10) {
		error = error + "Please enter your phone number with area code.\n";
	}
	
	
	//stay or go?
	if(error) {
		alert(error);
	}
	else {
		if ($("apiEntryUrl").value == "") 
		{
			validateStoreFrontUrl($("storeFrontUrl").value);
		}
		else
		{
			$("prostoreSignup").submit();
		}
		return;		
	}	
}

function validateStoreFrontUrl(storeFrontUrl) {

	var ajax = new Request.HTML(
		{			
			onComplete:function(responseTree, responseElements, responseHTML, responseJavaScript) {
				//set the API KEY field to the response and submit the form!
				
				//is it json?
				if(responseHTML.test("^{") && responseHTML.test("}$")) { //yup, it's json
					var json = JSON.decode(responseHTML);
					$("apiEntryUrl").value = json.apiEntryUrl;

					//fire it off
					//console.log("submitting");
					$("prostoreSignup").submit();
				}
				else { //fail!
					showApiEntryUrlField();
				}
				
			}
		}
	);

	ajax.get("getApiEntry.php?storeFrontUrl=" + storeFrontUrl);
	//ajax.get("checkurl.php");

}

function showApiEntryUrlField() {
	$("apiEntryUrlLabel").setStyle("display", "block");
	$("apiEntryUrlField").setStyle("display", "block");
}


function emailCheck(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
	 
}
