var d = document;
var ua = navigator.userAgent.toLowerCase();

window.onload = GFinit;

function GFinit(){	
	if(!d.layers && (d.getElementsByTagName && d.getElementById)) { 
		changeNavText(); 
		if(d.createElement && d.createTextNode && d.getElementById("header")){
			writePromo(d.getElementsByTagName("UL")[0]);
			if(d.getElementById("sidebarTools")){ writeWidenPage(); }
		}
		if(d.getElementById("marketStats")){ setColour("marketStats"); }
		if(ua.indexOf("msie 5.0")!=-1 && ua.indexOf("win")!=-1){ ie50winEarlugAdFix(); }
	}	
	if(d.getElementById("fr_param1")){
		var fL = d.getElementById("fr_param1");
		if(window.attachEvent && fL.nodeName=="INPUT"){ fL.attachEvent("onblur", rmWS); }  
		else if(window.addEventListener) { fL.addEventListener("blur", rmWS, false); }
	}
}

function openURL(url){
	window.open(url);
}

function GetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = d.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (d.cookie.substring(i, j) == arg) { return getCookieVal (j); }
		i = d.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;	
	}
	return null; 
}
	
function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) {	endstr = d.cookie.length; }
	return unescape(d.cookie.substring(offset, endstr)); 
}

/* print current window */
function printWin() {
	if(window.print) { 
		window.focus();
		window.print();
	} else { return; }
}

/*NN4 styles*/
function stillKicking(v){
	d.write("<link rel=\"stylesheet\" type=\"text\/css\" href=\"http:\/\/www.globeinvestor.com\/style\/tgamnew.css\">");
	d.write("<link rel=\"stylesheet\" type=\"text\/css\" href=\"http:\/\/www.globeinvestor.com\/style\/layout-nn4.css\">");
	d.write("<link rel=\"stylesheet\" type=\"text\/css\" href=\"http:\/\/www.globeinvestor.com\/style\/primaryNav-nn4.css\">");
	d.write("<link rel=\"stylesheet\" type=\"text\/css\" href=\"http:\/\/www.globeinvestor.com\/style\/secondaryNav-nn4.css\">");
	d.write("<link rel=\"stylesheet\" type=\"text\/css\" href=\"http:\/\/www.globeinvestor.com\/style\/footer-nn4.css\">");
	d.write("<link rel=\"stylesheet\" type=\"text\/css\" href=\"http:\/\/www.globefund.com\/style\/gf_"+v+"-nn4.css\">");
}

/* writes closing div in NN4 */
function fixNN4(){
	if(d.layers) { d.write("</div>"); }
}

/*for big ads in NN4*/
function reDo() {
	if (innerWidth != origWidth || innerHeight != origHeight) window.location.replace(URL);
}

/*fix for unclickable earlugs in IE5.0/Win*/
function ie50winEarlugAdFix(){
	var links = ["firstlug","secondlug"];
	for(x=0;links.length>x;x++){
		if(d.getElementById(links[x])){
			d.getElementById(links[x]).style.cursor = "hand";
			d.getElementById(links[x]).onclick = function(){ location.href = this.href; return false; }
		}
	}
}	

/* With stories with pre at first, hide ad, called in templates*/
function adDisplay(v){
	var ua = navigator.userAgent.toLowerCase();
	
	if(ua.indexOf("mac")!=-1) { if(ua.indexOf("msie 5")!=-1){ return; } } // Not IE5/Mac
	if(d.getElementById){ // supports W3C DOM 
		var values;
		var nObj = d.getElementById("adBox");
		var sObj = d.getElementById("rectAd").style;
		var lObj = d.getElementById("hideAdText");
		var firstEl = nObj.childNodes[0];
		if(firstEl.nodeType != 1) firstEl = nObj.childNodes[1];
		((sObj.display!="none" && v) || (firstEl.nodeName.toLowerCase() == "pre" && !v)) ? values = ["none","Show","0"] : values = ["block","Hide","2px solid #CCC"];
		sObj.display = values[0];
		lObj.firstChild.nodeValue = values[1]+" advertisement";
		lObj.style.borderBottom = values[2];
		lObj.blur();
	}
}

/*write visit*/
function setVisit(CURRENT_STATS_TAG){
	var site = (CURRENT_STATS_TAG!="portfolio") ? "globefund" : "globeportfolio";
	if((CURRENT_STATS_TAG=="portfolio" || location.pathname.indexOf("port_gis.")!=-1) && !GetCookie("globeandmail_uid")){ 
		l1="reg";
		l2= (location.pathname.indexOf("port_gis.")!=-1 && CURRENT_STATS_TAG=="portfolio") ? "login" : "login-error";
		page = "reg";	
	} else {
		l1=site;
		l2=CURRENT_STATS_TAG;
		page="";	
	}
	var visit = "<img src=\"http://visit.theglobeandmail.com/counter.visit?grp=finance\u0026site="+site+"\u0026l1="+l1+"\u0026l2="+l2+"\u0026page="+page+"\u0026ord=" + (new Date().getTime() + "\" width=\"1\" height=\"1\" alt=\"\" class=\"visit\" />")
	return visit;
}		

