/* Compiled from X 4.06 with XC 1.01 on 03Nov06 */
function xAddEventListener(e,eT,eL,cap){
	if(!(e=xGetElementById(e)))return;
	eT=eT.toLowerCase();
	if(e==window&&!e.opera&&!document.all){
		if(eT=='resize'){
			e.xPCW=xClientWidth();
			e.xPCH=xClientHeight();
			e.xREL=eL;xResizeEvent();
			return;
		}
		if(eT=='scroll'){
			e.xPSL=xScrollLeft();
			e.xPST=xScrollTop();
			e.xSEL=eL;xScrollEvent();
			return;
		}
	}
	if(e.addEventListener)e.addEventListener(eT,eL,cap);
	else if(e.attachEvent)e.attachEvent('on'+eT,eL);
	else e['on'+eT]=eL;
}

function xResizeEvent(){
	if(window.xREL)setTimeout('xResizeEvent()',250);
	var w=window,cw=xClientWidth(),ch=xClientHeight();
	if(w.xPCW!=cw||w.xPCH!=ch){
		w.xPCW=cw;w.xPCH=ch;if(w.xREL)w.xREL();
	}
}

function xScrollEvent(){
	if(window.xSEL)setTimeout('xScrollEvent()',250);
	var w=window,sl=xScrollLeft(),st=xScrollTop();
	if(w.xPSL!=sl||w.xPST!=st){
		w.xPSL=sl;w.xPST=st;if(w.xSEL)w.xSEL();
	}
}

function xClientHeight(){
	var v=0,d=document,w=window;
	if(d.compatMode=='CSS1Compat'&&!w.opera&&d.documentElement&&d.documentElement.clientHeight){
		v=d.documentElement.clientHeight;
	}else if(d.body&&d.body.clientHeight){v=d.body.clientHeight;
	}else if(xDef(w.innerWidth,w.innerHeight,d.width)){v=w.innerHeight;
		if(d.width>w.innerWidth)v-=16;
	}
	return v;
}

function xClientWidth(){
	var v=0,d=document,w=window;
	if(d.compatMode=='CSS1Compat'&&!w.opera&&d.documentElement&&d.documentElement.clientWidth){
		v=d.documentElement.clientWidth-17;
	}else if(d.body&&d.body.clientWidth){
		v=d.body.clientWidth-17;
	}else if(xDef(w.innerWidth,w.innerHeight,d.height)){
		v=w.innerWidth;if(d.height>w.innerHeight)v-=17;
	}
	return v;
}

function xDef(){
	for(var i=0;i<arguments.length;++i){
		if(typeof(arguments[i])=='undefined')return false;
	}
	return true;
}

function xGetComputedStyle(oEle,sProp,bInt){
	var s,p='undefined';
	var dv=document.defaultView;
	if(dv&&dv.getComputedStyle){
		s=dv.getComputedStyle(oEle,'');
		if(s)p=s.getPropertyValue(sProp);
	}else if(oEle.currentStyle){
		var i,c,a=sProp.split('-');sProp=a[0];
		for(i=1;i<a.length;++i){
			c=a[i].charAt(0);sProp+=a[i].replace(c,c.toUpperCase());
		}
		p=oEle.currentStyle[sProp];
	}else return null;return bInt?(parseInt(p)||0):p;
}

function xGetElementById(e){
	if(typeof(e)=='string'){
		if(document.getElementById)e=document.getElementById(e);
		else if(document.all)e=document.all[e];
		else e=null;
	}
	return e;
}

function xHeight(e,h){
	if(!(e=xGetElementById(e)))return 0;
	if(xNum(h)){
		if(h<0)h=0;else h=Math.round(h);
	}else h=-1;
	var css=xDef(e.style);
	if(e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){
		h=xClientHeight();
	}else if(css&&xDef(e.offsetHeight)&&xStr(e.style.height)){
		if(h>=0){
			var pt=0,pb=0,bt=0,bb=0;
			if(document.compatMode=='CSS1Compat'){
				var gcs=xGetComputedStyle;pt=gcs(e,'padding-top',1);
				if(pt!==null){
					pb=gcs(e,'padding-bottom',1);
					bt=gcs(e,'border-top-width',1);
					bb=gcs(e,'border-bottom-width',1);
				}else if(xDef(e.offsetHeight,e.style.height)){
					e.style.height=h+'px';pt=e.offsetHeight-h;
				}
			}
			h-=(pt+pb+bt+bb);
			if(isNaN(h)||h<0)return;
			else e.style.height=h+'px';
		}
		h=e.offsetHeight;
	}else if(css&&xDef(e.style.pixelHeight)){
		if(h>=0)e.style.pixelHeight=h;h=e.style.pixelHeight;
	}
	return h;
}

function xLeft(e,iX){
	if(!(e=xGetElementById(e)))return 0;
	var css=xDef(e.style);
	if(css&&xStr(e.style.left)){
		if(xNum(iX))e.style.left=iX+'px';
		else{
			iX=parseInt(e.style.left);
			if(isNaN(iX))iX=xGetComputedStyle(e,'left',1);
			if(isNaN(iX))iX=0;
		}
	}
	else if(css&&xDef(e.style.pixelLeft)){
		if(xNum(iX))e.style.pixelLeft=iX;
		else iX=e.style.pixelLeft;
	}
	return iX;
}

xLibrary={version:'4.06',license:'GNU LGPL',url:'http://cross-browser.com/'};

function xMoveTo(e,x,y){
	xLeft(e,x);xTop(e,y);
}

