// JavaScript Document







function getTheURL(theURL){
	var rURL = "" + theURL;
	var foldersThatHaveIndexHTM = new Array("/athletics/","/myehive/","/search/","/search/students/","/search/staff/","/calendar/","/calendar/news/","/catalog/2010-12/");
	var indexExtension = "cfm";
	
	// IF USING GOOGLE TRANSLATE, FIX URL
	if( rURL.indexOf("translate.google.com") > -1 ){
		var tmp = new Array();
		tmp = rURL.split("&u=");
		rURL = tmp[1];
	}
	
	var urlParts = rURL.replace(/:\/\//,"");
	var uParts = new Array();
	uParts = urlParts.split("/");
	var url_ = "";
	for(w=1;w<uParts.length;w++){
		url_ = url_ + "/" + uParts[w];
	}

	// remove the anchor from the url	
	var url_array;
	if( url_.indexOf("#") >=0 ){
		url_array = new Array();
		url_array = url_.split("#");
		url_ = url_array[0];
	}
	// remove parameters from the url
	if( url_.indexOf("?") >0 ){
		url_array = new Array();
		url_array = url_.split("?");
		url_ = url_array[0];
	}
	
	url_ = url_.replace(/%2D/,"-");
	
	if( url_.charAt(url_.length-1) == "/" ){
		for(w=0;w<foldersThatHaveIndexHTM.length;w++){
			if( url_ == foldersThatHaveIndexHTM[w] ){
				indexExtension = "htm";
				break;
			}
		}
		url_ = url_ + "index." + indexExtension;	
	}

	return url_;
}








/*================================================================*/

var googleIP = "translate.google.com"; // also update on /pagetools/customcf/pageTools.js & headerBanner.js
var currentURL = window.self.location.toString();

// UTILITY FUNCTION SINCE INSERTAFTER IS NOT A BUILT-IN FUNCTION OF JAVASCRIPT ---------------
function insertAfter(parent, node, referenceNode){
	parent.insertBefore(node, referenceNode.nextSibling);
}


// CONSTRUCTOR FUNCTION -----------------------------------------------------------------------
function documentType(title,extensions,softwareURL){
	this.title = title;
	this.extensions = extensions;
}

// MAIN FUNCTION ------------------------------------------------------------------------------
function checkLinks(){
	

	// DEFINE DOCUMENT TYPES
	var documentsArray = new Array();
	documentsArray[0] = new documentType("Acrobat Reader",["pdf","rdf"]);
	documentsArray[1] = new documentType("Microsoft Word/Viewer",["doc","rtf","docx","dotx","docm"]);
	documentsArray[2] = new documentType("Image",["gif","jpg","tif","tiff","jpeg"]);
	documentsArray[3] = new documentType("Microsoft Excel/Viewer",["xls","xltx","xlsx","xlsb","xlam"]);
	documentsArray[4] = new documentType("Microsoft Media Player",["mpg","mpeg","mp3","wav","avi","wmv"]);
	documentsArray[5] = new documentType("Microsoft Acess",["mdb"]);
	documentsArray[6] = new documentType("Microsoft Powerpoint/Viewer",["ppt","pot","pptx","sldx","ppsx","potx","pps"]);
	documentsArray[7] = new documentType("Real Player",["real"]);
	documentsArray[8] = new documentType("Apple Quicktime",["qt","mov"]);
	documentsArray[9] = new documentType("Zip",["zip","rar"]);	
	documentsArray[10] = new documentType("Adobe Illustrator",["eps","ai"]);
	documentsArray[11] = new documentType("Adbobe Flash",["flv","swf"]);
	documentsArray[12] = new documentType("iCalendar",["ics"]);
	documentsArray[13] = new documentType("Adobe InDesign",["indd"]);
	documentsArray[14] = new documentType("ActivBoard FlipChart",["flipchart"]);
	
	// DEFINE DOMAINS TO KEEP IN SAME WINDOW
	var domains = ["www.uwsuper.edu","web-1.uwsuper.edu","web-2.uwsuper.edu","www2.uwsuper.edu","web-2.uws.uwsuper.edu","www.uws.uwsuper.edu","javascript:","/commonspot","137.81.9.13"];
	
	// GET THE CONTAINS THAT HAVE THE LINKS
	var links = document.getElementById("contentWell").getElementsByTagName("a");
	if( document.getElementById("leftColContent") ){
		var linksA = document.getElementById("leftColContent").getElementsByTagName("a");
		links = concatArrays(links,linksA);
	}
	if( document.getElementById("breadcrumbs") ){
		var linksA =document.getElementById("breadcrumbs").getElementsByTagName("a");
		links = concatArrays(links,linksA);
	}
	
	// SOME LOCAL VARIABLES
	var foundDownloads = false;
	var foundExternals = false;	
	
	// LOOP THROUGH THE LINKS
	for(i=0;i<links.length;i++){
		
		// 1. GET THE URL OF THE LINK
		linkHref = links[i].href.toLowerCase();
		displayedIcon = false;
		
		// ONLY DO WORK IF LINK IS NOT BLANK
		if( linkHref != "" ){
		
			// 2. DISPLAY EMAIL ICON - DISPLAY EMAIL ICON
			if( left(linkHref,7) == "mailto:"){	
				if( links[i].innerHTML.toUpperCase().indexOf("<IMG") == -1){
					span = document.createElement("span");
					span.setAttribute("id","span" + i);	
					links[i].parentNode.insertBefore(span, links[i]);
					document.getElementById("span" + i).innerHTML = "<img src=\"/customcf/icons/email.gif\" border=\"0\" alt=\"This link will open your email client for sending an email.\" class=\"icon\" />";
				}
				links[i].onClick = "pageTracker._trackPageview('" + linkHref + "');";
				displayedIcon = true;
			}
			
			// 3. DISPLAY DOCUMENT ICON - OPEN IN NEW WINDOW, DISPLAY FILE TYPE ICON
			if( displayedIcon == false ){
				for(j=0;j<documentsArray.length;j++){
					for(k=0;k<documentsArray[j].extensions.length;k++){
						if( right(linkHref,documentsArray[j].extensions[k].length + 1) == "." + documentsArray[j].extensions[k]){					
							if( links[i].innerHTML.toUpperCase().indexOf("<IMG") == -1){
								span = document.createElement("span");
								span.setAttribute("id","span" + i);	
								insertAfter(links[i].parentNode,span,links[i]);	
								document.getElementById("span" + i).innerHTML = "<a href=\"http://www.fileinfo.com/extension/" + documentsArray[j].extensions[k] + "\" target=\"_blank\"><img src=\"/customcf/icons/format-" + documentsArray[j].extensions[k] + ".gif\" border=\"0\" alt=\"This document requires " + documentsArray[j].title + " to open.\" class=\"icon\" /></a>";
							}
							links[i].onClick = "pageTracker._trackPageview('" + linkHref + "');";
							links[i].target = "_blank";
							displayedIcon = true;
							foundDownloads = true;
							break;
						}
					}
					if( displayedIcon == true ){
						break;
					}
				}
			}
			
			// 4. CHECK FOR LINKS TO PEOPLESOFT - OPEN IN NEW WINDOW, BUT DON'T DISPLAY ICON
			if( displayedIcon == false ){
				if( linkHref.indexOf("psweb.uwsuper.edu") != -1 ){
					links[i].onClick = "pageTracker._trackPageview('" + linkHref + "');";
					links[i].target = "_blank";	
					displayedIcon = true;
				}
			}
		
			// 5. DISPLAY EXTERNAL LINK ICON - OPEN IN NEW WINDOW, DISPLAY EXTERNAL LINK ICON
			if( displayedIcon == false ){
				okDomain = false;
				for(j=0;j<domains.length;j++){
					if( (linkHref.indexOf(domains[j]) != -1) ){
						okDomain = true;
						break;
					}
				}

				if( okDomain == false ){
					if( links[i].innerHTML.toUpperCase().indexOf("<IMG") == -1){
						span = document.createElement("span");
						span.setAttribute("id","span" + i);	
						insertAfter(links[i].parentNode,span,links[i]);	
						document.getElementById("span" + i).innerHTML = "<img src=\"/customcf/icons/format-external-2.gif\" border=\"0\" alt=\"This link points to an external webpage and will open in a new browser window or tab.\" class=\"icon\" />";
					}
					links[i].onClick = "pageTracker._trackPageview('" + linkHref + "');";
					links[i].target = "_blank";
					displayedIcon = true;
					foundExternals = true;
				}
			}
			
			// 6. DISPLAY DOCUMENT ICON FOR A SECURITY-PROTECTED FILE - OPEN IN NEW WINDOW, DISPLAY ICON VIA AJAX			
			if( displayedIcon == false ){	
				if( linkHref.toLowerCase().indexOf("loader.cfm?csmodule=security/getfile") != -1){
					linkParts = new Array();
					linkParts = linkHref.split("=");
					if( links[i].getAttribute("class") != "main"){
						if( (links[i].innerHTML.toUpperCase().indexOf("<IMG") == -1) && (linkParts[2]) ){
							span = document.createElement("span");
							span.setAttribute("id","span" + i);	
							insertAfter(links[i].parentNode,span,links[i]);	
							ajax(span,"/customcf/checkLinksAjax.cfm","pageId=" + linkParts[2]);
						}
						links[i].onClick = "pageTracker._trackPageview('" + linkHref + "');";
						links[i].target = "_blank";
						displayedIcon = true;
						foundDownloads = true;
					}
				}
			}
			
			// 7. CHECK FOR RSS LINKS - OPEN IN NEW WINDOW, BUT DON'T DISPLAY ICON
			if( displayedIcon == false ){
				if( linkHref.indexOf("?xml=") != -1 ){
					links[i].onClick = "pageTracker._trackPageview('" + linkHref + "');";
					links[i].target = "_blank";
					displayedIcon = true;
				}	
			}
			
			
		} // END IF LINKHREF != ""
		
	}
	
	// DISPLAY THE MESSAGE ABOUT THE LINKS
	//if( window.self.location.toString().indexOf("folder1/slideshow") == -1){
		//displayMessage(foundDownloads, foundExternals);	
	//}
}



// UTILITY FUNCTION - RIGHT() and LEFT() -----------------------------------------------------
function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}




