var cX = 0;
var cY = 0;

function UpdateCursorPosition(e){
        cX = e.pageX;
        cY = e.pageY;
}

function UpdateCursorPositionDocAll(e){
        cX = event.clientX;
        cY = event.clientY;
}

if(document.all) {
        document.onmousemove = UpdateCursorPositionDocAll;
} else {
        document.onmousemove = UpdateCursorPosition;
}

function AssignPosition(d) {
        d.style.left = (cX+14) + "px";
        d.style.top = (cY+15) + "px";
}

function HideContent(d,ev) {
        if(d.length < 1) {
                return;
        }

//	if (!ev) var ev = window.event;
//	var tg = (window.event) ? ev.srcElement : ev.target;
//	if (tg.nodeName != 'IMG') return;
//
//	var reltg = (ev.relatedTarget) ? ev.relatedTarget : ev.toElement;
//	while (reltg != tg && reltg.nodeName != 'BODY')
//		reltg= reltg.parentNode
//	if (reltg== tg) return;

	// tenyleg en kaptam a mouseout-ot?
	//if (document.getElementById(d).contains(ev.relatedTarget || ev.toElement)) {
	//alert((ev.relatedTarget || ev.toElement))
		stopdown(d);
	//}
}
function ShowContent(d) {
        if(d.length < 1) {
                return;
        }
        var dd = document.getElementById(d);
        AssignPosition(dd);
        dd.style.display = "block";
	startup(d);
}

/* xxx */
function MoveContent(d, ev) {
       if(d.length < 1) {
                return;
        }
        var dd = document.getElementById(d);
        AssignPosition(dd);
}

function ReverseContentDisplay(d) {
        if(d.length < 1) {
                return;
        }
        var dd = document.getElementById(d);
        AssignPosition(dd);
        if(dd.style.display == "none") {
                dd.style.display = "block";
        } else {
                dd.style.display = "none";
        }
}

// ............

var showers = new Array();

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

//    var object = document.getElementById(id).style;
    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}
//change the opacity for different browsers
function changeOpac(opacity, id) {
//      alert(document.getElementById(id));
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
    if (showers[id] == 1) {
        object.visibility = "visible";
    } else {
    	object.visibility = "hidden";
    }
}

function killlayer(id) {
        var object = document.getElementById(id).style;
        object.visibility = "hidden";
}

function startup(id) {
	if (showers[id]) {
		return;
	}
        showers[id] = 1;
        opacity(id, 0, 80, 500);
}
function stopdown(id) {
        showers[id] = 0;
        opacity(id, 80, 0, 300);
 /*       killlayer(id); */
}

