	/* 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);
	}
	
	//Función para verificar que un dato sea numérico
	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;
	}