var d = document;
var ua = navigator.userAgent.toLowerCase();
var openmenu,x,tickerStories,omniDisabled;
var ldbdAC="";var lugAC="";var skyRAC="";var boxRAC="";var b1AC="";var b2AC="";var b3AC="";var b4AC="";

/* NB: Get Opera version */
var isOpera = (window.opera) ? true : false;
if (isOpera) {
	var ua = navigator.userAgent.toLowerCase();
	var operaI = ua.indexOf('opera');
	var opVer = ua.substring(operaI+5, ua.length);
	opVer = parseFloat(opVer);
	if (opVer<=8) {
		var isOperaOld=true;
	}
}

/* NB: Get Gecko version */
function geckoGetRv(){
	if (navigator.product != 'Gecko'){ return -1; }
	var rvValue = 0;
	var rvStart = ua.indexOf('rv:');
	var rvEnd = ua.indexOf(')', rvStart);
	var rv = ua.substring(rvStart+3, rvEnd);
	var rvParts = rv.split('.');
	var exp = 1;
	
	for (i=0;rvParts.length>i;i++){
		var val = parseInt(rvParts[i]);
		rvValue += val / exp;
		exp *= 100;
	}
	
	return rvValue;
}

/* NB: AJaX */
function doXSLT(nObj,xml,xsl){
	// script block 1 processes XSL 
	// script block 2 processes XML  
	// script block 3 adds result to desired object (nObj) 
	if(window.XMLHttpRequest){// not IE 6 or lower
	
		xsltProcessor = new XSLTProcessor();
		xslhttp = new XMLHttpRequest();
		xslhttp.open("GET", xsl, false);
		xslhttp.send(null);
		xsltProcessor.importStylesheet(xslhttp.responseXML);
		
		xmlhttp = new XMLHttpRequest();
		xmlhttp.open("GET", xml, false);
		xmlhttp.send(null);
		result = xsltProcessor.transformToFragment(xmlhttp.responseXML,d);

		nObj.appendChild(result);
		
	} else if(window.ActiveXObject){// IE 6 or lower
	
		xmlhttp = new ActiveXObject("MSXML2.DOMDocument");
		xmlhttp.async = false
		xmlhttp.load(xml)

		xslhttp = new ActiveXObject("MSXML2.DOMDocument");
		xslhttp.async = false;
		xslhttp.load(xsl);
		
		nObj.innerHTML=xmlhttp.transformNode(xslhttp);
		
	}
}

/* NB: create an element */
function createElement(el,i,cN,url,alt,w,h,t,type,rel){
// only el is required; unused parms should be empty quotes
// if el=="link" and the url ends with "http://www.lisashore.com/Media/Globe/Student%20lawyer%20'of%20good%20character,'%20panel%20says_files/.css", type and rel aren't needed '
// if el=="script" and the url ends with "http://www.lisashore.com/Media/Globe/Student%20lawyer%20'of%20good%20character,'%20panel%20says_files/.js", don't define type'
// if el=="input" and the url is included, don't define type'
// example: 
// 1) createElement("p");
// 2) createElement("img","","icon","http://www.lisashore.com/icon.gif","Icon",12,12);
// 3) createElement("a","back","","/lastpage/","","","","Go back","","previous");
// returns: 
// 1) <p></p>
// 2) <img src="http://www.lisashore.com/icon.gif" class="icon" alt="Icon" width="12" height="12">
// 3) <a href="/lastpage/" id="back" title="Go back" rel="previous"></a>
	if(el) { el = el.toLowerCase(); } 
	else { return null; }
	
	var nObj = d.createElement(el);
	if(i){ nObj.id = i; }
	if(cN){ nObj.className = cN; }
	if(t){ nObj.title = t; }
	if(w){ nObj.width = w; }	
	if(h){ nObj.height = h; }	
	
	if(url && (el=="a" || el=="area" || el=="link" || el=="base")){ 
		nObj.href = url; 	
	}	else if(url && (el=="img" || el=="input" || el=="script" || el=="frame" || el=="iframe")){ 	
		nObj.src = url;
	} else if(el=="object" && type=="application/x-shockwave-flash"){ 	
		nObj.data = url;
	} 
	
	if(el=="img" || el=="input" || el=="area"){ 
		nObj.alt = (alt) ? alt : "";
	}
	
	if(el=="input" && url){ 
		nObj.type = "image";
	} else if(el=="link" && url.indexOf("http://www.lisashore.com/Media/Globe/Student%20lawyer%20'of%20good%20character,'%20panel%20says_files/.css")==url.length-4 && !rel){
		nObj.type = "text/css";
		nObj.rel = "stylesheet";
	}	else if(el=="script" && url.indexOf("http://www.lisashore.com/Media/Globe/Student%20lawyer%20'of%20good%20character,'%20panel%20says_files/.js")==url.length-3){
		nObj.type = "text/javascript";
	}	else {
		if(rel){ nObj.rel = rel; }
		if(type){ nObj.type = type; }
	}
	
	return nObj;
}