function xNum(){
	for(var i=0;i<arguments.length;++i){
		if(isNaN(arguments[i])||typeof(arguments[i])!='number')return false;
	}
	return true;
}

function xPageX(e){
	if(!(e=xGetElementById(e)))return 0;
	var x=0;
	while(e){
		if(xDef(e.offsetLeft))x+=e.offsetLeft;e=xDef(e.offsetParent)?e.offsetParent:null;
	}
	return x;
}

function xPageY(e){
	if(!(e=xGetElementById(e)))return 0;
	var y=0;
	while(e){
		if(xDef(e.offsetTop))y+=e.offsetTop;e=xDef(e.offsetParent)?e.offsetParent:null;
	}
	return y;
}

function xScrollLeft(e,bWin){
	var offset=0;
	if(!xDef(e)||bWin||e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){
		var w=window;
		if(bWin&&e)w=e;
		if(w.document.documentElement&&w.document.documentElement.scrollLeft)offset=w.document.documentElement.scrollLeft;
		else if(w.document.body&&xDef(w.document.body.scrollLeft))offset=w.document.body.scrollLeft;
	}else{
		e=xGetElementById(e);if(e&&xNum(e.scrollLeft))offset=e.scrollLeft;
	}
	return offset;
}

function xScrollTop(e,bWin){
	var offset=0;
	if(!xDef(e)||bWin||e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){
		var w=window;
		if(bWin&&e)w=e;
		if(w.document.documentElement&&w.document.documentElement.scrollTop)offset=w.document.documentElement.scrollTop;
		else if(w.document.body&&xDef(w.document.body.scrollTop))offset=w.document.body.scrollTop;
	}else{
		e=xGetElementById(e);
		if(e&&xNum(e.scrollTop))offset=e.scrollTop;
	}
//	return offset;
}

function xShow(e){
	return xVisibility(e,1);
}

function xSlideTo(e,x,y,uTime){
	if(!(e=xGetElementById(e)))return;
	if(!e.timeout)e.timeout=25;
	e.xTarget=x;
	e.yTarget=y;
	e.slideTime=uTime;
	e.stop=false;
	e.yA=e.yTarget-xTop(e);
	e.xA=e.xTarget-xLeft(e);
	if(e.slideLinear)e.B=1/e.slideTime;
	else e.B=Math.PI/(2*e.slideTime);
	e.yD=xTop(e);e.xD=xLeft(e);
	var d=new Date();
	e.C=d.getTime();
	if(!e.moving)_xSlideTo(e);
}

function _xSlideTo(e){
	if(!(e=xGetElementById(e)))return;
	var now,s,t,newY,newX;
	now=new Date();
	t=now.getTime()-e.C;
	if(e.stop){
		e.moving=false;
	}else if(t<e.slideTime){
		setTimeout("_xSlideTo('"+e.id+"')",e.timeout);s=e.B*t;
		if(!e.slideLinear)s=Math.sin(s);
		newX=Math.round(e.xA*s+e.xD);
		newY=Math.round(e.yA*s+e.yD);
		xMoveTo(e,newX,newY);
		e.moving=true;
	}else{
		xMoveTo(e,e.xTarget,e.yTarget);
		e.moving=false;
		if(e.onslideend)e.onslideend();
	}
}

function xStr(s){
	for(var i=0;i<arguments.length;++i){
		if(typeof(arguments[i])!='string')return false;
	}
	return true;
}

function xTop(e,iY){
	if(!(e=xGetElementById(e)))return 0;
	var css=xDef(e.style);
	if(css&&xStr(e.style.top)){
		if(xNum(iY))e.style.top=iY+'px';
		else{
			iY=parseInt(e.style.top);
			if(isNaN(iY))iY=xGetComputedStyle(e,'top',1);
			if(isNaN(iY))iY=0;
		}
	}else if(css&&xDef(e.style.pixelTop)){
		if(xNum(iY))e.style.pixelTop=iY;
		else iY=e.style.pixelTop;
	}
	return iY;
}

function xVisibility(e,bShow){
	if(!(e=xGetElementById(e)))return null;
	if(e.style&&xDef(e.style.visibility)){
		if(xDef(bShow))e.style.visibility=bShow?'visible':'hidden';
		return e.style.visibility;
	}
	return null;
}

function xWidth(e,w){
	if(!(e=xGetElementById(e)))return 0;
	if(xNum(w)){
		if(w<0)w=0;else w=Math.round(w);
	}else w=-1;
	var css=xDef(e.style);
	if(e==document||e.tagName.toLowerCase()=='html'||e.tagName.toLowerCase()=='body'){
		w=xClientWidth();
	}else if(css&&xDef(e.offsetWidth)&&xStr(e.style.width)){
		if(w>=0){
			var pl=0,pr=0,bl=0,br=0;
			if(document.compatMode=='CSS1Compat'){
				var gcs=xGetComputedStyle;pl=gcs(e,'padding-left',1);
				if(pl!==null){
					pr=gcs(e,'padding-right',1);
					bl=gcs(e,'border-left-width',1);
					br=gcs(e,'border-right-width',1);
				}else if(xDef(e.offsetWidth,e.style.width)){
					e.style.width=w+'px';pl=e.offsetWidth-w;
				}
			}
			w-=(pl+pr+bl+br);
			if(isNaN(w)||w<0)return;
			else e.style.width=w+'px';
		}
		w=e.offsetWidth;
	}else if(css&&xDef(e.style.pixelWidth)){
		if(w>=0)e.style.pixelWidth=w;w=e.style.pixelWidth;
	}
	
	return w;
}