var n_timerlen = 5;
var n_slideAniLen = 250;

var n_timerID = new Array();
var n_startTime = new Array();
var n_obj = new Array();
var n_endHeight = new Array();
var n_moving = new Array();
var n_dir = new Array();

function slidedown(n_objname){
        if(n_moving[n_objname])
                return;

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

        n_moving[n_objname] = true;
        n_dir[n_objname] = "down";
        startslide(n_objname);
}

function slideup(n_objname){
        if(n_moving[n_objname])
                return;

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

        n_moving[n_objname] = true;
        n_dir[n_objname] = "up";
        startslide(n_objname);
}

function startslide(n_objname){
        n_obj[n_objname] = document.getElementById(n_objname);

        n_endHeight[n_objname] = parseInt(n_obj[n_objname].style.height);
        n_startTime[n_objname] = (new Date()).getTime();

        if(n_dir[n_objname] == "down"){
                n_obj[n_objname].style.height = "1px";
        }

        n_obj[n_objname].style.display = "block";

        n_timerID[n_objname] = setInterval('slidetick(\'' + n_objname + '\');',n_timerlen);
}

function slidetick(n_objname){
        var elapsed = (new Date()).getTime() - n_startTime[n_objname];

        if (elapsed > n_slideAniLen)
                endSlide(n_objname)
        else {
                var d =Math.round(elapsed / n_slideAniLen * n_endHeight[n_objname]);
                if(n_dir[n_objname] == "up")
                        d = n_endHeight[n_objname] - d;

                n_obj[n_objname].style.height = d + "px";
        }

        return;
}

function endSlide(n_objname){
        clearInterval(n_timerID[n_objname]);

        if(n_dir[n_objname] == "up")
                n_obj[n_objname].style.display = "none";

        n_obj[n_objname].style.height = n_endHeight[n_objname] + "px";

        delete(n_moving[n_objname]);
        delete(n_timerID[n_objname]);
        delete(n_startTime[n_objname]);
        delete(n_endHeight[n_objname]);
        delete(n_obj[n_objname]);
        delete(n_dir[n_objname]);

        return;
}

function toggleSlide(n_objname){
  if(document.getElementById(n_objname).style.display == "none"){
    // div is hidden, so let's slide down
    slidedown(n_objname);
  }else{
    // div is not hidden, so slide up
    slideup(n_objname);
  }
}

function n_show(div)
{
	$('.port_nav').slideUp();
	$(div).slideDown();
} 

