//Global Vars
IE = (navigator.appName == "Microsoft Internet Explorer")?true:false;

//Global Functions
$ = new Function('x', 'return document.getElementById(x)');

//code and stuff
function start_page() {
	makeNavigation();
	makeBreadcrumbs();
	foxytable.byclass('foxytable');
}

//global xmphttp request for breadcrumbs
breadcrumbxmlhttp = false

function makeBreadcrumbs() {
	
	var breadcrumburl = "/breadcrumbs.xml";
	
	if( window.ActiveXObject ) breadcrumbxmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	else breadcrumbxmlhttp = new XMLHttpRequest();
	breadcrumbxmlhttp.open("GET",breadcrumburl,true)
	breadcrumbxmlhttp.onreadystatechange = crumb_handler;
	breadcrumbxmlhttp.send(null);

}

function crumb_handler() {
	if( breadcrumbxmlhttp.readyState ==4 && breadcrumbxmlhttp.status == 200) {
		$("breadcrumbs").innerHTML = "&nbsp;";
		//root xml doc
		var xmldoc = breadcrumbxmlhttp.responseXML;
		//array of folders (still contains server name and filename)
		//modify url if from CMS first
		var cmsurl = (""+document.location);
		var folders = "";
		if( cmsurl.indexOf("cms_First%20Public/") != -1 ) {
			cmsurl = cmsurl.split("cms_First%20Public/")[1];
		} else {
			if(cmsurl.indexOf("https") == -1) cmsurl = (cmsurl).split("http://")[1];
			else cmsurl = (cmsurl).split("https://")[1];
		}
		//finally breaky into folders now that all the extra is gone
		folders = cmsurl.split("/");
		//remove the filename (and save it)
		var filename = folders.pop().split(".")[0];
		//bye bye server name
		folders.shift();
		
		//if the filename is index then the section name is not highlighted, else push filename back to folders
		if( filename == "index" || filename == "") {
		} else {
			folders.push(filename);
		}
		
		//the breadcrumb array, dum dum dummmmm
		var crumbs = new Array();;
		//the current node 
		
		var node = xmldoc.getElementsByTagName("root")[0];
		
		//a copy of the folder array
		var copy = new Array();
		//can't actually force a copy in javascript so gotta do it the old fashioned way
		for( var i=0; i<folders.length; i++) {
			copy.push(folders[i]);
		}
		//the url of the crumb
		var url = "";
		
		//spider through the xml file using folders, picking up breadcrumbs
		for( var i=0; i<folders.length; i++) {
			node = find_node(node,folders[i]);
			if( node ) {
				var name = node.getAttribute("title");
				url += "/"+copy.shift();
				if( i != folders.length-1) {
					crumbs.push("<a href='"+url+"'>"+name+"</a>");
				} else {//last breadcrumb
					crumbs.push(name);
				}
				openbyname(""+name);
			}
		}
		//write them crumbs
		$("breadcrumbs").innerHTML = crumbs.join(" > ");
	}
}

function find_node(root,nodename) {

	if( root ) {
		for( var i=0; i<root.childNodes.length; i++) {
			if(root.childNodes[i].nodeType != 3) {
				
				if((""+root.childNodes[i].getAttribute("name")) == nodename) {
					return root.childNodes[i];
				}
			}
		}
	}
	
	return false;
}

function makePartNav(){
	var nav = $('body-nav');
	
	//get links and add onclicks to the parent items
	var links = nav.getElementsByTagName("a");
	for( var i=0; i<links.length; i++) {
		var daddy = links[i].parentNode;
		var ul = daddy.getElementsByTagName("ul");
		if(ul.length > 0) {
			AttachEvent(links[i], i);
		}
		
	}
}

function makeNavigation() {
	var nav = $('body-nav');
	
	//get links and add onclicks to the parent items
	var links = nav.getElementsByTagName("a");
	for( var i=0; i<links.length; i++) {
		var daddy = links[i].parentNode;
		var ul = daddy.getElementsByTagName("ul");
		if(ul.length > 0) {
			AttachEvent(links[i], i);
		}
		
	}
	
	//opens first tier
	var ul = nav.getElementsByTagName("ul")[0];

	for( var i=0; i<ul.childNodes.length; i++) {
		if((""+ul.childNodes[i].nodeName).toLowerCase() == "li" && ul.childNodes[i].getElementsByTagName("ul").length > 0) {
			ul.childNodes[i].getElementsByTagName("ul")[0].style.display = "block";
			ul.childNodes[i].getElementsByTagName("a")[0].className = "openArrow";
		}
	}
}

function AttachEvent(obj,n) {
	obj.id = "body-nav-link-"+n;
	obj.href = "javascript:toggle_nav_menu('"+obj.id+"')";
	obj.className = "hasArrow";
}

function toggle_nav_menu(id) {
	var alink = document.getElementById(id);
	var ul = alink.parentNode.getElementsByTagName("ul")[0];
	
	
	if( ul.style.display == "block") {
		ul.style.display = "none";
		alink.className = "hasArrow";
	} else {
		ul.style.display = "block";
		alink.className = "openArrow";
	}
}

function openbyname(nama) {
	var ul = $('body-nav').getElementsByTagName("ul")[0];
	var who = ul.getElementsByTagName("a");
	
	for( var i=0; i< who.length; i++) {
		if( who[i].parentNode.hasChildNodes() ) {
			if(who) {
				var whoname = ""+who[i].innerHTML;
				if(whoname == nama && who[i].id) {
					$(""+who[i].id).parentNode.getElementsByTagName("ul")[0].style.display = "block";
				}
			}
		}
	}
}

var foxytable = {
	names:"",
	classes:"",
	bordercolor:"#cccccc",
	bgcolor:"#e7eaee",
	
	byclass:function(classname) {
		this.classes = classname;
		var tables = document.getElementsByTagName("table");
		for( var i=0; i<tables.length; i++) {
			if(tables.className == this.classname) this.make(tables[i]);
		}
	},
	
	make:function(table){
		//var ths = table.getElementsByTagName("th");
		
		
		var last = table.rows.length;

		for( var i=0; i<last; i++){
			if(i%2==1) {
				
				table.rows[i].className = "grey";
			}
		}
		
	}
}