function UA(){
var v = navigator.appVersion.toLowerCase(), u = navigator.userAgent.toLowerCase(), n = navigator.appName;
this.mac = (v.indexOf("mac")+1);
this.win = (v.indexOf("win")+1);
this.nn = (n == "Netscape");
this.ie = (n == "Microsoft Internet Explorer");
this.aol = (u.indexOf("aol")+1);
this.opera = (u.indexOf("opera")+1);
this.ver = (this.ie) ? parseFloat(v.split('msie ')[1]) : parseFloat(v);
this.v4 = (parseInt(v) == 4);
this.os = (this.mac) ? 'mac' : (this.win) ? 'win' : navigator.platform;
this.name = (this.nn) ? 'nn' : (this.ie) ? 'ie' : n;
this.codeName = this.name +'_'+ parseInt(this.ver) + '_'+ this.os;
}
var ua = new UA();
var docloaded = false;

function blurLinks() {
  for(var i=0; i < document.links.length; i++) {
  document.links[i].onfocus =  document.links[i].blur;
  }
}

var onloadHandlers = [];
function loadEvents() {
if(ua.codeName == 'ie_4_win') blurLinks();
  for(var i=0; i<onloadHandlers.length;i++) {
  eval(onloadHandlers[i]);
  }
docloaded = true;
}
window.onload = loadEvents;

var onresizeHandlers = [];
function resizeEvents() { 
 for(var i=0; i<onresizeHandlers.length;i++) {
  eval(onresizeHandlers[i]);
  }
}
window.onresize = resizeEvents;

function imgCollection(name,glen,slen,path,ext){
if(!document.images) return;
this.name = name;
this.groups = new Array(glen);
this.filepath = path;
this.filetype = (ext) ? ext : ".gif";
  for(var i=0;i < glen;i++){
  this.groups[i] = [];
  this.groups[i].states = new Array(slen);
    for(var j=0;j < slen;j++){
    this.groups[i].states[j] = new Image();
    this.groups[i].states[j].src = path+name+ "_"+i+"_"+j+this.filetype;
    }
  }
}
// legacy function - DO NOT CALL DIRECTLY!!
function getObjByName(name,doc) {
var o = 0;
if(!doc) doc = document;
if(doc[name]) o=doc[name];
if(document.all && doc.all[name]) o=doc.all[name]; 
  if(o){
  if(!o.getElementsByTagName) o.getElementsByTagName = getElementsArray;
  return o;
  }
if(document.layers) {
  for(var i=0;i < doc.layers.length;i++){
  var lyrdoc = doc.layers[i].document;
  if(lyrdoc[name]) return lyrdoc[name]; 
    if(lyrdoc.layers.length > 0) {
    var o = getObjByName(name,lyrdoc);
    if(o) return o;
    }
  }
}
return 0;
} 
if(!document.getElementById) document.getElementById = getObjByName; 
// legacy function - DO NOT CALL DIRECTLY!!
function getElementsArray(el) {
  if(document.layers) {
  var doc = (this == document) ? document : this.document;
    switch(el) {
    case 'img' : return doc.images;
    case 'a' : return doc.links;
    case 'div' : return doc.layers;
    case 'form' : return doc.forms;
    default : return 0; 
    }
  }
if(document.all) return this.all.tags(el);
return 0;
}
if(!document.getElementsByTagName) document.getElementsByTagName = getElementsArray;
if(document.layers) Layer.prototype.getElementsByTagName = getElementsArray;

function swapImg() { 
if(!document.images) return;
var args = swapImg.arguments; 
  for(var i=0;i < args.length;i+=2) {
  var imgSrc = (args[i + 1].indexOf('[') != -1) ? eval(args[i + 1] + '.src') : args[i + 1]; 
  if(getObjByName(args[i])) getObjByName(args[i]).src = imgSrc; 
  }
}

function handleResize(init) {  
if(!(ua.nn && ua.v4)) return;	
  if(init==true) with (navigator) {
  document.pgW=innerWidth; 
  document.pgH=innerHeight; 
  onresizeHandlers[onresizeHandlers.length] = 'handleResize()';
  }
  else if (innerWidth!=document.pgW || innerHeight!=document.pgH) location.reload();
}
handleResize(true);

function getWidth(width) {
var args = getWidth.arguments;
  if(args[1]) {
    if(ua.mac) {
    if(ua.ie && ua.v4) width += 2;
    if(ua.nn) width += 17;
    }
    if(ua.win) {
    width += 16;
    if(ua.aol) width += 20;
    }
  }
  else {
    if(ua.mac) {
    if(ua.ie && ua.v4) width -= 17;
    }
    if(ua.win) {
    if(ua.aol) width += 20;
    }
  }
return width;
}

function getHeight(height) {
var args = getHeight.arguments;
  if(args[1]) {
    if(ua.mac) {
    if(ua.ie && ua.v4) height -= 15;
    }
    if(ua.win) {
    if(ua.aol) height += 20;
    }
  }
  else {
    if(ua.mac) {
    if(ua.ie && ua.v4) height -= 15;
    }
    if(ua.win) {
    if(ua.aol) height += 20;
    }
  }
return height;
}

function remoteOpen() {
var args = remoteOpen.arguments;
var n = (args[1]) ? args[1] : 'remote';
var t = (args[4]) ? args[4] : 0;
var l = (args[5]) ? args[5] : 0;
var f = (args[6]) ? args[6] : null;
remote = window.open(args[0],n,'width='+getWidth(args[2])+',height='+getHeight(args[3])+',top='+t+',left='+l+',directories=0,'+f);
if(args[0].indexOf('http://')+1 && args[0].split('/')[2] != window.location.href.split('/')[2]) return; 
if(remote.opener == null || remote.opener != self) remote.opener = self;
remote.focus();
}

function scrollOpen() {
var args = scrollOpen.arguments;
var n = (args[1]) ? args[1] : 'scrollwin';
var t = (args[4]) ? args[4] : 0;
var l = (args[5]) ? args[5] : 0;
var f = (args[6]) ? args[6] : null;
scrollwin = window.open(args[0],n,'width='+getWidth(args[2],1)+',height='+getHeight(args[3],1)+',top='+t+',left='+l+',directories=0,scrollbars=1'+f);
if(scrollwin.opener == null || scrollwin.opener != self) scrollwin.opener = self;
scrollwin.focus();
}

function msgWin() {
var args = msgWin.arguments;
var n = (args[1]) ? args[1] : 'msg';
var t = (args[4]) ? args[4] : 0;
var l = (args[5]) ? args[5] : 0;
var f = (args[6]) ? args[6] : null;
message = window.open(args[0],n,'width='+getWidth(args[2])+',height='+getHeight(args[3])+',top='+t+',left='+l+',directories=0,'+f);
if(message.opener == null || message.opener != self) message.opener = self;
window.onfocus = Function("winClose(message)");
}

function show(div){
if(document.layers) getObjByName(div).visibility = 'show';
else document.getElementById(div).style.visibility = 'visible';
}
function hide(div){
if(document.layers) getObjByName(div).visibility = 'hide';
else document.getElementById(div).style.visibility = 'hidden';
}

var request = new Object();
request.getParameter = function(param) {
var s = window.location.search;
if(!s) return null;
if(!(s.indexOf(param+'=')+1)) return null;
return s.split(param+'=')[1].split('&')[0];
}
