function MM_preloadImages() {
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function getObj( name, forceIEBehavior )
{
    var newObj;
    if ( typeof name == "string" ) {
        if (document.getElementById) {
            newObj = document.getElementById(name);
            if ( newObj == null && forceIEBehavior != null & forceIEBehavior ) {
                var newObjArray = document.getElementsByName( name );
                if ( newObjArray != null && newObjArray.length > 0 ) 
                    newObj = newObjArray[ 0 ];
            }else{
                var newObjArray = document.getElementsByName( name );
                if ( newObjArray != null && newObjArray.length > 0 )
                    newObj = newObjArray[ 0 ];
            }
        }
        else if (document.all) {
            newObj = document.all[name];
        }
        else if (document.layers) {
            newObj = document.layers[name];
        }
    }
    else
        newObj = name;
    return newObj;
}
function getStyle( name, forceIEBehavior )
{
    var myObj = getObj( name, forceIEBehavior );
    return myObj == null ? null : myObj.style;
}
function hideElement( name )
{
	if ( document.getElementById ) {
		getStyle( name ).visibility="hidden";
		getStyle( name ).display="none";
	}
	else if ( document.layers ) {
		getObj( name ).visibility = "hide";
		getObj( name ).display = "none";
	}
}
function showElement( name )
{
	if ( document.getElementById ) {
		getStyle( name ).visibility="visible";
		getStyle( name ).display="";
	}
	else if ( document.layers ) {
		getObj( name ).visibility = "show";
		getObj( name ).display = "";
	}
}
function swapDivs(id, num, total) {
	var selectedNavDiv = getObj(id + "_nav_" + num);
	selectedNavDiv.className = id + "_nav_sel";  
	var hideContentDiv = "";
	for (var i=1;i<=total;i++) {
		if (i!=num) {
			hideContentDiv = getObj(id + "_nav_" + i);
			hideContentDiv.className = id + "_nav";
			hideElement(id + "_head_" + i); 
		}
	}
	showElement(id + "_head_" + num); 
}
function search_btn_click() {
	alert("Search term=" + getObj('search_input').value);
}
function getDiv(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	}
	if (document.all) {
		return document.all[id];
	}
	if (document.layers) {
		return document.all[id];
	}
	return null;
}
function adjustStationMenu() {
	var menu = getDiv("browse_stations_popup");
	if (menu != null) {
		var new_top = 219 - menu.offsetHeight
		menu.style.top = new_top + "px";
	}
}
function addEvent(obj, evType, fn, opt_flag) { 
	var flag = false;
	if (opt_flag != null) {
		flag = opt_flag;
	}	
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, flag); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}
function setFirstLast(id) {
	setFirst(id, "first");
	setLast(id, "last");
}
function setFirst(id, class_name) {
	var menu = getDiv(id);
	if (menu == null || menu.childNodes == null) {
		alert("menu: " + id + " was null or not a list");
		return null;
	}
	for (var i = 0; i < menu.childNodes.length; i++) {
		if (menu.childNodes[i].nodeName == "LI" || menu.childNodes[i].nodeName == "li") {
			menu.childNodes[i].className = class_name;
			break;
		}
	}
}
function setLast(id, class_name) {
	var menu = getDiv(id);
	if (menu == null || menu.childNodes == null) {
		alert("menu: " + id + " was null or not a list");
		return null;
	}
	var last_index = 0;
	for (var i = 0; i < menu.childNodes.length; i++) {
		if (menu.childNodes[i].nodeName == "LI" || menu.childNodes[i].nodeName == "li") {
			last_index = i;
		}
	}
	menu.childNodes[last_index].className = class_name;
}
function pageMousedown(event) {
  var el;
  if (activeButton == null)
    return;
  if (window.event)
    el = window.event.srcElement;
  else
    el = (event.target.tagName ? event.target : event.target.parentNode);
  if (el == activeButton)
    return;
  if (getContainerWith(el, "DIV", "popup") == null) {
    resetButton(activeButton);
    activeButton = null;
  }
}                         
function buttonClick(btn, event, menuId) {
	
	/*
	var button;
	if (window.event)
		button = window.event.srcElement;
	else
		button = (event.target.tagName ? event.target : event.target.parentNode);
	if (button.menu == null) {
		button.menu = document.getElementById(menuId);
	}
	*/
	//button.menu = document.getElementById(menuId);
	document.getElementById(menuId).style.visibility = "visible";
	//depressButton(button);
	//activeButton = button;
	return false;
}     
function searchButtonClick(event, menuId) {
	var button;
	if (window.event)
		button = window.event.srcElement;
	else
		button = (event.target.tagName ? event.target : event.target.parentNode);	
	if (button.menu == null) {
		button.menu = document.getElementById(menuId);
	}
	resetButton(button);
	return false;
}
function doUpdateText(obj,text) {
	if(obj.innerText != null)
		obj.innerText = text;
	else if(obj.innerHTML != null)
		obj.innerHTML = text;
	else if(obj.insertAdjacentHTML != null) {
		obj.insertAdjacentHTML("beforeEnd",text);
	}
	else if(document.createElement != null) {
	}
}
function getInnerText(obj) {
	if(obj.innerText != null)
		return obj.innerText;
	else if(obj.innerHTML != null)
		return obj.innerHTML;
	else if(obj.insertAdjacentHTML != null) {
		return obj.insertAdjacentHTML("beforeEnd");
	}
}
function setPopup(event,word) {
	var el = getObj('searchTerm');
	doUpdateText(el,word);
	return searchButtonClick(event, 'search_popup_open');
}
function depressButton(button) {
	button.menu.style.visibility = "visible";
}
function resetButton(button) {
	if (button.menu != null)
		button.menu.style.visibility = "hidden";
}
function getContainerWith(node, tagName, className) {
  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;
  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;
  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;
  x = el.offsetLeft;
  if (el.offsetParent != null)
    x += getPageOffsetLeft(el.offsetParent);
  return x;
}
function getPageOffsetTop(el) {
  var y;
  y = el.offsetTop;
  if (el.offsetParent != null)
    y += getPageOffsetTop(el.offsetParent);
  return y;
}
