var working = false;
var queue = false;
var latest_to_process = "";

function checkSiteName(){
	var site_name = $('site_name').get('value');
	
	if(!working){ 	
		 working = true;
		 ajaxSiteName(site_name); 
	}else{
		queue = true;
		latest_to_process = site_name;
	}
}

function ajaxSiteName(site_name){
 
		var req = new Request({	
			url:$('plugin_path').get('value')+'/lookup_site_name.php', 
			async:'false', 
			onSuccess: function(responseText){
							if(responseText == 'available'){
								$('preview').removeClass('error'); 
								$('preview').set('text', "http://"+site_name+".foresighthq.com is available");
							
							}else if(responseText == 'unavailable'){
								$('preview').addClass('error');
								$('preview').set('text', "http://"+site_name+".foresighthq.com is unavailable"); 
							
							}else if(responseText == 'format'){
								$('preview').addClass('error');
								$('preview').set('text', "You may only use letters, numbers and hyphens");						
							}else if(responseText == 'empty'){
								$('preview').addClass('error');
								$('preview').set('text', "Please enter a site name");
							}
							
							//check and see if theres anything in the que and run that..
							if(queue){
								ajaxSiteName(latest_to_process);
								queue = false;
								latest_to_process = "";
							}else{
								working = false;
							}
							
							 
						} 
	}).send("site_name="+site_name);

}

function updateMonthlyCost(){
	var req = new Request({	
			url:$('plugin_path').get('value')+'/lookup_cost.php',  
			async:'false', 
			onSuccess: function(responseText){
							$('monthly_cost').set('html', "Your monthly charge will be: <span>"+responseText+"</span>");     
						} 
	}).send("users="+$('number_users').get('value'));
}


function activateSignupButton(){
	if($('agree_terms').checked){
		$('signupBtn').disabled = false;	
	}else{
	    $('signupBtn').disabled = true;	 
	}
}


function submitSignupForm(){
	$$('.errorField').each(function(el){
	    el.removeClass('errorField');
	});
	
	$$('.errorMessage').each(function(el){
	    el.dispose();
	});


	var req = new Request({	
			url:$('plugin_path').get('value')+'/submit_form.php', 
			async:'false', 
			onSuccess: function(responseText){
							var response = responseText.split("<#BREAKER#>");	
							if(response[0] == "FAIL"){
								window.scrollTo(0,0); 
								var error_div = new Element('div',{class:"errorMessage"});
								error_div.set('html', "Please correct the errors highlighted below.");
								error_div.inject($("theSignupForm"), 'before');
								
								
								 
								var error_fields = response[1];
								var error_messages = response[2];
								error_fields = error_fields.split("#");
								error_messages = error_messages.split("#");
								
								if(error_fields == 'payment'){
									$('payment_fieldset').addClass('errorField');
									var error_div = new Element('div',{class:"errorMessage"});
									error_div.set('html', error_messages);
									error_div.inject($("payment_fieldset"), 'before');	
								
								}else if(error_fields == 'db'){
									var error_div = new Element('div',{class:"errorMessage"});
									error_div.set('html', error_messages);
									error_div.inject($("create_account_fieldset"), 'before');
								
								}else{
								
									for(var i = 0; i < error_fields.length; i++){
										if(error_fields[i] != ""){
											$(error_fields[i]).addClass('errorField');
											
											var error_div = new Element('div',{class:"errorMessage"});
											error_div.set('html', error_messages[i]);
											
											error_div.inject($(error_fields[i]+"_label"), 'before');	
										}	
									}
								}
							}else if(response[0] == "SUCCESS"){
							    window.location = "https://www.foresighthq.com/signup-confirmation/";
							}  
						} 
	}).send($('theSignupForm'));		

}

window.addEvent('domready', function(){  
	if($('theSignupForm')){
		updateMonthlyCost();
		activateSignupButton();
	}
});



