function getLeft(id){if(document.getElementById(id)==null){return 0;}
return document.getElementById(id).offsetLeft;}
function getTop(id){if(document.getElementById(id)==null){return 0;}
return document.getElementById(id).offsetTop;}
function getWidth(id){if(document.getElementById(id)==null){return 0;}
return document.getElementById(id).offsetWidth;}
function getHeight(id){if(document.getElementById(id)==null){return 0;}
return document.getElementById(id).offsetHeight;}
function getElementsByClass(searchClass,node,tag){var classElements=new Array();if(node==null)
node=document;if(tag==null)
tag='*';var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp('(^|\\s)'+searchClass+'(\\s|$)');for(i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}}
return classElements;}
var desk={init:function(){pages=getElementsByClass("item",document.getElementById("desk"));var maxwidth=0;var maxheight=0;var indentwidth=pages[0].offsetLeft;var indentheight=pages[0].offsetTop;for(i=0;i<pages.length;i++){thiswidth=pages[i].offsetLeft+ pages[i].offsetWidth;if(thiswidth>maxwidth){maxwidth=thiswidth;}
thisheight=pages[i].offsetTop+ pages[i].offsetHeight;if(thisheight>maxheight){maxheight=thisheight;}
indentwidth=Math.min(pages[i].offsetLeft,indentwidth);indentheight=Math.min(pages[i].offsetTop,indentheight);}
document.getElementById("desk").style.width=(maxwidth+ indentwidth)+"px";document.getElementById("desk").style.height=(maxheight+ indentheight)+"px";this.docW=document.getElementById("desk").offsetWidth;this.docH=document.getElementById("desk").offsetHeight;this.contW=document.getElementById("body").offsetWidth;this.contH=document.getElementById("body").offsetHeight;}}
var menu={init:function(items){for(var id in items){if(document.getElementById(id)!=null){items[id][1]=new Scroller(id);}}}}
function Highlight(id){for(var key in items){if(document.getElementById(prefix_menu+ key)!=null){document.getElementById(prefix_menu+ key).className="def";}}
if(document.getElementById(prefix_menu+ id)!=null){document.title=prefix_title+ items[id][0];document.getElementById(prefix_menu+ id).className="sel";return true;}
return false;}
function LoadData(id,sub){Highlight(id);}
var movemenu=1;var menumoving=false;var steps=50;var step=steps+ 1;var srcX=0;var srcY=0;var dstX=0;var dstY=0;function MenuDown(){if(!menumoving){movemenu=1;}}
function MenuUp(){MenuDown();}
function MenuSlide(){if(movemenu<-1){movemenu++;return;}
if(movemenu>1){movemenu--;return;}
menutop=getTop("menu");if(movemenu==1){if(menutop<0){menutop+=15;}
if(menutop>=0){menutop=0;movemenu=0;}}
if(movemenu==-1){if(menutop>-32){menutop-=4;}
if(menutop<=-32){menutop=-32;movemenu=0;}}
menumoving=(menutop>-32)&&(menutop<0);document.getElementById("menu").style.top=menutop+"px";}
function ScrollTo(x,y){document.getElementById("desk").style.left=x+"px";document.getElementById("desk").style.top=y+"px";return false;}
function SlideTo(id,sub){LoadData(id,sub);areaW=getWidth("body");areaH=getHeight("body");targetW=getWidth(id);targetH=getHeight(id);deltaX=Math.round((areaW- targetW)/2);deltaY=Math.round((areaH- targetH)/2);dstX=deltaX- getLeft(id);dstY=deltaY- getTop(id);srcX=getLeft("desk");srcY=getTop("desk");step=0;return false;}
function DeskSlide(){q=Math.sin((Math.PI/2)*(step/steps));posX=Math.round((dstX- srcX)*q)+ srcX;posY=Math.round((dstY- srcY)*q)+ srcY;ScrollTo(posX,posY);step++;}
function Ticker(){if(movemenu!=0){MenuSlide();}
if(step<=steps){DeskSlide();}
window.setTimeout("Ticker()",10);}
function getCSSRule(ruleName,deleteFlag){ruleName=ruleName.toLowerCase();if(document.styleSheets){for(var i=0;i<document.styleSheets.length;i++){var styleSheet=document.styleSheets[i];var ii=0;var cssRule=false;do{if(styleSheet.cssRules){cssRule=styleSheet.cssRules[ii];}else{cssRule=styleSheet.rules[ii];}
if(cssRule){if(cssRule.selectorText.toLowerCase()==ruleName){if(deleteFlag=='delete'){if(styleSheet.cssRules){styleSheet.deleteRule(ii);}else{styleSheet.removeRule(ii);}
return true;}else{return cssRule;}}}
ii++;}while(cssRule);}}
return false;}
function killCSSRule(ruleName){return getCSSRule(ruleName,'delete');}
function addCSSRule(ruleName){if(document.styleSheets){if(!getCSSRule(ruleName)){if(document.styleSheets[0].addRule){document.styleSheets[0].addRule(ruleName,null,0);}else{document.styleSheets[0].insertRule(ruleName+' { }',0);}}}
return getCSSRule(ruleName);}
