//*****************************************************************************// Do not remove this notice.//// Copyright 2000-2004 by Mike Hall.// See http://www.brainjar.com for terms of use.//*****************************************************************************//----------------------------------------------------------------------------// General utility functions.//----------------------------------------------------------------------------function getContainerWith(node, tagName, className) {  // Starting with the given node, find the nearest containing element  // with the specified tag name and style class.  while (node != null) {    if (node.tagName != null && node.tagName == tagName &&        hasClassName(node, className))      return node;    node = node.parentNode;  }  return node;}function hasClassName(el, name) {  var i, list;  // Return true if the given element currently has the given class  // name.  list = el.className.split(" ");  for (i = 0; i < list.length; i++)    if (list[i] == name)      return true;  return false;}function removeClassName(el, name) {  var i, curList, newList;  if (el.className == null)    return;  // Remove the given class name from the element's className property.  newList = new Array();  curList = el.className.split(" ");  for (i = 0; i < curList.length; i++)    if (curList[i] != name)      newList.push(curList[i]);  el.className = newList.join(" ");}function getPageOffsetLeft(el) {  var x;  // Return the x coordinate of an element relative to the page.  x = el.offsetLeft;  if (el.offsetParent != null)    x += getPageOffsetLeft(el.offsetParent);  return x;}function getPageOffsetTop(el) {  var y;  // Return the x coordinate of an element relative to the page.  y = el.offsetTop;  if (el.offsetParent != null)    y += getPageOffsetTop(el.offsetParent);  return y;}function Left(str, n){	if (n <= 0)	    return "";	else if (n > String(str).length)	    return str;	else	    return String(str).substring(0,n);}function Right(str, n){    if (n <= 0)       return "";    else if (n > String(str).length)       return str;    else {       var iLen = String(str).length;       return String(str).substring(iLen, iLen - n);    }}function windowOpener( url , name , args) {	if ( typeof ( popupWin ) != "object" ) {		popupWin = window.open( url , name , args );	} else {		if (!popupWin.closed){ 			popupWin.location.href = url;		} else {			popupWin = window.open(url, name,args);		}	}	popupWin.focus();}UTF8 = {    encode: function(s){        for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;            s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]        );        return s.join("");    },    decode: function(s){        for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;            ((a = s[i][c](0)) & 0x80) &&            (s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?            o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")        );        return s.join("");    }};/*** Returns the value of the selected radio button in the radio group, null if* none are selected, and false if the button group doesn't exist** @param {radio Object} or {radio id} el* OR* @param {form Object} or {form id} el* @param {radio group name} radioGroup*/function $RF(el, radioGroup) {	var obj = $(el);	if ( obj ) { 		if( obj.type && obj.type.toLowerCase() == 'radio') {			var radioGroup = $(el).name;			var el = $(el).form;		} else if ($(el).tagName.toLowerCase() != 'form') {			return false;		};		var checked = $(el).getInputs('radio', radioGroup).find(			function(re) {return re.checked;}		);		return (checked) ? $F(checked) : null;	} else {		return false;	}}function doCompareDates ( d1 , comparison , d2 ){	var day1 = 0;	var month1 = 0;	var year1 = 0;	var day2 = 0;	var month2 = 0;	var year2 = 0;	var d1_array = d1.split( "/" );		year1 = Number ( d1_array[2] );	month1 = Number ( d1_array[1] ) -1;	day1 = Number ( d1_array[0] );			var date1 = new Date ( year1, month1, day1 );		var d2_array = d2.split( "/" );	year2 = Number ( d2_array[2] );	month2 = Number ( d2_array[1] ) - 1;	day2 = Number ( d2_array[0] );		var date2 = new Date ( year2, month2, day2 );			if ( comparison == '>' )	{		if ( date1 > date2 )		{			return true;		}		else		{			return false;		} 	}	else	{		if ( date1 < date2 )		{			return true;		}		else		{			return false;		} 	}}
