function initNav(divs){
	var effects_a = new Array();
	var lis = divs.getElementsByTagName('li');
	for(var i =0;i<lis.length;i++){
		lis[i].onmouseover = mlover;
		lis[i].onmouseout = mloutSetTimeout;
		var uls = lis[i].getElementsByTagName('ul');
		for(var k=0;k<uls.length;k++){
			var found = 'no';
			for(var z=0;z<effects_a.length;z++){
				if(effects_a[z] == uls[k]){
					found = 'yes';
				}
			}
			if(found == 'no'){
				effects_a[effects_a.length] = uls[k];
				uls[k].style.zIndex = '1000';
				mlEffectLoad(uls[k]);
			}
		}
	}
}
function mloutSetTimeout(e){
	if(!e){
		var the_e = window.event;
	}
	else{
		var the_e = e;
	}
	var reltg = (the_e.relatedTarget) ? the_e.relatedTarget : the_e.toElement;
	if(reltg){
		var under = ancestor(reltg,this);
		if(under === false && reltg != this){
			window.mlLast = this;
			var parent = this.parentNode;
			while(parent.parentNode && parent.className.indexOf('mlmenu') == -1){
				parent = parent.parentNode;
			}
			window.mlTimeout = setTimeout(function(){mlout()},1000);
		}
	}
}
function mlout(){
if(window.mlLast==null)return false;
	var uls = window.mlLast.getElementsByTagName('ul');
	for(var i=0;i<uls.length;i++){
		mlEffectOut(uls[i]);
		window.mlLast.className = 'haschild hide';
	}
	window.lastover = null;
}
function mlover(e){
	if(!e){
		var the_e = window.event;
	}
	else{
		var the_e = e;
	}
	the_e.cancelBubble = true;
	if(the_e.stopPropagation){
		the_e.stopPropagation();
	}
	clearTimeout(window.mlTimeout);
	if(window.mlLast && window.mlLast != this && ancestor(this,window.mlLast) == false){
		mlout();
	}
	else{
		window.mlLast = null;
	}
	var reltg = (the_e.relatedTarget) ? the_e.relatedTarget : the_e.fromElement;
	var ob = this.getElementsByTagName('ul');
		var under = ancestor(reltg,this);
		if(ob[0] && under == false){
			if(window.lastover != ob[0]){
				this.className = 'haschild';
				mlEffectOver(ob[0],this);
				window.lastover = ob[0];
			}
		}
}
function mlEffectOver(ob,parent){
	parent.className="hover";
	ob.className += ' show';
}
function mlEffectOut(ob){
	var parent = ob.parentNode;
	parent.className="";
	if (ob.className.indexOf("col") == -1) ob.className = "";
	else {
		var classname = ob.className.split(" ");
		ob.className = classname[0];
	}
}
function mlEffectLoad(ob){
	var parent = ob.parentNode;
	while(parent.parentNode && parent.className.indexOf('mlmenu') == -1){
		parent = parent.parentNode;
	}
}
function ancestor(child, parent){
	if(child==null)return false;
	if(navigator.userAgent.indexOf('Gecko') != -1 && navigator.userAgent.indexOf('Opera') == -1){
		var allc = parent.getElementsByTagName('*');
		for(var i= 0;i<allc.length;i++){
			if(allc[i] == child){
				return true;
			}
		}
	}
	else{
		for(; child.parentNode; child = child.parentNode){
			if(child.parentNode === parent) return true;
		}
	}
	return false;
}

function initLinks(){
	var content = document.getElementById('content');
	var links = content.getElementsByTagName('a');
	var linky;
	for(var i=0;i<links.length;i++){
		linky = links[i];
		if (linky.href != "" && linky.href.indexOf("cccba.org") == -1 && linky.href.indexOf("intouchondemand.com") == -1 && linky.href.indexOf("mailto:") < 0){
			linky.title = "This page will open in a new window.";
			if (linky.className != "button" && linky.className != "icon") {
				linky.className += " external";
				linky.innerHTML += "<img src=\"/img/ic-external.gif\" width=\"10\" height=\"10\" alt=\"\" />";
			}
				addAnEvent(links.item(i),'click',newWindow);		
		} else if (linky.href.indexOf(".pdf") > 0){			
			linky.title = "This page will open in a new window.";
			if (linky.innerHTML.indexOf("<img") < 0) linky.className += " pdflink";
			addAnEvent(links.item(i),'click',newWindow);
		}
		if (linky.className == "formpop") addAnEvent(links.item(i),'click',formWindow);
	}	
	if (document.getElementById('printfriendly')){
		var pflink = document.getElementById('printfriendly');
		addAnEvent(pflink,'click',switchtoprint);
	}
}
function newWindow(){
 		appWindow = window.open(this.href,"appWindow","width=800,height=600,toolbar=1,resizable=1,scrollbars=1");
		appWindow.focus();
		return false;        
}
if (location.href.indexOf("print=1") > 0){
	for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
	if((a.getAttribute('title') != null) && a.getAttribute('title').indexOf("printfriendly") !=-1)
		a.media = "all";
	}
}
function formWindow(){
 		appWindow = window.open(this.href,"appWindow","width=540,height=600,toolbar=1,resizable=1,scrollbars=1");
		appWindow.focus();
		return false;        
}

