var body_ref;
function init() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;
    if (_timer) clearInterval(_timer);
		body_ref=document.body;
		var expands = getElementsByClass("expand-category");
		for (i=0;i<expands.length;i++) {
				setFunction(expands[i],"onclick","toggle(this);return false;");
			}
		var expand_menu = getElementsByClass("expand");
		for (i=0;i<expand_menu.length;i++) {
				setFunction(expand_menu[i],"onclick","toggle_menu(this);return false;");
			}
		/*@cc_on @*/
		/*@if (@_win32)
		if ($("home")){
			var so = new SWFObject("_assets/flash/homepage2-r2.swf", "mymovie", "1004", "235", "8", "#336699");
			so.addParam("wmode", "transparent");
			so.write("messaging");
		}
		/*@end @*/
		if(document.location.pathname == "/job-postings.php"){
			$("news").className="about";
		}
		var tooltips = getElementsByClass("fire-tooltip");
		for (i=0;i<tooltips.length;i++) {
				tooltips[i].onmouseover= tooltip;
				tooltips[i].onmouseout= tooltipHide;
			}
	/*@cc_on @*/

		/*@if (@_win32)

		document.execCommand("BackgroundImageCache", false, true);  

		/*@end @*/

};



if (document.addEventListener) {

    document.addEventListener("DOMContentLoaded", init, false);

}

/* for Internet Explorer */

/*@cc_on @*/

/*@if (@_win32)

    document.write("<script defer src=/_assets/js/ie_onload.js><\/script>");

/*@end @*/

if (/WebKit/i.test(navigator.userAgent)) { // sniff

    var _timer = setInterval(function() {

        if (/loaded|complete/.test(document.readyState)) {

            init(); // call the onload handler

        }

    }, 10);

}

window.onload = init;



function getElementsByClass(searchClass,node,tag) 

{

    var classElements = new Array();

    if ( node == null )

        node = document;

    if ( tag == null )

        tag = '*';

    var els = node.getElementsByTagName(tag);

    var elsLen = els.length;

    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");

    for (i = 0, j = 0; i < elsLen; i++) 

    {

        if ( pattern.test(els[i].className) ) 

        {

            classElements[j] = els[i];

            j++;

        }

    }

return classElements;

}

function tooltip(){

	bubble=getElementsByClass("tooltip");

	$("tooltip-body").innerHTML=this.getElementsByTagName("img")[0].getAttribute("desc");

	off=this.offsetHeight;

	pos = findPos(this);

	bubble[0].style.top = pos[1]+off+"px";

	bubble[0].style.left = pos[0]+"px";

	bubble[0].className="tooltip on";

	

}

		

function tooltipHide(){

	bubble[0].className="tooltip";

}

		

function setFunction(obj,theEventHandler,theFunction)

{

    if (typeof obj == "string")

    {

        obj = $(obj);

    }

    obj.setAttribute(theEventHandler,theFunction);

    if (obj[theEventHandler])

    {

        obj[theEventHandler]=new Function(theFunction);

    }

}



function $() {

	var elements = new Array();

	for (var i = 0; i < arguments.length; i++) {

		var element = arguments[i];

		if (typeof element == 'string')

			element = document.getElementById(element);

		if (arguments.length == 1)

			return element;

		elements.push(element);

	}

	return elements;

}



function toggle(obj) {

				if (obj.parentNode.className=="cat") {

					obj.parentNode.className = "cat open";

					}

					else if (obj.parentNode.className=="cat open") {

					obj.parentNode.className = "cat";

					}

				}

				

function toggle_menu(obj) {

				if (obj.parentNode.className=="") {

					obj.parentNode.className = "open";

					}

					else if (obj.parentNode.className=="open") {

					obj.parentNode.className = "";

					}

				}

function findPos(obj) {

	var curleft = curtop = 0;

	if (obj.offsetParent) {

		curleft = obj.offsetLeft

		curtop = obj.offsetTop

		while (obj = obj.offsetParent) {

			curleft += obj.offsetLeft

			curtop += obj.offsetTop

		}

	}

	return [curleft,curtop];

};

