var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
var isDyn = (isDOM || isIE4 || isNS4);


// selainyhteensopivat 'id' hakukomennot
function getRef(id)
{
 if (isDOM) return document.getElementById(id);
 if (isIE4) return document.all[id];
 if (isNS4) return document.layers[id];
}

// Selainyhteensopiva elementin tyylin haku
function getSty(id)
{
 return (isNS4 ? getRef(id) : getRef(id).style);
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function	addListeners(e) {
	var textarea = document.getElementById('hakusana');
	var textarea2 = document.getElementById('nimihaku');
	addEvent(textarea, 'keyup', aKeyWasPressed, false);
	addEvent(textarea2, 'keyup', aKeyWasPressed2, false);
}

function addEvent(elm, evType, fn, useCapture) {
	if(elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if(elm.attachEvent) {
		var r = elm.attachEvent('on'+evType, fn);
		return r;
	} else {
		elm['on'+evType] = fn;
	}
}

var isIE = !window.opera && navigator.userAgent.indexOf('MSIE') != -1;

// addEvent(window, 'load', scrollInit, false);

function	scrollInit() {

	map = getRef("mapImage");

	// alert(map);
	addEvent(map, 'mousemove', moveListener, false);

}

function	attVal(element, attName) {
	return parseInt(element.getAttribute(attName));
}

function moveListener(ev) {


 var e = window.event ? window.event : ev;
 var t = e.target ? e.target : e.srcElement;

 var xPos = e.clientX - findPosX(t);
 var yPos = e.clientY - findPosY(t);

 if (t.nodeName.toLowerCase() == 'img')
   t = t.parentNode;
 if (t.nodeName.toLowerCase() == 'a') {

   // scaleFactorY = (width(big) - width(small)) / width(small)
   var scaleFactorY =
       (attVal(t, 'mainy') - attVal(t, 'thumby')) / attVal(t,
       'thumby');
   var scaleFactorX =
       (attVal(t, 'mainx') - attVal(t, 'thumbx')) / attVal(t,
       'thumbx');

   t.style.backgroundPosition =
       (-parseInt(xPos * scaleFactorX)) + 'px ' +
       (-parseInt(yPos * scaleFactorY)) + 'px';
 }
}