function switchtomain() {
	var url = location.href;
	if ((location.href.indexOf("#") > 0)) {
		var tempurl = url.split("#");
		url = tempurl[0]
	}
	url = (location.href.indexOf("?print=1") < 0) ? url.split("&print=1") : url.split("?print=1");
	this.href = url[0];
}

function switchtoprint() {
	var url = location.href;
	if ((location.href.indexOf("#") > 0)) {
		var tempurl = url.split("#");
		url = tempurl[0]
	}
	url += (location.href.indexOf("?") < 0) ? "?print=1" : "&print=1";
	this.href = url;
}

function initButtons(){
	var inputs = document.getElementsByTagName("input");
	for (var i = 0; i<inputs.length; i++){
		if(inputs[i].type=="image"){
			addAnEvent(inputs.item(i),'mouseover',buttonHover);
			addAnEvent(inputs.item(i),'mouseout',buttonHoverout);
			inputs[i].className = "button";
		}
		if(inputs[i].disabled == true){
			inputs[i].className = "disabled";
		}
	}
	
	var images = document.getElementsByTagName("img");
	for (var i = 0; i<images.length; i++){
		if(images[i].className=="button"){
			addAnEvent(images.item(i),'mouseover',buttonHover);
			addAnEvent(images.item(i),'mouseout',buttonHoverout);
		}
	}
}
function buttonHover(){
	if (this.src.indexOf("1.gif") == -1){
		var file = this.src.split(".gif");
		this.src = file[0] + "1.gif";
	}
}
function buttonHoverout(){
	var file = this.src.split("1.gif");
	this.src = file[0] + ".gif";
}

function sfTarget () {
    var sfEls=document.getElementsByTagName("div");
    var aEls = document.getElementsByTagName("a");
    document.lastTarget = null;
    for (var i=0; i<sfEls.length; i++) {
        if (sfEls[i].id) {
            if (location.hash==("#" + sfEls[i].id)) {
                sfEls[i].className+=" sftarget";
                document.lastTarget=sfEls[i];
            }
            for (var j=0; j<aEls.length; j++) {
                if (aEls[j].hash==("#" + sfEls[i].id)) aEls[j].targetEl = sfEls[i]; aEls[j].onclick = function() {
                    if (document.lastTarget) document.lastTarget.className = document.lastTarget.className.replace(new RegExp(" sftarget\\b"), "");
                    if (this.targetEl) this.targetEl.className+=" sftarget"; document.lastTarget=this.targetEl;
                    return true;
                }
            }
        }
    }
}

function initSNav(){
	var subnav = document.getElementById('subnav');
	var subnavas = subnav.getElementsByTagName('a');
	for (var a=0; a<subnavas.length; a++){
		var currenthref=String(subnavas[a].href);
		currenthref=currenthref.split("?");
		var currentloc=String(document.location);
		currentloc=currentloc.split("?");
		if (unescape(currenthref[0])==unescape(currentloc[0])){
			subnavas[a].className="current";
			subnavas[a].parentNode.className = "currentul";
			subnavas[a].parentNode.parentNode.className = "currentul";
			subnavas[a].parentNode.parentNode.parentNode.className = "currentul";
			subnavas[a].parentNode.parentNode.parentNode.parentNode.className = "currentul";
		}
	}
}

