var d = document;
var x,y;
var descs = new Array();
ids.push("desc");
function getDescRequest(id) {}
function getDesc(id) {
    if(!d.getElementById("rdesc") || d.getElementById("rdesc").value=="on") {
        var exists = false;
        for(var i=0;i<descs.length;i++) {
            if(descs[i]==id) {
                exists = true;
                setDesc(descs[i+1]);
                break;
            }
        }
        if(!exists) {
            descs.push(id);
            getDescRequest(id);
        }
    }
}
function setDesc(desc) {
     d.getElementById("desc").innerHTML = desc;
     setTipPosition();
}
function setTipPosition() {
    if(d.getElementById("rdesc") && d.getElementById("rdesc").value!="on") return;
    var e = d.getElementById('tip');
    var t = e.style;
    var max_width = window.innerWidth || d.body.offsetWidth;
    var my_width = e.clientWidth || d.offsetWidth;
    if(!my_width) my_width = 0;
    if( (x-my_width/2) <= max_width/3 )
        t.left =  x + 10 + 'px';
    else if( (x+my_width/2) >= max_width/1.5)
        t.left =  max_width - my_width - (max_width - x) + 'px';
    else
        t.left = x - my_width/2 + 'px';
    t.top = y + 10 + 'px';
    t.display = 'inline';
}
function setCoords(e) {
    if(!e) e = window.event;
    if (e.pageX || e.pageY) {
        x = e.pageX;
        y = e.pageY;
    } else if (e.clientX || e.clientY) {
        x = e.clientX + d.body.scrollLeft;
        y = e.clientY + d.body.scrollTop;
    }
}
function hide() { d.getElementById('tip').style.display = 'none'; }
function processDesc() {
    if(id=="desc") {
        descs.push(delem.innerHTML);
        setTipPosition();
    }
}
pcs.push(processDesc);
d.onmousemove = setCoords;
d.onmouseover = setCoords;