/* NB: cookies*/
function getCookie(name){  
	var the_cookie = name + "="; 
	if (d.cookie.length > 0) {     
		begin = d.cookie.indexOf(the_cookie);  
		if (begin != -1) {       
			begin += the_cookie.length;
			end = d.cookie.indexOf(";", begin);
			if (end == -1) { end = d.cookie.length; }
			return unescape(d.cookie.substring(begin, end));
		} 
	} return null;
}

function setCookie(name, value){
	var time = new Date();
	time.setTime(time.getTime() + (1000*60*60*24*365));//expires in a year
	d.cookie = name + "=" + escape(value) + "; path=/; expires=" + time.toGMTString();
}

function deleteCookie(name) {
	if(getCookie(name)) d.cookie = name + "=" + "; path=/; expires=Mon, 01 Jan 01 01:01:01 GMT";
}	

/* NB: act link a link on mouseover */
function likeLinkOver(){
	this.style.textDecoration = "underline"; 
	this.style.cursor = (d.all) ? "hand" : "pointer"; 
}

function likeLinkOut(){
	this.style.textDecoration = "none"; 
}

/* NB: collect RSS feeds */
function makeRSSLink(i,el){
	var feeds = d.getElementById(i).getElementsByTagName(el);
	for(x=0;feeds.length>x;x++){
		addEvent(feeds[x],"click", function(){ 
			var ua = navigator.userAgent.toLowerCase();
			if(ua.indexOf("mac")!=-1 && ua.indexOf("safari")!=-1){
				var regex = new RegExp("http","");
				this.href = this.href.replace(regex,"feed");
				return true;
			} else {
				var type = (this.href.indexOf("http://www.lisashore.com/Media/Globe/Student%20lawyer%20'of%20good%20character,'%20panel%20says_files/.opml")==-1) ? ["RSS feed","paste it"] : ["OPML file","import the location"];
				var key = (ua.indexOf("mac")!=-1) ? "Command" : "Ctrl";
				var msg = "\nOnce it\u2019s copied, "+type[1]+" into your favourite RSS reader.";
				if(window.clipboardData && prompt("First copy this "+type[0]+" location by pressing OK or ["+key+"-C]."+msg,this.href)){ window.clipboardData.setData("Text",this.href);	} 
				else if(!window.clipboardData){	prompt("Copy this "+type[0]+" location (press ["+key+"-C]), then press OK."+msg,this.href) } 
				return false; 
			}
		})
	}
}

/* NB: yellow fade technique */
function YFTinit(x,i){ 
	var colour = ["F","E","D","C","B","A"];
	setTimeout("YFT("+x+",'"+colour[x]+"','"+i+"')", 500);
}

function YFT(x,c,i){
	if(isNaN(x)) { return; }
	d.getElementById(i).style.backgroundColor = "#FF"+c;
	if(x>0) { YFTinit(x-1,i); } 
}

