function getObject(id) {
  var d = document;
  var ret = false;
  if (arguments.length > 0 && typeof(is) != "undefined") {
    if (is.ns4) {
      if (typeof(d.all) == "undefined") {
        d.all = [];
        findAllObjects();
      }
      //ret = findObject(id);
      ret = d.all[id];
    } else if (is.msd) {
      ret = d.all[id];
    } else if (is.w3d) {
      ret = d.getElementById(id);
      if (ret==null) {
        ret = d.getElementsByName(id)[0];
      }
    }
  }
  return ret;
}

function findObject(id, obj) {
  var ret = false;
  if (arguments.length == 1) {
    var obj = document;
  }
  if (arguments.length > 0) {
    for (var i=0; i<obj.images.length; i++) {
      if (obj.images[i].name == id) {
        return obj.images[i];
      }
    }
    for (var i=0; i<obj.forms.length; i++) {
      if (obj.forms[i].name == id) {
        return obj.forms[i];
      }
      for (var j=0;j<obj.forms[i].elements.length; j++) {
        if (obj.forms[i].elements[j].name == id) {
          return obj.forms[i].elements[j];
        }
      }
    }
    for (var i=0; i<obj.layers.length; i++) {
      if (obj.layers[i].name == id) {
        return obj.layers[i];
      }
      ret = findObject(id, obj.layers[i].document);
      if (ret != false) {
        return ret;
      }
    }
  }
  return ret;
}

function findAllObjects(obj) {
  if (is.ns4) {
    if (arguments.length == 0) {
      var obj = document;
    }
    for (var i=0; i<obj.images.length; i++) {
      if (typeof(obj.images[i].name) != "undefined" && obj.images[i].name != "") {
        addObject(obj.images[i].name,obj.images[i]);
      }
    }
    for (var i=0; i<obj.forms.length; i++) {
      if (typeof(obj.forms[i].name) != "undefined" && obj.forms[i].name != "") {
        addObject(obj.forms[i].name,obj.forms[i]);
      }
      for (var j=0;j<obj.forms[i].elements.length; j++) {
        if (typeof(obj.forms[i].elements[j].name) != "undefined" && obj.forms[i].elements[j].name != "") {
          addObject(i+obj.forms[i].elements[j].name,obj.forms[i].elements[j]);
        }
      }
    }
    for (var i=0; i<obj.layers.length; i++) {
      if (typeof(obj.layers[i].name) != "undefined" && obj.layers[i].name != "") {
        addObject(obj.layers[i].name,obj.layers[i]);
      }
      findAllObjects(obj.layers[i].document);
    }
  }
  return false;
}

function addObject(id,obj) {
  var d = document;
  if (arguments.length > 1 && is.ns4) {
    if (typeof(d.all) == "undefined") {
      d.all = [];
    }
    d.all[id] = obj;
  }
}

function preloadImages() {
  var d = document;
  var tempImage;
  for (var i=0; i<arguments.length; i++) {
    tempImage = new Image();
    tempImage.src = d.imagePath + arguments[i];
  }
}

function swapImage(id,val) {
  var d = document;
  var obj = getObject(id);
  if (obj) {
    obj.src = document.imagePath + val;
  }
}

function moveLayerTo(id,x,y) {
  if (arguments.length > 2 && typeof(is)!= "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj.moveTo(x,y);
      } else if (is.ie4) {
        obj.style.pixelLeft = x;
        obj.style.pixelTop = y;
      } else if (is.w3d) {
        obj.style.left = x + "px";
        obj.style.top = y + "px";
      }
    }
  }
}

function moveLayerBy(id,x,y) {
  if (arguments.length > 2 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj.moveBy(x,y);
      } else if (is.ie4) {
        obj.style.pixelLeft += x;
        obj.style.pixelTop += y;
      } else if (is.w3d) {
        obj.style.left = (parseInt(obj.style.left)+x) + "px";
        obj.style.top = (parseInt(obj.style.top)+y) + "px";
      }
    }
  }
}

