// Function to request popup html
function toggle_popup(page){
	if ($('timed-popup')) {
		$('timed-popup').remove();
	}
	
	var $popup = $("order_direct_popup");
	if ($popup) {
		correct_view();
		if ($popup.visible()) {
			//fix_ie6_select();
			$popup.remove();
		} else {
			//fix_ie6_select();
			$popup.show();
		}
	} else {
		var request = "page="+page;
		if (typeof($current_url) != "undefined") {
			request += "&url="+$current_url;
		}
		if (typeof($prod) != "undefined") {
			request += "&prod="+$prod;
		}
		
		var rel = "";
		if (window.location.toString().indexOf("/careers") != -1) {
			rel = "../";
			request += "&from_careers=true";
		} else {
			rel = "./";
		}

		// set phone number according to Brilliant tracking
		request += "&order_direct_telephone="+$("#order-direct-contact-telephone").html();
		
		new Ajax.Request(rel + "how-to-buy/order-direct-popup/", {
			method: "post",
			parameters: request,
			onSuccess: function(transport) {
				var $response = eval("("+transport.responseText+")");
				if ($response.msg!="OK") {
					return false;
				}
				
				if (!$('order_direct_popup')) {
					$("container").insert($response.html);
				}
				if (Prototype.Browser.IE) {
					if (navigator.userAgent.indexOf("MSIE 6") > 0) {
						if ($("htb_title")) {
							$("htb_title").hide();
						}
					}
				}

				setTimeout(function(){
					correct_view();
				},0.1);
				
				// add in pageTracker event
				_gaq.push(['_trackPageview',"/goal/order_direct_form_view/"+page]);
				
				// Wired Minds for when the form was loaded
                                /*
				elementImg = document.createElement("img");
				elementImg.setAttribute("src","http://dfs.wiredminds.com/track/ctin.php?custnum=2501&wm_page_name=Order_Direct_Form2&wm_group_name=Retail/OrderDirect&wm_campaign=&wm_milestone=HTB_Form_Any");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				$("wired-minds-image-loader").update(elementImg);
				$("wired-minds-image-loader").hide();
                                */

				//Pricegrabber
				elementImg = document.createElement("img");
				elementImg.setAttribute("src","https://www.pricegrabber.com/conversion.php?retid=13003");
				elementImg.setAttribute("height", "1");
				elementImg.setAttribute("width", "1");
				$("pricegrabber-holder").update(elementImg);
				$("pricegrabber-holder").hide();
				
			}
		});
	}
}

function callback_orderdirect_times(dropdown_id, object) {

	// If this is being called from the HTB page it should receive a dropdown_id of "popup_calltime_htb"
	// and an object of the button that clicked it
	
	// checking to see if we're getting a string or an object. When this gets fired from a .observe it seems to send a mouseEvent which we need to avoid

	if(!Object.isString(dropdown_id)){
		dropdown_id = "popup_calltime_popup";
	}
	
	if(!object){
		object = this;
	}
	
	var val = object.value;
	
	if(!val){
		return false;
	}
	
	var rel = "";
	if (window.location.toString().indexOf("/careers") != -1) {
		rel = "../";
	} else {
		rel = "./";
	}
	
	new Ajax.Request(rel + "how-to-buy/get-orderdirect-times/", {
		method: "post",
		parameters: "day="+val,
		onSuccess: function(transport) {
			var $response = transport.responseJSON;
			if ($response.msg!="OK") {
				return false;
			}
			// clear dropdown
			$(dropdown_id).options.length = 0;

			if ($response.result_count > 0) {
				for (var i=0; i<$response.result_count; i++) {
					var txt = $response.txt[i];
					var val = $response.vals[i];
					$(dropdown_id).appendChild(new Element("option", {"value":val}).update(txt));
				}
			}
		}
	});
}

function correct_view() {
	if ($("order_direct_popup")) {
		var $offsets = document.viewport.getScrollOffsets();
		var $viewheight = document.viewport.getHeight();
		var $popheight = $("order_direct_popup").getHeight();
		
		var $orig = ($viewheight/2) - ($popheight/2);
		var $top = $offsets[1];

		// is the window smaller than the popup? if so, just align to top of window
		if ($viewheight < $popheight) {
			$("order_direct_popup").setStyle({
				top: "20px"
			});
		} else {
			$("order_direct_popup").setStyle({
				top:($orig+$top)+"px"
			});
		}
	}
}
function fix_ie6_select() {
	if (Prototype.Browser.IE) {
		if (navigator.userAgent.indexOf("MSIE 6") > 0) {
			if ($("order_direct_popup")) {
				if ($("order_direct_popup").visible()) {
					if ($("htb_title")) {
						$("htb_title").show();
					}if($("popup_calltime_htb")){
						$("popup_calltime_htb").show();
					}
				} else {
					if ($("htb_title")) {
						$("htb_title").hide();
					}if($("popup_calltime_htb")){
						$("popup_calltime_htb").hide();
					}
				}
			}
		}
	}
}

/*// Scroll observe to correct view when scroll takes place
Event.observe(window, "scroll", function(){
	if ($("order_direct_popup")) {
		if ($("order_direct_popup").visible()) {
			correct_view();
		}
	}
});

Event.observe(window, "resize", function(){
	correct_view();
});*/

// event listener to add clicks to order direct buttons
Event.observe(window, "load", function(){
	Event.observe($("order-direct"), "click", function(){
		toggle_popup("topnav");
	});

	$$(".order-direct-button").each(function(e){
		//alert(e);
		Event.observe(e, "click", function(){
			toggle_popup("productpage");
		});
	});
	
	$$(".order-direct").each(function(e){
		//alert(e);
		Event.observe(e, "click", function(){
			toggle_popup("product");
		});
	});
	
	$$(".sales-pdf").each(function(e){
		var link = e.down('a');
		Event.observe(link, "click", function(){
			window.open(link, "Brochure", "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1");
		});
	});
});