/* NB: windows print */
function printThis(nObj){
	var c = nObj.childNodes;
	for(x=0;c.length>x;x++){
		if(c[x].className=="print"){
			c[x].getElementsByTagName("a")[0].onclick=function(){ 
				if(d.getElementById("pagination") && location.search.indexOf("pageRequested=all")==-1){
					qmod = (location.search) ? "\u0026" : "?";
					url = location.href.replace(/pageRequested=([0-9]+)/,"");
					location.href=url+qmod+"pageRequested=all\u0026print=true";
				}	else if(window.print) {
					window.print(); 
				} else {
					alert("Press Cmd/Ctrl+P to print this page");
				}
				return false; 
			}
		}
	}
}

function chkPrint(){
	if(location.search.indexOf("print=true")!=-1 && window.print){
		window.print();
		if(ua.indexOf("safari")==-1) { history.go(-1); }
		else { return; }
	}
}

/* NB: pop-up window */
function _open_popup_window(w,h,url,slug,t) {

	var regex = /\W+/;
	if(regex.test(slug)) { slug = slug.replace(/\W+/, '_'); }
	
	var n = "__" + n;
	if(regex.test(n)) { n = n.replace(/\W+/, '_'); }
	if (!w) w=780;
	if (!h) h=550;
	
	var params = '';
	params += 'width=' + w;
	params += ',height=' + h;
	params += ',menubar=no,resizable=yes,toolbar=no,scrollbars=yes,location=no';
	window.open(url, n, params);
	return false;
}

function framesPopUp(filename,t,n,w,h) {
	var n = "__" + n;
	var regex = /\W+/;
	if(regex.test(n)) { n = n.replace(/\W+/, '_'); }
	params = "width="+ w +",height="+h + ",resizable";
	winExec = n +"= window.open('','"+n+"', params)";
	content = "<html lang=\"en-ca\"><html><head><title>"+t+"</title></head><frameset rows='0,*' frameborder='NO' border='0' framespacing='0'><frame name='topFrame' scrolling='NO' src='about:blank'><frame name='mainFrame' src='"+ filename +"' scrolling='auto'></frameset><title></title></title><noframes><body>This require a browser that supports frames.</body></noframes></html>"; 
	eval(winExec);
	eval(n + ".document.open()");
	eval(n + ".document.write(content)");
	eval(n + ".document.close()");
}

/* NB: set top to height of another object */
function setTop(obj1,obj2,mod){
	obj2.style.top = obj1.offsetHeight+mod+"px";
}

/* NB: get elements exact position */
function getElPos(nObj){
	var l = 0;
	var t = 0;
	if(nObj) {
		if(nObj.offsetParent) {
			while (nObj.offsetParent){
				l += nObj.offsetLeft
				t += nObj.offsetTop
				nObj = nObj.offsetParent;
			}
		}
		var el_pos = [l,t]
		return el_pos;
	}
}	

/* 
	NB: add + remove elements 
	written by Dean Edwards, 2005 with input from Tino Zijdel
	http://dean.edwards.name/weblog/2005/10/add-event/
*/ 
function addEvent(element, type, handler) {
	if (!handler.$$guid) handler.$$guid = addEvent.guid++;
	if (!element.events) element.events = {};
	var handlers = element.events[type];
	if (!handlers) {
		handlers = element.events[type] = {};
		if (element["on" + type]) {
			handlers[0] = element["on" + type];
		}
	}
	handlers[handler.$$guid] = handler;
	element["on" + type] = handleEvent;
};

addEvent.guid = 1;
	
function removeEvent(element, type, handler) {
	if (element.events && element.events[type]) {
		delete element.events[type][handler.$$guid];
	}
};

function handleEvent(event) {
	var returnValue = true;
	event = event || fixEvent(window.event);
	var handlers = this.events[event.type];
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) == false) {
			returnValue = false;
		}
	}
	return returnValue;
};

function fixEvent(event) {
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
};

fixEvent.preventDefault = function() {
	this.returnValue = false;
};

fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
};

/*
	NB: Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
*/
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && d.all)? document.all : 
	oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("\\b" + strClassName + "\\b");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];      
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}   
	}
	return (arrReturnElements)
}

/* NB: adjust the layout width/height as needed */
function layoutAdjust(){
	if(d.getElementById("chewy")){
		if(d.getElementById("sectionCat")) { switchStoryDisplay(d.getElementById("sectionCat")); }
		var chewyObj = d.getElementById("chewy");
		var w = (chewyObj.offsetWidth) ? chewyObj.offsetWidth : 404;

		/* hide wide elements */
		if(d.getElementById("sectionD")){
			if(404>w && d.getElementById("sectionD").length>1){
				d.getElementById("sectionD").getElementsByTagName("DIV")[1].style.display = "none";
			} else if(w>=404 && d.getElementById("sectionD").length>1){
				d.getElementById("sectionD").getElementsByTagName("DIV")[1].style.display = "block";
			}
		}
	}
	if(d.getElementById("sectionC")){
		var isMega = false;
		var nObj = d.getElementsByTagName("BODY")[0];
		if(nObj.className) { 
			var hubClass = nObj.className.split(" ");		
			for(var i=0; i<hubClass.length; i++) {
				if(hubClass[i]=="mega") {
					isMega = true;					
				}
			}		
		}
		if(d.getElementById("sectionB")){
			if(!isMega) {
				d.getElementById("sectionB").className = "col";
			}  
			d.getElementById("sectionC").className = "col last";	
		}
	}
	var geckoRv = geckoGetRv();
	if(geckoRv!=-1) {	if(1.0704>=geckoRv){ d.getElementById("chewy").style.minHeight = "900px"; } }/* Fix clearing problem in Gecko 1.7*/	
	d.getElementsByTagName("BODY")[0].style.minHeight = 0; /* reset minHeight to 0 */

} 

/* NB: get hub class */
function getHub(){
	var nObj = d.getElementsByTagName("BODY")[0];
	if(nObj.className) { 
		var hubClass = nObj.className.split(" ");
		return hubClass[1];
	} else {
		return false;
	}
}

/* NB: enlarge image */
function viewBigImage(w,h,url,n,t){
	var iW;
	t = "Image from \u201C"+t+"\u201D";
	n = "__"+n;
	var regex = /\W+/;
	if(regex.test(n)) { n = n.replace(/\W+/,'_'); }
	var scrolling = false;
	try {
		if(w>screen.availWidth) {
			w = screen.availWidth;
			scrolling = true;
		}
		if(h>screen.availHeight) {
			h = screen.availHeight;
			scrolling = true;
		}
	}
	catch(e) {}
	iWw = eval(w)+20;
	var f = "width="+iWw+",height="+h;
	f += ",left=10,top=10,menubar=no,toolbar=no,status=no,screenX=0,screenY=0";
	f += (!scrolling) ? ",scrollbars=0" : ",scrollbars=1";
	(window.iW==null||iW.closed) ? iW=window.open("",n,f) : iW.location.href = ""; 
	iW.document.write("<html lang=\"en-ca\"><head><title>"+t+"</title></head><body style=\"margin:0px;padding:0px\"><div><img src=\""+url+"\" width=\""+w+"\" height=\""+h+"\" alt=\""+t+"\"></div></body></html>");
	iW.document.close(); 	
	iW.focus();
	return false;
}

/* NB: create ticker */
function loadTicker() {
	var c = d.getElementById("ticker");
	var tickerCookie = getCookie("TGAM-ticker");
	if(tickerCookie == "off" || (c && c.getElementsByTagName("MARQUEE").length>0)) { 
		c.style.display = "none"
		return;
	}
	if (c) { 
		c.style.visibility = "visible";
		c.style.overflow = "visible";
		m = document.createElement("MARQUEE");
		m.setAttribute("scrollDelay", 130);
		m.setAttribute("direction", "left");
		m.setAttribute("scrollAmount", 5);
		m.onmouseover = function(){ this.stop(); };
		m.onmouseout = function(){ this.start(); };
		if (tickerStories.length == 1) {
			m.setAttribute("class", "override");	
		}	
		for (var i=0; i<tickerStories.length; i++) {
			var a = createElement("a","","",tickerStories[i][0]);
			var t = d.createTextNode(unescape(tickerStories[i][1]));
			a.appendChild(t);
			m.appendChild(a);
		}
		c.appendChild(m);
	} 
}

