function getOffsetTopForNestedObject(obj) {
	var top = 0;
		
	while (obj.offsetParent && obj.tagName != 'BODY')
	{
		top += obj.offsetTop;
		obj = obj.offsetParent;
	}
		
	return top;
}
	
function getOffsetLeftForNestedObject(obj) {
	var left = 0;
		
	while (obj.offsetParent && obj.tagName != 'BODY')
	{
		left += obj.offsetLeft;
		obj = obj.offsetParent;
	}
		
	return left;
}
	
function addRolloverEvents(obj,id,imageprefix,extension) {
	try {		
		obj.onmouseover = function(event){document.getElementById(id).src = imageprefix + '_over.' + extension;};
		obj.onmouseout = function(event){document.getElementById(id).src = imageprefix + '_up.' + extension;};
		obj.onfocus = function(event){document.getElementById(id).src = imageprefix + '_over.' + extension;};	
		obj.onblur = function(event){document.getElementById(id).src = imageprefix + '_up.' + extension;};
		obj.onmousedown = function(event){document.getElementById(id).src = imageprefix + '_down.' + extension;};
		obj.onmouseup = function(event){document.getElementById(id).src = imageprefix + '_over.' + extension;};
		obj.onkeydown = function(event){document.getElementById(id).src = imageprefix + '_down.' + extension;};
		obj.onkeyup = function(event){document.getElementById(id).src = imageprefix + '_over.' + extension;};
		var cache1 = new Image(); cache1.src = imageprefix + '_over.' + extension;
		var cache2 = new Image(); cache2.src = imageprefix + '_down.' + extension;
	}		
	catch(e){};
}

function addPopupMenuMenus(obj,id) {
	var oldonmouseover;
	var oldonmouseout;
	var top;
	var left;
	var width;
	var height;	
	
	if (window.createPopup) {
		top = getOffsetTopForNestedObject(obj) + obj.offsetHeight;	
		left = getOffsetLeftForNestedObject(obj);	
	} else {		
		left = obj.offsetLeft + 20;		
	}		
	
	width = document.getElementById('popupmenutable'+id).offsetWidth;
	height = document.getElementById('popupmenutable'+id).offsetHeight;
	
	oldonmouseover = obj.onmouseover;
	obj.onmouseover = function(event){showmenu(id,top,left,width,height);oldonmouseover();}
	
	oldonmouseout = obj.onmouseout;
	obj.onmouseout = function(event){startUnhideTimer();oldonmouseout();}
}

function addMenuEvents() {
	try {		
		addRolloverEvents(document.getElementById('link_aboutacorn'),'but_aboutacorn','/images/primarynavigation/aboutacorn','jpg');		
		
		addRolloverEvents(document.getElementById('link_cooking'),'but_cooking','/images/primarynavigation/cooking','jpg');
		addPopupMenuMenus(document.getElementById('link_cooking'),21);
		
		addRolloverEvents(document.getElementById('link_ovens'),'but_ovens','/images/primarynavigation/ovens','jpg');
		addPopupMenuMenus(document.getElementById('link_ovens'),1);
		
		addRolloverEvents(document.getElementById('link_refrigeration'),'but_refrigeration','/images/primarynavigation/refrigeration','jpg');
		addPopupMenuMenus(document.getElementById('link_refrigeration'),86);
		
		addRolloverEvents(document.getElementById('link_dishglasswashers'),'but_dishglasswashers','/images/primarynavigation/dishglasswashers','jpg');																
		addPopupMenuMenus(document.getElementById('link_dishglasswashers'),144);
		
		addRolloverEvents(document.getElementById('link_foodpreparation'),'but_foodpreparation','/images/primarynavigation/foodpreparation','jpg');																
		addPopupMenuMenus(document.getElementById('link_foodpreparation'),53);
		
		addRolloverEvents(document.getElementById('link_bevereageequip'),'but_bevereageequip','/images/primarynavigation/bevereageequip','jpg');																
		addPopupMenuMenus(document.getElementById('link_bevereageequip'),15);
		
		addRolloverEvents(document.getElementById('link_foodservicedisplay'),'but_foodservicedisplay','/images/primarynavigation/foodservicedisplay','jpg');																
		addPopupMenuMenus(document.getElementById('link_foodservicedisplay'),67);
		
		addRolloverEvents(document.getElementById('link_fabrication'),'but_fabrication','/images/primarynavigation/fabrication','jpg');
		addPopupMenuMenus(document.getElementById('link_fabrication'),40);
		
		addRolloverEvents(document.getElementById('link_tableware'),'but_tableware','/images/primarynavigation/tableware','jpg');																
		addPopupMenuMenus(document.getElementById('link_tableware'),106);
		
		addRolloverEvents(document.getElementById('link_utensils'),'but_utensils','/images/primarynavigation/utensils','jpg');																
		addPopupMenuMenus(document.getElementById('link_utensils'),112);
		
		addPopupMenuMenus(document.getElementById('link_aboutacorn'),'_aboutacorn');
		
		addRolloverEvents(document.getElementById('link_newproducts'),'but_newproducts','/images/primarynavigation/newproducts','jpg');				
	}	
	catch(e){};
}

