
function ClickShowHideMenu(id){this.box1Hover=true;this.box2Hover=true;this.highlightActive=false;this.init=function(){if(!document.getElementById(this.id)){alert("Element '"+this.id+"' does not exist in this document. ClickShowHideMenu cannot be initialized");return;}
this.parse(document.getElementById(this.id).childNodes,this.tree,this.id);this.load();if(window.attachEvent){window.attachEvent("onunload",function(e){self.save();});}else if(window.addEventListener){window.addEventListener("unload",function(e){self.save();},false);}}
this.parse=function(nodes,tree,id){for(var i=0;i<nodes.length;i++){if(nodes[i].nodeType!=1){continue;}
if(nodes[i].className){if("box1"==nodes[i].className.substr(0,4)){nodes[i].id=id+"-"+tree.length;tree[tree.length]=new Array();eval('nodes[i].onmouseover = function() { self.box1over("'+nodes[i].id+'"); }');eval('nodes[i].onmouseout = function() { self.box1out("'+nodes[i].id+'"); }');}
if("section"==nodes[i].className){id=id+"-"+(tree.length-1);nodes[i].id=id+"-section";tree=tree[tree.length-1];}
if("box2"==nodes[i].className.substr(0,4)){nodes[i].id=id+"-"+tree.length;tree[tree.length]=new Array();eval('nodes[i].onmouseover = function() { self.box2over("'+nodes[i].id+'", "'+nodes[i].className+'"); }');eval('nodes[i].onmouseout = function() { self.box2out("'+nodes[i].id+'", "'+nodes[i].className+'"); }');}}
if(this.highlightActive&&nodes[i].tagName&&nodes[i].tagName=="A"){if(document.location.href==nodes[i].href){nodes[i].className=(nodes[i].className?' active':'active')}}
if(nodes[i].childNodes){this.parse(nodes[i].childNodes,tree,id);}}}
this.box1over=function(id){if(!this.box1Hover)return;if(!document.getElementById(id))return;document.getElementById(id).className=(this.id_openbox==id?"box1-open-hover":"box1-hover");}
this.box1out=function(id){if(!this.box1Hover)return;if(!document.getElementById(id))return;document.getElementById(id).className=(this.id_openbox==id?"box1-open":"box1");}
this.box1click=function(id){if(!document.getElementById(id)){return;}
var id_openbox=this.id_openbox;if(this.id_openbox){if(!document.getElementById(id+"-section")){return;}
this.hide();if(id_openbox==id){if(this.box1hover){document.getElementById(id_openbox).className="box1-hover";}else{document.getElementById(id_openbox).className="box1";}}else{document.getElementById(id_openbox).className="box1";}}
if(id_openbox!=id){this.show(id);var className=document.getElementById(id).className;if("box1-hover"==className){document.getElementById(id).className="box1-open-hover";}
if("box1"==className){document.getElementById(id).className="box1-open";}}}
this.box2over=function(id,className){if(!this.box2Hover)return;if(!document.getElementById(id))return;document.getElementById(id).className=className+"-hover";}
this.box2out=function(id,className){if(!this.box2Hover)return;if(!document.getElementById(id))return;document.getElementById(id).className=className;}
this.show=function(id){if(document.getElementById(id+"-section")){document.getElementById(id+"-section").style.display="block";this.id_openbox=id;}}
this.hide=function(){document.getElementById(this.id_openbox+"-section").style.display="none";this.id_openbox="";}
this.save=function(){if(this.id_openbox){this.cookie.set(this.id,this.id_openbox);}else{this.cookie.del(this.id);}}
this.load=function(){var id_openbox=this.cookie.get(this.id);if(id_openbox){this.show(id_openbox);document.getElementById(id_openbox).className="box1-open";}}
function Cookie(){this.get=function(name){var cookies=document.cookie.split(";");for(var i=0;i<cookies.length;i++){var a=cookies[i].split("=");if(a.length==2){a[0]=a[0].trim();a[1]=a[1].trim();if(a[0]==name){return unescape(a[1]);}}}
return"";}
this.set=function(name,value){document.cookie=name+"="+escape(value);}
this.del=function(name){document.cookie=name+"=; expires=Thu, 01-Jan-70 00:00:01 GMT";}}
var self=this;this.id=id;this.tree=new Array();this.cookie=new Cookie();this.id_openbox="";}
if(typeof String.prototype.trim=="undefined"){String.prototype.trim=function(){var s=this.replace(/^\s*/,"");return s.replace(/\s*$/,"");}}