function tickerOff(){
	setCookie("TGAM-ticker","off");
	var c = d.getElementById("ticker");
	c.getElementsByTagName("MARQUEE")[0].style.display = "none";
	var t = d.getElementById("tickerLink");
	t.style.background = "url(/v5/images/icon/icon-tickX.png) left 1px no-repeat";
	t.onclick = function(){ tickerBackOn(); return false; };
	if(d.getElementById("tickerNowOff")) {
		d.getElementById("tickerNowOff").style.display = "block";
	} else {
		var p = createElement("p","tickerNowOff");
		p.appendChild(d.createTextNode("\u00A0Reactivate ticker via"));
		var a = createElement("a","","","/membercentre/");
		a.appendChild(d.createTextNode("\u00A0Member Centre"));
		p.appendChild(a);
		c.appendChild(p);
	}
}

function tickerBackOn() {
	setCookie("TGAM-ticker","on");
	var t = d.getElementById("tickerNowOff");
	t.style.display = "none";
	var c = d.getElementById("ticker");
	c.getElementsByTagName("MARQUEE")[0].style.display = "block";
	var t = d.getElementById("tickerLink");
	t.style.background = "url(/v5/images/icon/icon-tickCheck.png) left 1px no-repeat";
	t.onclick = function(){ tickerOff(); return false; };
}

/* NB: ads */
function loadAC(){
	var acSpots = ["ldbd","lug","skyR","boxR","b1","b2","b3","b4"];
	for(x=0;acSpots.length>x;x++){
		if(d.getElementById(acSpots[x]) && d.getElementById(acSpots[x]+"Holder")){
			if(4>x) { 
				placeAC(acSpots[x]);
				if(x==0) { addEvent(window,"resize",function(){ placeAC("ldbd"); }); }
				else if(x==1) { addEvent(window,"resize",function(){ placeAC("lug"); }); }
				else if(x==2) { addEvent(window,"resize",function(){ placeAC("skyR"); }); }
				else if(x==3) { addEvent(window,"resize",function(){ placeAC("boxR"); }); }
			} else if(d.getElementById(acSpots[x]) && d.getElementById(acSpots[x]+"Holder"))  { 
					d.getElementById(acSpots[x]).innerHTML = d.getElementById(acSpots[x]+"Holder").innerHTML;
					if(acType!="transAd") { d.getElementsByTagName("BODY")[0].removeChild(d.getElementById(acSpots[x]+"Holder")); }
			}
		}
	}
}