function addMiscEvents() {
	try {	
		addRolloverEvents(document.getElementById('link_viewbasket'),'but_viewbasket','/images/basket/view','gif');
		addRolloverEvents(document.getElementById('link_checkout'),'but_checkout','/images/basket/checkout','gif');
		addRolloverEvents(document.getElementById('link_youraccount'),'but_youraccount','/images/youraccount/your_account','gif');
		addRolloverEvents(document.getElementById('link_register'),'but_register','/images/youraccount/register','gif');
		addRolloverEvents(document.getElementById('link_help'),'but_help','/images/youraccount/help','gif');								
		addRolloverEvents(document.getElementById('but_homepagesearch'),'but_homepagesearch','/images/homepagesearch/go','gif');
		addRolloverEvents(document.getElementById('image_newslettersignup_button'),'image_newslettersignup_button','/images/adverts/button','gif');		
	}		
	catch(e){};
}

function mainOnload() {
	addMenuEvents();
	addMiscEvents();	
}

var current_popup_menu_id = 0;
var popup_menu_timer;
var oPopup = "";
var timeractive = false;

function showmenu(id,top,left,width,height) {	
	if (window.createPopup) {
		resetUnhideTimer();
		hidelastmenu();
		current_popup_menu_id = id;
		oPopup = window.createPopup();
		oPopup.document.open();        
        oPopup.document.writeln('<html>');        
        oPopup.document.writeln('<head>');
        oPopup.document.writeln('<link REL="STYLESHEET" HREF="/styles/default.css" TYPE="text/css">');    
        oPopup.document.writeln('<script language="Javascript">');
        oPopup.document.writeln('var popup_menu_timer;');
        oPopup.document.writeln('function startUnhideTimer() {');		
		oPopup.document.writeln('	popup_menu_timer = window.setTimeout("parent.oPopup.hide();",100);');				
		oPopup.document.writeln('}');
		oPopup.document.writeln('function resetUnhideTimer() {');											
		oPopup.document.writeln('		window.clearTimeout(popup_menu_timer);');			
		oPopup.document.writeln('}');      
		oPopup.document.writeln('</script>');
        oPopup.document.writeln('</head>');
        oPopup.document.writeln('<body onmouseout="startUnhideTimer();" onmouseover="resetUnhideTimer();">');
        oPopup.document.writeln(document.getElementById('popupmenu'+id).innerHTML);        
        oPopup.document.writeln('</body>');
        oPopup.document.writeln('</html>');             
        oPopup.document.body.style.backgroundColor = '';
	    oPopup.document.body.style.border = "none";	  	
	    oPopup.document.body.style.padding = "0px";
	    oPopup.document.body.style.margin = "0px";
	    oPopup.document.body.style.overflow = "hidden";	                
        oPopup.show(left, top, width, height-8, document.body);	                       
	} else {
		resetUnhideTimer();
		hidelastmenu();
		current_popup_menu_id = id;
		document.getElementById('popupmenu'+id).style.left = left + 'px';	
		document.getElementById('popupmenu'+id).style.zIndex = '1000';	
		document.getElementById('popupmenu'+id).style.visibility = 'visible';
	}
}

function hidemenu(id) {			
	try {
		document.getElementById('popupmenu'+id).style.visibility = 'hidden';		
		oPopup.hide();
	} catch(e) {};
	current_popup_menu_id = 0
}

function hidelastmenu() {		
	try {
		document.getElementById('popupmenu'+current_popup_menu_id).style.visibility = 'hidden';				
		oPopup.hide();		
	} catch(e) {};
	current_popup_menu_id = 0
}

function testalert() {
	alert('alert!');
}

function startUnhideTimer() {		
	top.timeractive = true;
	if (!window.createPopup) {
		top.popup_menu_timer = top.window.setTimeout("hidelastmenu()",100);		
	}
}

function resetUnhideTimer() {					
	top.timeractive = false;
	try {	
		top.window.clearTimeout(top.popup_menu_timer);
	}
	catch(e) {};		
}
