var currentQuickLink = null;
var currentHandset = null;
var timeout = null;
var mouseoverText = "Mouseover handset to view";

function showQuickLinksMenu(obj) {
	
	//	check for current stored quick link
	if (currentQuickLink != null && currentQuickLink != obj) {
		hideQuickLinksMenu();
	} else if (currentQuickLink != null && currentQuickLink == obj) {
		hideQuickLinksMenu();
		return;
	}
	
	//	run setup for quick link (run once)
	if (obj.isSetup != true) {
		setupQuickLinksMenu(obj);
	}

	//	position menu
	// var left = (obj.menu.id == "QuickLinksPhonesMenu") ? getPageOffsetLeft(document.getElementById("Header_Bottom")) : getPageOffsetLeft(obj);
	var left = getPageOffsetLeft(document.getElementById("Header_Bottom"));
	obj.menu.style.left = left + "px";
	
	$(obj).parent("li").addClass("Active");
	$("#Header_Bottom").addClass("Header_Bottom_Active");
	
////////////	//if ($.browser.msie) {
////////////	//    toggleSelects(document, true);
////////////	//}
	
	obj.menu.style.visibility = "visible";
	
	obj.blur();
	
	currentQuickLink = obj;

	//	bind click event to document to check menu close
	$(document).bind("click", function(event){
		checkQuickLinkMenu(event);
	});
}

function hideQuickLinksMenu() {

	//	remove tabs highlight class, remove header bar bottom border class and hide menu
	$(currentQuickLink).parent("li").removeClass("Active");
	$("#Header_Bottom").removeClass("Header_Bottom_Active");
	currentQuickLink.menu.style.visibility = "hidden";
	
//////////////	if ($.browser.msie) {
//////////////	    toggleSelects(document, false);
//////////////	}
	
	//	clear stored quick link
	currentQuickLink = null;
	
	//	unbind click event from document to check menu close
	$(document).unbind("click");
}

function setupQuickLinksMenu(obj) {
	//	get menu
	var menu = document.getElementById(obj.id + "Menu");
	
	//	create end of menu elements
	var BottomLeft         = document.createElement("div");
	BottomLeft.className   = "BottomLeft";
	var BottomMiddle       = document.createElement("div");
	BottomMiddle.className = "BottomMiddle";
	var BottomRight        = document.createElement("div");
	BottomRight.className  = "BottomRight";
	
	//	insert into DOM
	menu.appendChild(BottomLeft);
	menu.appendChild(BottomMiddle);
	menu.appendChild(BottomRight);
	
	//	set width of end of menu middle element
	BottomMiddle.style.width = menu.offsetWidth - BottomLeft.offsetWidth - BottomRight.offsetWidth + "px";
	
	//	setup handset image mouseovers
	if (menu.id == "QuickLinksPhonesMenu") {
		
		$("#SelectedHandsetName").html(mouseoverText);
		
		$("#QuickLinksPhonesMenu a").each(function(){

			if ($(this).attr("rel")) {
				
				//	store the handset image url
				this.url = this.getAttribute("rel").replace("handsetImage:", "");

				$(this).mouseover(function(){
					
					//	store the current handset
					currentHandset = this;
					
					//	set loading text
					$("#SelectedHandsetName").html("Loading...");

					//	set handset image and handset name
					timeout = setTimeout(function(){
						$("#SelectedHandsetImg").css("background-image", "url(http://www.dialaphone.co.uk" + currentHandset.url + ")");	
						$("#SelectedHandsetName").html($(currentHandset).html());
					}, 1000);
					
				}).mouseout(function(){
					
					//	clear timeout
					clearTimeout(timeout);
					
					//	remove loading class, handset image and reset handset name display area
					$("#QuickLinksPhonesMenu .SelectedHandset").removeClass("Loading");
					$("#SelectedHandsetImg").css("background-image", "none");
					$("#SelectedHandsetName").html("Mouseover handset to view");
					
					//	clear stored handset
					currentHandset = null;
				});
			}
		});
	}
   
////////////	//	internet explorer :hover psuedo class hacks
////////////	//if ($.browser.msie) {
////////////	//	$(menu).find("li.Button").hoverClass("ButtonHover");
////////////	//}
	
	//  set top position
	$(menu).css("top", getPageOffsetTop(obj) + $(obj).height() + "px");
	
	$(menu).find("a").click(function(){
	    hideQuickLinksMenu();
	})
	
	//	store menu and flag as set up
	obj.menu = menu;
	obj.isSetup = true;
}

function checkQuickLinkMenu(event) {
	var obj = ($.browser.msie) ? event.srcElement : event.target;
	while (obj.className != "DropDown" && obj.id != "Header_Bottom" && obj.tagName != "HTML") {
		obj = obj.parentNode
	}
	if (obj.id == "" || obj.id == null) {
		hideQuickLinksMenu();
	}
}

objectAttachEvent(window, "resize", function(){
    if (currentQuickLink != null) {
        hideQuickLinksMenu();
    }
});