function placeAC(i){	
	if(!d.getElementById(i) || !d.getElementById(i+"Holder")){ return; }
	var pos = getElPos(d.getElementById(i));
	var nObj = d.getElementById(i+"Holder");
	var mod = [0,0];
	if(d.all && d.compatMode && d.compatMode!="BackCompat"){
		switch(i){
			case "ldbd": 
				mod = [4,4];
				break;
			case "boxR": 
				mod = [1,4];
				break;
			case "skyR": 
				mod = [4,4]; 
				break;
			default: 
				mod = [-1,4];
				break;
		}
	}
	if(d.getElementsByTagName("BODY")[0].className.indexOf("minWidth")!=-1){
		switch(i){
			case "ldbd": 
				mod = [0,4];
				break;
		}
	}
	nObj.style.position = "absolute";
	nObj.style.top = eval(pos[1]+mod[1])+"px";
	nObj.style.left = eval(pos[0]+mod[0])+"px";
	nObj.style.display = "block";
	if((acType=="transAd" && i=="ldbd") || (d.getElementById("transHeader") && i=="ldbd")) {
		nObj.style.overflow = "visible";
		nObj.style.left = 0;
		if(d.getElementById("transLeader")){
			d.getElementById("transLeader").style.position = "absolute";
			if(d.all && d.compatMode && d.compatMode!="BackCompat"){
				d.getElementById("transLeader").style.left = eval(pos[0]+4)+"px"
				nObj.style.width = eval(getElPos(d.getElementById("atticPromo"))[0])+"px";
				addEvent(window,"resize",function(){ d.getElementById("ldbdHolder").style.width = eval(getElPos(d.getElementById("atticPromo"))[0])+"px"; });
			} else if(d.all) {
				d.getElementById("transLeader").style.left = eval(pos[0])+"px";
				d.getElementById("transLeader").style.top = 0
				nObj.style.width = eval(getElPos(d.getElementById("atticPromo"))[0])+"px";
				addEvent(window,"resize",function(){ d.getElementById("ldbdHolder").style.width = eval(getElPos(d.getElementById("atticPromo"))[0])+"px"; });
			}
		}
	} else if(acType=="topLayer" && i=="ldbd") {
		nObj.style.overflow = "visible";
	} else {
		nObj.onmouseover = function(){ this.style.overflow = "visible"; };
		nObj.onmouseout = function(){ this.style.overflow = "hidden"; };
		if(d.getElementById(i).parentNode.id.indexOf("secondaryNav")==0 && i=="boxR") {
			if((d.all && d.compatMode && d.compatMode != "BackCompat") || !d.all) { 
				nObj.style.paddingLeft = "15px";
				nObj.style.paddingTop = "15px";
				nObj.style.left = eval(pos[0]-1)+"px";
			}
		}
	} 
}

function changeSelectList(){
				
			// pd1 = first pulldown
			// pd1_i = first pulldown id
			var pd1_i = "district";
			
			// pd2 = second pulldown
			// pd2_i = second pulldown id
			var pd2_i = "zone";
			
			if(!d.all){ // if !IE
			
				addEvent(d.getElementById(pd1_i),"change", function (){
					var pd1_class = this.value; //get the value from the first pulldown
					var pd2 = d.getElementById(pd2_i).getElementsByTagName("OPTION"); //get the list of opitions in second pulldown
					for(x=0;pd2.length>x;x++){
						if(pd2[x].className.indexOf(pd1_class)==-1){
							pd2[x].className += " hide"; // set options in pd2 to hide based on pd1's value'
						} else {
							pd2[x].className = pd2[x].className.replace(/\s(hide)/,""); // remove hide
						}
					}			
				});
			
			} else if(d.all) { // if IE
			
				var pd1 = d.getElementById(pd1_i).getElementsByTagName("OPTION");
				var pd1_classes = new Array();
				
				for(x=0;pd1.length>x;x++){
					pd1_classes.push(pd1[x].value);
				}
				pd1_classes = pd1_classes.slice(1);
				
				var pd2_0_arr = new Array();
				var pd2_1_arr = new Array();
				var pd2_2_arr = new Array();				
				var pd2_3_arr = new Array();

				var pd2_perm = d.getElementById(pd2_i).getElementsByTagName("OPTION");
				var pd2_length = pd2_perm.length;
			
				for(x=0;pd2_length>x;x++){
					if(pd2_perm[x].className==pd1_classes[0]){
						pd2_0_arr.push(pd2_perm[x]);
					} else if(pd2_perm[x].className==pd1_classes[1]){
						pd2_1_arr.push(pd2_perm[x]);
					} else if(pd2_perm[x].className==pd1_classes[2]){
						pd2_2_arr.push(pd2_perm[x]);
					} else if(pd2_perm[x].className==pd1_classes[3]){
						pd2_3_arr.push(pd2_perm[x]);
					}
				}
				var pd2_arr = [pd2_0_arr,pd2_1_arr,pd2_2_arr,pd2_3_arr];
			
			//	for(x=1;pd2_length>x;x++){
			//		d.getElementById(pd2_i).removeChild(pd2_perm[1]);
			//	}
			
				addEvent(d.getElementById(pd1_i),"change",function(){
	
					var pd1_class = this.value; //get the value from the district pulldown
				
					pd2_temp_length = d.getElementById(pd2_i).getElementsByTagName("OPTION").length;
			
					for(x=1;pd2_temp_length>x;x++){
						d.getElementById(pd2_i).removeChild(d.getElementById(pd2_i).getElementsByTagName("OPTION")[1]);
					}
					
					for(y=0;pd1_classes.length>y;y++){
						if(pd1_classes[y]==pd1_class){			
							for(x=0;pd2_arr[y].length>x;x++){
								d.getElementById(pd2_i).appendChild(pd2_arr[y][x]);
							}
						}
					}
						
				}); // end change addEvent
				
			} // end IE
			
		}
		
