// this function returns the x, y position
// works in IE and Mozilla.
function getElementPosition(element)
{
	var x=0,y=0;
	while (element!=null)
	{
		x+=element.offsetLeft-element.scrollLeft;
		y+=element.offsetTop-element.scrollTop;
		element=element.offsetParent;
	}
	return {x:x,y:y};
}

// Browser compatible element getter
function getElement(id)
{
	if (document.all) return document.all[id];
	if (document.getElementById(id)) return document.getElementById(id);
	return null;
}

// generic display function
function findElement(id)
{
	// Get the element by its id
	element = getElement(id);
	// make sure that the element was found
	if (! element) return;
	// get the object that will contain the x,y coordinates
	position = getElementPosition(element);
	// display the coordinates
		
	return position;	
}

// position elements
function pe()
{
	var bbxcon = findElement("map");	
	var bbxmapdesc = document.getElementById("bbxmapdesc");
	bbxmapdesc.style.top = bbxcon.y + 200 + "px";
	bbxmapdesc.style.left = bbxcon.x + 150 + "px";
}
// position map points
function pmp()
{
	var mpi = document.createElement("DIV");
	mpi.id = "mappointinfo";
	document.body.appendChild(mpi);

	var pn = findElement("map");		
	for(i=0;i<glmp.length;i++)
	{
		var g = glmp[i]; 
		
		// do not add points where choordinates are missing...
		if(g[2] != "" || g[3] != "")
		{
		
			var p = document.createElement("div");	
			p.id = g[0]; p.className = "mappoint"; 		
			
			if(g[0] == "mappoint1902" || g[0] == "mappoint1601") 
			{ 
				p.className = "mappointHQ"; newX += -6; newY += -6; 
			}
			
			document.body.appendChild(p);		
			
			if(document.attachEvent) 
			{ 
				p.attachEvent('onmouseover', smi); 
				p.attachEvent('onmouseout', hmi); 
				p.attachEvent('onclick', va); 
			}
			
			if(document.addEventListener) 
			{ 
				p.addEventListener('mouseover', smi, false); 
				p.addEventListener('mouseout', hmi, false); 
				p.addEventListener('click', va, false); 
			}
			
			newX = parseInt(pn.x) + parseInt(g[3]);	
			newY = parseInt(pn.y) + parseInt(g[2]);			
			p.style.top = newY + "px";
			p.style.left = newX + "px";		
			
			if(g[2] == "0" || g[3] == "0") p.style.display = "none";			
				p.style.visibility = "visible";
		
		}
	}
}

// show mappoint info
function smi()
{
	var mpi = document.getElementById("mappointinfo"); 	
	var mp; if(document.attachEvent) mp = event.srcElement; else if(document.addEventListener) mp = this; else return false;
	if(mp && mp.style.display === "") { left = parseInt(mp.style.left) + 20; mpi.style.top = mp.style.top; mpi.style.left = left + "px"; mpi.style.display  = ""; mpi.innerHMTL = "";	for(i=0;i<glmp.length;i++) { g = glmp[i]; if(g[0] == mp.id) { mpi.innerHTML = "<b>" + g[1] + "</b>"; if(g[0] == "mappoint1902" || g[0] == "mappoint1601") { mpi.innerHTML += " <i>Hovedkontor</i>"; } mpi.innerHTML += "<br>" + g[4] + " person(er)<p><i>Klikk for mer informasjon</i></p>"; } } }
}

// hide mappoint info
function hmi()
{
	mpi = document.getElementById("mappointinfo");
	mpi.style.display = "none";
}

// view area
function va()
{
	var mp; if(document.attachEvent) mp = event.srcElement; else if(document.addEventListener) mp = this; else return false;
	location.href = "/groupleaders/?do=search&mode=areanumber&an=" + mp.id.substring(mp.id.length-4, mp.id.length);
}

function Init()
{	
	pe();
	pmp();
	
	/*document.getElementById("bbxcon").style.visibility = "visible";
	document.getElementById("bbxcon").style.display = "block";
	document.getElementById("bbxmap").style.visibility = "visible";*/
	//document.getElementById("bbxmaptitle").style.visibility = "visible";
	document.getElementById("bbxmapdesc").style.visibility = "visible";
	//document.getElementById("bbxleftcon").style.visibility = "visible";
}