// FUNCTION TO DISPLAY MESSAGES ABOUT THE ICONS -----------------------------------------------
function displayMessage(foundDownloads, foundExternals){
	var target = document.getElementById("iconsContainer");
	if( target ){
		var str = "";
		if( (foundDownloads == true) ){
			str = "<p>Some links on this page point to files that may require additional software to download/view. Icons may appear next to each downloadable file link and will take you to more information about the file type.</p>";
		}
	
		if( foundExternals == true ){
			css = "";
			if( foundDownloads == true ){
				css = "margin-top: 4px;";	
			}
			str+= "<p style=\"" + css + "\">Some links on this page point to external websites, and may be marked by this icon: <img src=\"/customcf/icons/format-external-2.gif\" border=\"0\" class=\"icon\" alt=\"This icon designates an external link.\" />";
			str+= "<br />These websites will open in a new browser window.</p>";
		}
		if( str != "" ){
			str = "<div>" + str + "</div>";
		}	
		target.innerHTML = str;
	}	
}



// IF IN TRANSLATE MODE, DISPLAY TRANSLATE MESSAGE AT TOP OF PAGE -----------------------------
function displayTranslateMsg(){
	if( window.self.location.href.indexOf(googleIP) > -1 ){
		var el = document.getElementById("translateMsg");
		if( el ){
			var divStr = "<div class=\"translateMsg\"><b>Attention:</b> You are viewing a translated UW-Superior webpage. ";
			divStr += "UW-Superior cannot guarantee<br />the accuracy of the translation, which is provided by <a href=\"http://www.google.com/\">Google</a>.<br />For definitive information, ";
			a1 = "";
			a2 = "";
			if(window['currentURL'] != null){
				a1 = "<a href=\"" + currentURL + "\">";
				a2 = "</a>"
			}
			divStr += a1 + "use the English language option" + a2 + ". <a href=\"/webmaster/documentation/pageTools.cfm\">More About Translation</a>.</div>";
			el.innerHTML = divStr;
			document.body.style.paddingTop = "70px";
		}
	}
}

