var d = document;
var ua = navigator.userAgent.toLowerCase();

/*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.globeinvestor.com\/style\/gi_"+v+"-nn4.css\">");
}

/*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; }
		}
	}
}	

/* print current window */
function printWin() {
	if(window.print) { 
		window.focus();
		window.print();
	} else { return; }
}       

function openURL(url){
	window.open(url);
}

/*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.target = "_blank";
		nObj.appendChild(d.createTextNode(contents[x]));
		d.getElementById(i).appendChild(nObj);
	} else { d.write("<a href=\""+targets[x]+"\" class=\""+style+"\" target=\"_blank\">"+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);
}

/*Fixes styles in NN4 when the browser if resized*/
function reloadPage(init) { 
  if (init==true) {if ((navigator.appName=="Netscape")&&(is_major==4)) { d.pgW=innerWidth; d.pgH=innerHeight; onresize=reloadPage; }}
  else if (innerWidth!=d.pgW || innerHeight!=d.pgH) location.reload();
}  

/* writes closing div in NN4 */
function fixNN4(){
	if(d.layers) { d.write("</div>"); }
}

/* fills in fields for news/search-box */
function siteSearch(url,values,checked,selected){
	var form = document.searchform;
	if((values[0]=="undefined") || (values[0].indexOf("##")==0)){ 
		//var range;
		if(url.indexOf("newsearch.html")!=-1) range = [0,1,2,3];
		else if((url.indexOf("USwiresearch.html")!=-1) || (url.indexOf("uswiresearch.html")!=-1)) range = [3]; 
		else if(url.indexOf("wiresearch.html")!=-1) range = [2];
		else if((url.indexOf("globesearch.html")!=-1)||(url.indexOf("rtgamsearch.html")!=-1)) range = [0]; 
		else if((url.indexOf("reutersearch")!=-1)) range = [1]; 
		else range = []
		for(x=0;range.length>x;x++){
			if(form.collection[range[x]].defaultChecked==false){ form.collection[range[x]].checked=true; }
		}
	} else {  
		var name = ["co_id", "kword"]
		for(x=0;2>x;x++){
			if(values[x]!="_UNDEFINED_VALUE_") form.elements[name[x]].value = values[x];
		}
		for(x=0;form.collection.length>x;x++){
			if(checked[x]=="CHECKED") form.collection[x].checked = true;
		}
		for(x=0;form.industry.length>x;x++){
			if(selected[x]=="SELECTED") form.industry[x].selected = true;
		}
	}       
}

// 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","0"];
		sObj.display = values[0];
		lObj.firstChild.nodeValue = values[1]+" advertisement";
		lObj.style.borderBottom = values[2];
		lObj.blur();
	}
}

/* loads new market box on GI home */
function marketChange(i){
	var layers = ["mktglancet","mktglancen","mktglanceq","mktglancespx"];
	if(d.getElementById){
		for(x=0;layers.length>x;x++){ d.getElementById(layers[x]+"Nav").className = ""; }
		d.getElementById(i+"Nav").className = "selected"
	}
	hideShow(i,layers);
}

/*hides or shows divs*/
function hideShow(i,els,p,v){
	if(!d.layers){
		for(x=0;els.length>x;x++){
			 sObj = d.getElementById(els[x]).style;
			(els[x]!=i) ? sObj.display = "none" : sObj.display = "block";
		}
	}       
} 

function chartchange (indexbar,indexsymbol,sym1,symm){
	var ran_number=Math.floor(Math.random()*1000000000);
	d.charts.pl_primary_listing.value = symm;
	d.imagech.src = "http://www.globeinvestor.com/images/mar-" + indexbar + ".gif";
	d.image1.src ="http://www.globeinvestor.com/generated/charts/" + sym1 + ".png?ord=" + ran_number;
} 

/*write visit*/

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)); 
}

function setVisit(CURRENT_STATS_TAG){
	if(CURRENT_STATS_TAG=="portfolio" && GetCookie("globeandmail_uid")){ 
		l1="reg";
		l2="login";
		page="reg";	
	} else {
		l1="globeinvestor";
		l2=CURRENT_STATS_TAG;
		page="";	
	}
	var visit = "<img src=\"http://visit.theglobeandmail.com/counter.visit?grp=finance\u0026site=globeinvestor\u0026l1="+l1+"\u0026l2="+l2+"\u0026page="+page+"\u0026ord=" + (new Date().getTime() + "\" width=\"1\" height=\"1\" alt=\"\" class=\"visit\" />")
	return visit;
}		

