var timerlen = 0;
var slideAniLen = 0;
var isDown = 0;
var COOKIE_NAME = 'JS_TABTOGGLE';
var COOKIE_NAME_AUTH = 'JS_TABTOGGLE_AUTHORITY';

var obj = new Array();
var moving = new Array();
var dir = new Array();

function slidedown(objname){
  setCookie(COOKIE_NAME,1,30);
  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){
  setCookie(COOKIE_NAME,0,30);
  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);
    endSlide(objname);
}

function endSlide(objname){ 
  if(dir[objname] == "up")
    obj[objname].style.display = "none";
  else
    obj[objname].style.display = "block";
    
 
  delete(moving[objname]);
  delete(obj[objname]);
  delete(dir[objname]);
 
  return;
}

function toggleSlide(objname){
  if(document.getElementById(objname).style.display == "none"){
    // div is hidden, so let's slide down
    slidedown(objname);
  }else{
    // div is not hidden, so slide up
    slideup(objname);
  }
}

function setInitialView(objname){
    var tabHidden = getCookie(COOKIE_NAME);
    var tabDiv = document.getElementById(objname);
    if(!tabDiv)
        return;
    if(!tabHidden || tabHidden == "0")
        tabDiv.style.display = "none";
    else
        tabDiv.style.display = "block";
}

function setInitialView(objname, nondefault){

  var curCookie;
  
  if(nondefault == "AUTHORITY")
    curCookie = COOKIE_NAME_AUTH;
  else
    curCookie = COOKIE_NAME;
    
    
    var tabHidden = getCookie(curCookie);
    
    var tabDiv = document.getElementById(objname);
    if(!tabDiv)
        return;
    if(!tabHidden || tabHidden == "0")
        tabDiv.style.display = "none";
    else
        tabDiv.style.display = "block";
}

function setCookie(c_name,value,expiredays)
{
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
        { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) 
                c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return "";
}