// x_core.js, X v3.15.2, Cross-Browser.com DHTML Library // Copyright (c) 2004 Michael Foster, Licensed LGPL (gnu.org) // global vars still duplicated in xlib.js - I still don't know what I'm going to do about this var xVersion='3.15.2',xNN4,xOp7,xOp5or6,xIE4Up,xIE4,xIE5,xMac,xUA=navigator.userAgent.toLowerCase(); if (window.opera){ xOp7=(xUA.indexOf('opera 7')!=-1 || xUA.indexOf('opera/7')!=-1); if (!xOp7) xOp5or6=(xUA.indexOf('opera 5')!=-1 || xUA.indexOf('opera/5')!=-1 || xUA.indexOf('opera 6')!=-1 || xUA.indexOf('opera/6')!=-1); } else if (document.all && xUA.indexOf('msie')!=-1) { xIE4Up=parseInt(navigator.appVersion)>=4; xIE4=xUA.indexOf('msie 4')!=-1; xIE5=xUA.indexOf('msie 5')!=-1; } else if (document.layers) {xNN4=true;} xMac=xUA.indexOf('mac')!=-1; function xGetElementById(e) { if(typeof(e)!='string') return e; if(document.getElementById) e=document.getElementById(e); else if(document.all) e=document.all[e]; else e=null; return e; } function xParent(e,bNode){ if (!(e=xGetElementById(e))) return null; var p=null; if (!bNode && xDef(e.offsetParent)) p=e.offsetParent; else if (xDef(e.parentNode)) p=e.parentNode; else if (xDef(e.parentElement)) p=e.parentElement; return p; } function xDef() { for(var i=0; i= thisX + iClpL && iLeft <= thisX + xWidth(ele) - iClpR && iTop >=thisY + iClpT && iTop <= thisY + xHeight(ele) - iClpB ); } function xResizeTo(e,uW,uH) { xWidth(e,uW); xHeight(e,uH); } function xWidth(e,uW) { if(!(e=xGetElementById(e))) return 0; if (xNum(uW)) { if (uW<0) uW = 0; else uW=Math.round(uW); } else uW=-1; var css=xDef(e.style); if(css && xDef(e.offsetWidth) && xStr(e.style.width)) { if(uW>=0) xSetCW(e, uW); uW=e.offsetWidth; } else if(css && xDef(e.style.pixelWidth)) { if(uW>=0) e.style.pixelWidth=uW; uW=e.style.pixelWidth; } return uW; } function xHeight(e,uH) { if(!(e=xGetElementById(e))) return 0; if (xNum(uH)) { if (uH<0) uH = 0; else uH=Math.round(uH); } else uH=-1; var css=xDef(e.style); if(css && xDef(e.offsetHeight) && xStr(e.style.height)) { if(uH>=0) xSetCH(e, uH); uH=e.offsetHeight; } else if(css && xDef(e.style.pixelHeight)) { if(uH>=0) e.style.pixelHeight=uH; uH=e.style.pixelHeight; } return uH; } function xGetCS(ele,sP){return parseInt(document.defaultView.getComputedStyle(ele,'').getPropertyValue(sP));} function xSetCW(ele,uW){ var pl=0,pr=0,bl=0,br=0; if(xDef(document.defaultView) && xDef(document.defaultView.getComputedStyle)){ pl=xGetCS(ele,'padding-left'); pr=xGetCS(ele,'padding-right'); bl=xGetCS(ele,'border-left-width'); br=xGetCS(ele,'border-right-width'); } else if(xDef(ele.currentStyle,document.compatMode)){ if(document.compatMode=='CSS1Compat'){ pl=parseInt(ele.currentStyle.paddingLeft); pr=parseInt(ele.currentStyle.paddingRight); bl=parseInt(ele.currentStyle.borderLeftWidth); br=parseInt(ele.currentStyle.borderRightWidth); } } else if(xDef(ele.offsetWidth,ele.style.width)){ // ? ele.style.width=uW+'px'; pl=ele.offsetWidth-uW; } if(isNaN(pl)) pl=0; if(isNaN(pr)) pr=0; if(isNaN(bl)) bl=0; if(isNaN(br)) br=0; var cssW=uW-(pl+pr+bl+br); if(isNaN(cssW)||cssW<0) return; else ele.style.width=cssW+'px'; } function xSetCH(ele,uH){ var pt=0,pb=0,bt=0,bb=0; if(xDef(document.defaultView) && xDef(document.defaultView.getComputedStyle)){ pt=xGetCS(ele,'padding-top'); pb=xGetCS(ele,'padding-bottom'); bt=xGetCS(ele,'border-top-width'); bb=xGetCS(ele,'border-bottom-width'); } else if(xDef(ele.currentStyle,document.compatMode)){ if(document.compatMode=='CSS1Compat'){ pt=parseInt(ele.currentStyle.paddingTop); pb=parseInt(ele.currentStyle.paddingBottom); bt=parseInt(ele.currentStyle.borderTopWidth); bb=parseInt(ele.currentStyle.borderBottomWidth); } } else if(xDef(ele.offsetHeight,ele.style.height)){ // ? ele.style.height=uH+'px'; pt=ele.offsetHeight-uH; } if(isNaN(pt)) pt=0; if(isNaN(pb)) pb=0; if(isNaN(bt)) bt=0; if(isNaN(bb)) bb=0; var cssH=uH-(pt+pb+bt+bb); if(isNaN(cssH)||cssH<0) return; else ele.style.height=cssH+'px'; } function xClip(e,iTop,iRight,iBottom,iLeft) { if(!(e=xGetElementById(e))) return; if(e.style) { if (xNum(iLeft)) e.style.clip='rect('+iTop+'px '+iRight+'px '+iBottom+'px '+iLeft+'px)'; else e.style.clip='rect(0 '+parseInt(e.style.width)+'px '+parseInt(e.style.height)+'px 0)'; } } function xClientWidth() { var w=0; if(xOp5or6) w=window.innerWidth; else if(!window.opera && document.documentElement && document.documentElement.clientWidth) w=document.documentElement.clientWidth; else if(document.body && document.body.clientWidth) w=document.body.clientWidth; else if(xDef(window.innerWidth,window.innerHeight,document.height)) { w=window.innerWidth; if(document.height>window.innerHeight) w-=16; } return w; } function xClientHeight() { var h=0; if(xOp5or6) h=window.innerHeight; else if(!window.opera && document.documentElement && document.documentElement.clientHeight) h=document.documentElement.clientHeight; else if(document.body && document.body.clientHeight) h=document.body.clientHeight; else if(xDef(window.innerWidth,window.innerHeight,document.width)) { h=window.innerHeight; if(document.width>window.innerWidth) h-=16; } return h; } function xInnerHtml(e, sHtml) { if(!(e=xGetElementById(e))) return ''; if (xStr(e.innerHTML)) { if (xStr(sHtml)) e.innerHTML = sHtml; else return e.innerHTML; } }