if(!WEBSITE_TGAM){
	var WEBSITE_TGAM = "http://"+location.host;
	var WEBSITE_IMAGES = WEBSITE_TGAM;
	var WEBSITE_TGAM_SECURE = "https://"+location.host;
	var WEBSITE_SECURE = WEBSITE_TGAM_SECURE;
	var WEBSITE_docroot = "/v5";
	if(location.port && location.host.indexOf("ev.")==1){
		WEBSITE_TGAM_SECURE = WEBSITE_TGAM;
		WEBSITE_SECURE = WEBSITE_TGAM_SECURE;
	} else {
		WEBSITE_IMAGES = WEBSITE_TGAM.replace(/www\./i,"images.");
	}
}
var today = new Date();
var random_number = Math.floor((Math.random()*1000))+""+today.getUTCMilliseconds();

var insider;
var d = document;
var ua = navigator.userAgent.toLowerCase();
var openmenu,x,tickerStories,omniDisabled;
var ldbdAC="";var lugAC="";var skyRAC="";var boxRAC="";var halfpageRAC="";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: subscriber status */
function isSubscriber(v){
	var time = new Date();
	time.setTime(time.getTime() + (1000*60*60*24*15))
	setCookie("TGAM_ID",v,time.toGMTString());
}

function chkSubscriber(){
	var xmlhttp = hector(); 
	
	if(xmlhttp){
		xmlhttp.open("GET", "/servlet/Page/document"+WEBSITE_docroot+"/content/Insider/chkSubscriber", true);
		xmlhttp.onreadystatechange=function() {
			if(xmlhttp.readyState==4){
				var response = xmlhttp.responseText;
				if(response.indexOf("[true][")==0){ isSubscriber(response); }
				else { deleteCookie("TGAM_ID"); }
			} 
		}
		 
		xmlhttp.send(null);
	}
}

/* NB: AJaX */
function hector() {
	var xmlhttp = false;
	if(window.XMLHttpRequest){
		xmlhttp = new XMLHttpRequest();
	}	else if(window.ActiveXObject){
		try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        xmlhttp = false;
      }
    }
	}
	return xmlhttp;
}

function doXSLT(nObj,xml,xsl,where){
	var xmlhttp = hector();
	if(xmlhttp){
		var result;
		xmlhttp.open("GET", xml, true);
		xmlhttp.onreadystatechange=function() {
			if(xmlhttp.readyState==4){		
				if(xmlhttp.status==200){
							
					var xslhttp = hector();
					xslhttp.open("GET", xsl, true);
					xslhttp.onreadystatechange=function() {
						if(xslhttp.readyState==4){
							if(xslhttp.status==200){					
								try {
									var xsltProcessor = new XSLTProcessor();
									xsltProcessor.importStylesheet(xslhttp.responseXML);
									result = xsltProcessor.transformToFragment(xmlhttp.responseXML,d);
									if(where && where=="top" && nObj.firstChild){
										nObj.insertBefore(result,nObj.firstChild);
									} else {
										nObj.appendChild(result);
									}
								} catch (err) {	
									try {
										result = xmlhttp.responseXML.transformNode(xslhttp.responseXML);
										if(where && where=="top" && nObj.firstChild){
											nObj.innerHTML = result+nObj.innerHTML;
										} else {
											nObj.innerHTML += result;
										}
									} catch (err) {	
							    	result = createElement("div","","error");
										var msg_txt = createElement("p","","error");
										msg_txt.appendChild(d.createTextNode("We were temporarily unable to load the requested content"));
										var msg_title = createElement("h4","","error");
										msg_title.appendChild(d.createTextNode("Problem"));
										result.appendChild(msg_title);
										result.appendChild(msg_txt);
										nObj.appendChild(result);
									}
								}
							}
						}
					}
					xslhttp.send(null);
					
				}
			}
		}
		xmlhttp.send(null);
	}
}

