// Determine browser and version.

function Browser() {

  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

// Utility function to do cross-browser event add
function AddEvent(el, strEvent, eventHandler) {
  var browser = new Browser();
  if (browser.isIE) {
    el.attachEvent('on' + strEvent, eventHandler);
  }
  if (browser.isNS) {
    el.addEventListener(strEvent, eventHandler,   true);
  }
}

// Determine the taregt element for an event.
function GetTargetElement(event, id) {
  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  var elEvent;
  var browser = new Browser();
  
  if (id)
    elEvent = document.getElementById(id);
  else {
    if (browser.isIE)
      elEvent = window.event.srcElement;
    if (browser.isNS)
      elEvent = event.target;
  }
	  
  // Return the target element.
  return (elEvent);
}

// Browser-independent way of getting a javascript function from
// the target window.
function GetWindowFunction (strFn) {
}

function DebugObject (obj, filter) {
	var str = '';
	var line = '';
	for (prop in obj) {
		var propname = prop.toString();
		if (line.length > 70) {
			line += '\n';
			str += line;
			line = '';
		}
		if (filter == '' || propname.indexOf(filter) >= 0) line += propname + ', ';
	}
	if (line.length > 0) str += line;
	alert(str);
}

//------------------------------------------------------------------------------
// Trim()
//------------------------------------------------------------------------------

String.prototype.trim = function () {
	var str = this;
	str = str.replace(/^\s+/, '');
	str = str.replace(/\s+$/, '');
	return (str);
}


