// Tunnistetaan selain: IE vai joku muu
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE);

// globaalit muuttujat hiiren sijainnille
var tempX = 0;
var tempY = 0;

// hiiren sijainnin seuranta
function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  

  return true;
}

// laitetaan funktio seuraamaan hiiren liikkeitä
document.onmousemove = getMouseXY;

var menutimer = null;

// menuvalikon avaus
function openMenu(id) {
	clearTimeout(menutimer);

	// suljetaan vanhat div:it
	var ilmakuvaDivit = new Array; 
	ilmakuvaDivit = getElementsByClassName(document, "div", "ilmakuva_popup");
	for (var i = 0;i<ilmakuvaDivit.length;i++)
	{
//		if (ilmakuvaDivit[i].id != id) 
			ilmakuvaDivit[i].style.display="none";
	}

	if (IE)	{
		document.getElementById(id).style.pixelLeft = (tempX-60);
		document.getElementById(id).style.pixelTop = (tempY-10);
	} else {
		document.getElementById(id).style.left = (tempX - 60) + 'px';
		document.getElementById(id).style.top = (tempY - 10) + 'px';
	}
	document.getElementById(id).style.display = "block";

	menutimer = setTimeout("closeMenu('"+id+"')", 3000);
}

function closeMenu(id) {
	document.getElementById(id).style.display = "none";
}

function clearMenuTimer() {
	clearTimeout(menutimer);
}

function resetMenuTimer(id) {
//	menutimer = setTimeout("closeMenu('"+id+"')", 500);
}

// Alkuperä: http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