/* 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 ".css", type and rel aren't needed 
// if el=="script" and the url ends with ".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","/icon.gif","Icon",12,12);
// 3) createElement("a","back","","/lastpage/","","","","Go back","","previous");
// returns: 
// 1) <p></p>
// 2) <img src="/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(".css")==url.length-4 && !rel){
		nObj.type = "text/css";
		nObj.rel = "stylesheet";
	}	else if(el=="script" && url.indexOf(".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, time){
	if(!time){
		var time = new Date();
		time.setTime(time.getTime() + (1000*60*60*24*365))
		time.toGMTString();//expires in a year
	}
	d.cookie = name + "=" + escape(value) + "; path=/; expires=" + time;
}

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(".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; 
			}
		})
	}
}


function insertAfter(newElement,targetElement) {
	//targetElement is what you want newElement to go after. Look for targetElement elements parent.
	var parent = targetElement.parentNode;
	//if the parents lastchild is the targetElement...
	if(parent.lastchild == targetElement) {
	//add the newElement after the target element.
		parent.appendChild(newElement);
	} else {
	// else the target has siblings, insert the new element between the target and it's next sibling.
	//syntax for insertBefore: parentElement.insertBefore(newElement, targetElement);
	parent.insertBefore(newElement, targetElement.nextSibling);
	}
}


/* 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,top,left) {

	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;
	if (top) params += ',top=' + top;
	if (left) params += ',left=' + left;
	params += ',menubar=no,resizable=yes,toolbar=no,scrollbars=yes,location=no';
	window.open(url, n, params);
	return false;
}

/* sports_popup -- requires a return false */
function sports_popup(w,h,url,slug,t,top,left) {
	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;
	if (top) params += ',top=' + top;
	if (left) params += ',left=' + left;
	params += ',menubar=no,resizable=yes,toolbar=no,scrollbars=yes,location=no';
	window.open(url, n, params);
}

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){
	if((typeof oElm != "object" && typeof oElm == "string") && (typeof strTagName != "string" && typeof strTagName == "object")){ 
		/* probably a prototype call, so remap */
		oElm = strClassName;
		strTagName = oElm;
	} 
	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: return date as a series of 2 digit values in an array */
function displayDate(dateObj){
	var dd = leadingZero(dateObj.getDate());
	var mm = dateObj.getMonth();
	mm = leadingZero(mm+1);
	var yy = takeYear(dateObj)+"";
	yy = yy.substring(2);
	
	var hh = dateObj.getHours();
	var ampm = "AM";
	if (hh == 0) { hh = 12; }
	if (hh > 11) { ampm = "PM"; }
	if (hh > 12) { hh -= 12; }
	hh = leadingZero(hh);
	var m = leadingZero(dateObj.getMinutes());
	var ss = leadingZero(dateObj.getSeconds());
	
	var date_values = [yy,mm,dd,hh,m,ss,ampm];
	
	return date_values;
	
	function takeYear(theDate){
		var x = theDate.getYear();
		var y = x % 100;
		y += (38 > y) ? 2000 : 1900;
		return y;
	}
	
	function leadingZero(nr){
		if(10>nr) { nr = "0"+nr; }
		return nr;
	}
}

/* NB: adjust the layout width/height as needed */
function layoutAdjust(){
	if(d.getElementById("chewy")){
		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 writeTicker(url,i,bg_c,tag_c,tkr_c){ 
	var ticker = new SWFObject(WEBSITE_IMAGES+"/v5/includes/global/newsticker.swf", i, "600", "20", "8", bg_c, true);
	ticker.addVariable("RSS_Source", url); 
	ticker.addVariable("tagColour", tag_c);
	ticker.addParam("wmode", "transparent");
	ticker.addVariable("tickerColour", tkr_c);
	ticker.write(i);
}

/* browser detecttion -- via PPK @ http://www.quirksmode.org */
/* http://www.quirksmode.org/js/detect.html */
/* to use: call BrowserDetect.init(); */
/* access BrowserDetect.browser and so on... */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};

/* NB: ads */
function loadAC(){
	var acSpots = ["ldbd","lug","skyR","boxR","lug2","box2","box3","halfpageR","b1","b2","b3","b4"];
	/*BrowserDetect.init();
	var lte_ie_6 = false;
	if ((BrowserDetect.browser=="Explorer") && (parseInt(BrowserDetect.version)<=6)) {
		lte_ie_6 = true;
	}*/	
	for(x=0;acSpots.length>x;x++){
		if(d.getElementById(acSpots[x]) && d.getElementById(acSpots[x]+"Holder")){	
			/*if (lte_ie_6) {
				addEvent(d.getElementById(acSpots[x]+"Holder"),"mouseover",function() {
					this.style.overflow = 'visible';
				});
				addEvent(d.getElementById(acSpots[x]+"Holder"),"mouseout",function() {
					this.style.overflow = 'hidden';
				});
			}*/
			if(8>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(x==4) { addEvent(window,"resize",function(){ placeAC("lug2"); });}
				else if(x==5) { addEvent(window,"resize",function(){ placeAC("box2"); }); }
				else if(x==6) { addEvent(window,"resize",function(){ placeAC("box3"); }); }
				else if(x==7) { addEvent(window,"resize",function(){ placeAC("halfpageR"); }); }
			} 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")); }
			}
		}
	}
}

var swfCheck, iFrameCheck;
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 "box2": 
				mod = [1,4];
				break;				
			case "skyR": 
				mod = [4,4]; 
				break;
			case "halfpageR": 
				mod = [1,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;
		nObj.style.top = 0
		if(d.getElementById("transLeader")){
			var tLdbd = d.getElementById("transLeader");
			tLdbd.style.position = "absolute";
			tLdbd.style.left = eval(pos[0])+"px";
			tLdbd.style.top = eval(getElPos(d.getElementById("ldbd"))[1])+"px";
			nObj.style.width = eval(getElPos(d.getElementById("ldbd"))[0])+"px";
			addEvent(window,"resize",function(){ d.getElementById("ldbdHolder").style.width = eval(getElPos(d.getElementById("ldbd"))[0])+"px"; });
			if(d.all && d.compatMode && d.compatMode!="BackCompat"){
				tLdbd.style.margin = "4px 0 0 4px !important";
			} else if(d.all){
				tLdbd.style.margin = "4px 0 0 0 !important";
			}
		}
	} else if(acType=="topLayer" && i=="ldbd") {  
			// "topLayer" ads float down the page and do funky things. "expand" ads are in the ldbd and expand when hovered over 
			nObj.style.overflow = "visible";
	} else { 
		// if this is the leaderboard let's check every 50 milliseconds (until 5 seconds has passed)
		// to see if there's any element with tag name "object" (swf ad)
		// if there is, when a user mouses over the ldbd set height to auto
		// on mouseout set height  back to 90px
		// swfCheck = setTimeout(function() { getSwf(nObj, "swf") }, 50);
		if (acType=="expand" && i=="ldbd") {   // leaderboard expander ad. at this point nObj should == "ldbdHolder". ** DON'T USE OVERFLOW CAUSE IT'LL MAKE FIREFOX RESTART THE AD ON HOVER **
			Event.onReady(function() {
				var nav_zindex = document.getElementById('globalNav').style.zIndex;
				var ldbd_zindex = document.getElementById('ldbd').style.zIndex;
				nObj.onmouseover = function() {
					document.getElementById('globalNav').style.zIndex = 1;
					this.style.height = "auto";
					this.style.zIndex = 20000; // ldbd takes highest stacking order
					//this.style.overflow = "visible";
				};
				nObj.onmouseout = function() {
					document.getElementById('globalNav').style.zIndex = nav_zindex;
					this.style.zIndex = ldbd_zindex; // reset stacking order to "original" state
					//this.style.overflow = "hidden";
				};
			});
		}	
//		if( (d.getElementById(i).parentNode.id.indexOf("secondaryNav")==0 && i=="boxR") || (i=="halfpageR") ) {
		if( (Element.descendantOf(d.getElementById(i), d.getElementById("secondaryNav")) && i=="boxR") || (i=="halfpageR") ) {			
			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";
			}
		}
	}	 
}

