function SDMenu(id) { if (!document.getElementById || !document.getElementsByTagName)
return false; this.menu = document.getElementById(id); this.submenus = this.menu.getElementsByTagName("div"); this.remember = true; this.speed = 2; this.markCurrent = true; this.oneSmOnly = false;}
SDMenu.prototype.init = function() { var mainInstance = this; for (var i = 0; i < this.submenus.length; i++)
this.submenus[i].getElementsByTagName("span")[0].onclick = function() { mainInstance.toggleMenu(this.parentNode);}; if (this.markCurrent) { var links = this.menu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++)
if (links[i].href == document.location.href) { links[i].className = "current"; break;}
}
if (this.remember) { var regex = new RegExp("sdmenu_" + encodeURIComponent(this.menu.id) + "=([01]+)"); var match = regex.exec(document.cookie); if (match) { var states = match[1].split(""); for (var i = 0; i < states.length; i++)
this.submenus[i].className = (states[i] == 0 ? "collapsed" : "");}
}
}; SDMenu.prototype.toggleMenu = function(submenu) { if (submenu.className == "collapsed")
this.expandMenu(submenu); else
this.collapseMenu(submenu);}; SDMenu.prototype.expandMenu = function(submenu) { var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var links = submenu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++)
fullHeight += links[i].offsetHeight; var moveBy = Math.round(this.speed * links.length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight + moveBy; if (newHeight < fullHeight)
submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = ""; mainInstance.memorize();}
}, 30); this.collapseOthers(submenu);}; SDMenu.prototype.collapseMenu = function(submenu) { var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight - moveBy; if (newHeight > minHeight)
submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = "collapsed"; mainInstance.memorize();}
}, 30);}; SDMenu.prototype.collapseOthers = function(submenu) { if (this.oneSmOnly) { for (var i = 0; i < this.submenus.length; i++)
if (this.submenus[i] != submenu && this.submenus[i].className != "collapsed")
this.collapseMenu(this.submenus[i]);}
}; SDMenu.prototype.expandAll = function() { var oldOneSmOnly = this.oneSmOnly; this.oneSmOnly = false; for (var i = 0; i < this.submenus.length; i++)
if (this.submenus[i].className == "collapsed")
this.expandMenu(this.submenus[i]); this.oneSmOnly = oldOneSmOnly;}; SDMenu.prototype.collapseAll = function() { for (var i = 0; i < this.submenus.length; i++)
if (this.submenus[i].className != "collapsed")
this.collapseMenu(this.submenus[i]);}; SDMenu.prototype.memorize = function() { if (this.remember) { var states = new Array(); for (var i = 0; i < this.submenus.length; i++)
states.push(this.submenus[i].className == "collapsed" ? 0 : 1); var d = new Date(); d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000)); document.cookie = "sdmenu_" + encodeURIComponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.toGMTString() + "; path=/";}
}; 
var manual_or_random="manual"
var randomsetting="3 days"
function getCookie(Name) { var re=new RegExp(Name+"=[^;]+", "i"); if (document.cookie.match(re))
return document.cookie.match(re)[0].split("=")[1]
return null
}
function setCookie(name, value, days) { var expireDate = new Date()
var expstring=(typeof days!="undefined")? expireDate.setDate(expireDate.getDate()+parseInt(days)) : expireDate.setDate(expireDate.getDate()-5)
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";}
function deleteCookie(name){ setCookie(name, "moot")
}
function setStylesheet(title, randomize){ var i, cacheobj, altsheets=[""]
for(i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++) { if(cacheobj.getAttribute("rel").toLowerCase()=="alternate stylesheet" && cacheobj.getAttribute("title")) { cacheobj.disabled = true
altsheets.push(cacheobj)
if(cacheobj.getAttribute("title") == title)
cacheobj.disabled = false
}
}
if (typeof randomize!="undefined"){ var randomnumber=Math.floor(Math.random()*altsheets.length)
altsheets[randomnumber].disabled=false
}
return (typeof randomize!="undefined" && altsheets[randomnumber]!="")? altsheets[randomnumber].getAttribute("title") : ""
}
function choosestyle(styletitle, days){ if (document.getElementById){ setStylesheet(styletitle)
setCookie("mysheet", styletitle, days)
}
}
function indicateSelected(element){ if (selectedtitle!=null && (element.type==undefined || element.type=="select-one")){ var element=(element.type=="select-one") ? element.options : element
for (var i=0; i<element.length; i++){ if (element[i].value==selectedtitle){ if (element[i].tagName=="OPTION")
element[i].selected=true
else
element[i].checked=true
break
}
}
}
}
if (manual_or_random=="manual"){ var selectedtitle=getCookie("mysheet")
if (document.getElementById && selectedtitle!=null)
setStylesheet(selectedtitle)
}
else if (manual_or_random=="random"){ if (randomsetting=="eachtime")
setStylesheet("", "random")
else if (randomsetting=="sessiononly"){ if (getCookie("mysheet_s")==null)
document.cookie="mysheet_s="+setStylesheet("", "random")+"; path=/"
else
setStylesheet(getCookie("mysheet_s"))
}
else if (randomsetting.search(/^[1-9]+ days/i)!=-1){ if (getCookie("mysheet_r")==null || parseInt(getCookie("mysheet_r_days"))!=parseInt(randomsetting)){ setCookie("mysheet_r", setStylesheet("", "random"), parseInt(randomsetting))
setCookie("mysheet_r_days", randomsetting, parseInt(randomsetting))
}
else
setStylesheet(getCookie("mysheet_r"))
}
}
var myMenu;
window.onload = function() {
myMenu = new SDMenu("my_menu");
myMenu.init();
};
function bookmarksite(title,url){
if (window.sidebar)
window.sidebar.addPanel(title, url, "");
else (document.all)
window.external.AddFavorite(url, title);
}