
var hiddenE;
var prodE;
var abort=false;
var newwindow;
var tooltip_active=false;

var open_tooltips=new Array();


function poptastic(url)
{
	newwindow=window.open(url,'name','width=850');
	if (window.focus) {newwindow.focus()}
}


function featuredProdToolTip(hiddenelementId,productElement){
	abort=false;
	hiddenE=hiddenElement=document.getElementById(hiddenelementId);;
	prodE=productElement;

	//alert("image"+tooltip_active);
	//setTimeout("moveAndDisplay()",500);
	moveAndDisplay();
}


function abortTooltip(){
	abort=true;

}

function closeAllTooltips(excluded){
	for (i=0;i<open_tooltips.length;i++)
	{
		if(open_tooltips[i]!=excluded){
			temp_e=document.getElementById(open_tooltips[i]);
			temp_e.style.display='none';
		}
	}

}


function moveAndDisplay(){
	if(!abort){
		var pos,x,y;
		pos=findPos(prodE);
		x=pos[0];
		y=pos[1];

		//x=x-130;
		//x=x-70;

		// Flytta elemment till rätt plats
		hiddenE.style.zIndex=hiddenE.style.zIndex+2;

		hiddenE.style.top=(y)+"px";
		hiddenE.style.left=(x)+"px";
		hiddenE.style.display='block';
		tooltip_active=true;
		hiddenE.onmouseout=tooltipClose;		// Sätt event handler
		open_tooltips.push(hiddenE.id);
		
		closeAllTooltips(hiddenE.id);
		//alert(open_tooltips);
	}
}


function tooltipClose(e){
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	if (tg.nodeName != 'DIV') return;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	while (reltg != tg && reltg.nodeName != 'BODY')
	reltg= reltg.parentNode
	if (reltg== tg) return;
	// Mouseout took place when mouse actually left layer
	// Handle event
	//alert("out?"+tg.id);
	tg.style.display='none';
	//element=document.getElementById(elementId);
	//element.style.display='none';
	tooltip_active=false;
	abort=true;
}






function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}



//////// JAVASCRIPT TOOLS


var EventUtil = new Object;
EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler) {
	if (oTarget.addEventListener) {
		oTarget.addEventListener(sEventType, fnHandler, false);
	} else if (oTarget.attachEvent) {
		oTarget.attachEvent("on" + sEventType, fnHandler);
	} else {
		oTarget["on" + sEventType] = fnHandler;
	}
};

EventUtil.removeEventHandler = function (oTarget, sEventType, fnHandler) {
	if (oTarget.removeEventListener) {
		oTarget.removeEventListener(sEventType, fnHandler, false);
	} else if (oTarget.detachEvent) {
		oTarget.detachEvent("on" + sEventType, fnHandler);
	} else {
		oTarget["on" + sEventType] = null;
	}
};