function moveLayerClipTo(id,x,y) {
  if (arguments.length > 2 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj.clip.left = x;
        obj.clip.right = obj.clip.width + x;
        obj.clip.top = y;
        obj.clip.bottom = obj.clip.height + y;
      } else if (is.ie4 || is.w3d) {
        val = getLayerClipRect(id);
        val[1] = (val[3]-val[1])+x;
        val[2] = (val[0]-val[2])+y;
        obj.style.clip = "rect("+(val[0]+y)+"px "+val[1]+"px "+val[2]+"px "+(val[3]+x)+"px)";
      }
    }
  }
}

function moveLayerClipBy(id,x,y) {
  if (arguments.length > 2 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        if (y > 0) {
          obj.clip.rigth += x;
          obj.clip.left += x;
          obj.clip.bottom += y;
          obj.clip.top += y;
        } else {
          obj.clip.left += x;
          obj.clip.rigth += x;
          obj.clip.top += y;
          obj.clip.bottom += y;
        }
      } else if (is.ie4 || is.w3d) {
        val = getLayerClipRect(id);
        obj.style.clip = "rect("+(val[0]+y)+"px "+(val[1]+x)+"px "+(val[2]+y)+"px "+(val[3]+x)+"px)";
      }
    }
  }
}

function getLayerRect(id) {
  var ret = false;
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        ret = [obj.top,obj.document.width,obj.document.height,obj.left];
      } else if (is.ie4 || is.w3d) {
        ret = [obj.offsetTop,obj.scrollWidth,obj.scrollHeight,obj.offsetLeft];
      }
    }
  }
  if (ret) {
    for (var i=0; i<ret.length; i++) {
      ret[i] = parseInt(ret[i]);
    }
  }
  return ret;
}

function setLayerRect(id,val) {
  if (arguments.length > 1 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj.top = val[0];
        obj.document.width = val[1];
        obj.document.height = val[2];
        obj.left = val[3];
      } else if (is.ie4 || is.w3d) {
        obj.offsetTop = val[0];
        obj.offsetWidth = val[1];
        obj.offsetHeight = val[2];
        obj.offsetLeft = val[3];
      }
    }
  }
}

function getLayerClipRect(id) {
  var ret = false;
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        ret = [obj.clip.top,obj.clip.right,obj.clip.bottom,obj.clip.left];
      } else if (is.ie4 || is.w3d) {
        ret = obj.style.clip.split("rect(")[1].split(")")[0];
        if (obj.style.clip.indexOf("px")>0) {
          ret = ret.split("px");
        } else {
          ret = ret.split(" ");
        }
      }
    }
  }
  if (ret) {
    for (var i=0; i<ret.length; i++) {
      ret[i] = parseInt(ret[i]);
    }
  }
  return ret;
}

function setLayerClipRect(id,val) {
  if (arguments.length > 4 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj.clip.top = val[0];
        obj.clip.right = val[1];
        obj.clip.bottom = val[2];
        obj.clip.left = val[3];
      } else if (is.ie4 || is.w3d) {
        obj.style.clip = "rect("+val[0]+"px "+val[1]+"px "+val[2]+"px "+val[3]+"px)";
      }
    }
  }
}

function showLayer(id) {
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj.visibility = 'show';
      } else if (is.ie4 || is.w3d) {
        obj.style.visibility = 'visible';
      }
    }
  }
}

function hideLayer(id) {
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj.visibility = 'hide';
      } else if (is.ie4 || is.w3d) {
        obj.style.visibility = 'hidden';
      }
    }
  }
}

function startScroll(id,y,interval,steps) {
  if (arguments.length > 2 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj = obj.document;
      }
      obj.scrolly = y;
      obj.scrollinterval = interval;
      obj.scrollsteps = steps;
      obj.scrollcount = 0;
      scrollLayer(id);
    }
  }
}

function scrollLayer(id) {
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj = obj.document;
      }
      valc = getLayerRect(id);
      //valsc = getLayerClipRect(id+"c");
      valsc = getLayerClipRect(id);
      if ((obj.scrolly<0 && valsc[0]>0) || (obj.scrolly>0 && valsc[2]<=valc[2])) {
        moveLayerClipBy(id,0,obj.scrolly);
        moveLayerBy(id,0,-obj.scrolly);
        obj.scrollcount++;
        if (typeof(obj.scrollsteps) == "undefined" ||obj.scrollcount < obj.scrollsteps) {
          obj.scroll = window.setTimeout("scrollLayer('"+id+"')",obj.scrollinterval);
        }
      }
    }
  }
}

