/*  $Header: mbutils.js, 2, 9/27/04 10:10:47 AM MDT, StarTeam Server Administrator$ : $Name: ST_migration_20040513 $  */

function UA(){
	var v = navigator.appVersion.toLowerCase(), u = navigator.userAgent.toLowerCase(), n = navigator.appName;
	this.full = 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.safari = (u.indexOf("safari")+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;

var onloadHandlers = [];
function loadEvents() {
  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(w,s) {
  if(s) {
    if(ua.mac) {
    	if(ua.nn) w += 17;
			if(ua.safari)	w -= 4;
    }
    if(ua.win) {
    	w += 16;
    	if(ua.aol) w += 20;
    }
  }
  else {
    if(ua.mac) {
    	if(ua.ie && (ua.ver==4)) w -= 17;
			if(ua.safari)	w -= 2;	
    }
    if(ua.win) {
    	if(ua.aol) w += 20;
    }
  }
return w;
}

function getHeight(h,s) {
  if(s) {
    if(ua.mac) {}
    if(ua.win) {if(ua.aol) h += 20;}
  }
  else {
    if(ua.mac) {
    	if(ua.ie && (ua.ver==4)) h -= 15;
    }
    if(ua.win) {
	    if(ua.aol) h += 20;
    }
  }
return h;
}

function winOpen() {
	var a = arguments;
	var n,f,s,w,h,t,l;
	n = (a[1]) ? a[1] : 'child';
	f = (a[6]) ? a[6].toString() : null;
	s = (f && f.search(/scrollbars=(1|true)/) != -1);
	w = getWidth(a[2],s);
	h = getHeight(a[3],s);
	t = (a[4]) ? a[4] : 0;
	l = (a[5]) ? a[5] : 0;
	child = window.open(a[0],n,'width='+w+',height='+h+',top='+t+',left='+l+',directories=0,'+f);
	setTimeout('child.focus()',100);
	if(f && f.search(/temp=(1|true)/) != -1) window.onfocus = function(){ if(window.child) child.close(); child = null };
	//return child;
}
var remoteOpen = winOpen;
var scrollOpen = function() {
	var a = arguments;	
	if(a[6]) {
		a[6] += ',scrollbars=1';
		//alert(a[6]);
	} else {
		a[6] = 'scrollbars=1';
	}
	winOpen(a[0],a[1],a[2],a[3],a[4],a[5],a[6]);
}
var msgWin = winOpen;
var winOpen2 = winOpen;

function show(div){
	if(document.all) window.document.all[div].style.visibility = 'visible';
	else if(document.layers) getObjByName(div).visibility = 'show';
	else document.getElementById(div).style.visibility = 'visible';
}

function hide(div){
	if(document.all) window.document.all[div].style.visibility = 'hidden';
	else 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];
}

