// 6/04/08 Removed e,wright per J. Louer email
// 9/11/08 Added heh,net per A. Osmond ok

function getElementsByClassName(className, tag, elm) {
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}	
	}
	return returnElements;
}

function getHTMLToProxy() {

	var tr = document.getElementsByTagName('TR');		// we have to iterate through every TR b/c we can't get to the Intenet Links otherwise
	
	var HTML = '';
	var URLBegin = '';
	var HTMLURL = '';
	var HTMLLabel = '';

	var endofOpen = '';
	var endofMiddle = '';
	var endofString= '';
	
	// If it is the first url in Internet Links:
		
	for(i = 0; i < tr.length; i++) {					// for every TR in the document

		var x=tr[i].getElementsByTagName('TH');			// get the TH
		var y=tr[i].getElementsByTagName('TD');			// get the TD

		if (x.length == 1 && x[0].innerHTML == 'Internet Links:') {	// if the row has 2 columns and the first one has the text of Internet Links:

	 		HTML = y[0].innerHTML;							
	 		
			if (navigator.appVersion.match(/\bMSIE\b/)) {

				//alert ("IE");
					
				URLBegin = HTML.substring(9,34);
				//alert(URLBegin);
		
				if (URLBegin != 'http://sfx.wisconsin.edu/') {
			
					endOfOpen = HTML.indexOf('http');
					endOfMiddle = HTML.indexOf('>');
					endOfString = HTML.indexOf('</A>');
					//alert ("endofOpen: " + endOfOpen);
					//alert ("endofMiddle: " + endOfMiddle);
					//alert ("endOfString: " + endOfString);
			
					HTMLURL = "http://ezproxy.library.wisc.edu/login?url=" + HTML.substring(endofOpen+9,endOfMiddle-1);
					HTMLLabel = HTML.substring(endOfMiddle+1,endOfString);
					//alert ("HTML URL: " + HTMLURL);
					//alert ("HTML Label: " + HTMLLabel);
			
					HTML = '<a href="' + HTMLURL + '">' + HTMLLabel + '</a>';
					x[0].innerHTML = '<a href="/help/internetlinks.htm">Internet Links:</a>';
					y[0].innerHTML = HTML;
			
				}
					
			else {}
			
			}

			else {
				
				//alert ("Not IE");
					
				URLBegin = HTML.substring(10,35);
				//alert(URLBegin);
		
				if (URLBegin != 'http://sfx.wisconsin.edu/') {
			
					endOfOpen = HTML.indexOf('http');
					endOfMiddle = HTML.indexOf('>');
					endOfString = HTML.indexOf('</a>');
					//alert ("endofOpen: " + endOfOpen);
					//alert ("endofMiddle: " + endOfMiddle);
					//alert ("endOfString: " + endOfString);
			
					HTMLURL = "http://ezproxy.library.wisc.edu/login?url=" + HTML.substring(endofOpen+10,endOfMiddle-1);
					HTMLLabel = HTML.substring(endOfMiddle+1,endOfString);
					//alert ("HTML URL: " + HTMLURL);
					//alert ("HTML Label: " + HTMLLabel);
			
					HTML = '<a href="' + HTMLURL + '">' + HTMLLabel + '</a>';
					x[0].innerHTML = '<a href="/help/internetlinks.htm">Internet Links:</a>';
					y[0].innerHTML = HTML;
			
				}
			
				else {}

			}

		}
		
	}

	// What if it's not the first url in Internet Links:
	
	for(i = 0; i < tr.length; i++) {					// for every TR in the document

		var z=tr[i].getElementsByTagName('TD');			// get the TD

		if (z.length == 2 && z[0].innerHTML == '') {	// if the row has 2 columns and the first one is blank and the second one has an sfx url

	 		HTML = z[1].innerHTML;							
			
			//alert("test: " + HTML);
			
			if (navigator.appVersion.match(/\bMSIE\b/)) {
				
				//alert ("IE");
					
				URLBegin = HTML.substring(9,34);
				//alert(URLBegin);
		
				if (URLBegin != 'http://sfx.wisconsin.edu/') {
			
					endOfOpen = HTML.indexOf('http');
					endOfMiddle = HTML.indexOf('>');
					endOfString = HTML.indexOf('</A>');
					//alert ("endofOpen: " + endOfOpen);
					//alert ("endofMiddle: " + endOfMiddle);
					//alert ("endOfString: " + endOfString);
			
					HTMLURL = "http://ezproxy.library.wisc.edu/login?url=" + HTML.substring(endofOpen+9,endOfMiddle-1);
					HTMLLabel = HTML.substring(endOfMiddle+1,endOfString);
					//alert ("HTML URL: " + HTMLURL);
					//alert ("HTML Label: " + HTMLLabel);
			
					HTML = '<a href="' + HTMLURL + '">' + HTMLLabel + '</a>';
					y[0].innerHTML = HTML;

				}
					
				else {}
			
			}

			else {
			
				//alert ("Not IE");
					
				URLBegin = HTML.substring(9,34);
				//alert(URLBegin);
		
				if (URLBegin != 'http://sfx.wisconsin.edu/') {
			
					endOfOpen = HTML.indexOf('http');
					endOfMiddle = HTML.indexOf('>');
					endOfString = HTML.indexOf('</a>');
					//alert ("endofOpen: " + endOfOpen);
					//alert ("endofMiddle: " + endOfMiddle);
					//alert ("endOfString: " + endOfString);
			
					HTMLURL = "http://ezproxy.library.wisc.edu/login?url=" + HTML.substring(endofOpen+10,endOfMiddle-1);
					HTMLLabel = HTML.substring(endOfMiddle+1,endOfString);
					//alert ("HTML URL: " + HTMLURL);
					//alert ("HTML Label: " + HTMLLabel);
			
					HTML = '<a href="' + HTMLURL + '">' + HTMLLabel + '</a>';
					y[0].innerHTML = HTML;

				}
			
				else {}
			
			}

		}

	}
	
	return(HTML);

}


