document.h9k=new Object; document.globalh9k=new Object; var globaltid=0; var movespeed=0.0015; // Steps per 1/1000 sec var fadespeed=0.2; // % per 1/1000 sec function GetGlobalDelta() { var now=new Date().getTime(); var ret=now-globaltid; globaltid=now; return ret; } function getElement(id) { return document.getElementById ? document.getElementById(id) : document.all ? document.all(id) : null; } function extractnumber(nr) { if (!nr) { return 0; } nr=parseInt(nr); if (isNaN(nr)) { return 0; } return nr; } function setstyle(node,txt) { if (!node || !txt) { return; } // Again IE dont handle things normaly, we need to set cssText for that sucker if (node.style && node.style.setAttribute) { node.style.setAttribute('cssText', txt); } else { node.setAttribute('style', txt); } } var _h9k_dragy=-1; var _h9k_dragys=-1; var _h9k_dragid=""; var _h9k_oldcursor=null; var _h9k_oldmousemove=null; var _h9k_oldmouseup=null; var _h9k_oldselectstart=null; function returnfalse(ev) { if (!ev) { ev=window.event; } ev.cancelBubble=true; if (ev.stopPropagation) { ev.stopPropagation(); } return false; } function h9k_scrollbar_onwheel2(ev) { if (!ev) { ev=window.event; } ev.cancelBubble=true; if (ev.stopPropagation) { ev.stopPropagation(); } evv=new Object; evv.wheelDelta=ev.wheelDelta; evv.detail=ev.detail; var p=ev.currentTarget; if (!p) { p=ev.srcElement; } var mid=(p.id).split("_scrollbar")[0] if (mid) { evv.currentTarget=getElement(mid); h9k_scrollbar_onwheel(evv); } } function h9k_scrollbar_onwheel(event){ var delta = 0; if (!event) { /* For IE. */ event = window.event; } if (event.wheelDelta) { delta = event.wheelDelta/120; if (window.opera) { if ( extractnumber(window.opera.version())<10) { delta = -delta; } } } else if (event.detail) { delta = -event.detail/3; } if (delta) { var p=event.currentTarget; if (!p) { p=event.srcElement; while(p && !p.onmousewheel){ p=p.parentNode; } } if (p) { if (delta<0) { delta=1; } else { delta=-1; } h9k_scrollbar_setscroll(p.id,delta,"delta"); } } if (event.preventDefault) { event.preventDefault(); } event.returnValue = false; } function h9k_scrollbar_hide(mid) { var p=getElement(mid); var pp=getElement(mid+"_scrollbar"); if (!p || !pp) { return; } if (pp.style.display!="none") { pp.style.display="none"; } } function h9k_scrollbar_show(mid) { var p=getElement(mid); var pp=getElement(mid+"_scrollbar"); if (!p || !pp) { return; } if (pp.style.display=="none") { pp.style.display="inline"; } } function h9k_scrollbar_setscroll(mid,pos,what) { var p=getElement(mid); var pp=getElement(mid+"_scrollbar"); var ppp=getElement(mid+"_scrollbar_handle"); if (!p || !pp || !ppp) { return; } var sh=p.scrollHeight; var h=p.clientHeight; var scrollh=h-1-1; var th=sh-h; var handpix=(scrollh/sh); var hh=Math.round(handpix*h); if (hh<16) { hh=16; } handpix=((scrollh-hh)/th); if (what) { if (what=="scroll"){ pos=Math.round(pos/handpix)+_h9k_dragys; } if (what=="click"){ if (pos<=extractnumber(ppp.style.top)) { pos=p.scrollTop-Math.round(h*0.9); } else { pos=p.scrollTop+Math.round(h*0.9); } } if (what=="delta"){ pos=p.scrollTop+pos*15; } } if (th<=0) { h9k_scrollbar_hide(mid); } else { h9k_scrollbar_show(mid); if (pos<0) { pos=0; } if (pos>th) { pos=th; } var hht=Math.round(0+handpix*pos); // pp.style.top=pos; pp.style.height=h+"px"; ppp.style.height=hh+"px"; ppp.style.top=hht+"px"; p.scrollTop=pos; } } function h9k_scrollbar_mousemove(ev) { if (!ev) { ev=window.event; } ev.cancelBubble=true; if (ev.stopPropagation) { ev.stopPropagation(); } var d=ev.clientY-_h9k_dragy; h9k_scrollbar_setscroll(_h9k_dragid,d,"scroll"); } function h9k_scrollbar_mouseup(ev) { document.onmouseup=_h9k_oldmouseup; _h9k_oldmouseup=null; document.onmousemove=_h9k_oldmousemove; _h9k_oldmousemove=null; document.onselectstart=_h9k_oldselectstart; _h9k_oldselectstart=null; document.documentElement.style.cursor=_h9k_oldcursor; _h9k_oldcursor=null; _h9k_dragid=null; _h9k_dragys=0; } function h9k_scrollbar_remove(mid) { var p=getElement(mid); if (!p) { return; } var pp=getElement(mid+"_scrollbar"); if (!pp) { return; } p.scrollTop=0; // h9k_scrollbar_setscroll(mid,0,"click"); h9k_scrollbar_hide(mid); if (p.removeEventListener) { p.removeEventListener('DOMMouseScroll', h9k_scrollbar_onwheel, false); } p.onmousewheel=null; p.parentNode.parentNode.removeChild(pp); } function h9k_scrollbar_add(mid) { var p=getElement(mid); if (!p) { return; } var pp=getElement(mid+"_scrollbar"); if (pp) { h9k_scrollbar_setscroll(mid,0,"delta"); return; } if (p.addEventListener) { p.addEventListener('DOMMouseScroll', h9k_scrollbar_onwheel, false); } p.onmousewheel=h9k_scrollbar_onwheel; var posx=p.parentNode.offsetLeft+p.parentNode.offsetWidth; if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ posx-=8; } var posy=p.parentNode.offsetTop+1; // Add a scrollbar... var md=document.createElement("div"); setstyle(md,"-moz-user-select: none; display: none; overflow: hidden; position: absolute; left: "+posx+"px; top: "+posy+"px; height: 0px; width: 20px;"); md.setAttribute('id',p.id+"_scrollbar"); md.ondragstart=function() { return false; } md.onmousedown=function() { return false; } md.onselectstart=function() { return false; } if (md.addEventListener) { // Ops, when moved into site and poped it on the outside, this fix is needed for FF also :( md.addEventListener('DOMMouseScroll', h9k_scrollbar_onwheel2, false); } md.onmousewheel=function(ev) { // IE dont do the normal event, just make a fake one so everyone will be happy if (!ev) { ev=window.event; } ev.cancelBubble=true; if (ev.stopPropagation) { ev.stopPropagation(); } evv=new Object; evv.wheelDelta=ev.wheelDelta; evv.detail=ev.detail; evv.currentTarget=getElement(p.id); h9k_scrollbar_onwheel(evv); }; md.onclick=function(ev) { if (!ev) { ev=window.event; } var y=-1; if (ev.offsetY) { y=ev.offsetY; } if (ev.layerY) { y=ev.layerY; } h9k_scrollbar_setscroll(p.id,y,"click"); }; var ed=document.createElement("div"); setstyle(ed, "border: solid black 1px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; -khtml-border-radius: 4px; background: url('/common/menu/50black.png'); overflow: hidden; position: absolute; top: 12px; left: 4px; height: 0px; width: 12px; color: red;"); ed.setAttribute('id',p.id+"_scrollbar_handle"); ed.onmousedown=function(ev) { if (!ev) { ev=window.event; } ev.cancelBubble=true; if (ev.stopPropagation) { ev.stopPropagation(); } _h9k_oldmouseup=document.onmouseup; document.onmouseup=h9k_scrollbar_mouseup; _h9k_oldmousemove=document.onmousemove; document.onmousemove=h9k_scrollbar_mousemove; _h9k_oldselectstart=document.onselectstart; document.onselectstart=returnfalse; _h9k_oldcursor=document.documentElement.style.cursor; document.documentElement.style.cursor='s-resize'; if (!_h9k_oldcursor) { _h9k_oldcursor=""; } if (_h9k_oldcursor=="") { _h9k_oldcursor="auto"; } _h9k_dragys=extractnumber(getElement(p.id).scrollTop); _h9k_dragy=ev.clientY; _h9k_dragid=p.id; return false; }; ed.onclick=function(ev) { if (!ev) { ev=window.event; } ev.cancelBubble=true; if (ev.stopPropagation) { ev.stopPropagation(); } } ei=document.createElement("img"); setstyle(ei,'position: absolute; top: 50%; margin-top: -5px; height: 10px; width: 12px;'); ei.setAttribute('src','/common/menu/scrollbar_hmark.png'); ed.appendChild(ei); md.appendChild(ed); p.parentNode.parentNode.appendChild(md); setTimeout('h9k_scrollbar_setscroll("'+(p.id)+'",0,"delta")',1); } var old_sizex=0; var old_sizey=0; var stopall=1; function resetpos() { var p=getElement("boxes"); var x=0; var y=0; if (typeof( window.innerWidth) == 'number' ){ x=window.innerWidth; y=window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { x = document.documentElement.clientWidth; y = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { x = document.body.clientWidth; y = document.body.clientHeight; } if (x!=old_sizex || y!=old_sizey) { old_sizex=x; old_sizey=y; p.style.left=Math.max(0,((x-1100)*0.5)); p.style.top=Math.max(0,((y-620)*0.5)); setTimeout(resetpos,100); } } var current_background=""; var boxes=[]; var boxdir=1; var new_page=""; var page_output=""; var page_timer; function activatepage() { var m1=getElement("loadmenu"); var m2=getElement("realmenu"); m1.style.display="none"; m2.style.display="block"; showpage(new_page); setInterval(scanlocation, 50); } function showpage(page) { document.location="#"+page; } var oldlocation=""; function scanlocation() { if (location.hash != oldlocation) { clearTimeout(page_timer); boxdir=0; slidenow=-1; popupclose(); stopall=1; GetGlobalDelta(); if (document.h9k.ongetchange && document.h9k.ongetchange!=undefined){ var preget_old=oldlocation.split("?"); var preget_new=location.hash.split("?"); if (preget_new && preget_old){ if (preget_new[0] && preget_old[0]){ if (preget_new[0]==preget_old[0]) { if (preget_new[1]){ if (preget_new[1]==undefined){ preget_new[1]=""; } } else { preget_new[1]=""; } oldlocation=location.hash; document.h9k.ongetchange(preget_new[1]); return; } } } } oldlocation=location.hash; new_page=oldlocation.substr(1); if (document.h9k.shutdown && document.h9k.shutdown!=undefined){ document.h9k.shutdown(); } GetGlobalDelta(); setTimeout("StartBoxHide(0)",100); } } function showpage_old(page) { clearTimeout(page_timer); boxdir=0; slidenow=-1; new_page=page; popupclose(); setTimeout("StartBoxHide(0)",100); } function GetXmlHttpObject() { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); } if (window.ActiveXObject) { // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } var xmlhttp=null; function loadpage() { if (xmlhttp) { xmlhttp.abort(); } xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { // Ops! alert("You dont support Ajax... we must fix this..."); return false; } var geturl=getpageurl(new_page); // alert("Loading"+geturl); xmlhttp.onreadystatechange=ajax_stateChanged; xmlhttp.open("GET",geturl,true); xmlhttp.send(null); page_timer=setTimeout(ShowPageloadingtext,4000); // startpage(new_page); // slideimage(); // StartBoxShow(); } function ShowPageloadingtext() { var p=getElement("pageloadingtext"); if (p) { p.style.display="inline"; } } function ajax_stateChanged() { if (xmlhttp.readyState==4) { clearTimeout(page_timer); var p=getElement("pageloadingtext"); if (p) { p.style.display="none"; } if (xmlhttp.status==200) { var p=getElement("preparse"); p.innerHTML=xmlhttp.responseText; setTimeout("parsepagetoboxes(0)",50); } else if (xmlhttp.status==0) { // Aborted request, skip this... } else { var out; out ='