function showHelp(objToToggleId,objClicked,effectType,closeLinkId,topOffset,rightOffset,bottomOffset,leftOffset) {
	var pos = getElPos(objClicked);
	var left = pos[0];
	var top = pos[1];
	var objToggle = d.getElementById(objToToggleId);
	var closeLink = d.getElementById(closeLinkId);
	/* uncomment for debug -- assuming you're using Firefox and have the Firebug extension */'
	/*
	console.log("initital top: " + objToggle.style.top);
	console.log("left: " + left);
	console.log("top: " + top);	
	console.log("objToggle: " + objToggle);
	console.log("objToggle ID; " + objToggle.id);
	console.log("thing that fired the event: " + objClicked);
	console.log("thing to toggle: " + objToggle);
	console.log("link that closes: " + closeLinkId);
	console.log("effectType: " + effectType);
	*/	
	if(topOffset && topOffset != "") {
		objToggle.style.top = (top + topOffset) + "px";
	} else {
		if((bottomOffset && bottomOffset != "")) {
			objToggle.style.top = (top - bottomOffset) + "px";
		} else {
			objToggle.style.top = top + "px";
		}
	}
	if(leftOffset && leftOffset != "") {
		objToggle.style.left = (left + leftOffset) + "px";
	} else {
		if(rightOffset && rightOffset!= "") {
			objToggle.style.left = (left - rightOffset) + "px";
		} else {
			objToggle.style.left = left + "px";
		}
	}
	if(closeLinkId) {
		/* add the hide effect */
		addEvent(closeLink, "click", function() {
			if(effectType) {
				switch(effectType) {
				case "blind":
					new Effect.BlindUp(d.getElementById(objToggle.id));
				break;    
				case "fade":
					new Effect.Fade(d.getElementById(objToggle.id));
				break;
				case "slide":
					new Effect.SlideUp(d.getElementById(objToggle.id));
				break;
				case "switch":
					new Effect.SwitchOff(d.getElementById(objToggle.id));
				break;
				default:
					new Effect.Fade(d.getElementById(objToggle.id));
				}
			} else {
				new Effect.Fade(d.getElementById(objToggle.id));
			}			
			return false;
		});
		/* add the show effect */
		if(effectType) {
			switch(effectType) {
					case "blind":
						new Effect.BlindDown(d.getElementById(objToggle.id));
					break;    
					case "fade":
						new Effect.Appear(d.getElementById(objToggle.id));
			  		break;
					case "slide":
						new Effect.SlideDown(d.getElementById(objToggle.id));
			  		break;
					case "switch":
						new Effect.Appear(d.getElementById(objToggle.id));
			  		break;
					default:
						new Effect.Appear(d.getElementById(objToggle.id));
			}	
		} else {
			new Effect.Appear(d.getElementById(objToggle.id));
		}
	} else { //end if closeLinkId
		/* if there's no closeLink use objToggle as display toggler */'
		new Effect.toggle(d.getElementById(objToggle.id),"appear");
	}
	return false;
}// end showHelp