// IF USING GOOGLE TRANSLATE, FIX URL --------------------------------------------------------
function fixGoogleTranslate(str){
	var url = str;
	if( str.indexOf(googleIP) != -1 ){		
		var tmp = new Array();
		tmp = url.split("&u=");
		url = tmp[1];
		url = url.replace(/%3F/,"?");
		url = url.replace(/%3D/,"=");
	}	
	return url;
}


// UTILITY FUNCTION TO JOIN ARRAYS ---------------------------------------------------------
function concatArrays(obj1, obj2) {
	var i;
	var arr = new Array();
	var len1 = obj1.length;
	var len2 = obj2.length;
	for (i=0; i<len1; i++) {
	arr.push(obj1[i]);
	}
	for (i=0; i<len2; i++) {
	arr.push(obj2[i]);
	}
	return arr;
}














/*================= AJAX =====================*/


	function ajax(el,url,params) {
        var http_request = false;
		//el.innerHTML = "<img src=\"/customcf/ajax-loader.gif\" alt=\"Loading Content\" border=\"0\" />"; // LOADER GRAPHIC
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/html');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function() { set(el,http_request); };
        http_request.open('POST', url, true);
        http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      	http_request.setRequestHeader("Content-length", params.length);
      	http_request.setRequestHeader("Connection", "close");
     	http_request.send(params);

    }

    function set(el,http_request) {

		if (http_request.readyState == 4){
			if (http_request.status == 200) {
				el.innerHTML = http_request.responseText;
				//readJS(el);
			} else {
				el.innerHTML = "{!}"
			}
		}
    }
	
	function readJS(el){
		var scr = document.createElement("span");
		scr.setAttribute("id",el.id +"_scriptsDiv");
		el.appendChild(scr);

		var arr = new Array();
		arr = el.innerHTML.split("<"+"SCRIPT");
		var r = new Array();
		var rr = new Array();
		var rrr = new Array();
		var scriptsDiv = document.getElementById(el.id+"_scriptsDiv");
		var start = 1;
		if( arr.length == 1 )
			start = 0;
		for(i=start;i<arr.length;i++){
			r = arr[i].split("<"+"/SCRIPT"+">");
			rr = r[0].split("src=\"");
			if( rr[1] ){
				rrr = rr[1].split("\"");
				a = document.createElement("script");
				a.setAttribute("type","text/javascript");
				a.setAttribute("src",rrr[0]);
				scriptsDiv.appendChild(a);				
			}else{
				rrr = rr[0].split("javascript>");
				if( rrr[1] ){
					eval(rrr[1]);	
				}
			}
		}
	}
	
	function submitForm(formObj,targetId,url){
		var p = "";		
		for(i=0;i<formObj.elements.length;i++){
			if( formObj.elements[i].name != "" ){
				tag = formObj.elements[i].type;
				doAdd = true;
				if( (tag == "radio") || (tag == "checkbox")){
					if( !formObj.elements[i].checked )
						doAdd = false;
				}
				if( (doAdd) && (formObj.elements[i].value != "")){
					if( p != "" )
						p+= "&";
					p+= formObj.elements[i].name + "=" + formObj.elements[i].value;
				}
			}
		}
		ajax(document.getElementById(targetId),url,p);
	}
	/*
	CALL <a href="javascript:ajax(document.getElementById("div"),"loadData.asp","id=451&sortBy=NAME&sortDir=ASC");">link</a>
	SUBMITTING A FORM: <form name="form1" action="javascript:submitForm(document.form1, 'cartDiv', 'addToCart.do');"></form>
	
	in the page we are loading via AJAX..  have internal JS functions like so...
	
	
	not..
	
	function doAlert(){
		alert("uws");
	}
	
	do...
	
	window.doAlert = function(){
		alert("uws");
	}
	
	*/
	
	
	
	
	
	
	
	
	
/*----------------------------------
IF PAGE IS SET TO USE THE SSL, RELOAD PAGE IN SECURE MODE, IF NECESSARY
IF PAGE IS SET TO NOT USE THE SSL, RELOAD PAGE IN UNSECURE MODE, IF NECESSARY

VARIABLE isSSL must already be defined
-------------------------------------*/

var currURL = window.self.location.toString().toLowerCase();
var currSSL = currURL.indexOf("https://");

// IF PAGE IS SET TO BE SECURE, AND USER IS NOT IN SECURE MODE
if( (isSSL == "1") && (currSSL == -1) ){
	newURL = currURL.replace(/http/,"https");
	window.self.location.replace(newURL);	
}


// IF PAGE IS SET TO NOT BE SECURE, AND USER IS IN SECURE MODE
if( (isSSL == "") && (currSSL != -1)){
	newURL = currURL.replace(/https/,"http");
	window.self.location.replace(newURL);	
}


// IF USER IS AT http://uwsuper.edu RELOAD TO http://www.uwsuper.edu
if( (currURL.indexOf("www") == -1) && (currURL.indexOf("web-2") == -1) && (currURL.indexOf("137.81") == -1)){
	newURL = currURL.replace(/uwsuper.edu/,"www.uwsuper.edu");
	window.self.location.replace(newURL);	
}




/*-------------------------------------------------------------

FOR THE MAIN TEMPLATE TABS ACROSS THE TOP

---------------------------------------------------------------------*/
window.tabOver = function(el,index,state){
	var s = "_norm";
	var ext = ".jpg";
	if( state == 1 ){
		s = "_sel";
	}
	if( el.src.indexOf(".png") != -1 ){
		ext = ".png";	
	}
	el.src = "/style/" + currCSS + "/images-template/tab" + index + s + ext;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("##")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}



for( k=0;k<5;k++){
	MM_preloadImages("/style/" + currCSS + "/images-template/tab" + k + "_sel.jpg");
}







