//////////////////////////////////////////////////////////////////////////////////////////// // Adev - Advanced Development, (c)2001 - 3010 All rights reserved. // // Writer : Roy Hagg // // Contact: www.xsdot.com // //////////////////////////////////////////////////////////////////////////////////////////// var version = 118; //////////////////////////////////////////////////////////////////////////////////////////// var agent = navigator.userAgent.toLowerCase(); var major = parseInt(navigator.appVersion); var minor = parseFloat(navigator.appVersion); // browser test functions var dom = (document.getElementById) ? true : false; var ns5 = ((agent.indexOf("gecko")>-1) && dom) ? true: false; var ns4 = (document.layers && !dom) ? true : false; var ie4 = (document.all && !dom) ? true : false; var ie5 = ((agent.indexOf("msie 5")>-1) && dom) ? true : false; var ie55 = ((agent.indexOf("msie 5.5")>-1) && dom) ? true : false; var ie6 = ((agent.indexOf("msie 6")>-1) && dom) ? true : false; var ie7 = ((agent.indexOf("msie 7")>-1) && dom) ? true : false; var ie8 = ((agent.indexOf("msie 8")>-1) && dom) ? true : false; var ie = ((agent.indexOf("msie")>-1) && dom) ? true : false; var op = (window.opera) ? true : false; //var gchr = ((agent.indexOf("chrome")>-1) && dom) ? true : false; //var safari = ((agent.indexOf("safari")>-1) && dom) ? true : false; var awk5 = false; var op95 = false; if(op) { var opstr = "opera/"; var fs = agent.indexOf(opstr); if(fs>=0) { if(parseFloat(agent.substring(fs+opstr.length, agent.length))>=9.5) { op95 = true; } } } if(agent.indexOf("applewebkit/")>-1) { var awkstr = "applewebkit/"; var fs = agent.indexOf(awkstr); if(fs>=0) { if(parseInt(agent.substring(fs+awkstr.length, agent.length))>=500) { awk5 = true; } } } //////////////////////////////////////////////////////////////////////////////////////////// // mouse capture functions var mouseX = -2000; var mouseY = -2000; mayStart = false; var ieComp = false; var comp = false; var ooX = 0; var ooY = 0; if((document.compatMode && document.compatMode != "BackCompat")) { comp = true; if(ie6|ie7|ie8) ieComp = true; } if(ns4) {document.captureEvents(Event.MOUSEMOVE);} document.onmousemove = mouseMove; function mouseMove(evt) { if(!mayStart) { if( ie5 | ie55 | ie6 ) { if(document.body!=null) { var r = document.body.readyState; if(r=="complete") window.setTimeout("mayStart = true;", 200); } return; } else { window.setTimeout("mayStart = true;", 200); return; } } if(ns4|ns5|op95) { mouseX = evt.pageX; mouseY = evt.pageY; } else if(ieComp) { mouseX = event.clientX+document.documentElement.scrollLeft; mouseY = event.clientY+document.documentElement.scrollTop; } else { mouseX = window.event.clientX + document.body.scrollLeft; mouseY = window.event.clientY + document.body.scrollTop; } moveToolTip(mouseX,mouseY); try {mouseMoveEvent(evt);}catch(e){} try {frontMouseMoveEvent(evt);}catch(e){} } //////////////////////////////////////////////////////////////////////////////////////////// // Element functions function getElement(id) { if(dom) { return document.getElementById(id); } return 0; } function getElementWidthStr(id) { if(dom) { return document.getElementById(id).offsetWidth; } return 0; } function getElementHeightStr(id) { if(dom) { return document.getElementById(id).offsetHeight; } return 0; } function getElementWidth(id) { if(dom) { return id.offsetWidth; } return 0; } function getElementHeight(id) { if(dom) { return id.offsetHeight; } return 0; } function getElementXPos(item) { if(dom) { xPos = item.offsetLeft; tempEl = item.offsetParent; while (tempEl != null) { xPos += tempEl.offsetLeft; tempEl = tempEl.offsetParent; } return xPos; } return 0; } function getElementYPos(item) { if(dom) { yPos = item.offsetTop; tempEl = item.offsetParent; while (tempEl != null) { // For IE 5.5,6 and maybe 7 relative element bug. try { if(tempEl.style.position=="relative") { // skip and get parent anker node. if(tempEl.parentNode.id.indexOf("iec")==0) tempEl = tempEl.parentNode; } } catch(e){} yPos += (tempEl.offsetTop - tempEl.scrollTop); tempEl = tempEl.offsetParent; } // if(comp & !op & !awk5) // alert(op+", "+op95); if(awk5) return yPos + getScrollTop(); if(op95) return yPos; else if(comp & !op) return yPos; else return yPos + getScrollTop(); } return 0; } var hasOpener = false; var windowHasParent = false; var testForParent = false; var skipOpenerTest = false; testOpenerClose(); function testOpenerClose() { if(skipOpenerTest) return; try { var openerItem = null; var windowHasParent = false; if((parent!=null) & (testForParent)) { windowHasParent=true; if(parent.window.opener!=null) openerItem = parent.window.opener; } else openerItem = window.opener; if(openerItem!=null) { try { if(openerItem.closed==true) { window.close(); if(windowHasParent) parent.window.close(); } else { try { if(openerItem.destroyApplication()) { window.close(); if(windowHasParent) parent.window.close(); } } catch(d){} } } catch(e) { window.close(); } } if((openerItem==null) & (!testForParent)) { if(hasOpener) { if(windowHasParent) { parent.window.close(); } else { window.close(); } } } else { hasOpener = true; window.setTimeout("testOpenerClose();", 1000); } } catch(ae){} } //////////////////////////////////////////////////////////////////////////////////////////// // window functions function newWindow(url, name) { try { var newwin = window.open(url,name); newwin.focus(); } catch(e){} } function newPopupRet(url, name, w, h, screenCenter, topCor, leftCor, s) { var ofsetX = 0; var ofsetY = 0; var screen_w = getScreenWidth(); var screen_h = getScreenHeight(); if(isNaN(window.screenX)) { ofsetX = window.screenLeft; ofsetY = window.screenTop; } else { //ofsetX = window.screenX; //ofsetY = window.screenY; } var l = (screen_w/2)-(w/2); var t = (screen_h/2)-((h+21)/2); if( (ofsetX!="undefined") & (ofsetX>1) & (screenCenter!=true) ) { var win_w=getWindowWidth(); l = (win_w/2)-(w/2); l+=ofsetX; if(leftCor!=null) l+=leftCor; } if( (ofsetY!="undefined") & (ofsetY>1) & (screenCenter!=true) ) { var win_h=getWindowHeight(); t = (win_h/2)-(h/2); t+=ofsetY-20; if(topCor!=null) t+=topCor; } if(topCor==-1) { t=0; h=1; } if(leftCor==-1) { l=0; w=1; } l = parseInt(l); t = parseInt(t); sc = "no"; if(s!=null) if(s==1) sc="yes"; var popWindow = window.open(url,name,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+sc+',resizable=yes,width='+w+',height='+h+',left='+l+',top='+t+''); popWindow.focus(); return popWindow; } function newPopup(url, name, w, h, screenCenter, topCor, leftCor, s) { newPopupRet(url, name, w, h, screenCenter, topCor, leftCor, s); } function getScreenWidth() { return parseInt(screen.width); } function getScreenHeight() { return parseInt(screen.height); } function getWindowWidth() { /* if(typeof(window.innerWidth )=='number') { return window.innerWidth; //Non-IE } else if(document.documentElement && document.documentElement.clientWidth) { return document.documentElement.clientWidth; } else if( document.body && document.body.clientWidth) { return document.body.clientWidth; } */ if( (ie8|ie7|ie6) & comp) return document.documentElement.clientWidth; else if(ie4|dom) return parseInt(window.document.body.clientWidth); else return parseInt(window.innerWidth); } function getWindowHeight() { if(typeof(window.innerHeight )=='number') { return window.innerHeight; //Non-IE } else if(document.documentElement && document.documentElement.clientHeight) { return document.documentElement.clientHeight; } else if( document.body && document.body.clientHeight) { return document.body.clientHeight; } } function getScrollTop() { if(ie4|dom) { if(comp & !awk5) { return document.documentElement.scrollTop; } else { return document.body.scrollTop; } } else { return window.pageYOffset; } } function getScrollLeft() { if(ie4|dom) { if(comp) { return document.documentElement.scrollLeft; } else { return document.body.scrollLeft; } } else { return window.pageXOffset; } } var windowDone = false; function getTopWindow() { try { if(opener!=null) { if(opener.getTopWindow!=null) return opener.getTopWindow(); } } catch(e) {} try { if(parent.window.opener!=null) { if(parent.window.opener.getTopWindow!=null) return parent.window.opener.getTopWindow(); } } catch(e) {} try { if(parent!=null) { if(!windowDone) { windowDone = true; if(parent.getTopWindow!=null) return parent.getTopWindow(); } else { windowDone = false; } } } catch(e) {} return this; } //////////////////////////////////////////////////////////////////////////////////////////// // layer functions function getLayer(layer) { if(ns4) { return eval('document.'+layer); } else if(ie4) { return document.all[layer]; } else if(dom) { return document.getElementById(layer); } return null; } function showLayer(strLayer) { try { if(ie4|dom) { layer = getLayer(strLayer); layer.style.visibility = 'visible'; } else if(document.layers) { layer = getLayer(strLayer); layer.visibility = 'visible'; } } catch(e){} } function hideLayer(strLayer) { try { if(ie4|dom) { layer = getLayer(strLayer); layer.style.visibility = 'hidden'; } else if(document.layers) { layer = getLayer(strLayer); layer.visibility = 'hidden'; } } catch(e) {} } var lastLayer = ""; function switchLayer(strLayer) { if(lastLayer!="") { hideLayer(lastLayer); } lastLayer=strLayer; showLayer(strLayer); } var lastLayer = ""; function hideLastLayer() { if(lastLayer!="") { hideLayer(lastLayer); lastLayer = ""; } } function getLayerWidth(layer) { if(ie4|dom) { return getLayer( layer ).offsetWidth; } else { return document[layer].clip.width; } } function getLayerHeight(layer) { if(ie4|dom) { return getLayer( layer ).offsetHeight; } else { return document[layer].clip.height; } } // * sort of function setLayerWidth(layer,w) { if(ie4|dom) { getStyle( layer ).width=w+"px"; } else { document[layer].clip.width=w; } } // * sort of function setLayerHeight(layer,h) { if( document.getElementById || document.all ) { getStyle( layer ).height=h+"px"; } else { document[layer].clip.height=h; } } function clip(layer,top,right,bottom,left) { if(ie4|dom) { getStyle( layer ).clip='rect('+top+' '+right+' '+bottom+' '+left+')'; } else { document[layer].clip.top = top; document[layer].clip.left = left; document[layer].clip.bottom = bottom; document[layer].clip.right = right; } } function getStyle(layer) { if(document.getElementById) { return document.getElementById(layer).style; } else if(document.all) { return document.all[layer].style; } else { return document[layer]; } } function setLayerPos(strLayer,x,y) { if(ie4|dom) { layer = getLayer(strLayer); layer.style.left = x+"px"; layer.style.top = y+"px"; } else if(document.layers) { layer = getLayer(strLayer); layer.pageX = x; layer.pageY = y; } } function writeLayer(strLayer,content) { if(ie4|dom) { getLayer(strLayer).innerHTML = content; } else if(document.layers) { var layer = getLayer(strLayer); layer.document.open(); layer.document.write(content); layer.document.close(); } } function addToDocument(line) { if(ie) { document.body.insertAdjacentHTML("afterBegin",line); } else { var range = document.createRange(); range.setStartBefore(document.body.lastChild); var docFrag = range.createContextualFragment(line); document.body.appendChild(docFrag); } } // ?? function createLayer(id,position, left,top,width,height,content,bgColor,visibility,zIndex) { if(ns4) { document.layers[id] = new Layer(width) var lyr = document.layers[id] lyr.left = left lyr.top = top if (height!=null) lyr.clip.height = height if (bgColor!=null) lyr.bgColor = bgColor if (zIndex!=null) lyr.zIndex = zIndex lyr.visibility = (visibility=='hidden')? 'hide' : 'show' if(content) { lyr.document.open() lyr.document.write(content) lyr.document.close() } } else { var str = '\n
'+((content)?content:'')+'
' if(ie4|ie5) { document.body.insertAdjacentHTML("BeforeEnd",str) } else { var div = document.createElement('div'); div.id = id; div.style.position = 'absolute'; document.body.appendChild(div); } } } //////////////////////////////////////////////////////////////////////////////////////////// // image popup function showImagePopUp(bwrId, w,h) { var screen_w=getScreenWidth(); var screen_h=getScreenHeight(); if(screen_w<=w) { var newW = screen_w-10; var scale = w / newW; h = h / scale; w = newW; } if(screen_h<=h) h=screen_h-10; w=Math.round(w); h=Math.round(h); createWindow("/?bwr_id="+bwrId+"&new_width="+w+"&new_height="+h+"&page=popup&custom_template=1",w,h,"img"+bwrId); } function createWindow(url,w,h, name) { var screen_w=getScreenWidth(); var screen_h=getScreenHeight(); var l = (screen_w/2)-(w/2)-4; var t = (screen_h/2)-((h+21)/2); if(l<0) l=0; l=Math.round(l); t=Math.round(t); newWindow = window.open(url,name,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+w+',height='+h+',left='+l+',top='+t+''); newWindow.focus(); } function tcustomImageHandler(bwrId,imgId,ow,oh) { try { if(window.customImageHandler) customImageHandler(bwrId,imgId,ow,oh); else alert('no image handler found.'); } catch(e){} } //////////////////////////////////////////////////////////////////////////////////////////// // tooltip... var oldToolX = 0; var oldToolY = 0; var toolText = ""; var hideTool = true; var coverFrameBuild = false; var toolTipBuild = false; var customToolTip = ""; var cpr = 0; var cpl = 0; var cpt = 0; var cpb = 0; function buildToolTip() { try { var t= ""; if(customToolTip!="") { t=customToolTip; } else { cpb = 4;cpr = 4; t += ''; t += ''; t += ''; } else { t += ''; t += ''; t += ''; } } if( ( (ie55|ie6) & !op) ) t = '' +t; addToDocument(t); // if(!ie7) hideLayer("tool_tip"); toolTipBuild=true; } catch(e){} } function setToolTip(text, w) { if(!mayStart) return; if(w!=null) { if(text!="" & ie) w.setAttribute("alt", ""); w.setAttribute("title", ""); } if(!toolTipBuild) buildToolTip(); if(toolText!=text) { toolText = text; if(toolText=="") { hideTool = true; showTool = false; showToolTimer = 4; } else { hideTool = false; showTool = true; showToolTimer = 3; } } } function moveToolTip(x,y) { if(toolText!="") { var xPos = x + 12; var yPos = y + 8; var toolWidth = getLayerWidth("tool_tip"); var toolHeight = getLayerHeight("tool_tip"); if(xPos+toolWidth>getWindowWidth()-8) xPos = xPos-toolWidth-16; if(yPos+toolHeight-getScrollTop()>getWindowHeight()-8) yPos = yPos-toolHeight-4; if((xPos!=oldToolX) | (yPos!=oldToolY)) { oldToolX=xPos; oldToolY=yPos; setLayerPos("tool_tip",xPos,yPos); if(((ie55|ie6) & !op)) setLayerPos("tool_tip_cover",xPos+cpl,yPos+cpt); } } } toolTipTimer(); var showToolTimer = 10; var showTool = false; function toolTipTimer() { if(showTool) { if(showToolTimer>0) { showToolTimer--; if(showToolTimer==0) { showLayer("tool_tip"); if( (ie55|ie6) & (!op)) { var toolHeight = getLayerHeight("tool_tip"); var toolWidth = getLayerWidth("tool_tip"); getStyle("tool_tip_cover").height= toolHeight-(cpb+cpt); getStyle("tool_tip_cover").width= toolWidth-(cpl+cpr); showLayer("tool_tip_cover"); } } if(showToolTimer==1) { hideLayer("tool_tip"); if(ie55|ie6) hideLayer("tool_tip_cover"); writeLayer("tool_tip_text",''+toolText+''); moveToolTip(mouseX ,mouseY); } } } else { if(showToolTimer<5) { showToolTimer++; if(showToolTimer==5) { if( (ie55|ie6) & (!op)) { hideLayer("tool_tip_cover"); setLayerPos("tool_tip_cover",-500,-500); } setLayerPos("tool_tip",-500,-500); hideLayer("tool_tip"); } } } window.setTimeout('toolTipTimer();',100); } //////////////////////////////////////////////////////////////////////////////////////////// // Mouse over functions var oldWalkItem = ""; var oldWalkBack = ""; function walkMouseOver(item, newBack) { if(item!=oldWalkItem) { if(oldWalkItem!="") { if(oldWalkBack=="") oldWalkBack="none"; oldWalkItem.style.background = oldWalkBack; } oldWalkItem = item; oldWalkBack = item.style.background; item.style.background = newBack; item.style.background = newBack; } } //////////////////////////////////////////////////////////////////////////////////////////// // session functions function setCookie(name, value) { cleanCk(name, "scrollpos"); cleanCk(name, "sel_"); document.cookie = name+'='+value+"; path=/"; } function getCookie(name) { var tC = document.cookie.split('; '); for (var i = tC.length - 1; i >= 0; i--) { var x = tC[i].split('='); if (name == x[0]) return unescape(x[1]); } return null; } function cleanCk(name, sName) { if(name.indexOf(sName)==0) { var sc = 0; var tC = document.cookie.split('; '); for (var i = tC.length - 1; i >= 0; i--) { var x = tC[i].split('='); if(x[0].indexOf(sName)==0) sc++; } if(sc>2) { // clear last for (var i = 0; i