/*
	DIV Menu javascript 
	JS DOM version
	
	For:			Ljudshopen (http://www.ljudshopen.se/)
	Author: 		S Thomson
	Last modified:	2006.03.20
	Copyright:		Thomson Mediautveckling Ab (http://www.thomson.nu/) 2006, all rights reserved.
	
	Browser support
	
	** N/A > Not Available
	** ---  > Not tested
	
	Browser/Platform		Windows XP		Mac OSX		Checked by
	--------------------------------------------------------------
	Internet Explorer 6			OK			  N/A			ST
	Mozilla Firefox 1.07		OK			  OK			ST
	Safari						N/A			  OK			ST
	Opera 8.5					OK			  ---			ST
	
*/

/**
  * Toggles node between open and closed
  * @param obj Object DIV to toggle
  * @type void
  */
function toggleNode(obj)
{
	objdiv = obj.childNodes[1];
	if(objdiv.styledisplay == "")
		objdiv.styledisplay = "block";
	objdiv.style.display = (objdiv.style.display == "block")?"none":"block";
	if(obj.childNodes[0].childNodes[0])
		obj.childNodes[0].childNodes[0].src = (objdiv.style.display == "block")?"/images/minus.gif":"/images/plus.gif";
	initImages(objdiv);	
}

/**
  * Inits menu and startsd the image setup function
  * @param id Object DIV that wraps the menu
  * @type void
  */
function initMenu(id)
{
	startObj = document.getElementById('menuitem_' + id);
	if(startObj)
	{
		toggleLoop(startObj);
	}

	mw = document.getElementById('menu_wrapper');
	ret = initImages(mw);
	if(startObj.childNodes[1].childNodes.length == 0)
		startObj.childNodes[0].childNodes[0].src = "/images/spacer.gif";
}

/**
  * Toggles nodes between open and closed
  * @param obj Object DIV to start tiggle with (recursive upwards in the menu tree)
  * @type void
  */
function toggleLoop(obj)
{
	toggleNode(obj);
	if(obj.parentNode.parentNode.nodeName == "DIV" )
	{
		toggleLoop(obj.parentNode.parentNode);
	}
	/*
	else
	{
		switch(obj.id){
			case "menuitem_1":
				document.images["hemhifi"].src = "images/meny/meny_hem-hifi_over.gif";
			break;
			case "menuitem_2":
				document.images["bild"].src = "images/meny/meny_bild_over.gif";
			break;
			case "menuitem_3":
				document.images["bilhifi"].src = "images/meny/meny_bil-hifi_over.gif";
			break;
			case "menuitem_4":
				document.images["tillbehor"].src = "images/meny/meny_tillbehor_over.gif";
			break;
		}
	}
	*/
}



/**
  * Changes images for the menu object
  * @param obj Object DIV to fix images in 
  * @type void
  */
function initImages(obj)
{
	for(var i=0;i<obj.childNodes.length;i++)
	{
		c = obj.childNodes[i].childNodes[1];
		if(c && c.childNodes.length > 1)
		{
			obj.childNodes[i].childNodes[0].childNodes[0].src = (obj.childNodes[i].childNodes[1].style.display == "block")?"/images/minus.gif":"/images/plus.gif";
		}
	}
}






/***************** OTHER ********************/




/**
  * Search stuff - handles keypress 'enter' on the search field
  * @param e event	window.event
  * @returns boolean true/false (false if 'enter' key is pressed)
  */
function checkKey(e)
{
	var key = window.event ? e.keyCode : e.which;
	if(key == 13)
	{
		e.returnValue = false;
		
		if (e.stopPropagation) 
			e.stopPropagation();
		else	
			e.cancelBubble = true;
	
		performSearch();
		return false;
	}
	return true;
}
function checkKey2(e)
{
	var key = window.event ? e.keyCode : e.which;
	if(key == 13)
	{
		e.returnValue = false;
		
		if (e.stopPropagation) 
			e.stopPropagation();
		else	
			e.cancelBubble = true;
	
		doLogin();
		return false;
	}
	return true;
}

/**
  * Creates url with querystring and sends user to that url
  * @returns nothing
  */
function performSearch()
{
	obj = document.getElementById("q");
	val = obj.value;
	self.location.href="produkter_search.aspx?q=" + val;
}
function doLogin()
{
	var el = document.getElementById('__VIEWSTATE');
	document.getElementById(document.forms[0].id).removeChild(el);	
	document.forms[0].action="member_login.aspx?retUrl=" + self.location;
	document.forms[0].submit();
}
