/* common javsacript file */
// JavaScript Browser Sniffer
// Eric Krok, Andy King, Michel Plungjan Jan. 31, 2002
// see http://www.webreference.com/ for more information
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.

    var agt=navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();
    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);

	var is_opera = (agt.indexOf("opera") != -1);

	var is_mac = (agt.indexOf("mac")!=-1);
    var iePos  = appVer.indexOf('msie');
    if (iePos !=-1) {
       if(is_mac) {
           var iePos = agt.indexOf('msie');
           is_minor = parseFloat(agt.substring(iePos+5,agt.indexOf(';',iePos)));
       }
       else is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
       is_major = parseInt(is_minor);
    }

    var is_konq = false;
    var kqPos   = agt.indexOf('konqueror');
    if (kqPos !=-1) {                 
       is_konq  = true;
       is_minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos)));
       is_major = parseInt(is_minor);
    }                                 

    var is_getElementById   = (document.getElementById) ? "true" : "false";
    var is_getElementsByTagName = (document.getElementsByTagName) ? "true" : "false";
    var is_documentElement = (document.documentElement) ? "true" : "false";

    var is_safari = ((agt.indexOf('safari')!=-1)&&(agt.indexOf('mac')!=-1))?true:false;
    var is_khtml  = (is_safari || is_konq);

    var is_ie   = ((iePos!=-1) && (!is_opera) && (!is_khtml));
	var is_ie4   = (is_ie && is_major == 4);
    var is_ie5   = (is_ie && is_major == 5);
	var is_ie5up = (is_ie && is_minor >= 5);
	var is_ie5_5  = (is_ie && (agt.indexOf("msie 5.5") !=-1)); // 020128 new - abk
	var is_ie6   = (is_ie && is_major == 6);


/* PC-IE4 and Mac IE 5+ redirect */
	if (is_ie4 || (is_ie5up == true && is_mac == true)) {
/*		window.location="../fail/fail-browser.html";	*/
	}
/* Mac only stylesheet to address BOLD issues */
	if ((is_mac) || ((agt.indexOf('safari')!=-1) == true)) {
	//	document.write('<link rel="stylesheet" href="../css/mac.css" type="text/css" media="screen" />');
	}

/* function to have multiple events within the onload event */
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(startMe);
/*
addLoadEvent( function() {
			 appleSearch('metaSearch');
			 });
*/

if ((is_ie5 != true) && (is_ie5_5 != true)) {
//	addLoadEvent(accordion_init);
}

function clearText(input) {
	if (input.defaultValue == input.value) {
		input.value = "";
	}
}

// Justins awesome access <a> thingee...
var initialText
var initialHTML
var firstCharacter
var remainingWord

var useAccess

function startMe() {
	var m = document.getElementsByTagName('a'), i;
	for (i = 0; i < m.length; ++i) {
		if (m[i].className == 'button') {
			initialText = m[i].innerHTML;
			
			m[i].innerHTML = '<span>&nbsp;</span>' + initialText;
		}
	}
	
	if (document.getElementById('nav2') != null) {
		var n = document.getElementById('nav2').getElementsByTagName('li'), i;
		for (i = 0; i < n.length; ++i) {
			initialHTML = n[i].innerHTML;
			if (is_ie) {
				n[i].innerHTML = initialHTML + '<span></span><img src="../i/spacer.gif" alt="spacer" />';
			} else {
				n[i].innerHTML = initialHTML + '<span></span>';
			}
		}
	}
}

function accessEnabled() {
	useAccess = location.search.substr(1).split("?");
}

function accordionEX(el) {
//	var queue = Effect.Queues.get('myscope');
	if (el.innerHTML == 'Show more Results') {
		el.innerHTML = 'Show fewer Results';
	} else {
		if (el.innerHTML == 'Show fewer Results') {
			el.innerHTML = 'Show more Results';
		}
	}

	var elUp = el.parentNode.id+'-body';
	var elUpHeader = el.parentNode.id+'-title';

	if (Element.hasClassName(elUp,'visible')) {
//			Effect.SlideUp(elUp);
			Element.removeClassName(elUp,'visible');
			Element.addClassName(elUp,'hidden');
			Element.removeClassName(elUpHeader,'currentSection');
			document.getElementById(elUp).style.display = 'none';
		return
	}
	
	if ((Element.hasClassName(elUp,'hidden')) || (document.getElementById(elUp).className == 'section_body')) {
//			Effect.SlideDown(elUp);
			Element.removeClassName(elUp,'hidden');
			Element.addClassName(elUp,'visible');
			Element.addClassName(elUpHeader,'currentSection');
			document.getElementById(elUp).style.display = 'block';
		return;
	}
}

