﻿/* 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+8;
}
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;
}
/* xMenu1 Object Prototype

  Parameters:
    triggerId   - id string of trigger element.
    menuId      - id string of menu.
    mouseMargin - integer margin around menu;
                  when mouse is outside this margin the menu is hid.
    openEvent   - string name of event on which to open menu ('click', 'mouseover', etc).
*/

function xMenu1(triggerId, menuId, mouseMargin, openEvent)
{
  var isOpen = false;
  var trg = xGetElementById(triggerId);
  var mnu = xGetElementById(menuId);
  if (trg && mnu) {
    xAddEventListener(trg, openEvent, onOpen, false);
  }
  function onOpen()
  {
    if (!isOpen) {
      xMoveTo(mnu, xPageX(trg), xPageY(trg) + xHeight(trg));
      xShow(mnu);
      xAddEventListener(document, 'mousemove', onMousemove, false);
      isOpen = true;
    }
  }
  function onMousemove(ev)
  {
    var e = new xEvent(ev);
    if (!xHasPoint(mnu, e.pageX, e.pageY, -mouseMargin) && !xHasPoint(trg, e.pageX, e.pageY, -mouseMargin))
    {
      xHide(mnu);
      xRemoveEventListener(document, 'mousemove', onMousemove, false);
      isOpen = false;
    }
  }
} // end xMenu1
