/*******************************************************************************
*
* AJAX order by phone submission form
*
*******************************************************************************/

var submitted = false; // to prevent duplicates

function orderByPhoneSubmit(page_name) {
	if (submitted) {
		return; // no dups
	}
	submitted = true;
	
	if(page_name == "how-to-buy"){
	
		var form_name 			= $("htb-form");
		var data 				= $("htb-form").serialize();
		var error_submitted		= $("htb_error_submitted");
		var loader_div 			= $("htb-loading-form");
		var thanks_div 			= $("htb_thank_you");
		var divLogOrderNumber 	= $("htb_log_order_number");
		var selectedTime		= $("htb_selected_time");
		var formbody			= $("htb-form");
		
	} else {
	
		var form_name 			= $("callBackConfirmForm");
		var data 				= $("callBackConfirmForm").serialize();
		var error_submitted		= $("error_submitted");
		var loader_div 			= $("loading-form");
		var thanks_div 			= $("thank_you");
		var divLogOrderNumber 	= $("log_order_number");
		var formbody			= $("form_body");
		var selectedTime		= $("selected-time");
		
		$("errors").hide();
	}
	
	// do JS validation here - not ideal, but no different to how we currently
	// do it on product pages
	$(error_submitted).update("");  // in case we had a prior error due to email
	$(form_name).hide();
	$(loader_div).show();
	
	if(page_name != "show_phone"){
		if ($("intro-para")) {
			$("intro-para").hide();	
		}
	}
	
	var rel = "";
	if (window.location.toString().indexOf("/careers") != -1) {
		rel = "../";
	} else {
		rel = "./";
	}
	
	new Ajax.Request(rel + "how-to-buy/submit/", {
		method:'post',
		parameters:data,
		onSuccess:function(transport) {
			submitted = false; // free up the form
			if (transport.responseJSON == null) {
				//alert("Error receiving response. Please try again");
				// as much as we've love to rely on this being the case, this will
				// actually be executed when someone clicks another link - what a pain
				return;
			}
			var result = transport.responseJSON;
			
			if (result.msg == "OK") {
				if (result.responseTime == true) {
					selectedTime.update(result.call_response);
				} else {
					if(result.startTime == "09:30") {
						result.startTime = "09:00";
					}
				
					selectedTime.update(result.responseDay + " between "+ result.startTime +" and "+ result.endTime);
				}

				$(formbody).hide();
				$(loader_div).hide();
				$(thanks_div).show();
				
				divLogOrderNumber.style.display = "none";
				var extra_tracking = $("extra-tracking");
				
				//submitted, add tracking tags here ...
				
				elementImg = document.createElement("img");
				
				if(page_name=="how-to-buy"){
						elementImg.setAttribute("src","http://dfs.wiredminds.com/track/ctin.php?custnum=2501&wm_page_name=How_To_Buy_Confirmed&wm_group_name=Retail/How_To_Buy&wm_campaign=&wm_milestone=HTB_Form_Any_Submit");
					}
					
				else{
						elementImg.setAttribute("src","http://dfs.wiredminds.com/track/ctin.php?custnum=2501&wm_page_name=Order_Direct_Submit2&wm_group_name=Retail/OrderDirect&wm_campaign=&wm_milestone=HTB_Form_Any_Submit");					
					}
	
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				divLogOrderNumber.appendChild(elementImg);

				elementImg = document.createElement("img");
				elementImg.setAttribute("src","http://switch.atdmt.com/action/brmdfs_CallMeBackThankyou_3/v3/ato."+ result.order_number +"/atm1.1/atm2.1");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				extra_tracking.appendChild(elementImg);
				
				elementImg = document.createElement("img");
				elementImg.setAttribute("src","http://tbl.tradedoubler.com/report?organization=1348572&event=154472&leadNumber=" + result.order_number);
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				extra_tracking.appendChild(elementImg);
				
				elementImg = document.createElement("img");
				elementImg.setAttribute("src", "http://www.googleadservices.com/pagead/conversion/1067618113/?label=0ysNCMX7URDBnor9Aw&script=0");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				extra_tracking.appendChild(elementImg);
				
				elementImg = document.createElement("img");
				elementImg.setAttribute("src", "http://ad.uk.doubleclick.net/activity;src=2228893;type=DFS-Mar;cat=DFS-Mar;ord=1");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				extra_tracking.appendChild(elementImg);
				
				elementImg = document.createElement("img");
				elementImg.setAttribute("src", "http://ad.yieldmanager.com/pixel?id=278562&id=278561&t=2");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				extra_tracking.appendChild(elementImg);
				
				elementImg = document.createElement("img");
				elementImg.setAttribute("src", "https://media.adrevolver.com/adrevolver/action?account=16440");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				extra_tracking.appendChild(elementImg);
				
				pageTracker._trackPageview('/goal/Click_to_Call');

				elementImg = document.createElement("img");
				elementImg.setAttribute("src", "http://www.googleadservices.com/pagead/conversion/1067618113/?label=yrciCPHaiAEQwZ6K_QM&amp;guid=ON&amp;script=0");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				extra_tracking.appendChild(elementImg);
				
				var elScripto = new Element("script", 
					{ "type":"text/javascript", "src":"http://view.atdmt.com/jaction/brmdfs_CallMeBackThankyouUAT_1/v3/ato."+result.order_number+"/[atm1.1/atm2.1]/" });
					
				extra_tracking.appendChild(elScripto);
				
				var google_conversion_id = 1067618113;
				var google_conversion_language = "en_GB";
				var google_conversion_format = "3";
				var google_conversion_color = "ffffff";
				var google_conversion_label = "yrciCPHaiAEQwZ6K_QM";
				
				var divID = document.getElementsByTagName("head")[0];
				var newScript = document.createElement('script');
				newScript.type = 'text/javascript';
				newScript.src = 'http://www.googleadservices.com/pagead/conversion.js';
				divID.appendChild(newScript);
				
				extra_tracking.style.display = "none";
				divLogOrderNumber.style.display = "none";
				
				return;
				
			}
			// if not, what was the problem?

			// assume errors aren't present - populate later if so
			if(page_name == "how-to-buy"){
				
				var error_name 			= $("htb_error_name");
				var error_surname 		= $("htb_error_surname");
				var error_phone 			= $("htb_error_phone");
				var error_alt_phone 		= $("htb_error_alt_phone");
				var error_email 			= $("htb_error_email");
				var error_choice 			= $("htb_error_choice");

			} else {
			
				var error_name 			= $("error_name");
				var error_surname 		= $("error_surname");
				var error_phone 			= $("error_phone");
				var error_alt_phone 		= $("error_alt_phone");
				var error_email 			= $("error_email");
				
			}
			
			$(error_name).hide();
			$(error_surname).hide();
			$(error_phone).hide();
			$(error_alt_phone).hide();
			$(error_email).hide();
			$(error_submitted).hide();
			
			switch (result.error_type) {
				case "FORM":
					// bad form data
					if (result.error.name != null && result.error.name != "") {
						$(error_name).update(result.error.name).show();
					}
					if (result.error.surname != null && result.error.surname != "") {
						$(error_surname).update(result.error.surname).show();
					}
					if (result.error.phone != null && result.error.phone != "") {
						$(error_phone).update(result.error.phone).show();
					}
					if (result.error.alt_phone != null && result.error.alt_phone != "") {
						$(error_alt_phone).update(result.error.alt_phone).show();
					}
					if (result.error.email != null && result.error.email != "") {
						$(error_email).update(result.error.email).show();
					}
					break;
				case "GENERAL":
					if (result.error_submitted != null && result.error_submitted != "") {
						$(error_submitted).update(result.error_submitted).show();
					}
					break;
				default:
					alert(result.msg);
					break;
			}
			/*if ($("intro-para")) {
				$("intro-para").show();
			}*/
			if ($("errors")) {
				$("errors").show();	
			}
			
			$(loader_div).hide();
			$(form_name).show();
			$(form_body).show();
				
			
			// all ok?
			
		}
	});
}
