var ie=document.all;
var nn6=document.getElementById&&!document.all;
var opera=window.opera;

var igonload = false;
var igonmousemove = false;

var mouseX = 0;
var mouseY = 0;

function ub(obj, nick) {
}

function common_mousemove(e) {
	if (ie) {
		mouseX = event.clientX + document.documentElement.scrollLeft;
		mouseY = event.clientY + document.documentElement.scrollTop;
	} else {
		mouseX = e.pageX;
		mouseY = e.pageY;
	}
	if (igonmousemove) igonmousemove(e);
}
document.onmousemove=common_mousemove;

var velocity = new Array();
var origo = new Array();
var pos = new Array();
var dimensions = new Array();
var isMouseOver = new Array();
var oldTime = 0;

function mouseOver(o) {
	isMouseOver[o.id] = true;
}

function mouseOut(o) {
	isMouseOver[o.id] = false;
}

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 init() {
	for (var i in dille_dongs) {
		if (dille_dongs[i]>0) {
			o = document.getElementById("dille_dong_" + dille_dongs[i]);

			origo[o.id] = new Array();
			origo[o.id][0] = parseInt(o.style.left + 0);
			origo[o.id][1] = parseInt(o.style.top + 0);

			pos[o.id] = new Array();
			pos[o.id][0] = parseInt(o.style.left + 0);
			pos[o.id][1] = parseInt(o.style.top + 0);

			dimensions[o.id] = new Array();
			dimensions[o.id][0] = parseInt(o.style.width + 0);
			dimensions[o.id][1] = parseInt(o.style.height + 0);

			velocity[o.id] = new Array();
			velocity[o.id][0] = 0.0;
			velocity[o.id][1] = 0.0;
		}
	}
}

function move() {

	var timeS = 0;
	if (oldTime>0) {
		timeS = (new Date() - oldTime) / 1000;
	}
	oldTime = new Date();
	if (timeS>0.1) {
		timeS = 0.1;
	}

	for (var i in dille_dongs) {
		if (dille_dongs[i]>0) {
			o = document.getElementById("dille_dong_" + dille_dongs[i]);

			velocity[o.id][0] = velocity[o.id][0] - velocity[o.id][0] * timeS * 1.75;
			velocity[o.id][1] = velocity[o.id][1] - velocity[o.id][1] * timeS * 1.75;

			var x = findPosX(o) + dimensions[o.id][0] * 0.5;
			var y = findPosY(o) + dimensions[o.id][1] * 0.5;

			mouseDistX = mouseX - x;
			mouseDistY = mouseY - y;
			mouseDistAbs = Math.abs(mouseDistX) + Math.abs(mouseDistY);
			mouseDistSq = mouseDistX * mouseDistX + mouseDistY * mouseDistY;

			origoDistX = origo[o.id][0] - pos[o.id][0];
			origoDistY = origo[o.id][1] - pos[o.id][1];
			origoDistAbs = Math.abs(origoDistX) + Math.abs(origoDistY);

			var mouseActive = false;
			var origoDist = 0;
			var newPosX, newPosY;

			if (Math.abs(mouseDistX) < (dimensions[o.id][0] * 0.5 + 10) && Math.abs(mouseDistY) < (dimensions[o.id][1] * 0.5 + 10) && mouseDistAbs>0) {
				mouseForce = 1.0 / (10 + Math.sqrt(mouseDistSq)) * 60000.0;
				velocity[o.id][0] = velocity[o.id][0] - (mouseForce * (mouseDistX / mouseDistAbs)) * timeS;
				velocity[o.id][1] = velocity[o.id][1] - (mouseForce * (mouseDistY / mouseDistAbs)) * timeS;
				mouseActive = true;

			}
			if (origoDistAbs>0) {
				origoDist = Math.sqrt(origoDistX * origoDistX + origoDistY * origoDistY);
				origoForce = origoDist * 3;
				velocity[o.id][0] = velocity[o.id][0] + origoForce * (origoDistX / origoDistAbs) * timeS;
				velocity[o.id][1] = velocity[o.id][1] + origoForce * (origoDistY / origoDistAbs) * timeS;
			}

			if (!mouseActive && origoDist<2 && Math.abs(velocity[o.id][0])<2 && Math.abs(velocity[o.id][1])<2) {
				velocity[o.id][0] = 0;
				velocity[o.id][1] = 0;
				newPosX = origo[o.id][0];
				newPosY = origo[o.id][1];
			} else {
				newPosX = pos[o.id][0] + velocity[o.id][0] * timeS;
				newPosY = pos[o.id][1] + velocity[o.id][1] * timeS;
			}

			if (newPosX!=pos[o.id][0] || newPosY!=pos[o.id][1]) {
				pos[o.id][0] = newPosX;
				pos[o.id][1] = newPosY;
				o.style.left = pos[o.id][0] + "px";
				o.style.top  = pos[o.id][1] + "px";
			}
		}
	}

	window.setTimeout('move()', 25);
}

function print_dille_dong(name, filename, w, h, hand) {
    if (ie && !opera) {
        document.writeln('<span title="' + name + '" style="' + (hand?'cursor:pointer;':'') + 'display:inline-block;width:' + w + 'px; height:' + h + 'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + filename + '\', sizingMethod=\'scale\');"></span>');
    } else {
        document.writeln('<img alt="' + name + '" style="width:' + w + 'px; height:' + h + 'px;" src="' + filename + '" />');
    }
}
