/* 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;
  var xOp6Dn;
  var xIE4Up;
  var xIE4;
  var xIE5;
  var xNN4;
  var 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)
  {
    if(x<0)x=0;
    xLeft(e,x);
    if(y<0)y=0;
    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;
  }
  
