/* MegaMenu.js */

var MenuTimer;
var MenuObj = null;
var MenuEvents = [false,false,false];

function ShowCategoryMenu() {
	var div_elem = document.getElementById('categoryHidden');
	var posObj = GetObjPos(document.getElementById('MenuCategory'));
	if(div_elem) {
		MenuObj = div_elem;
		HideMegaMenu();
		div_elem.style.left = (posObj[0] - 68) +'px';
		div_elem.style.top = (posObj[1] + 1) +'px';
		div_elem.style.display = 'block';
		if(IEvers == 6) {
			var sort_select = document.getElementById('pagingSortTop');
			if(sort_select) {
				sort_select.style.visibility = 'hidden';
			}
			$('select').css({ 'visibility' : 'hidden' });
		}
		SetupHoverHome();
		SetupHoverBrand();
		SetupHoverPrice();
		if(Mobile_Safari == true) {
			if(MenuEvents[0] == false) {
				MenuEvents[0] = true;
				$('#categoryHidden').click(function(e) {
					MenuCheck(e);
				});
			}
		}
	}
}

function HideCategoryMenu() {
	var div_elem = document.getElementById('categoryHidden');
	if(div_elem) {
		div_elem.style.display = 'none';
	}
	HideHoverMenu();
}

function ShowBrandMenu() {
	var div_elem = document.getElementById('brandHidden');
	var posObj = GetObjPos(document.getElementById('MenuBrand'));
	if(div_elem) {
		MenuObj = div_elem;
		HideMegaMenu();
		div_elem.style.left = (posObj[0] - 33) +'px';
		div_elem.style.top = (posObj[1] + 1) +'px';
		div_elem.style.display = 'block';
		if(IEvers == 6) {
			var sort_select = document.getElementById('pagingSortTop');
			if(sort_select) {
				sort_select.style.visibility = 'hidden';
			}
			$('select').css({ 'visibility' : 'hidden' });
		}
		SetupHoverHome();
		SetupHoverCategory();
		SetupHoverPrice();
		if(Mobile_Safari == true) {
			if(MenuEvents[1] == false) {
				MenuEvents[1] = true;
				$('#brandHidden').click(function(e) {
					MenuCheck(e);
				});
			}
		}
	}
}

function HideBrandMenu() {
	var div_elem = document.getElementById('brandHidden');
	if(div_elem) {
		div_elem.style.display = 'none';
	}
	HideHoverMenu();
}

function ShowPriceMenu() {
	var div_elem = document.getElementById('priceHidden');
	var posObj = GetObjPos(document.getElementById('MenuPrice'));
	if(div_elem) {
		MenuObj = div_elem;
		HideMegaMenu();
		div_elem.style.left = (posObj[0] - 33) +'px';
		div_elem.style.top = (posObj[1] + 1) +'px';
		div_elem.style.display = 'block';
		if(IEvers == 6) {
			var sort_select = document.getElementById('pagingSortTop');
			if(sort_select) {
				sort_select.style.visibility = 'hidden';
			}
			$('select').css({ 'visibility' : 'hidden' });
		}
		SetupHoverHome();
		SetupHoverCategory();
		SetupHoverBrand();
		if(Mobile_Safari == true) {
			if(MenuEvents[2] == false) {
				MenuEvents[2] = true;
				$('#priceHidden').click(function(e) {
					MenuCheck(e);
				});
			}
		}
	}
}

function HidePriceMenu() {
	var div_elem = document.getElementById('priceHidden');
	if(div_elem) {
		div_elem.style.display = 'none';
	}
	HideHoverMenu();
}

function MenuCheck(e) {
	if(MenuObj != null && MenuObj.style.display == 'block') {
		var posx = 0;
		var posy = 0;
		if (!e) var e = window.event;
		if (e.pageX || e.pageY) {
			posx = e.pageX;
			posy = e.pageY;
		} else if (e.clientX || e.clientY) {
			posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
			posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
		}
		var posArr = [posx,posy];
		if(posy < (MenuObj.getBoundingClientRect().top + document.documentElement.scrollTop) + 60) {
			HideMegaMenu();
		}
	}
}