/* write full date */
function writeDate(v){
	var days = ["Monday","Tuesday","Wednesay","Thursday","Friday","Saturday","Sunday"];
	var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];

	if(d.getElementById && v=="networth"){
		var hed = d.getElementById("globeInvestor").getElementsByTagName("H3");
		var hedlink = hed[0].getElementsByTagName("A")[0].href;
		var thedate = hedlink.split("/")[7];
		var day = days[5];
		var date = thedate.substring(6,8);
		var month = thedate.substring(4,6);
		if(month.charAt(0) == "0") month = month.substring(1,2);
		var year = thedate.substring(0,4);
		
		var nObj = d.getElementById("globeInvestor").getElementsByTagName("H2")[0];
		var childs = nObj.childNodes;
		for(x=0;childs.length>x;x++){
			if(childs[x].className=="date") var dateObj = childs[x];
		}
		
		var fulldate = "Published on "+day+", "+months[month-1]+" "+date+", "+year;
		dateObj.appendChild(d.createTextNode(fulldate));
	}

}


/* write registration promo */
function writePromo(nObj){	      
	var promo = d.createElement("A");
	var item;
	if(nObj.nodeName == "UL"){
		promo.className = "subnav1on";
		item = d.createElement("LI");
		item.appendChild(d.createTextNode(" | "));
	} 
	promo.href = 	promo.href = "http://www.theglobeandmail.com/generated/InsiderEdition/latestNews.html";
	promo.appendChild(d.createTextNode("Get the INSIDER Edition"));
	item.appendChild(promo);
	nObj.appendChild(item);
}

function writeCurrencyPromo(nObj){	      
	var navs = nObj.getElementsByTagName("A");
	var promo = d.createElement("A");
	var item;
	if(nObj.nodeName == "UL"){
		if(location.href.indexOf("DAILYFX")!=-1 || location.href.indexOf("FOREIGN")!=-1  || location.href.indexOf("SXFOR")!=-1){
			promo.className = "subnav1on";
			for(x=0;navs.length>x;x++) { navs[x].className = "subnav1"; }
		} else {
			promo.className = "subnav1";
		}
	} 
	promo.href = 	promo.href = "http://www.globeinvestor.com/news/currencies.html";
	promo.appendChild(d.createTextNode(" Currencies"));
	item = d.createElement("LI");
	item.appendChild(promo);
	item.appendChild(d.createTextNode(" | "));
	if(nObj.childNodes.length<18){
		nObj.insertBefore(item,nObj.childNodes[8])
	} else {
		item.insertBefore(d.createTextNode("\u00A0"),item.firstChild);
		nObj.insertBefore(item,nObj.childNodes[18]);
	}
}

/*new design*/
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.height = (h+20)+"px"; 
}			


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";
	}
}

/* apply chart value colour */	 
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 = "negative"; }
		else if(tds[x].innerHTML.indexOf("+")!=-1) { tds[x].className = "positive"; }
	}
}

/* check screen res */
function sbRes(){
	var site;
	if(location.href == "http://www.theglobeandmail.com/") { site = "GAMhome"; }
	else if(location.href == "http://www.globeinvestor.com/") { site = "GIhome"; }
	else if(location.href.indexOf("port_gis.homepage")!=-1) { site = "Portfolio"; }
	else if(location.href.indexOf("gx.stock_rep")!=-1) { site = "PriceReporthome"; }
	if(location.href.indexOf("dynamic.ca")!=-1) { site = ""; }	
	if(d.createElement && site!=""){
		var imgObj = d.createElement("img");
		imgObj.src = "http://images.theglobeandmail.com/imagesv3/spacer.gif?s="+screen.width+"x"+screen.height;
		if(d.body.clientWidth){ imgObj.src += "\u0026bw=" + d.body.clientWidth; }
		imgObj.src += "\u0026site=" + site;
		imgObj.height = "1";
		imgObj.width = "1";
		imgObj.id = "sbRes";
		d.getElementById("footer").appendChild(imgObj);
	}
}

if(window.attachEvent){
	window.attachEvent("onload",sbRes);
} else if(window.addEventListener) {
	window.addEventListener("load", sbRes, false);
}		

window.onload = GIinit;

function GIinit(){
	if(!d.layers && (d.getElementsByTagName && d.getElementById)) { 
		changeNavText(); 
		if(d.createElement && d.createTextNode && d.getElementById("header")){
			writeCurrencyPromo(d.getElementsByTagName("UL")[0]);
			writePromo(d.getElementsByTagName("UL")[0]);
		}
		if(d.getElementById("globeInvestor")){ writeDate("networth"); }
		if(d.getElementById("sidebarTools")){ writeWidenPage(); }
		if(d.getElementById("secondaryNav") && !d.getElementById("promoBox2")){ getHeight(["primaryNav","secondaryNav","chewy"],"container"); }
		if(d.getElementById("marketStats")){ setColour("marketStats"); }
		if(d.getElementById("currencyTable")){ setColour("currencyTable"); }
		if(d.getElementById("a1") && d.getElementById("adHole")){ fnSwap(); }
		if(ua.indexOf("msie 5.0")!=-1 && ua.indexOf("win")!=-1){ ie50winEarlugAdFix(); }
				
	  if(d.getElementById("adBox") && 0>=d.getElementById("adBox").childNodes.length) { d.getElementById("adBox").style.display = "none"; }
  	if(d.getElementById("bannerAd") && d.getElementById("bannerAd").childNodes.length>0) { d.getElementById("bannerAd").style.display = "block"; }
	}
}	