/*========================= PAGE TOOLS ================================*/
// LANGUAGE CONSTRUCTOR
window.language = function(id,label){
	this.id = id;
	this.label = label;
}

var langs = new Array();
var x = 0;
langs[x++] = new language("ar","Arabic");
langs[x++] = new language("zh-CN","Chinese (simplified)");
langs[x++] = new language("zh-TW","Chinese (traditional)");
langs[x++] = new language("nl","Dutch");
langs[x++] = new language("en","English");
langs[x++] = new language("fr","French");
langs[x++] = new language("de","German");
langs[x++] = new language("el","Greek");
langs[x++] = new language("it","Italian");
langs[x++] = new language("ja","Japanese");
langs[x++] = new language("ko","Korean");
langs[x++] = new language("pt","Portuguese");
langs[x++] = new language("ru","Russian");
langs[x++] = new language("es","Spanish");




// MAIN BUILD TOOLS MENU FUNCTION
window.buildToolsMenu = function(){
	if( document.getElementById("pageToolsContainer") ){
		var str = "";
		str+= "<div id='tools'><a href=\"javascript:toggleTools('tools1');\" class='main'><img src='/pagetools/customcf/down.gif' border='0' alt='page tools' /> Page Tools</a></div>";
		
		str+= "<div id='tools1' class='hide'>";
		str+= "<div><a href=\"javascript: window.self.print();\"><img src='/pagetools/customcf/print.gif' border='0' alt='print' /> Print Page</a></div>";
		str+= "<div><a href=\"javascript:doEmail();\"><img src='/pagetools/customcf/email.gif' border='0' alt='email page' /> Email Page</a></div>";
		str+= "<div><a href=\"javascript:;\" onClick=\"javascript:get_id('contentWell','en','fm')\"><img src='/pagetools/customcf/listen.gif' border='0' alt='listen to page' /> Listen to Page</a></div>";
		str+= "<div><a href=\"/pagetools/bookmark.cfm\"><img src='/pagetools/customcf/share.gif' border='0' alt='share page' /> Share Page</a></div>";
		//str+= "<div><a href=\"javascript:readTest();\"><img src='/pagetools/customcf/readability.gif' border='0' alt='readability test' /> Readability Test</a></div>";
		str+= "<div><a href=\"/pagetools/feedback.cfm\"><img src='/pagetools/customcf/feedback.gif' border='0' alt='page feedback' /> Page Feedback</a></div>";
		str+= "<div><a href=\"/pagetools/qr.cfm\"><img src='/pagetools/customcf/qrCode.gif' border='0' alt='page qr code'> Page QR Code</a></div>";
		str+= "<div><a href=\"/pagetools/customcf/convertToDOC.cfm\" target=\"_blank\"><img src='/pagetools/customcf/convertToDOC.gif' border='0' alt='page to word'> Page to Word</a></div>";
		str+= "<div><a href=\"javascript:increaseFontSize(true);\">Font Size +</a></div>";
		str+= "<div><a href=\"javascript:decreaseFontSize(true);\">Font Size -</a></div>";	
		
		str+= "<div id='tools2' class='hide'>";
		for(i=0;i<langs.length;i++){
			googleURL = "http://" + googleIP + "/translate_c?hl=en&langpair=en%7C" + langs[i].id + "&u=";
			if( langs[i].id == "en" ){
				googleURL = "";	
			}
			str+= "<div><a href=\"" + googleURL + currentURL + "\">" + langs[i].label + "</a></div>";
		}
		str+= "</div>";
		
		str+= "<div><a href=\"javascript:toggleTools('tools2');\" id='last'><img src='/pagetools/customcf/left.gif' border='0' alt='language options' /> Language Options</a></div>";
		str+= "<div id=\"fontSize\" class=\"hide\"></div>";
		str+= "</div>";
		document.getElementById("pageToolsContainer").innerHTML = str;
	}
}


// DO EMAIL FUNCTION
window.doEmail = function(){
	window.open("http://www.feedburner.com/fb/a/emailFlare?itemTitle=" + document.title + "&uri=" + window.self.location,"","menubar=0,resizable=1,width=550,height=700"); 
}

// READABILITY TEST FUNCTION
window.readTest = function(){
	window.open("http://www.read-able.com/check.php?uri=" + window.self.location + "%23contentWell","","menubar=0,resizable=1,scrollbars=1,width=550,height=700");	
}


// HIDE/SHOWS SECTIONS OF THE PAGE TOOLS MENU
window.toggleTools = function(id){
	var t = document.getElementById(id);
	if( t.className == "" ){
		t.className = "hide";
	}else{
		t.className = "";
	}
}


// GENERAL FIND WHAT ELEMENT WAS CLICKED FUNCTION
function findTarget(e){
	var targ;
	if (!e)
	  {
	  var e=window.event;
	  }
	if (e.target)
	  {
	  targ=e.target;
	  }
	else if (e.srcElement)
	  {
	  targ=e.srcElement;
	  }
	if (targ.nodeType==3) // defeat Safari bug
	  {
	  targ = targ.parentNode;
	  }
	var tname;
	return targ.tagName;
}

// HIDE TOOLS WHEN DOCUMENT IS CLICKED
window.hideTools = function(e){		
	if( findTarget(e) != "A" ){		
		if( document.getElementById("tools1") && document.getElementById("tools2") ){
			document.getElementById("tools2").className = "hide";
			document.getElementById("tools1").className = "hide";
		}
	}
}


// GENERAL DOM EVENT FUNCTION
var Event = {
	add: function(obj,type,fn) {
		if (obj.attachEvent) {
			obj['e'+type+fn] = fn;
			obj[type+fn] = function() { obj['e'+type+fn](window.event); }
			obj.attachEvent('on'+type,obj[type+fn]);
		} else
		obj.addEventListener(type,fn,false);
	},
	remove: function(obj,type,fn) {
		if (obj.detachEvent) {
			obj.detachEvent('on'+type,obj[type+fn]);
			obj[type+fn] = null;
		} else
		obj.removeEventListener(type,fn,false);
	}
}

