/**
 * Javascript functions for the shopping cart
 * Requires the Prototype JavaScript framework of version 1.6.0 or above.
 */
function initHeader(displayCart) {
	// Mark active link
	setActiveMenuLink();
	
	// Loop navigation link and bind mousein/out events
	bindNavImageSwapTrigger('header_left_nav');
	bindNavImageSwapTrigger('header_right_nav');
	
	if(displayCart) {showCart();}
	if($('cart_close_button')){Event.observe('cart_close_button','click',hideCart,false);}
	if($('cart_button')){Event.observe('cart_button','click',showCart,false);}
}
function setActiveMenuLink() {
	try {
		var pathinfo = document.location.pathname.split("/"), subpath = (pathinfo[2] === "produkter_tjanster") ? pathinfo[3]:pathinfo[2];
		
		var activelink = $$("#header_left_nav a").find(function(node){
		    var hrefInfo = node.href.split("/");
		    hrefInfo = (hrefInfo[4] === "produkter_tjanster") ? hrefInfo[5] : hrefInfo[4];
		    return hrefInfo === subpath;
		});
		if(activelink != undefined) {
			var img = activelink.down("img");
			img.src = img.src.replace(/_off./,'_on.');
			img.addClassName("active");
		}
	} catch(ex) {
		//Ignore
	} 
}
function bindNavImageSwapTrigger(elemId) {
	Event.observe(elemId,'mouseover',function(evt){handleImgageSwap(evt,true);});
	Event.observe(elemId,'mouseout',function(evt){handleImgageSwap(evt,false);});
}
/**
 * Delegate event for swapping navigation images
 */  
function handleImgageSwap(/*Event*/evt, /*boolean*/turnOn) {
	var img = evt.findElement("img");
	if(img && !img.hasClassName("active")) {
		img.src = turnOn ? img.src.replace(/_off./,'_on.') : img.src.replace(/_on./,'_off.');
	}
}
function debug(str) {
	if ($('debug')) {
		Element.show('debug');
		new Insertion.Top('debug', '<span class="d">'+str+'<br></span>'); 
		var someNodeList = $('debug').getElementsByTagName('span');
		var nodes = $A(someNodeList);
		if(nodes.length > 10) {Element.remove(nodes.last());}
	} else {
		Element.hide('debug');
	}
}
function hideCart() {
	Element.addClassName('cart_container','hidden_elem');
	Element.addClassName('cart_containerold','hidden_elem');
}
function showCart() {
	Element.removeClassName('cart_container','hidden_elem');
	Element.removeClassName('cart_containerold','hidden_elem');
}