  function initMaps() {
    if (document.getElementById) {
      var mapIds = initMaps.arguments;
      var i, j, area, areas;
      for (i = 0; i < mapIds.length; i++) {
        if(document.getElementById(mapIds[i])) {
            areas = document.getElementById(mapIds[i]).getElementsByTagName("area");
            for (j = 0; j < areas.length; j++) {
              area = areas[j];
              addEvent(area,"mousedown",imgSwap,false);
              addEvent(area,"mouseout",imgSwap,false);
              addEvent(area,"mouseover",imgSwap,false);
              addEvent(area,"mouseup",imgSwap,false);
            }
         }
      }
    }
  }

  function imgSwap(evt) {
    evt = (evt) ? evt : event;
    if (!evt) var ent = window.event;
    var elem = (evt.target) ? evt.target : evt.srcElement;
    var imgClass = elem.parentNode.name;
    var coords = elem.coords.split(",");
    var clipVal = "rect(" + coords[1] + "px " +
                coords[2] + "px " +
                coords[3] + "px " +
                coords[0] + "px)";
    var imgStyle;
    switch (evt.type) {
      case "mousedown" :
        imgStyle = document.getElementById(imgClass + "Down").style;
        imgStyle.clip = clipVal;
        imgStyle.visibility = "visible";
        break;
      case "mouseout" :
        document.getElementById(imgClass + "Over").style.visibility = "hidden";
        document.getElementById(imgClass + "Down").style.visibility = "hidden";
        break;
      case "mouseover" :
        imgStyle = document.getElementById(imgClass + "Over").style;
        imgStyle.clip = clipVal;
        imgStyle.visibility = "visible";
        break
      case "mouseup" :
        document.getElementById(imgClass + "Down").style.visibility = "hidden";
        if (elem.click) {
          elem.click();
        }
        break;
    }
    evt.cancelBubble = true;
    return false;
  }

  var current_selection = '';
  var timer;
  function change_selection(x) {
    clearTimeout(timer);
    if(current_selection != '') {
      document.getElementById('nav_'+current_selection).style.display='none';
    }
    document.getElementById('nav_'+x).style.display = 'block';
    current_selection = x;
  }
  function make_timer(x) {
    timer = setTimeout("document.getElementById('nav_"+x+"').style.display='none'",1000);
  }

   function alternateRow() {
	  if (document.getElementById) {
		  var tables=document.getElementsByTagName('table');
			for (var i=0;i<tables.length;i++) {
			  if(tables[i].className=='alternateTable') {
				  var trs=tables[i].getElementsByTagName('tr');
          k = 0;
					for(var j=0;j<trs.length;j++) {
					  if(trs[j].parentNode.nodeName=='TBODY') {
              if(trs[j].style.display == 'none') continue;
              if (k==1) {
                var highlightClass='highlightOffOdd';
                k = 0;
              } else {
                var highlightClass = 'highlightOffEven';
                k = 1;
              }
              trs[j].className=highlightClass;
						}
					}
				}
      }
		}
  }

  function highlightRow() {
	  if (document.getElementById) {
		  var tables=document.getElementsByTagName('table');
			for (var i=0;i<tables.length;i++) {
			  if(tables[i].className=='highlightTable') {
				  var trs=tables[i].getElementsByTagName('tr');
					for(var j=0;j<trs.length;j++) {
					  if(trs[j].parentNode.nodeName=='TBODY') {
              if (j % 2 == 1) {
                var highlightClass='highlightOffOdd';
              } else {
                var highlightClass = 'highlightOffEven';
              }
              trs[j].className=highlightClass;
			  trs[j].style.cursor='pointer';
              trs[j].onmouseover=function(){
							  this.className='highlightOn';
								return false
							}
							if (highlightClass=='highlightOffOdd') {
						    trs[j].onmouseout=function(){
									this.className='highlightOffOdd';
									return false
								}
							}
							if (highlightClass=='highlightOffEven') {
							  trs[j].onmouseout=function(){
								  this.className='highlightOffEven';
									return false
								}
              }
						}
					}
				}
      }
		}
  }

  var timer2 = new Array;
  function delay_function(function_name,param) {
    if(timer2[function_name]) var x = clearTimeout(timer2[function_name]);
    timer2[function_name] = setTimeout("xajax_"+function_name+"('"+param+"')",500);
  }
  var timer3 = new Array();
  function update_field(field_name, value){
    if(timer3[field_name]) var x = clearTimeout(timer3[field_name]);
    value2 = '' + value;
    value2 = value2.replace(/'/g,"\\'");
    value2 = value2.replace(/\r\n/g,'%20');
    value2 = value2.replace(/\n/g,'%20');
    timer3[field_name] = setTimeout("xajax_update_field('"+field_name+"', '"+value2+"')",600);
  }

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

function getRealLeft(el) {
    xPos = el.offsetLeft;
    tempEl = el.offsetParent;
    while (tempEl != null) {
        xPos += tempEl.offsetLeft;
        tempEl = tempEl.offsetParent;
    }
    return xPos;
}

function getRealTop(el) {
    yPos = el.offsetTop;
    tempEl = el.offsetParent;
    while (tempEl != null) {
        yPos += tempEl.offsetTop;
        tempEl = tempEl.offsetParent;
    }
    return yPos;
}