function hideOffCampusNoJavascriptMessage() {

	var tr = document.getElementsByTagName('TR');		// we have to iterate through every TR b/c we can't get to the Intenet Links otherwise
	
	var HTML = '';
	var URLBegin = '';
	var HTMLURL = '';
	var HTMLLabel = '';

	var endofOpen = '';
	var endofMiddle = '';
	var endofString= '';
	
	// If it is the first url in Internet Links:
		
	for(i = 0; i < tr.length; i++) {					// for every TR in the document

		var x=tr[i].getElementsByTagName('TH');			// get the TH
		var y=tr[i].getElementsByTagName('TD');			// get the TD

		if (x.length == 1 && x[0].innerHTML == '_________') {	// if the row has 2 columns and the first one has the text of Off Campus & Denied Access?

	 		//alert("test");
	 		x[0].innerHTML = '';
	 		y[0].innerHTML = '';
			
		}
		
	}

}

function addEZproxyString() {

	aTags = getElementsByClassName("location-code", "a", document);
	
	for(i = 0; i < aTags.length; i++) {	
		if (aTags[i].innerHTML =='cic,artfl' || aTags[i].innerHTML =='cic,net' || aTags[i].innerHTML =='e,18cfict' || aTags[i].innerHTML =='e,19cusnp' || aTags[i].innerHTML =='e,abiinfo' || aTags[i].innerHTML =='e,aclshist' || aTags[i].innerHTML =='e,acmconf' || aTags[i].innerHTML =='e,acmper' || aTags[i].innerHTML =='e,aipconf' || aTags[i].innerHTML =='e,althealt' || aTags[i].innerHTML =='e,amchemso' || aTags[i].innerHTML =='e,amwest' || aTags[i].innerHTML =='e,aristote' || aTags[i].innerHTML =='e,asceproc' || aTags[i].innerHTML =='e,atlas' || aTags[i].innerHTML =='e,biomedce' || aTags[i].innerHTML =='e,bioone' || aTags[i].innerHTML =='e,biwomlet' || aTags[i].innerHTML =='e,blkdrama' || aTags[i].innerHTML =='e,busnind' || aTags[i].innerHTML =='e,caliber' || aTags[i].innerHTML =='e,cambridg' || aTags[i].innerHTML =='e,ceeol' || aTags[i].innerHTML =='e,cmlib' || aTags[i].innerHTML =='e,defgen' || aTags[i].innerHTML =='e,dkbl' || aTags[i].innerHTML =='e,dlcpt' || aTags[i].innerHTML =='e,dlcr' || aTags[i].innerHTML =='e,dram' || aTags[i].innerHTML =='e,earlyenc' || aTags[i].innerHTML =='e,eastsocs' || aTags[i].innerHTML =='e,eaststat' || aTags[i].innerHTML =='e,eastview' || aTags[i].innerHTML =='e,ebscoaca' || aTags[i].innerHTML =='e,ebscobus' || aTags[i].innerHTML =='e,ebscocmm' || aTags[i].innerHTML =='e,ebscohea' || aTags[i].innerHTML =='e,ebscomas' || aTags[i].innerHTML =='e,ebscorbn' || aTags[i].innerHTML =='e,ecco' || aTags[i].innerHTML =='e,eebo' || aTags[i].innerHTML =='e,elwa' || aTags[i].innerHTML =='e,emerald' || aTags[i].innerHTML =='e,engnet' || aTags[i].innerHTML =='e,enviro' || aTags[i].innerHTML =='e,ethnic' || aTags[i].innerHTML =='e,extenza' || aTags[i].innerHTML =='e,gender' || aTags[i].innerHTML =='e,gerrit' || aTags[i].innerHTML =='e,gildage' || aTags[i].innerHTML =='e,haworth' || aTags[i].innerHTML =='e,hein' || aTags[i].innerHTML =='e,helrfctr' || aTags[i].innerHTML =='e,highwire' || aTags[i].innerHTML =='e,ieeeconf' || aTags[i].innerHTML =='e,ieeeper' || aTags[i].innerHTML =='e,ieeestd' || aTags[i].innerHTML =='e,iibp' || aTags[i].innerHTML =='e,iimp' || aTags[i].innerHTML =='e,ingenta' || aTags[i].innerHTML =='e,intbibtd' || aTags[i].innerHTML =='e,iop' || aTags[i].innerHTML =='e,jstor' || aTags[i].innerHTML =='e,kluwer' || aTags[i].innerHTML =='e,knovel' || aTags[i].innerHTML =='e,lexnex' || aTags[i].innerHTML =='e,lgbt' || aTags[i].innerHTML =='e,llmc' || aTags[i].innerHTML =='e,mathnet' || aTags[i].innerHTML =='e,mdconslt' || aTags[i].innerHTML =='e,metapres' || aTags[i].innerHTML =='e,mitcogne' || aTags[i].innerHTML =='e,mitprjo' || aTags[i].innerHTML =='e,moml' || aTags[i].innerHTML =='e,muse' || aTags[i].innerHTML =='e,naimlet' || aTags[i].innerHTML =='e,nawomlet' || aTags[i].innerHTML =='e,netlib' || aTags[i].innerHTML =='e,ovid' || aTags[i].innerHTML =='e,oxford' || aTags[i].innerHTML =='e,oxfordrf' || aTags[i].innerHTML =='e,pastmast' || aTags[i].innerHTML =='e,proqnews' || aTags[i].innerHTML =='e,proqnurs' || aTags[i].innerHTML =='e,psycart' || aTags[i].innerHTML =='e,rsc' || aTags[i].innerHTML =='e,safari' || aTags[i].innerHTML =='e,sage' || aTags[i].innerHTML =='e,scidirec' || aTags[i].innerHTML =='e,scitatio' || aTags[i].innerHTML =='e,scottwom'  || aTags[i].innerHTML =='e,sdwebed' || aTags[i].innerHTML =='e,sixties'|| aTags[i].innerHTML =='e,springer' || aTags[i].innerHTML =='e,sprlncs' || aTags[i].innerHTML =='e,srceoecd' || aTags[i].innerHTML =='e,statsnet' || aTags[i].innerHTML =='e,synergy' || aTags[i].innerHTML =='e,synthesi' || aTags[i].innerHTML =='e,wilbioag' || aTags[i].innerHTML =='e,wilbusn' || aTags[i].innerHTML =='e,wileduc' || aTags[i].innerHTML =='e,wiley' || aTags[i].innerHTML =='e,wilgensc' || aTags[i].innerHTML =='e,wilhuman' || aTags[i].innerHTML =='e,willibra' || aTags[i].innerHTML =='e,wilread' || aTags[i].innerHTML =='e,wilsosc' || aTags[i].innerHTML =='e,witch' || aTags[i].innerHTML =='e,womeniss' || aTags[i].innerHTML =='e,womsocmv' || 	aTags[i].innerHTML =='e,xrefer' || aTags[i].innerHTML =='heh,net' || aTags[i].innerHTML =='m,net' || aTags[i].innerHTML =='m,net2' || aTags[i].innerHTML =='stee,net' || aTags[i].innerHTML =='wendt,net' || aTags[i].innerHTML =='wendt,refn') {
			HTMLstring = getHTMLToProxy();
		}
		else {
		}
	}
	
	HTMLstring2 = hideOffCampusNoJavascriptMessage();

}