//version 2.0.0
//ajax functions//////////////////////////////////////////////////////

function createRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (tryMS) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (otherMS) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = null;
      }
    }
  }	
  return request;
}


function getActivatedObject(e) {
  var obj;
  if (!e) {
    // early version of IE
    obj = window.event.srcElement;
  } else if (e.srcElement) {
    // IE 7 or later
    obj = e.srcElement;
  } else {
    // DOM Level 2 browser
    obj = e.target;
  }
  return obj;
}

function addEventHandler(obj, eventName, handler) {
  if (document.attachEvent) {
    obj.attachEvent("on" + eventName, handler);
  } else if (document.addEventListener) {
    obj.addEventListener(eventName, handler, false);
  }
}

//random image functions////////////////////////////////////////////////////////

<!--copyright 2002 Bontrager Connection, LLC 

//id
//numberOfImagesToRotate = 7;
//firstPart = '<img src="random/photo';
//lastPart = '.jpg" width="144" alt="Bus Web Example" />';
//call to function ex:
//printRandomImage(sidebar, 5, "random/headerImage", ".jpg");

function printRandomImage(id, num, path, types){
	var num = Math.ceil(Math.random() * num);
	document.getElementById(id).src = (path + num + types);
	
}


function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}


//tab functions //////////////////////////////////////////////////////////////
function loadTabs()
{
	
	if(document.getElementById("tab_menu_content")){
		var side_menu_content = document.getElementById("tab_menu_content").getElementsByTagName("div");
		var side_menu_title_navlist = document.getElementById("tab_menu_nav_list").getElementsByTagName("li");
		
		for(var i=0; i<side_menu_title_navlist.length; i++)
		{
			var tab = side_menu_title_navlist[i];
			
			if(i==0){
				tab.className='selected';
				tab.onclick = function() { highlightTab(this) };
				tab.innerHTML = side_menu_content[i].id;
				
				side_menu_content[i].display='block';
							
				highlightTab(tab);
			}else{
				tab.onclick = function() { highlightTab(this) };
				tab.innerHTML = side_menu_content[i].id;
			
				side_menu_content[i].display='block';
			}
		}
	}
	
}

function highlightTab(tab) {
	var tabname = tab.innerHTML;
	var side_menu_navlist = document.getElementById('tab_menu_nav').getElementsByTagName('li');
	
	var tabnav = '';
	
	for(var j = 0; j < side_menu_navlist.length; j++)
	{
		tabnav = trim11(side_menu_navlist[j].innerHTML);  
		document.getElementById(tabnav).style.display='none';
		side_menu_navlist[j].className = '';
	}
	
	tabname = trim11(tabname);
	tab.className = 'selected';
	document.getElementById(tabname).style.display='block';	
	
}

function loadTabsAdopt(speciesId)
{
	
	var tab_menu_content = document.getElementById("tab_menu_content").getElementsByTagName("div");
	var tab_menu_title = document.getElementById("tab_menu_title").getElementsByTagName("div");
	var tab_list_menu = document.getElementById("tab_menu_nav_list").getElementsByTagName("li");
	

	for(var i=0; i<tab_list_menu.length;i++)
	{
		var tab = tab_list_menu[i];
		
		if(i==speciesId){
			
			tab.onclick = function() { highlightTabAdopt(this) };
			tab.innerHTML = tab_menu_content[i].id;
		
			tab_menu_content[i].display='block';
			tab_menu_title[i].display='block';
			
			tab.className='selected';
			highlightTabAdopt(tab);
		}else{
			tab.onclick = function() { highlightTabAdopt(this) };
			tab.innerHTML = tab_menu_content[i].id;
			
			tab_menu_content[i].display='block';
			tab_menu_title[i].display='block';
		}
	}
}

function highlightTabAdopt(tab) {
	var tabname = tab.innerHTML;
	var tab_menu_nav = document.getElementById('tab_menu_nav_list').getElementsByTagName('li');
	var tab_menu_title = document.getElementById("tab_menu_title").getElementsByTagName("div");
	
	var tabnav = '';
	var tabtitle = '';
	var tabclass = '';
	
	for(var k = 0; k < tab_menu_nav.length; k++)
	{
		//alert(tabname + "-" + tab_menu_nav.length + "-" + tab_menu_nav[k].innerHTML + "-" + tab_menu_title[k].id);
		//browser will sometimes leave white space on end - IE will fail if not trim for getElementId()
		tabnav = trim11(tab_menu_nav[k].innerHTML);  
		tabtitle = trim11(tab_menu_title[k].id);
		
		document.getElementById(tabnav).style.display='none';
		document.getElementById(tabtitle).style.display='none';
		
		tab_menu_nav[k].className='';
	}

	tab.className = 'selected';
	
	tabname = trim11(tabname);
	tabnameTitle = trim11(tabname + "title");
	
	document.getElementById(tabname).style.display='block';
	document.getElementById(tabnameTitle).style.display='block';
	
}

//This function taken from http://blog.stevenlevithan.com/archives/faster-trim-javascript
function trim11 (str) {
	str = str.replace(/^\s+/, '');
	for (var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;
}

