function Browser() {
  var b=navigator.appName;
  if (b=="Netscape") this.b="ns";
  else if ((b=="Opera") || (navigator.userAgent.indexOf("Opera")>0)) this.b = "opera";
  else if (b=="Microsoft Internet Explorer") this.b="ie";
  if (!b) alert('Unidentified browser./nThis browser is not supported,');
  this.version=navigator.appVersion;
  this.v=parseInt(this.version);
  this.ns=(this.b=="ns" && this.v>=4);
  this.ns4=(this.b=="ns" && this.v==4);
  this.ns6=(this.b=="ns" && this.v==5);
  this.ie=(this.b=="ie" && this.v>=4);
  this.ie4=(this.version.indexOf('MSIE 4')>0);
  this.ie5=(this.version.indexOf('MSIE 5')>0);
  this.ie55=(this.version.indexOf('MSIE 5.5')>0);
  this.opera=(this.b=="opera");
  this.dom=(document.createElement && document.appendChild && document.getElementsByTagName)?true:false;
  this.def=(this.ie||this.dom); // most used browsers, for faster if loops
  var ua=navigator.userAgent.toLowerCase();
  if (ua.indexOf("win")>-1) this.platform="win32";
  else if (ua.indexOf("mac")>-1) this.platform="mac";
  else this.platform="other";
}
is = new Browser();

function layerSetX(layer,x,parentL) {
  if (is.ns6) {
    eval('document.getElementById("' + layer + '").style.left = "' + x + 'px"');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval(str + 'document.' + layer + '.x = ' + x);
    } else eval('document.' + layer + '.x = ' + x);
  } else {
    eval('document.all("' + layer + '").style.posLeft = ' + x);
  }
}

function layerSetY(layer,y,parentL) {
  if (is.ns6) {
    eval('document.getElementById("' + layer + '").style.top = "' + y + 'px"');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;   
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval(str + 'document.' + layer + '.y = ' + y);
    } else eval('document.' + layer + '.y = ' + y);
  } else {
    eval('document.all("' + layer + '").style.posTop = ' + y);
  }
}

function layerSetSize(layer,r,b,y,x,parentL) {
	if (x == null) x = 0;
	if (y == null) y = 0;
  if (is.ns6) {
    eval('document.getElementById("' + layer + '").style.clip = "rect(' + y + 'px ' + r + 'px ' + b + 'px ' + x + 'px)";');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval(str + 'document.' + layer + '.clip.right = ' + r);
      eval(str + 'document.' + layer + '.clip.bottom = ' + b);
      eval(str + 'document.' + layer + '.clip.top = ') + y;
      eval(str + 'document.' + layer + '.clip.left = ' + x);
    } else {
      eval('document.' + layer + '.clip.right = ' + r);
      eval('document.' + layer + '.clip.bottom = ' + b);
      eval('document.' + layer + '.clip.top = ' + y);
      eval('document.' + layer + '.clip.left = ' + x);
    }
  } else {
    eval('document.all("' + layer + '").style.clip = "rect(' + y + 'px ' + r + 'px ' + b + 'px ' + x + 'px)";');
  }
}

function layerSetBgColor(layer,bgcolor,parentL) {
  if (is.ns6) {
    eval('document.getElementById("' + layer + '").style.backgroundColor = "' + bgcolor + '"');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;   
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval(str + 'document.' + layer + '.document.bgColor = "' + bgcolor + '"');
    } else eval('document.' + layer + '.document.bgColor = "' + bgcolor + '"');
  } else {
    eval('document.all("' + layer + '").style.backgroundColor = "' + bgcolor + '"');
  }
}

function layerGetX(layer,parentL) {
  var x = 0;
  if (is.ns6) {
    eval('x = document.getElementById("' + layer + '").style.left');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval('x = ' + str + 'document.' + layer + '.x');
    } else eval('x = document.' + layer + '.x');
  } else {
    eval('x = document.all("' + layer + '").style.posLeft');
  }
  return parseInt(x, 10);
}

function layerGetY(layer,parentL) {
  var y = 0;
  if (is.ns6) {
    eval('y = document.getElementById("' + layer + '").style.top');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval('y = ' + str + 'document.' + layer + '.y');
    } else eval('y = document.' + layer + '.y');
  } else {
    eval('y = document.all("' + layer + '").style.posTop');
  }
  return parseInt(y, 10);
}

function layerGetContentWidth(layer,parentL) {
  var w = 0;
  if (is.ns6) {
    eval('w = document.getElementById("' + layer + '").offsetWidth');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval('w = ' + str + 'document.' + layer + '.document.width');
    } else eval('w = document.' + layer + '.document.width');
  } else {
    eval('w = document.all("' + layer + '").clientWidth');
  }
  return parseInt(w, 10);
}

function layerGetContentHeight(layer,parentL) {
  var h = 0;
  if (is.ns6) {
    eval('h = document.getElementById("' + layer + '").offsetHeight');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval('h = ' + str + 'document.' + layer + '.document.height');
    } else eval('h = document.' + layer + '.document.height');
  } else {
    eval('h = document.all("' + layer + '").clientHeight');
  }
  return parseInt(h, 10);
}

function layerShow(layer,parentL) {
  if (is.ns6) {
  	eval('document.getElementById("' + layer + '").style.display = ""');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval(str + 'document.' + layer + '.visibility = "show"');
    } else eval('document.' + layer + '.visibility = "show"');
  } else {
    eval('document.all("' + layer + '").style.visibility = "visible"');
  }
}

function layerHide(layer,parentL) {
  if (is.ns6) {
  	eval('document.getElementById("' + layer + '").style.display = "none"');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval(str + 'document.' + layer + '.visibility = "hide"');
    } else eval('document.' + layer + '.visibility = "hide"');
  } else {
    eval('document.all("' + layer + '").style.visibility = "hidden"');
  }
}

function layerExists(layer,parentL) {
  var exist;
  if (is.ns6) {
  	eval('exist = document.getElementById("' + layer + '")');
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval('exist = ' + str + 'document.' + layer);
    } else eval('exist = document.' + layer);
  } else {
    eval('exist = document.all("' + layer + '")');
  }
  if (exist) return true;
  else return false;
}

function layerCaptureEvent(layer,cap_event,event_function,parentL) {
  if (is.ns6) {
  	eval('document.getElementById("' + layer + '").on' + cap_event + ' = ' + event_function);
  } else if (is.ns4) {
    if (parentL != null) {
      parentsArray = parentL.split("~");
      n = parentsArray.length;
      str = "";
      for (var i = 0; i < n; i++) {
        str += "document." + parentsArray[i] + ".";
      }
      eval(str + 'document.' + layer + '.on' + cap_event + ' = ' + event_function);
      eval(str + 'document.' + layer + '.captureEvents(Event.' + cap_event.toUpperCase() + ')');
    } else {
      eval('document.' + layer + '.on' + cap_event + ' = ' + event_function);
      eval('document.' + layer + '.captureEvents(Event.' + cap_event.toUpperCase() + ')');
    }
  } else {
    eval('document.all("' + layer + '").on' + cap_event + ' = ' + event_function);
  }
}