Event.add(document,'click',hideTools);




// FONT SIZE ADJUSTERS
var tags = new Array("h2","h3","p","li");
var sizes = new Array(16,13,10,10);
var currStep = 0;
function increaseFontSize(doCookie) {
   var doInc = false;
   for(r=0;r<tags.length;r++){
	   var p = document.getElementById("contentWell").getElementsByTagName(tags[r]);
	   for(i=0;i<p.length;i++) {
		  if(p[i].style.fontSize) {
			 var s = parseInt(p[i].style.fontSize.replace("pt",""));
		  } else {
			 var s = sizes[r];
		  }
		  if(currStep < 5) {
			 s += 1;
			 doInc = true;
		  }
		  p[i].style.fontSize = s+"pt"
	   }
   }
   if( doInc == true ){
		currStep++;
		if( doCookie == true){
			//ajax(document.getElementById("fontSize"),"/customcf/cookies.cfm","name=font&action=write&value=" + currStep);
		}
	}
}

function decreaseFontSize(doCookie) {
   var doInc = false;
   for(r=0;r<tags.length;r++){
	   var p = document.getElementById("contentWell").getElementsByTagName(tags[r]);
	   for(i=0;i<p.length;i++) {
		  if(p[i].style.fontSize) {
			 var s = parseInt(p[i].style.fontSize.replace("pt",""));
		  } else {
			 var s = sizes[r];
		  }
		  if(currStep > -2) {
			 s -= 1;
			 doInc = true;
		  }
		  p[i].style.fontSize = s+"pt"
	   }   
   }
   if( doInc == true ){
		currStep--;
		if( doCookie == true){
			//ajax(document.getElementById("fontSize"),"/customcf/cookies.cfm","name=font&action=write&value=" + currStep);
		}
	}
}

var cookieTimer;
window.readFontSizeCookie = function(){	
	var size = document.getElementById("fontSize").innerHTML.toLowerCase();
	size = size.replace(/\"/g,"").replace("<div id=fontsize_scriptsdiv></div>","");
	if( size != "" ){
		clearTimeout(cookieTimer);
		if( size > 0 ){
			for(q=0;q<size;q++){
				increaseFontSize(false);	
			}
		}else if(size < 0){
			for(q=size;q<0;q++){
				decreaseFontSize(false);	
			}
		}
	}else{
		cookieTimer = setTimeout("readFontSizeCookie()",100);	
	}
}



if( window.self.location.href.indexOf(googleIP) == -1 ){
	//ajax(document.getElementById("fontSize"),"/customcf/cookies.cfm","name=font");
}





/* =========================== TEXT TO SPEECH =======================*/
function create_form(d,txt,lang,gn,tgt){
fx_2g=d.createElement('form');
d.body.appendChild(fx_2g);
fx_2g.target=tgt;
fx_2g.method='POST';
fx_2g.action='http://vozme.com/text2voice.php';
//text
t=d.createElement('input');
t.name='text';
t.type='hidden';
t.value=txt;
fx_2g.appendChild(t);
//lang
l=d.createElement('input');
l.name='lang';
l.type='hidden';
l.value=lang;
fx_2g.appendChild(l);
//gn
g=d.createElement('input');
g.name='gn';
g.type='hidden';
g.value=gn;
fx_2g.appendChild(g);
//interface
i=d.createElement('input');
i.name='interface';
i.type='hidden';
i.value='full';
fx_2g.appendChild(i);
//submit
window.open('', tgt, 'width=200,height=200,scrollbars=no,location=no,menubar=no,resizable=yes,status=no,toolbar=no'); 
fx_2g.submit();
delete fx_2g;
return false;
}

function get_selection(){
var lang = arguments[0] || '';
var gn = arguments[1] || '';
var tgt='voice_'+parseInt(Math.random()*100000);
var d=window.document;
if(window.getSelection){
 txt=window.getSelection();
} else if(d.getSelection){
 txt=d.getSelection();
} else if(d.selection){
 txt=d.selection.createRange().text;
} else{
 txt='';
}
create_form(d,txt,lang,gn,tgt);
return false;
}


function get_id(id){
var lang = arguments[1] || '';
var gn = arguments[2] || '';
var tgt='voice_'+parseInt(Math.random()*100000);
var d=window.document;
var txt='';
txt=d.getElementById(id).innerHTML;
create_form(d,txt,lang,gn,tgt);
return false;
}


function get_blogger(id){
var lang = arguments[1] || '';
var gn = arguments[2] || '';
var tgt='voice_'+parseInt(Math.random()*100000);
var d=window.document;
var txt='';
pN=d.getElementsByName(id)[0].parentNode;
for(n=0;n<pN.childNodes.length;n++){
    if(pN.childNodes[n].className == 'post-title entry-title' || pN.childNodes[n].className == 'post-title' || pN.childNodes[n].className == 'post-body entry-content' || pN.childNodes[n].className == 'post-body'){
        txt=txt + ' ' + pN.childNodes[n].innerHTML;
    }
}
create_form(d,txt,lang,gn,tgt);
return false;
}













/*========================= HEADER BANNER ==============================*/
var divIndex = 0;//Math.floor(Math.random()*numImages); // start on a random image

var time; // timer variable, don't edit
var didInit = false; // boolean checker, don't edit

//var googleIP = "64.233.179.104"; // also update on /pagetools/customcf/pageTools.js

function initRotate(){
	
	// ROTATING IMAGES ARE VERY BUGGY ON A MAC SAFARI :-( SO JUST DISPLAY IMAGE		
	if( (navigator.userAgent.indexOf('Mac') != -1) && (navigator.userAgent.indexOf('Safari') != -1)){
		doRotate = false;
	}	
	
	// ADDING THE TRANSLATE MESSAGE AT TOP OF PAGE SHIFTS BODY DOWN, MISALIGNING ROTATING IMAGES
	if(window.self.location.href.indexOf(googleIP) != -1){
		doRotate = false;
	}
	
	// ROTATING IMAGES ON IE6 MAKES THE CURSOR BUGGY DURING ROTATION
	if( navigator.appName == "Microsoft Internet Explorer"){
    	var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(navigator.userAgent) != null){
      		rv = parseFloat( RegExp.$1 );
			if( rv <= 6.0 ){
				doRotate = false;	
			}
		}
	
	// OPERA CAN ROTATE JUST FINE, IT HAS PROBLEMS POSITIONING THE BANNERS TO LINE UP CORRECTLY
	//}else if( navigator.appName == "Opera" ){
		//doRotate = false;	
	}
	
	var parent = document.getElementById("moreBanners");
	

	if( doRotate ){
		var imgStr = "";		
		
		// BUILD THE BANNER STRING
		for(k=numImages-1;k>=0;k--){
			src = imageDir + "header" + imageType + "_" + k + ".jpg";
			imgStr+= "<div><img alt=\"" + headerTitle + "\" src=\"" + src + "\" id=\"headerImage_" + k + "\" border=\"0\" style=\"position: absolute;\"></div>";
		}	
	
		parent.innerHTML+= imgStr;
		
		// POSITION THE ROTATING BANNERS
		/*
		for(k=0;k<numImages;k++){
			div = document.getElementById("headerImage_" + k);
			
			// IE7 DOESN'T LIKE THE OFFSETPARENT
			if( (navigator.appName != "Microsoft Internet Explorer") ){
				div.style.top = parent.offsetTop + "px";
			
			// IE7 MAY USE THE IMAGE() CONSTRUCTOR AND SET A NEGATIVE MARGIN FOR PLACEMENT
			}else{
				image = new Image();
				image.src = dir + "header" + imageType + "_0.jpg";
				div.style.marginTop = "-" + image.height + "px";
			}
		}		
		*/
		// set all divs to invisible
		for(r=0;r<numImages;r++){
			if( r == divIndex ){
				opacity("headerImage_" + r,99,100,100);
			}else{
				opacity("headerImage_" + r,1,0,100);
			}
		}
		time = setTimeout("rotate()",1000);	
	}

}