function initCalendar(){	
	var m = document.getElementById('months');
	m = m.getElementsByTagName('a');
	m[0].className = "current";
	var t = document.getElementById('calendarwrap');
	t = t.getElementsByTagName('table');
	t[1].className = "current";
	for (var i=0; i<m.length; i++){
		mlink = m[i];
		addAnEvent(mlink,'click',changeCalendar);
	}
	
	if (document.getElementById('mclenav')){		
		all = document.getElementById('mclenav-all');
		all = all.getElementsByTagName('a');
		addAnEvent(all[0],'click',allCalendar);
		mcle = document.getElementById('mclenav-mcle');
		mcle = mcle.getElementsByTagName('a');
		addAnEvent(mcle[0],'click',mcleCalendar);
		if (mcle[0].className == "current") mcleCalendar();
	}
}
function changeCalendar(){
	var m = document.getElementById('months');
	m = m.getElementsByTagName('a');
	for (var i=0; i<m.length; i++){
		m[i].className = "";
	}
	this.className = "current";
	
	var t = document.getElementById('calendarwrap');
	t = t.getElementsByTagName('table');
	for (var i=0; i<t.length; i++){
		t[i].className = "";
	}
	
	var n = this.parentNode.id.split("-");
	n = n[1];
	document.getElementById('month'+n).className = "current";
	return false;
}
function allCalendar(){
	all = document.getElementById('mclenav-all');
	all = all.getElementsByTagName('a');
	all[0].className = "current";	
	mcle = document.getElementById('mclenav-mcle');
	mcle = mcle.getElementsByTagName('a');
	mcle[0].className = "";
	
	divs = document.getElementById("calendarwrap");
	divs = divs.getElementsByTagName('div');
	for (i=0; i < divs.length; i++){
		if (divs[i].className == "event nonmcleoff") divs[i].className = "event nonmcle";
	}
	return false;
}
function mcleCalendar(){
	all = document.getElementById('mclenav-all');
	all = all.getElementsByTagName('a');
	all[0].className = "";	
	mcle = document.getElementById('mclenav-mcle');
	mcle = mcle.getElementsByTagName('a');
	mcle[0].className = "current";
	
	divs = document.getElementById("calendarwrap");
	divs = divs.getElementsByTagName('div');
	for (i=0; i < divs.length; i++){
		if (divs[i].className == "event nonmcle") divs[i].className = "event nonmcleoff";
	}
	return false;
}

function siteEmail(user){
	var hostname = "cccba.org";
	document.write("<a href=" + "mail" + "to:" + user + "@" + hostname + " class=\"nowrap\">" + user + "@" + hostname + "</a>")
}

function offsiteEmail(user,hostname){
	document.write("<a href=" + "mail" + "to:" + user + "@" + hostname + " class=\"nowrap\">" + user + "@" + hostname + "</a>")
}

function addAnEvent(target, eventName, functionName){
	eval('target.on'+eventName+'=functionName');
}

function gaAddOn(){
	//adding Google Analytics tracking to all non-webpage links and offsite links
	if (document.getElementsByTagName) {
	        // Initialize external link handlers
	        var hrefs = document.getElementsByTagName("a");
	        for (var l = 0; l < hrefs.length; l++) {
					// try {} catch{} block added by erikvold VKI
				try{
		                //protocol, host, hostname, port, pathname, search, hash
		                if (hrefs[l].hostname == location.host) {
		                        var path = hrefs[l].pathname + hrefs[l].search;
								var isDoc = path.match(/\.(?:doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)($|\&|\?)/);
		                        if (isDoc) {
		                                startListening(hrefs[l],"click",trackExternalLinks);
		                        }
		                } else {
		                        startListening(hrefs[l],"click",trackExternalLinks);
		                }
				}
				catch(e){
						continue;
				}
	        }
	}
}
function startListening (obj,evnt,func) {
        if (obj.addEventListener) {
                obj.addEventListener(evnt,func,false);
        } else if (obj.attachEvent) {
                obj.attachEvent("on" + evnt,func);
        }
}
function trackExternalLinks (evnt) {
        var e = (evnt.srcElement) ? evnt.srcElement : this;
        while (e.tagName != "A") {
                e = e.parentNode;
        }
        var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
        if (e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
        if (e.hostname != location.host) lnk = "/external/" + e.hostname + lnk;
        if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);
}

function initPage(){
	if (document.getElementById){		
		if (document.getElementById("nav")) initNav(document.getElementById("nav"));
		if (document.getElementById("subnav")) initSNav();
		initButtons();	
		gaAddOn();
		if(!document.getElementById("home") && !document.getElementById("calendarmain") && document.body.offsetHeight > 860) document.getElementById("btt").style.display = "block";
		if (document.all) sfTarget();
		if (document.getElementById("calendarmain")) initCalendar();
		if (document.getElementById("content")) initLinks();
	}
}

window.onload=initPage;