function HideMegaMenu() {
	HideCategoryMenu();
	HideBrandMenu();
	HidePriceMenu();
}

function HideHoverMenu() {
	var div_home = document.getElementById('MenuHomeHover');
	if(div_home) {
		div_home.style.display = 'none';
	}
	var div_category = document.getElementById('MenuCategoryHover');
	if(div_category) {
		div_category.style.display = 'none';
	}
	var div_brand = document.getElementById('MenuBrandHover');
	if(div_brand) {
		div_brand.style.display = 'none';
	}
	var div_price = document.getElementById('MenuPriceHover');
	if(div_price) {
		div_price.style.display = 'none';
	}
	if(IEvers == 6) {
		var sort_select = document.getElementById('pagingSortTop');
		if(sort_select) {
			sort_select.style.visibility = 'visible';
		}
		$('select').css({ 'visibility' : 'visible' });
	}
}

function SetupHoverHome() {
	var posObj = GetObjPos(document.getElementById('MenuHome'));
	var div_elem = document.getElementById('MenuHomeHover');
	if(div_elem) {
		div_elem.style.left = posObj[0] +'px';
		div_elem.style.top = posObj[1] +'px';
		div_elem.style.display = 'block';
	}
}

function SetupHoverCategory() {
	var posObj = GetObjPos(document.getElementById('MenuCategory'));
	var div_elem = document.getElementById('MenuCategoryHover');
	if(div_elem) {
		div_elem.style.left = posObj[0] +'px';
		div_elem.style.top = posObj[1] +'px';
		div_elem.style.display = 'block';
	}
}

function SetupHoverBrand() {
	var posObj = GetObjPos(document.getElementById('MenuBrand'));
	var div_elem = document.getElementById('MenuBrandHover');
	if(div_elem) {
		div_elem.style.left = posObj[0] +'px';
		div_elem.style.top = posObj[1] +'px';
		div_elem.style.display = 'block';
	}
}

function SetupHoverPrice() {
	var posObj = GetObjPos(document.getElementById('MenuPrice'));
	var div_elem = document.getElementById('MenuPriceHover');
	if(div_elem) {
		div_elem.style.left = posObj[0] +'px';
		div_elem.style.top = posObj[1] +'px';
		div_elem.style.display = 'block';
	}
}

var LoginFlyoutTimer;

function ShowLoginFlyout() {
	clearTimeout(LoginFlyoutTimer);
	var posObj = GetObjPos(document.getElementById('loginBtn'));
	var div_elem = document.getElementById('LoginFlyout');
	if(div_elem) {
		div_elem.style.left = (posObj[0] - 22) +'px';
		div_elem.style.top = (posObj[1] + 22) +'px';
		div_elem.style.display = 'block';
	}
}

function HideLoginFlyout() {
	LoginFlyoutTimer = setTimeout('RemoveLoginFlyout()',500);
}

function RemoveLoginFlyout() {
	var div_elem = document.getElementById('LoginFlyout');
	if(div_elem) {
		div_elem.style.display = 'none';
	}
}

var LoginFlyoutFavTimer;

function ShowLoginFlyoutFav() {
	clearTimeout(LoginFlyoutFavTimer);
	var posObj = GetObjPos(document.getElementById('favouriteBtn'));
	var div_elem = document.getElementById('LoginFlyoutFav');
	if(div_elem) {
		div_elem.style.left = (posObj[0] + 120) +'px';
		div_elem.style.top = (posObj[1] - 32) +'px';
		div_elem.style.display = 'block';
	}
}

function HideLoginFlyoutFav() {
	LoginFlyoutFavTimer = setTimeout('RemoveLoginFlyoutFav()',500);
}

function RemoveLoginFlyoutFav() {
	var div_elem = document.getElementById('LoginFlyoutFav');
	if(div_elem) {
		div_elem.style.display = 'none';
	}
}

function GetObjPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
		curleft += obj.offsetLeft;
		curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		return [curleft,curtop];
	}
}
