function switchLang () {
	engDelimiter = 'english';
	freDelimiter = 'french';
	newURL = switchLangSearch(engDelimiter, freDelimiter);
	if (newURL != 'null') {
		self.location = newURL;
		return;
	}
	engDelimiter = "lang=en";
	freDelimeter = "lang=fr";
	newURL = switchLangSearch(engDelimiter, freDelimeter);
	if (newURL != 'null') {
		self.location = newURL;
		return;
	}
	engDelimiter = "_code=en";
	freDelimeter = "_code=fr";
	newURL = switchLangSearch(engDelimiter, freDelimeter);
	if (newURL != 'null') {
		self.location = newURL;
		return;
	}
}



function switchLangSearch (engDelim, freDelim) {
	docURL = document.URL;
	newURL = 'null';
	engPosition = 0;
	frePosition = 0;
	charStart = 0;
	charEnd = docURL.length + 1;
	engDelimiter = engDelim;
	freDelimiter = freDelim;
	do {
		var test = docURL.substr(charStart, engDelimiter.length);
		if (test == engDelimiter) { engPosition = charStart;}
		charStart++;
	}
	while (charStart < charEnd - engDelimiter.length);
	if (engPosition > 0) {
		// english detected - switch to french
		newURL = docURL.substr(0,engPosition) + freDelimiter + docURL.substr((engPosition + engDelimiter.length),docURL.length);
		// set cookie (kn Oct 2004)
		deleteCookie("weblanguage", "/");
		setCookie("weblanguage","fr", "", "/");
	} else {
		charStart = 0;
		do {
			var test = docURL.substr(charStart, freDelimiter.length)
			if (test == freDelimiter) { frePosition = charStart;}
			charStart++;
		}
		while (charStart < charEnd - freDelimiter.length);
		if (frePosition > 0) {
			// french detected - switch to english
			newURL = docURL.substr(0,frePosition) + engDelimiter + docURL.substr((frePosition + freDelimiter.length),docURL.length);
			// set cookie (kn Oct 2004)
			deleteCookie("weblanguage", "/");
			setCookie("weblanguage","en", "", "/");
		}
	}
	return newURL;
}

//*** Universal Reference ***//
function getRef(id) {
		return (document.getElementById ? document.getElementById(id) : document.all[id]);
}


//*** COOOKIE STUFF *****//

// Write a cookie value
function setCookie(name, value, expires, path, domain, secure) {
	var curCookie = name + '=' + escape(value) + ((expires) ? '; expires=' + expires.toGMTString() : '') + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + ((secure) ? '; secure' : '');
	document.cookie = curCookie;
}

// Retrieve a named cookie value
function getCookie(name) {
	var dc = document.cookie;

	// find beginning of cookie value in document.cookie
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}
	else begin += 2;

	// find end of cookie value
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) end = dc.length;

	// return cookie value
	return unescape(dc.substring(begin + prefix.length, end));
}

// Delete a named cookie value
function deleteCookie(name, path, domain) {
	var value = getCookie(name);
	if (value != null) document.cookie = name + '=' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-70 00:00:01 GMT';
	return value;
}

// Test for cookie support
function supportsCookies(rootPath) {
   setCookie('checking_for_cookie_support', 'testing123', '', (rootPath != null ? rootPath : ''));
   if (getCookie('checking_for_cookie_support')) return true;
   else return false;
}
//*** end COOOKIE STUFF *****//


// Pop-up

	var ie5 = (document.all && document.getElementbyID) ? false : true;
	var isMac = (navigator.appVersion.indexOf("Mac") == -1) ? false : true;
	var win, win2;

	function openWin(url, popWidth, popHeight, popScroll, popStatus, popWin) {
		var winName =  "popup";
		// popWin is a new optional parameter; for backwards compatibility popStatus MUST be
		// specified if popWin is to be used - ppoles 12/24/02
		if (popWin != null)
		{
			winName = popWin;
		}
		// popStatus is a new parameter; it is optional so that old calls will not cause an error
		var statusBar = popScroll;

		if (popStatus != null) {
			statusBar  = popStatus;
			// 'fix' for Mac IE's problem when including a status bar in the pop up window
			// - the browser chops off the bottom 18 pixels of the window to accomodate for the
			//   the status bar, and so we add 18 pixels to the height
			if (!ie5 && !ns && isMac) { popHeight += 18; }
		}

//	    if(win) {
//			if(!win.closed) {
//				if(win.name == "popup") winName = "popup2";
//			  	win.close();
//			}
//			win = null;
//		}

		win=window.open(url, winName, 'width=' + popWidth + ',height=' + popHeight + ',screenX=25,screenY=150,left=25,top=150,scrollbars=' + popScroll + ',resize=no,status=' + statusBar + '');

		if (win.opener == null) win.opener = self;
		win.focus();
	}

// end of pop-up

// function for email page icon, uses escape method to trap multiple instances of ?
function pageTAF() {
	var url = escape(document.location.href);
	document.location = "/servlet/pageTAF?page=" + url;
    }



function ParseQueryString(searchStr) {
	var tempStr = window.location.search;
    var startOfString = tempStr.indexOf(searchStr);
    var result = "";
    if (startOfString != -1) {
    	var endOfString = tempStr.indexOf("&",startOfString+searchStr.length+1);
       	if (endOfString != -1) {
           	result = tempStr.substring(startOfString+searchStr.length+1, endOfString);
    	}
    	else {
    		result = tempStr.substring(startOfString+searchStr.length+1, tempStr.length);
    	}
    }
	return result;
}


// generic show/hide methods (from 2004)
var prefix, suffix, layerName, xPos; 			// globals for bookmark layer methods, timer
var bm_showing = false;
var bm_count = 0;

if (document.getElementById) {					// constructor for DOM
	prefix = "document.getElementById('";
	suffix = "').style";
} else if (document.layers) {
	prefix = 'document.layers[\"';
	suffix = '\"]';
	left = '.left';
} else {
	prefix = 'document.all[\"';
	suffix = '\"].style';
	left = '.pixelLeft';
}

function gen_show (myLayer) {
	eval(prefix + myLayer + suffix + '.visibility = "visible"');
}

function gen_hide (myLayer) {
	eval(prefix + myLayer + suffix + '.visibility = "hidden"');
}
