/* x_core.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */
var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xNN4,xUA=navigator.userAgent.toLowerCase();
if(window.opera)
	{
		var i=xUA.indexOf('opera');
		if(i!=-1)
			{
				var v=parseInt(xUA.charAt(i+6));
				xOp7Up=v>=7;xOp6Dn=v<7;
			}
	}
else if(navigator.vendor!='KDE' && document.all && xUA.indexOf('msie')!=-1)
	{
		xIE4Up=parseFloat(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 xBackground(e,c,i)
	{
		if(!(e=xGetElementById(e))) return '';
		var bg='';
		if(e.style) 
			{
				if(xStr(c)) 
					{
						if(!xOp6Dn) 
							e.style.backgroundColor=c;
						else e.style.background=c;
					}
				if(xStr(i)) 
					e.style.backgroundImage=(i!='')? 'url('+i+')' : null;
					if(!xOp6Dn) 
						bg=e.style.backgroundColor;
					else bg=e.style.background;
			}
		return bg;
	}
function xClientHeight()
	{
		var h=0;
		if(xOp6Dn) 
			h=window.innerHeight;
		else if(document.compatMode == 'CSS1Compat' && !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 xClientWidth()
	{
		var w=0;
		if(xOp6Dn) 
			w=window.innerWidth;
		else if(document.compatMode == 'CSS1Compat' && !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 xClip(e,t,r,b,l)
	{
		if(!(e=xGetElementById(e))) return;
		if(e.style) 
			{
				if (xNum(l)) 
					{
						e.style.clip='rect('+t+'px '+r+'px '+b+'px '+l+'px)';
					}
				else 
					{
						e.style.clip='rect(0 '+parseInt(e.style.width)+'px '+parseInt(e.style.height)+'px 0)';
					}
			}
	}
	
function xColor(e,s)
	{
		if(!(e=xGetElementById(e))) return '';
		var c='';
		if(e.style && xDef(e.style.color)) 
			{
				if(xStr(s)) 
					e.style.color=s;
				c=e.style.color;
			}
		return c;
	}
	
function xDef()
	{
		for(var i=0; i<arguments.length; ++i)
			{
				if(typeof(arguments[i])=='undefined') 
				return false;
			}
		return true;
	}
	
function xDisplay(e,s)
	{
		if(!(e=xGetElementById(e))) return null;
		if(e.style && xDef(e.style.display)) 
			{
				if (xStr(s)) 
					e.style.display = s;
				return e.style.display;
			}
		return null;
	}
	
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 a = sProp.split('-');
				sProp = a[0];
				for (var 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') return e;
		if(document.getElementById) e=document.getElementById(e);
		else if(document.all) e=document.all[e];
		else e=null;
		return e;
	}
	
function xHasPoint(e,x,y,t,r,b,l)
	{
		if (!xNum(t)){t=r=b=l=0;}
		else if (!xNum(r)){r=b=l=t;}
		else if (!xNum(b)){l=r; b=t;}
		var eX = xPageX(e), eY = xPageY(e);
		return (x >= eX + l && x <= eX + xWidth(e) - r &&y >= eY + t && y <= eY + xHeight(e) - b );
	}

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 xHide(e)
	{
		return xVisibility(e,0);
	}

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=0;
					}
			}
		else if(css && xDef(e.style.pixelLeft)) 
			{
				if(xNum(iX)) e.style.pixelLeft=iX;
				else iX=e.style.pixelLeft;
			}
		return iX;
	}
	
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 xOffsetLeft(e)
	{
		if (!(e=xGetElementById(e))) return 0;
		if (xDef(e.offsetLeft)) return e.offsetLeft;
		else return 0;
	}
	
function xOffsetTop(e)
	{
		if (!(e=xGetElementById(e))) return 0;
		if (xDef(e.offsetTop)) return e.offsetTop;
		else return 0;
	}

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 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 xResizeTo(e,w,h)
	{
		xWidth(e,w);
		xHeight(e,h);
	}

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 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=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;
	}

function xZIndex(e,uZ)
	{
		if(!(e=xGetElementById(e))) 
			return 0;
		if(e.style && xDef(e.style.zIndex)) 
			{
				if(xNum(uZ)) e.style.zIndex=uZ;uZ=parseInt(e.style.zIndex);
			}
		return uZ;
	}