window.rotate = function(){
	var a = didInit;
	// get the previous image/div
	var index2 = divIndex-1;
	if( index2 == -1 )
		index2 = numImages-1;
	
	// do the fade	
	if( didInit ){
		opacity("headerImage_" + index2,100,0,fadeSpeed * 1000);
		opacity("headerImage_" + divIndex,0,100,fadeSpeed * 1000);		
	}
	didInit = true;
	// inc. the image index/counter
	divIndex++;	
	if( divIndex == numImages )
		divIndex = 0;
	
	// rotate images/divs
	if( a ){
		time = setTimeout("rotate()",rotateSpeed*1000);
	}else{
		// rotate sooner so we don't have to wait for a full cycle
		time = setTimeout("rotate()",2000);
	}	
}

window.opacity = function(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++){ 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
window.changeOpac = function(opacity, id) { 
    var u = document.getElementById(id).style; 
    u.filter = "alpha(opacity=" + opacity + ")"; 
	u.opacity = (opacity / 100); 
    u.MozOpacity = (opacity / 100); 
    u.KhtmlOpacity = (opacity / 100);     
}

















// ============================ NAV UNITS v2 =====================================*/
function toggleNU(id){
	var nu = document.getElementById("nu_" + id);
	if( nu ){
		var nuIcon = document.getElementById("nuIcon_" + id);
		if( nu.style.display == "" ){
			nu.style.display = "none";	
			nuIcon.src = "/renderhandlers/navUnits/plus.gif";
		}else{
			nu.style.display = "";
			nuIcon.src = "/renderhandlers/navUnits/minus.gif";
		}
	}
}


function loadNU(){
	var numNU = 10;
	var numLinks = 10;
	var linkParts = new Array();
	var linkFolder = "";
	var urlParts = new Array();	
	var currFolder = "";
	
	urlParts = currURL.replace(/http:\/\/web-2.uwsuper.edu/g,"").replace(/http:\/\/www.uwsuper.edu/g,"").split("/");
	
	for(n=0;n<urlParts.length-1;n++){
		currFolder = currFolder + urlParts[n] + "/"	
	}


	for(d=1;d<numNU+1;d++){
		var nu = document.getElementById("nu_" + d);
		var nuIcon = document.getElementById("nuIcon_" + d);
		var lead = document.getElementById("lead_" + d);
		var linkFolder = "";
		if( lead && nu ){
			// IF NAV UNIT == CURRENT WEBPAGE
			if( getTheURL(currURL) == getTheURL(lead.href.toLowerCase()) ){
				if( nu.getAttribute("title") != "Always Collapse" ){
					nu.style.display = "";
					nuIcon.src = "/renderhandlers/navUnits/minus.gif";
				}	
			}
			
			// IF CURRENT WEBPAGE IS IN SUBFOLDER OF NAV UNIT'S URL
			linkParts = getTheURL(lead.href.toLowerCase().replace(/http:\/\/web-2.uwsuper.edu/g,"").replace(/http:\/\/www.uwsuper.edu/g,"")).split("/");	
			linkFolder = "";
			for(a=0;a<linkParts.length-1;a++){
				linkFolder = linkFolder + linkParts[a] + "/"	
			}
			if( currFolder.indexOf(linkFolder) != -1){
				if( nu.getAttribute("title") != "Always Collapse" ){
					nu.style.display = "";
					nuIcon.src = "/renderhandlers/navUnits/minus.gif";
				}	
			}
			
		}
		
		for(h=1;h<numLinks+1;h++){
			navLink = document.getElementById("link_" + d + "_" + h);	
			if( navLink && nu ){
				
				// IF LINK == CURRENT WEBPAGE
				if( getTheURL(navLink.href.toLowerCase()) == getTheURL(currURL) ){					
					navLink.className = "selected";	
					if( nu.getAttribute("title") != "Always Collapse" ){
						nu.style.display = "";
						nuIcon.src = "/renderhandlers/navUnits/minus.gif";
					}
				
				// IF CURRENT WEBPAGE IS IN SUBFOLDER OF A LINK
				}else{
					linkParts = navLink.href.toLowerCase().replace(/http:\/\/web-2.uwsuper.edu/g,"").replace(/http:\/\/www.uwsuper.edu/g,"").split("/");	
					linkFolder = "";
					for(a=0;a<linkParts.length-1;a++){
						linkFolder = linkFolder + linkParts[a] + "/"	
					}				
					if( currFolder.indexOf(linkFolder) != -1 ){						
						if( nu.getAttribute("title") != "Always Collapse" ){
							nu.style.display = "";
							nuIcon.src = "/renderhandlers/navUnits/minus.gif";
						}
					}
				}
			}
		}
	}	
}








// ========================= TABBED NAV v2 ============================*/

function displayTabbedNav(){
	
	if( document.getElementById("tabbedNav") ){
		var currentURL = getTheURL(window.self.location.toString().toLowerCase());
		
		var navUnits = document.getElementById("tabbedNav").getElementsByTagName("div");
		if( navUnits ){
	
			for(i=0;i<navUnits.length;i++){
				tabStyle = navUnits[i].getAttribute("title");
				
				ul = navUnits[i].getElementsByTagName("ul");			
				links = ul[0].getElementsByTagName("a");	
				
				tabHeight = 21;			
				if( tabStyle == "3" ){
					tabHeight = 22;
					padding = 8;
				}else if( tabStyle == "2" ){
					tabHeight = 23;	
				}
				
				// MANUALLY ASSIGN STYLES DEFAULT THEME 1
				ul[0].style.backgroundImage = "url(/renderhandlers/nav/tabs" + tabStyle + "/tabs_bg.jpg)";
				ul[0].style.backgroundRepeat = "repeat-x";
				ul[0].style.height = tabHeight + "px";
				ul[0].style.fontSize = "10pt";
				ul[0].style.marginLeft = "5px"; // TO KEEP IT AWAY FROM THE LEFT-HAND NAV
				ul[0].style.marginBottom = "5px"; // WHITE SPACE BELOW ALL TABS, ABOVE CONTENT
				ul[0].style.lineHeight = "100%";
				
				for(d=0;d<links.length;d++){
					li = links[d].parentNode.parentNode;
					li.childNodes[0].style.display = "inline";
					li.childNodes[0].style.lineHeight = "150%";
					img = "left_norm_right_norm.jpg";
					imgInit = "";
					// ASSIGN LINK STYLES
					li.style.backgroundImage = "url(/renderhandlers/nav/tabs" + tabStyle + "/norm_bg.jpg)";
					li.style.backgroundRepeat = "repeat-x";	
					links[d].style.backgroundRepeat = "repeat-x";
					links[d].style.textDecoration = "none";
					links[d].style.paddingLeft = "5px";
					links[d].style.paddingRight = "5px";
					links[d].style.verticalAlign = "30%";
					href = getTheURL(links[d].href.toLowerCase());
					
					selected = false;
					
					if( d == 0 ){
						imgInit = "initNorm.jpg";
						if( href == currentURL ){
							imgInit = "initSel.jpg";
							selected = true;
						}
					}
					
					if( href == currentURL ){
						img = "left_sel_right_norm.jpg";
						li.style.backgroundImage = "url(/renderhandlers/nav/tabs" + tabStyle + "/sel_bg.jpg)";					
						selected = true;
					}else{
						if( links[d+1] ){
							if( getTheURL(links[d+1].href) == currentURL ){
								img = "left_norm_right_sel.jpg";	
							}
						}
					}
					
					if( d == links.length-1 ){
						if( href == currentURL ){
							img = "end_sel.jpg";
							selected = true;
						}else{
							img = "end_norm.jpg";	
						}
					}
					
					if( imgInit != "" ){
						img1 = document.createElement("img");
						img1.setAttribute("src","/renderhandlers/nav/tabs" + tabStyle + "/" + imgInit);
						img1.setAttribute("border","0");
						img1.setAttribute("height",tabHeight);
						li.insertBefore(img1,li.childNodes[0]);
					}
					
					img2 = document.createElement("img");
					img2.setAttribute("src","/renderhandlers/nav/tabs" + tabStyle + "/" + img);
					img2.setAttribute("border","0");
					img2.setAttribute("height",tabHeight);
					li.appendChild(img2);
					
					// ALWAYS SHOW ON TEMPLATE.CFM OR NAV.CFM
					if( (currentURL.indexOf("/template.cfm") != -1) || (currentURL.indexOf("/nav.cfm") != -1) ){
						selected = true;	
					}
					
					if( selected == true ){
						navUnits[i].style.display = "";
					}
					
					
				}
			}
		}
	}
}

// DISPLAY THE LOGIN ICON AND AUTH. SERVER BANNER AT THE TOP OF THE PAGE
function displayLogin(){

	if( currentURL.toLowerCase().indexOf("web-2.uwsuper.edu") != -1 ){
		ajax(document.getElementById("loginContainer"),"/customcf/shortcutToLogin.cfm","");
	}

}


// LIGHTBOX -------------------------------------------------------------------
// KEEP THIS SYNCED WITH THE CODE IN /customcf/jquery/lightbox/lightbox.js
var arLightbox = new Array();
var lbX = 0;
var lbZIndex = 9999;

function lightbox(url,h,w,units,style,id,active){
	this.url = url;
	this.h = h;
	this.w = w;
	this.units = units;
	this.style = style;
	this.id = id;	
	this.active = active;
}

function lightboxOpen(url,h,w,units,style){
	if( (parentExists()) && ( parent.location.toString().indexOf("commonspot/dashboard/") == -1) ){
			parent.lightboxOpen(url,h,w,units,style);
	}else{
		var strHTML = "";		
		arLightbox[lbX] = new lightbox(url,h,w,units,style,lbX,1);		
		lbZIndex = lbZIndex + 10;		
		// handle media
		if( url.indexOf("youtube.com") != -1 ){
			url = "";		
		}else if(url.indexOf("flickr.com") != -1){
			url = "";
		}else if(url.indexOf(".flv") != -1){
			url = "";
		}
		strHTML = '<div id="lightboxClose' + lbX + '" class="lightboxClose" style="z-index:' + (lbZIndex+3) + ';"><a href="javascript:lightboxClose(\'' + lbX + '\');"><img src="/customcf/jquery/lightbox/close.png" border="0" alt="Close Lightbox"></a></div>';
		strHTML+= '<div id="lightbox' + lbX + '" style="z-index:' + (lbZIndex+2) + ';"><iframe src="' + url + '" frameborder="0" height="100%" width="100%" id="iframe' + lbX + '"></iframe></div>';
		strHTML+= '<div class="lightboxBg" id="lightboxBg' + lbX + '" style="z-index:' + (lbZIndex+1) + ';"></div>';		
		$('<div class="lightboxWrapper" id="lb' + lbX + '" style="z-index:' + lbZIndex + ';"></div>').appendTo('body');	
		$("#lb" + lbX).html(strHTML);	
		$("#lightbox" + lbX).attr("class","lightbox " + style);		
		lightboxSize();		
		lbX++;
	}
}

function parentExists(){
	return (parent.location == window.location)? false : true;
}

function resizeMedia(index,h,w){
	var arURL = new Array();
	var strURL = arLightbox[index].url;
	var strTranscript = "";
	var strCC = "";
	var strKey = "";
	
	// handle youtube video
	if( strURL.indexOf("youtube.com") != -1 ){
		arURL = strURL.split(",");
		strKey = arURL[0].substring((arURL[0].length-11),arURL[0].length);
		if( arURL.length >= 2 ){
			strTranscript = arURL[1];	
		}
		strURL = "/renderhandlers/youtube/fLightboxViewer.cfm?key=" + strKey + "&h=" + h + "&w=" + w + "&transcript=" + strTranscript;	
	
	// handle the flickr slideshow
	}else if(strURL.indexOf("www.flickr.com") != -1){
		strURL = "/renderhandlers/flickr/fLightboxViewer.cfm?key=" + strURL + "&h=" + h + "&w=" + w;	
	
	// handle a flv video
	}else if(strURL.indexOf(".flv") != -1){
		arURL = strURL.split(",");
		if( arURL.length >= 2 ){
			strTranscript = arURL[1];	
		}
		if( arURL.length >= 3 ){
			strCC = arURL[2];	
		}
		strURL = "/renderhandlers/flashVideo/rh/fLightboxViewer.cfm?key=" + arURL[0] + "&h=" + h + "&w=" + w + "&transcript=" + strTranscript + "&cc=" + strCC;	
	}
	
	$("#iframe" + index).attr("src",strURL);
}

function lightboxSize(){
	for(i=0;i<arLightbox.length;i++){
		if( arLightbox[i].active == 1 ){
			var lightbox = $("#lightbox" + arLightbox[i].id);
			var lightboxClose = $("#lightboxClose" + arLightbox[i].id);
			var w = arLightbox[i].w;
			var h = arLightbox[i].h;
			var top = 0;
			var left = 0;
			var closeBtnWidth = 38;
			
			if( arLightbox[i].units == "%" ){
				w = parseInt($(window).width() * (w/100));
				h = parseInt($(window).height() * (h/100));
				resizeMedia(i,h,w);
			}		
			
			lightbox.css("height",h + "px");
			lightbox.css("width",w + "px");
			
			lightbox.css("top",top);
			lightbox.css("left",left);
			
			
			top = parseInt($(window).height()/2 - lightbox.outerHeight(true)/2);
			left = parseInt($(window).width()/2 - lightbox.outerWidth(true)/2);				
			
			lightbox.css("top",top);
			lightbox.css("left",left);
			
			lightboxClose.css("top",parseInt(top + 6 - (closeBtnWidth/2)));
			lightboxClose.css("left",parseInt((left - 6 + lightbox.outerWidth(true) - (closeBtnWidth/2))));
		}
	}
}

function lightboxClose(id){
	$("#lb" + id).html("");
	for(i=0;i<arLightbox.length;i++){
		if( id == arLightbox[i].id ){
			arLightbox[i].active = 0;	
		}
	}
}

function closeAllLightboxes(){
	for(i=0;i<arLightbox.length;i++){
		arLightbox[i].active = 0;
		$("#lb" + i).html("");	
	}
}


// ONLOAD
$(function(){
    // resize lightboxes
	$(window).resize(function(){
        lightboxSize();
    });
	
	// unmask spam-proof email addresses
	
	// v1
	$('a[href*="[atuws]"]').each(function(index, element) {
		href = $(this).attr("href").replace(/\[atuws\]/g,"@");
		$(this).attr("href",href);
		text = $(this).text().replace(/\[atuws\]/g,"@");
		$(this).text(text)
    });
	
	$('a:contains("[atuws]")').each(function(index, element) {
		text = $(this).text().replace(/\[atuws\]/g,"@");
		$(this).text(text)
    });
	
	// v2
	$('a[href*="{atuws}"]').each(function(index, element) {
		href = $(this).attr("href").replace(/{atuws}/g,"@");
		$(this).attr("href",href + "uwsuper.edu");
		text = $(this).text().replace(/{atuws}/g,"@");
		$(this).text(text + "uwsuper.edu")
    });
	
	$('a:contains("{atuws}")').each(function(index, element) {
		text = $(this).text().replace(/{atuws}/g,"@");
		$(this).text(text + "uwsuper.edu")
    });
	
	
	
	// THESE CAN BE CALLED W/O WAITING
	displayLogin();
	document.getElementById("mainSearch").value = "University Site Search";
	displayTranslateMsg();
	buildToolsMenu();
	if( typeof(numImages) != "undefined" ){
		initRotate();
	}
	loadNU();
	displayTabbedNav();	
	
	
		
	// WAIT TO DO CHECKLINKS()
	var checkLinksT = setTimeout("checkLinks()",300);
});



function fixEmailAddresses(){
	
}
// -------------------------------------------------------------------





/*----- CALL THESE FUNCTIONS INITALLY ----------*/



