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

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

/*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 = \u00A0
	// elipsis = \u2026
	// ampersand = \u0026
	var msgs = [
		"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 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.globeinvestor.com";
	var links = [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();
}  

/*Prevents text from getting too small*/
/*Function called in visit.html */
function emsTweak(){
	if ((d.createElement) && (d.createTextNode)){
		d.writeln('<div id="emsTest" style="position:absolute; visibility:hidden;">&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br></div>');
		var scaling=100;
		if ((navigator.platform=="Win32") && (navigator.appName=="Microsoft Internet Explorer")) scaling=105;
		var h=999;
		if (d.getElementById('emsTest').clientHeight) h=parseInt(d.getElementById('emsTest').clientHeight);
		else if (d.getElementById('emsTest').offsetHeight) h=parseInt(d.getElementById('emsTest').offsetHeight);
		if (h<70) d.body.style.fontSize="81.25%"
	}
}

/* fills in fields for news/search-box */
function siteSearch(url,values,checked,selected){
	var form = document.searchform;
	if((values[0]=="undefined") || (values[0].charAt(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[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){
if(d.getElementById){ // supports W3C DOM?
	var values;
	var nObj = d.getElementById("storyAd");
	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"] : values = ["block","Hide"];
	sObj.display = values[0];
	lObj.firstChild.nodeValue = values[1]+" advertisement";
	lObj.blur();
}}

/* loads new market box on GI home */
function marketChange(i){
	var layers = ["mktglancet","mktglancen","mktglanceq","mktglancespx"];
	d.mktchange.src = "http://www.globeinvestor.com/ora/images/mkt-" + i.substring(9,i.length) + ".gif";
	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.pi_symbol.value = symm;
	d.imagech.src = "/images/mar-" + indexbar + "-gold.gif";
	d.image1.src ="http://www.globeinvestor.com/generated/charts/" + sym1 + ".png?ord=" + ran_number;
}


function setVisit(CURRENT_STATS_TAG){
	var visit = "<img src=\"http://visit.theglobeandmail.com/counter.visit?grp=finance\u0026site=globeinvestor\u0026l1=globeinvestor\u0026l2="+CURRENT_STATS_TAG+"\u0026ord=" + (new Date().getTime() + "\" width=\"1\" height=\"1\" alt=\"\" />")
	return visit;
}		