var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

var activeObj = "";

function slidedown(objname) {
    activeObj = objname;
    if (moving[objname])
        return;

    if (document.getElementById(objname).style.display != "none")
        return; // cannot slide down something that is already visible

    moving[objname] = true;
    dir[objname] = "down";
    startslide(objname);
}

function slideup(objname) {
    if (activeObj == objname)
        return;
        
    if (moving[objname])
        return;

    if (document.getElementById(objname).style.display == "none")
        return; // cannot slide up something that is already hidden

    moving[objname] = true;
    dir[objname] = "up";
    startslide(objname);
}

function startslide(objname) {
    obj[objname] = document.getElementById(objname);

    endHeight[objname] = parseInt(obj[objname].style.height);
    startTime[objname] = (new Date()).getTime();

    if (dir[objname] == "down") {
        obj[objname].style.height = "1px";
    }

    obj[objname].style.display = "block";

    timerID[objname] = setInterval('slidetick(\'' + objname + '\');', timerlen);
}

function slidetick(objname) {
    var elapsed = (new Date()).getTime() - startTime[objname];
 
    if (elapsed > slideAniLen)
        endSlide(objname)
    else {
        var d = Math.round(elapsed / slideAniLen * endHeight[objname]);
        if (dir[objname] == "up")
            d = endHeight[objname] - d;

        obj[objname].style.height = d + "px";
    }

    return;
}

function endSlide(objname) {
    clearInterval(timerID[objname]);

    if (dir[objname] == "up")
        obj[objname].style.display = "none";

    obj[objname].style.height = endHeight[objname] + "px";

    delete (moving[objname]);
    delete (timerID[objname]);
    delete (startTime[objname]);
    delete (endHeight[objname]);
    delete (obj[objname]);
    delete (dir[objname]);

    return;
}











var display = "false";
function Display(obj) {
    display = "true";
    var box = document.getElementById("box");
    box.style.display = "block";
    if (box != obj) {
        var curleft = curtop = 0;
        if (obj.offsetParent) {
            curleft = obj.offsetLeft
            curtop = obj.offsetTop
            while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
            }
        }
        if ((curleft + 200) <= 900) {
            box.style.left = curleft;
        }
        else {
            box.style.left = 700;
        }
        box.style.top = curtop + 20;
    }
}
function WaitThenHide(waitTime) {
    display = "false";
    setTimeout("Hide()", waitTime);
}
function Hide() {
    if (display == "false") {
        document.getElementById("box").style.display = "none";
    }
}

function WaitThenHideContent(objname, waitTime) {
    if (activeObj == objname) {
        activeObj = "";
        setTimeout("slideup('" + objname + "')", waitTime);
    }
}


function HighLight(obj) {
    obj.style.backgroundColor = "#f0f0f0";
    obj.style.border = "solid 1px #e0e0e0";
}

function UnHighLight(obj) {
    obj.style.backgroundColor = "#ffffff";
    obj.style.border = "solid 1px #ffffff";
}

function submitPage(siteName, url, title) {
    if (siteName == "digg") {
        window.open("http://digg.com/submit/?url=" + url);
    }
    else if (siteName == "facebook") {
        window.open("http://www.facebook.com/share.php?u=" + url);
    }
    else if (siteName == "delicious") {
        window.open("http://del.icio.us/post?url=" + url + "&title=" + title);
    }
    else if (siteName == "reditt") {
        window.open("http://reddit.com/submit?url=" + url + "&title=" + title);
    }
    else if (siteName == "google") {
        window.open("http://www.google.com/bookmarks/mark?op=edit&bkmk=" + url + "&title=" + title);
    }
    else if (siteName == "technorati") {
        window.open("http://technorati.com/ping?url=" + url);
    }
    else if (siteName == "yahoo") {
        window.open("http://add.my.yahoo.com/content?url=" + url);
    }
    else if (siteName == "live") {
        window.open("http://www.google.com/bookmarks/mark?op=edit&bkmk=" + url + "&title=" + title);
    }
    else if (siteName == "stumbleupon") {
        window.open("http://www.stumbleupon.com/submit?url=" + url);
    }
    else if (siteName == "myspace") {    
        window.open("http://www.myspace.com/Modules/PostTo/Pages/?u=" + url + "&t=" + title);
    }
    else if (siteName == "twitter") {
        window.open("http://twitter.com/home?status=" + encodeURI(title + " - " + url));
    }
}