/* write registration promo */
function writePromo(nObj){	      
	var promo = d.createElement("A");
	var item;
	if(nObj.id == "story"){
		promo.className = "more";
		item = d.createElement("P");
	} else {
	    promo.className = "subnav1on";
		item = d.createElement("LI");
		item.appendChild(d.createTextNode(" | "));
	}
	promo.href = "http://www.theglobeandmail.com/generated/InsiderEdition/latestNews.html";
	promo.appendChild(d.createTextNode("Get inside the news with INSIDER Edition"));
	item.appendChild(promo);
	nObj.appendChild(item);
}

/*Create a random text link*/
function createRdmTextLink(i,contents,targets,style){
	var x = Math.floor(Math.random()*contents.length);
	if(d.createElement){
		var nObj = d.createElement("A");
		nObj.href = targets[x];
		nObj.className = style;
		nObj.appendChild(d.createTextNode(contents[x]));
		d.getElementById(i).appendChild(nObj);
	} else { d.write("<a href=\""+targets[x]+"\" class=\""+style+"\">"+contents[x]+"</a>"); }
}	

/*Create random number from array*/
function randomArray(a) {
	return a[Math.floor(Math.random()*a.length)];
}

/*Random text ad for tradebar*/
function tbarTxtAd(i){
	// non-breaking space = 
	// elipsis = \u2026
	// ampersand = \u0026
	//var regmsg = "Come register with globeinvestor.com. It's free!";
	

var distributionsmsg = "For\u00A0more\u00A0information\u00A0about fund\u00A0distributions\u00A0and\u00A0your\u00A0portfolio,\u00A0click\u00A0here.";
//var distributionsmsg = "Fund\u00A0distributions\u00A0and\u00A0your\u00A0portfolio:\u00A0If\u00A0you\u00A0chose\u00A0to\u00A0reinvest\u00A0mutual\u00A0fund\u00A0distributions\u00A0when\u00A0you\u00A0set\u00A0up\u00A0your\u00A0portfolio,\u00A0distributions\u000Awill\u00A0be\u00A0added\u00A0to\u00A0your\u00A0portfolio\u00A0automatically\u00A0within\u00A0one\u00A0to\u00A0two\u00A0business\u00A0days.\u00A0For\u00A0more\u00A0information\u00A0about\u00A0distributions,\u00A0click\u00A0here.";	
//var giftmsg ="The\u00A0perfect\u00A0gift\u00A0for\u00A0the\u00A0avid\u00A0investor...\u00A0Order\u00A0GlobeinvestorGOLD\u00A0Gift\u00A0Certificates\u00A0Now!";	

		var msgs = [ distributionsmsg,/*giftmsg,*/
		"GlobeinvestorGOLD\u00A0Premium\u00A0Membership\u2026 Click\u00A0for\u00A0a\u00A0free\u00A014-day\u00A0trial",
		"25\u00A0different\u00A0e-mail\u00A0alerts\u00A0based\u00A0on\u00A0your\u00A0criteria\u2026 Click\u00A0for\u00A0your\u00A0GlobeinvestorGOLD\u00A014-day\u00A0free\u00A0trial",
		"Bollinger\u00A0bands,\u00A0stochastics,\u00A0and\u00A018\u00A0more\u00A0technical\u00A0analysis\u00A0chart\u00A0studies\u2026 Click\u00A0for\u00A0your\u00A0GlobeinvestorGOLD\u00A014-day\u00A0free\u00A0trial",
		"Streaming\u00A0Portfolio\u00A0Tracker\u00A0with\u00A0unlimited\u00A0streaming\u00A0quotes,\u00A0live\u00A0news\u00A0feeds, powerful\u00A0interactive\u00A0charting\u2026 Click\u00A0for\u00A0your\u00A0GlobeinvestorGOLD\u00A014-day\u00A0free\u00A0trial",
		"Exclusive\u00A0market\u00A0commentary\u00A0from\u00A0a\u00A0Canadian\u00A0perspective\u2026 Click\u00A0for\u00A0your\u00A0GlobeinvestorGOLD\u00A014-day\u00A0free\u00A0trial",
		"Real-Time\u00A0Quotes\u00A0for\u00A0TSX,\u00A0Venture,\u00A0NYSE,\u00A0NASDAQ,\u00A0AMEX,\u00A0OPRA\u2026 Subscribe\u00A0to\u00A0GlobeinvestorGOLD's\u00A0Real-time\u00A0Service"];

	var dURL = "javascript:void(window.open('http://www.globefund.com/static/help/popup/help_distributions.html','snapWin','height=530,width=770,scrollbars,toolbar,resizable'))"
	var sURL = "http://counter.theglobeandmail.com/servlet/Redirect?redirect=https://secure.globeinvestor.com/invest/investSQL/fc.product_subscription?pi_mode=UPSUBSCR\u0026page=tradebar\u0026promo=";
	var eURL = "\u0026domain=www.globefund.com";
	var giftURL = "javascript:void(window.open('http://counter.theglobeandmail.com/servlet/Redirect?redirect=http://www.globeinvestorgold.com/gift&page=tradebar&promo=gift_cert&domain=www.globefund.com','snapWin','height=530,width=770,scrollbars,toolbar,resizable'))"
	var links = [dURL,/*giftURL,*/sURL+"premium"+eURL,sURL+"alerts"+eURL,sURL+"bollinger"+eURL,sURL+"tracker"+eURL,sURL+"commentary"+eURL,sURL+"realtime"+eURL];
	var style = "textad";
	createRdmTextLink(i,msgs,links,style);
}