function gotoScrollTop(id) {
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj = obj.document;
      }
      moveLayerTo(id,0,0);
    }
  }
}

function gotoScrollBottom(id) {
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj = obj.document;
      }
      valc = getLayerRect(id);
      valsc = getLayerClipRect(id+"c");
      moveLayerTo(id,0,(valsc[2]-valc[2]));
    }
  }
}

function stopScroll(id) {
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      if (is.ns4) {
        obj = obj.document;
      }
      if (typeof(obj.scroll) != "undefined") {
        window.clearTimeout(obj.scroll);
        obj.scrolly = null;
        obj.scrollinterval = null;
        obj.scrollsteps = null;
        obj.scrollcount = null;
      }
    }
  }
}

var secSet;

function Menuout(id) {
//  alert("Countdown " + id);
  setDDTimeout(id);
}

function setDDTimeout(id) {
  if (secSet != null) {
    window.clearTimeout(secSet);
  }
  var secSet = window.setTimeout('hideMenu("' + id + '")',500);
}

function stopDDTimeout(id) {
  if (secSet != null) {
    window.clearTimeout(secSet);
  }
}

function showMenu(id) {
  var d = document;
  if (arguments.length > 0 && typeof(is) != "undefined") {
    if (typeof(d.activeMenu) == "undefined") {
      d.activeMenu = id;
    }
    if (d.activeMenu != id) {
      hideLayer(d.activeMenu+"h");
      hideLayer(d.activeMenu);
      hideLayer(d.activeMenu+"v");
      d.activeMenu = id;
    }
    showLayer(id+"h");
    showLayer(id);
    showLayer(id+"v");
    // setTab('nglobal',id.substr(id.length-1,1));
  }
  if (is.ie) {
    //window.event.cancelBubble = true;
  }	
}

function hideMenu(id) {
  var d = document;
  if (is.ie4) {
    var val = getLayerRect(id);
    var x = window.event.clientX-1;
    var y = window.event.clientY-1;
    if (val) {
      if (val[0] < y && (val[2]+val[0]) > y && val[3] < x && (val[3]+val[1]) > x) {
        return false;
      }
    }
  }
  if (arguments.length > 0 && typeof(is) != "undefined") {
    if (is.ns4) {
      id = id.target.name;
    }
    if (typeof(d.activeMenu) != "undefined" && d.activeMenu == id) {
      hideLayer(id+"h");
      hideLayer(id);
      hideLayer(id+"v");
      stopDDTimeout(id);
      // d.activeMenu = "undefined";
      // track("hidemenu() - id : "+id);
      // setTab('nglobal',0);
    }
  }
  if (is.ie) {
    //window.event.cancelBubble = true;
  }
  return true;	
}

function countTab(id) {
  var ret = 0;
  if (arguments.length > 0) {
    var obj = true;
    while (obj) {
      obj=getObject(id+ret)
      ret++;
    }
  }
  return ret;
}

function showTab(id,val) {
  if (arguments.length > 1 && typeof(is) != "undefined") {
    var valct = countTab(id);
    if (valct > val) {
      showLayer(id+val);
      showLayer(id+val+"s");
      //showLayer(id+val+"sc");
      for(var i=0; i<valct; i++) {
        if (val != i) {
          hideLayer(id+i);
          hideLayer(id+i+"s");
          //hideLayer(id+i+"sc");
        }
      }
    }
  }
}

function setTab(id,val) {
  var d = document;
  if (arguments.length > 0) {
    var obj = getObject(id);
    if (obj) {
      tmp = obj.src.split("/");
      var src = tmp[tmp.length-1];
      src = src.substr(0,src.length-5);
      if (typeof(val) != "undefined") {
        src += val+'.gif';
      } else {
        src += src.substr(src.length-2,1)+'.gif';
      }
      swapImage(id,src);
    }
  }
}

function alertError(val) {
  alert("\n"+val+"\n");
}

function setBgcolor(obj,color) {
  if (arguments.length > 1 && typeof(is) != "undefined" && is.w3d && typeof(obj) != "undefined") {
    obj.style.background=color;
  }
}