var counter = 0;
function getSwf(obj, type) {
	var toClear, swfs;
	type == "swf" ? toClear = swfCheck : toClear = iFrameCheck;
	type == "swf" ? swfs = obj.getElementsByTagName("OBJECT") : swfs = obj.getElementsByTagName("IFRAME");
	if (swfs.length == 0) {
		if (counter == 1000) {
			clearTimeout(toClear);
		} else {
			counter ++;
		}
	} else {
		obj.onmouseover = function() { this.style.height = "auto"; };
		obj.onmouseout = function() { this.style.height = "90px"; };
		clearTimeout(toClear);
	}				
}


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++){
						pd2[x].className = pd2[x].className.replace(/\s(hide)/,"");
						if(pd2[x].className.indexOf(pd1_class)==-1){
							pd2[x].className += " hide"; // set options in pd2 to hide based on pd1's value
						}
					}			
				});
			
			} 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 = $(objToToggleId);
	var closeLink = $(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(objToggle);
				break;    
				case "fade":
					new Effect.Fade(objToggle);
				break;
				case "slide":
					new Effect.SlideUp(objToggle);
				break;
				case "switch":
					new Effect.SwitchOff(objToggle);
				break;
				default:
					new Effect.Fade(objToggle);
				}
			} else {
				new Effect.Fade(objToggle);
			}			
			return false;
		});
		/* add the show effect */
		if(effectType) {
			switch(effectType) {
					case "blind":
						new Effect.BlindDown(objToggle);
					break;    
					case "fade":
						new Effect.Appear(objToggle);
			  		break;
					case "slide":
						new Effect.SlideDown(objToggle);
			  		break;
					case "switch":
						new Effect.Appear(objToggle);
			  		break;
					default:
						new Effect.Appear(objToggle);
			}	
		} else {
			new Effect.Appear(objToggle);
		}
	} else { //end if closeLinkId
		/* if there's no closeLink use objToggle as display toggler */
		new Effect.toggle(objToggle,"appear");
	}
	objToggle.style.zIndex = "6000";
	objToggle.style.cursor = "move";
	new Draggable(objToggle);
	return false;
}// end showHelp