function setColour(i){
	var nObj = d.getElementById(i);
	var tds = nObj.getElementsByTagName("TD");
	for(x=0;tds.length>x;x++){
		if(tds[x].innerHTML.indexOf("-")!=-1 && tds[x].className!="date") { tds[x].className = "negative"; }
		else if(tds[x].innerHTML.indexOf("+")!=-1) { tds[x].className = "positive"; }
	}
}
	
function getHeight(boxes,i){ // adjust container height to tallest column
	for(x=0;x<boxes.length;x++){ 
		h = d.getElementById(boxes[x]).offsetHeight;
		for(y=0;y<boxes.length;y++){
			test_h = d.getElementById(boxes[y]).offsetHeight;
			if(h<test_h) h = test_h;
		}
	}
	d.getElementById(i).style.minHeight = (h+20)+"px"; 
}

function chartchange (indexbar,indexsymbol,sym1,symm){
	var ran_number=Math.floor(Math.random()*1000000000);
	d.charts.pi_symbol.value = symm;
	d.imagech.src = "/images/market-" + indexbar + "-gi.gif";
	d.image1.src ="/generated/charts/" + sym1 + ".png?ord=" + ran_number;
} 

function writeNN4Spacer(){
	if(d.layers){
		var h = (d.anchors['endPrimaryNav'].y - d.anchors['endChewy'].y)+140;
		d.write("<spacer type=\"block\" height=\""+h+"\">");
	}
}

function changeNavText(){
	if(d.getElementById("globeNav")) { 
		var nObj = d.getElementById("globeNav");
		var sections = nObj.getElementsByTagName("A");
		for(x=1;sections.length>x;x++){
			sections[x].onmouseover = function () { swapNavText(this); }
			sections[x].onmouseout = function () { swapNavText(this); }
		}
	}
}
	 
function swapNavText(nObj){
	var names = ["News","Investing","Technology","Vehicles","Careers"];
	var brands = ["News","Globeinvestor","Globetechnology","GlobeAuto","Workopolis"];
	for(x=1;names.length>x;x++){
		if(nObj.firstChild.nodeValue == names[x]){
			nObj.replaceChild(d.createTextNode(brands[x]),nObj.firstChild); 
		} else if(nObj.firstChild.nodeValue == brands[x]){
			nObj.replaceChild(d.createTextNode(names[x]),nObj.firstChild);
		}
	}
}

/*style switcher*/
function writeWidenPage(){
	if(d.getElementById && d.createElement){ 
		var pt = d.getElementById("sidebarTools");
		var li = d.createElement("LI");
		var an = d.createElement("A");
		li.className = "widen";
		an.href = "#";
		an.onclick = function () { widenPage(this); return false; }
		an.appendChild(d.createTextNode("Widen this Page"));
		li.appendChild(an);
		pt.appendChild(li);
	}
}

function widenPage(el){
	var nObj = d.getElementById("sidebar").childNodes;
	var text = el.innerHTML;
	for(x=0;nObj.length>x;x++){
		if(text.indexOf("Widen")!=-1 && nObj[x].nodeType == 1 && nObj[x].id!="sidebarTools"){
			nObj[x].style.display = "none" 
		} else if(text.indexOf("Narrow")!=-1 && nObj[x].nodeType == 1) {
			nObj[x].style.display =  "";
		el.parentNode.className = "narrow";
		}
	}
	if(text.indexOf("Widen")!=-1){
		d.getElementById("article").style.width = "auto";
		el.innerHTML = "Narrow this Page";
		el.parentNode.className = "narrow";
	} else {
		d.getElementById("article").style.width = "500px";
		el.innerHTML = "Widen this Page";
		el.parentNode.className = "widen";
	}
}

/* trim fund whitespace */
function rmWS(){
	var fL = d.getElementById("fr_param1");
	fL.value = fL.value.replace(/^\s+|\s+$/g,"");
}