function gotoLocation(obj) {
  if (arguments.length > 0) {
    val = obj.options[obj.selectedIndex].value;
    if (val != "") {
      document.location = val;
    }
  }
}

function openSat(src,id,val,h,w,x,y,lm,tm) {
  var ret = false;
  for (i=9; i > arguments.length; i--) {
    arguments[i-1]= "no";
  }
  if (arguments.length > 1) {
    val =  val + "";
    var p = [];
    if (val=="0") {
      val="00000000";
    }
    for (i=0; i<val.length; i++) {
      if (val.substr(i,1) == "0") {
        p[i] = "no";
      } else {
        p[i] = "yes";
      }
    }
    ret = window.open(arguments[0],arguments[1],"height="+arguments[3]+",width="+arguments[4]+",screenx="+arguments[6]+",screeny="+arguments[5]+",leftmargin="+arguments[7]+",topmargin="+arguments[8]+",directories="+p[0]+",toolbar="+p[1]+",scrollbars="+p[2]+",resizable="+p[3]+",location="+p[4]+",menubar="+p[5]+",personalbar="+p[6]+",status="+p[7]);
  }
  return ret;
}

function openSatOpener(src) {
  if (arguments.length > 0) {
    if (typeof(window.opener) != "undefined" && window.opener != null && window.opener.closed == false) {
      window.opener.document.location = src;
      window.opener.focus();
    } else {
      window.opener = openSat(src,"_blank",255);
    }
  }
}

function submitForm(id) {
  if (arguments.length > 0 && typeof(is) != "undefined") {
    var obj = getObject(id);
    if (obj) {
      obj.submit();
    }
  }
}

function startTicker(id,val,interval) {
  var d = document;
  if (arguments.length > 0) {
    if (typeof(d.tickerval) == "undefined") {
      if (val.length < 2) {
        d.tickerval = "--";
      } else {
        d.tickerval = val;
      }
    }
    if (typeof(d.tickerinterval) == "undefined") {
      d.tickerinterval = interval;
    }
    //track("startTicker() - id,val,interval : "+id+" , "+val+" , "+interval);
    scrollTicker(id);
  }
}

function scrollTicker(id) {
  var d = document;
  if (arguments.length > 0) {
    obj = getObject(id);
    if (obj) {
      d.tickerval = d.tickerval.substr(1,d.tickerval.length-1)+d.tickerval.substr(0,1);
      obj.value = d.tickerval;
    }
    d.ticker = window.setTimeout("scrollTicker('"+id+"')",d.tickerinterval);
  }
}

function pauseTicker(id) {
  var d = document;
  if (arguments.length > 0) {
    if (typeof(d.ticker) != "undefined") {
      window.clearTimeout(d.ticker);
    }
  }
}

function stopTicker(id) {
  var d = document;
  if (arguments.length > 0) {
    if (typeof(d.ticker) != "undefined") {
      window.clearTimeout(d.ticker);
      d.ticker = null;
      d.tickerval = null;
      d.tickerinterval = null;
    }
  }
}

function track(str) {
  var d = document;
  if (d.trackOn) {
    if (typeof(d.tracknr) == "undefined") {
      d.tracknr = 1;
    }
    if (typeof(d.trackstr) == "undefined") {
      d.trackstr = "";
    }
    if (typeof(d.trackwinh) == "undefined") {
      d.trackwinh = openSat('','errorwin',12,600,200,0,0,0,0);
    }
    d.trackwinh.document.open();
    d.trackwinh.document.write('<h2>track-report</h2><font size="2" color="#ff0000">'+d.tracknr+' : '+str+'</font><br><font size="2">'+d.trackstr+'</font>');
    d.trackwinh.document.close();
    d.trackstr = d.tracknr+" : "+str+"<br>"+d.trackstr;
    d.tracknr++;
  }
}

function errorHandler(message, url, line) {
  alert(url + "\n\n" + line + " : " + message);
  return true;
}

var jumpPerformed = false;
function jumpHash(hash) {
  if (is.op || (is.ie && !is.ie5)) {
    return false;
  }
  if ((document.location)&&(!jumpPerformed)&&(hash!='')) {
    document.location.hash=hash;
    jumpPerformed = true;
  }
  return true;
}

domLoaded = true;