var dxFilter=null;
var BV=parseFloat(navigator.appVersion.indexOf("MSIE")>0?navigator.appVersion.split(";")[1].substr(6):navigator.appVersion);
var BN=navigator.appName;
var nua = navigator.userAgent;
var IsWin=(nua.indexOf('Win')!=-1);
var IsMac=(nua.indexOf('Mac')!=-1);
var KQ=(BN.indexOf('Konqueror')!=-1&&(BV>=5))||(nua.indexOf('Safari')!=-1);
var OP=(nua.indexOf('Opera')!=-1&&BV>=4);
var NS=(BN.indexOf('Netscape')!=-1&&(BV>=4&&BV<5)&&!OP);
var SM=(BN.indexOf('Netscape')!=-1&&(BV>=5)||OP);
var IE=(BN.indexOf('Explorer')!=-1&&(BV>=4)||SM||KQ);
var IX=(IE&&IsWin&&!SM&&!OP&&(BV>=5.5)&&(dxFilter!=null)&&(nua.indexOf('CE')==-1));

function GetImgXY(img) {
    //IE,NS,SM,OP,KQ
    //This function returns the x,y coordinates of an image.
    //------------------------------
    //Version 1.4
    //
    var x;
    var y;
      
    if(IE)  {
      y = getOffset(img);
      x = y[0];
      y = y[1];
    } else  {
      y = GetImgOffset(cFrame, img.name, 0, 0);
      x = img.x + y[0];
      y = img.y + y[1];
    }      
    return [x, y];    
}

function getOffset(img) {
    //IE,NS,SM,OP,KQ
    //This function returns the horizontal and vertical offset of an object.
    //------------------------------
    //Version 1.2
    //
    xy = [img.offsetLeft, img.offsetTop];
    ce = img.offsetParent;
    while(ce!=null)  {
      xy[0] += ce.offsetLeft;
      xy[1] += ce.offsetTop;
      ce = ce.offsetParent;
    }
    return xy;
  }

function GetImgOffset(d, img, ox, oy) {
    //NS
    //This function finds the offset to an image regardless of its location in the document structure.
    //------------------------------
    //Version 1.0
    //
    var i;
    var tmp;
    
    if(d.left) {
      ox += d.left;
      oy += d.top;
    }
        
    if(d.document.images[img]) return [ox, oy];
    
    for(i=0; i<d.document.layers.length; i++) {
      tmp = GetImgOffset(d.document.layers[i], img, ox, oy);
      if(tmp) return [tmp[0], tmp[1]];
    }    
    return null;
}

function windowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myHeight = window.innerHeight;
  } else {
    if( document.documentElement &&
        ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
      //IE 6+ in 'standards compliant mode'
      myHeight = document.documentElement.clientHeight;
    } else {
      if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        myHeight = document.body.clientHeight;
      }
    }
  }
  return myHeight;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function showObj( obj ) {
  objWin = window.open( '', 'objectWindow', '' );
  objWin.document.write( '<h2>' + obj + '</h2>\n' );
  for( o in obj ) {
    objWin.document.write( o + ': ' )
    try { 
      objWin.document.write( obj[ o ] );
    } catch( er ) {
      objWin.document.write( '--ERROR [' + er + ']--' );
    }
    objWin.document.write( '\n' );
  }
  objWin.document.write( '-------------------------------------------------------------------------------\n\n' );
}