function accordion(el) {
	if ((document.getElementById('nav4') != null)) {
		if (Element.hasClassName(el.parentNode.id+'-body','visible')) {
			//do not need to perform an actions
			return;
		}
		var eldown = el.parentNode.id+'-body';
		var apanels = document.getElementsByClassName('section_body',el.parentNode.parentNode);
		for (var i=0;i<apanels.length;i++){
			if (Element.hasClassName(apanels[i].parentNode.id+'-body','visible')) {
				var elup = apanels[i].parentNode.id+'-body';
				var elupHeader = apanels[i].parentNode.id+'-title';
			}
		}
		new Effect.Parallel([ new Effect.SlideUp(elup), new Effect.SlideDown(eldown) ], {duration: 0.5});
		Element.removeClassName(elup,'visible');
		Element.removeClassName(elupHeader,'currentSection');
		Element.addClassName(eldown,'visible');
		Element.addClassName(el,'currentSection');
	}
}

//pass in ID of container element that has all instances of apanels
function accordion_init(id) {
	if ((document.getElementById('nav4') != null) || (document.getElementById('resultsTable') != null)) {
		var apanels = document.getElementsByClassName('section_body',id);
		for (var i=0;i<apanels.length;i++){
			apanels[i].style.display = 'none';
		}
		var velems = document.getElementsByClassName('visible');
		for (var i=0;i<velems.length;i++){
			$(velems[i]).style.display = 'block';
		}
	}
}


function goRedirect() {
//   if ((event.which == 13) || (event.keyCode == 13)) {
//      __doPostBack('ctl00$HeaderControl1$Submit','');
//   }
}

// Email obfuscator script 2.1 by Tim Williams, University of Arizona
// Random encryption key feature by Andrew Moulden, Site Engineering Ltd
// This code is freeware provided these four comment lines remain intact
// A wizard to generate this code is at http://www.jottings.com/obfuscator/
 
//Modified by Justin
function decodeEmail(coded, key) {
	shift=coded.length;
	link="";
	for (i=0; i<coded.length; i++) {
		if (key.indexOf(coded.charAt(i))==-1) {
			ltr = coded.charAt(i);
			link += (ltr);
		} else {
			ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length;;
			link += (key.charAt(ltr));
		}
	}
	document.write("<a href='mailto:"+link+"'>" + link + "</a>")
}

function decodeEmailalt(coded, key) {
	shift=coded.length;
	link="";
	for (i=0; i<coded.length; i++) {
		if (key.indexOf(coded.charAt(i))==-1) {
			ltr = coded.charAt(i);
			link += (ltr);
		} else {
			ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length;;
			link += (key.charAt(ltr));
		}
	}
	document.write("<a href='mailto:"+link+"'>Email us</a>.")
}

function clickButton(e, buttonid) { 
	var bt = document.getElementById(buttonid);
	if (typeof bt == 'object') {
		if(navigator.appName.indexOf("Netscape")>(-1)) {
			if (e.keyCode == 13) { 
                __doPostBack('ctl00$HeaderControl1$Submit','');
                bt.click();
            	return false;
			}
		}
		if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1)) {
			if (event.keyCode == 13) {
                __doPostBack('ctl00_HeaderControl1_Submit','');
                bt.click();
            	return false;
        	}
    	}
	}
	return true;
}

function switchMe(obj) {
	var parentElement = obj.parentNode.parentNode.parentNode;
	if ((parentElement.className == 'showLatest') && (obj.parentNode.className != 'latestLink')) {
		parentElement.className = 'showFeatured';
		return;
	}
	if ((parentElement.className == 'showFeatured') && (obj.parentNode.className != 'featuredLink')) {
		parentElement.className = 'showLatest';
		return;
	}
}

function showQual(obj) {
	var type = document.getElementById('mainContent').getElementsByTagName('ul'), i;
	for (i = 0; i < type.length; i++) {
		if (type[i].className == 'ncme') {
			type[i].style.display = 'none';
		}
	}
	document.getElementById(obj).style.display = 'block';
}

function showHide(obj) {
	var parentElement = obj.parentNode;
	var parentElementClass = parentElement.className;
	if (parentElementClass == 'shown') {
		parentElement.className = 'hidden';
	}
	if (parentElementClass == 'hidden') {
		parentElement.className = 'shown';
	}
}