//////////////////////////////////////////////////////////////////////////
// Suckerfish Menu functions
//////////////////////////////////////////////////////////////////////////

sfHover = function()
{
	var suckers = document.getElementsByTagName('ul');
	var elems = document.getElementsByTagName('select');
	for(j = 0; j < suckers.length; j++)
	{
		if (suckers[j].className == 'sucker' || suckers[j].className == 'sucker_succes')
		{
			var sfEls = suckers[j].getElementsByTagName("li");
			for (var i=0; i<sfEls.length; i++)
			{
				sfEls[i].parentUl = suckers[j];
				sfEls[i].onmouseover=function()
				{
					var Aelms = this.getElementsByTagName('a');
					if ( Aelms[0]!=null){
						if (Aelms[0].innerText == 0 )
						{
							Aelms[0].innerText = ' ';
						}
						var margin = Aelms[0].innerText.length * 7 + 15;
						if (margin > 220)
							margin = 220;
					}

					var elms = this.getElementsByTagName('ul');
					//	updating left-margin of ul elements

					this.className+=" sfhover";

					setMarginElementRecursive(elms, margin, this.parentUl);
					for (var z = 0; z < elems.length; z++)
					{
						elems[z].style.display = 'none';
					}
				}
				sfEls[i].onmouseout=function()
				{
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
					for (var z = 0; z < elems.length; z++)
					{
						elems[z].style.display = 'block';
					}
				}				
			}
		}
	}
}
/**
 * function for recursive ser margin-left value for the UL's
 *	and calculate and set the menu item offsetX
 */
function setMarginElementRecursive(elms, width, parentUl)
{
	var margin = 0;
	if (elms.length > 0)
	{
		try
		{
			elms[0].style.marginLeft = width;

			//	Set the correct page offset (for not placing the item outside the page width)
			if ((getElementEndX(elms[0]) > (getdocwidth() - 10)) || getElementEndX(elms[0].parentNode) + 225 > (getdocwidth()))
			{
				elms[0].style.marginRight = 0;
					try {
					if (parentUl && parentUl.className == 'sucker_succes') {
						elms[0].style.marginLeft = -296;
					} else {
						elms[0].style.marginLeft = -220;
					}
				} catch(e) {
					//	Fallback indien het verkeerd gaat
					elms[0].style.marginLeft = -220;
				}

			}

			var lielms = elms[0].getElementsByTagName('li');
			for (i = 0; i < lielms.length; i++)
			{
				var liulelms = lielms[i].getElementsByTagName('ul');
				if (liulelms.length > 0)
				{
					var liaelms = lielms[i].getElementsByTagName('a');
					if (liaelms.lkength > 0)
					{
						margin = Aelms[0].innerText.length * 7 + 15;
						if (margin > 220)
							margin = 220;

						setMarginElementRecursive(liulelms, margin);
					}
				}
			}
		}
		catch(e)
		{
//			alert("fout ("+ e.length +"): "+ e.message);
		}
	}
}
function getElementEndX(elm)
{
	return findPosX(elm) + 225;
}

if (window.attachEvent)
    window.attachEvent("onload", sfHover);