function isNull(obj) {
	if( (obj.value == null) || (obj.value =='') ) { return true; } 
	else { return false; }
}

// returns a URL param specified by name
function get_url_param(name) {
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var tmpURL = window.location.href;
  var results = regex.exec(tmpURL);
  if (results == null) { 
		return ""; 
	} else { 
		return results[1];
	}
}


// Open a pop-up and play Video Story article_type - jluu
var videoArray = null;

function playVideoStory(id, slug, headline, creditline) {
   var row = getRow(id);
   var url = "/servlet/Page/document/video/vs?id=" + id + 
             "&ids=" + row.ids + 
             "&hub=search";
   var vidPlayer = window.open(url, "videoStoryPlayer","width=800,height=800,resizable=yes,scrollbars=yes,status=yes");
 
   vidPlayer.focus();
}

function getRow(id) {
    var row = null;

    if (videoArray != null) {
        for(i = 0; i < videoArray.length; i++) {
            if (id == videoArray[i].id) {
                var ids = getIDS(i);
                videoArray[i].ids = ids;
                row = videoArray[i]; 
                i = videoArray.length;
            }
        }
    }

    return row;
}

// -2/+2 logic
function getIDS(_idx) {
    var idx = _idx + 1;
    var videoLength = videoArray.length;
    var pre  = 0;
    var post = 0;

    if (idx == 1) {
        if (videoLength < 5) {
            post = videoLength - idx;
        } else {
            post = 4;
        }
    } else  if (idx == 2) {
        pre  = 1;
        if (videoLength < 5) {
            post = videoLength - idx;
        } else {
            post = 3;
        }
    } else  if (idx == (videoLength - 1)) {
        if (idx > 3) {
            pre  = 3;
        } else {
            pre  = 2;
        }
        post = 1;
    } else  if (idx == videoLength) {
        if (videoLength < 5) {
            pre = idx - 1;
        } else {
            pre = 4;
        }
    } else {
        pre  = 2;
        post = 2;
    }

    var ids = "";
    for (var i = pre; i > 0; i--) {
        ids = ids + "," + videoArray[_idx - i].id;
    } 

    ids = ids + "," + videoArray[_idx].id;

    for (var i = _idx + 1; i < idx + post ; i ++) {
        ids = ids + "," + videoArray[i].id;
    } 

    ids = ids.substr(1);

    return ids;
}

function setVideoArray(vArray) {
    // remove that extra comma from the list producer
    vArray.pop();
    videoArray = vArray;
}
// Create Video array          - jluu


function loadTicker(){ return; }