base_url = (!base_url || base_url=="(none)") ? "http:\/\/investdb.theglobeandmail.com" : base_url;

function checknumber(){
	if(isNaN(this.value)){
		alert("Please enter a number in the field");
		this.style.borderColor = "#CE0031";
	} else { 
		this.style.borderColor = "threedshadow";
	}
}

function make_url(){
	switch(d.getElementById("pi_report_type").value){
		case ('DETAIL'):
			d.getElementById("pi_report_def_id").value = 261;
			break;	
		case ('NETPRICE'):
			d.getElementById("pi_report_def_id").value = 262;
			break;	
		case ('BASIC'):
			d.getElementById("pi_report_def_id").value = 263;
			break;	
		case ('LATEST'):
			d.getElementById("pi_report_def_id").value = 264;
			break;	
		case ('RATIO'):
			d.getElementById("pi_report_def_id").value = 268;
			break;	
		case ('SUMMARY'):
			d.getElementById("pi_report_def_id").value = 267;
			break;
		case ('SUMM'):
			d.getElementById("pi_report_def_id").value = 269;
			break;	
		case ('HIST'):
			d.getElementById("pi_report_def_id").value = 270;
			break;	
		case ('QUARTERLY'):
			d.getElementById("pi_report_def_id").value = 271;
			break;	
		case ('ANNUAL'):
			d.getElementById("pi_report_def_id").value = 272;
			break;	
		case ('NEWEST'):
			d.getElementById("pi_report_def_id").value = 273;
			break;	
		case ('BW'):
			d.getElementById("pi_report_def_id").value = 274;
			break;
	}
	
	var xurl = base_url+"\/invest\/investSQL\/gx.stock_report?";
	var xurlParms = ["pi_report_type","pi_industry","pi_exchange_code","pi_prev_price_min","pi_prev_price_max","pi_intra_volume_min","pi_intra_volume_max","pi_security_type","pi_index_member","pi_country","pi_report_def_id","pi_div_yield_max","pi_div_yield_min","pi_growth_profit_3yr_max","pi_growth_profit_3yr_min","pi_latest_moving_avg_50day_max","pi_latest_moving_avg_50day_min","pi_mkt_cap_min","pi_mkt_cap_max","pi_growth_revenue_3yr_max","pi_growth_revenue_3yr_min","pi_peps_max","pi_peps_min","pi_pbvps_max","pi_pbvps_min","pi_prev_price_max","pi_prev_price_min","pi_revenue_max","pi_revenue_min","pi_earnings_max","pi_earnings_min","pi_return_period1","pi_return_period2","pi_operator1","pi_operator2","pi_percent1","pi_percent2"];
	var xurlJoin = "";
	for(x=0;xurlParms.length>x;x++){
		if(isNaN(d.getElementById(xurlParms[x]).value) && d.getElementById(xurlParms[x]).nodeName.toLowerCase()=="input"){
			alert("Please enter a number in the field");
			d.getElementById(xurlParms[x]).focus();
			d.getElementById(xurlParms[x]).style.borderColor = "#CE0031";
			return false;
		}
		xurl += xurlJoin+xurlParms[x]+"="+d.getElementById(xurlParms[x]).value;
		xurlJoin = "\u0026";
	}

	var selects = d.getElementById("filterRefine").getElementsByTagName("SELECT");
	for(x=0;selects.length>x;x++){ 
		var y = selects.length-1;
		var no_match;
		if(selects[x].id.indexOf("dropbox")==0){
			while(selects[x].value != selects[y].value && selects[x].id!=selects[y].id){
				no_match = true;
				y = y-1;
			}
			if(no_match!=true){
				alert("Duplicate requests for " + selects[x].options[selects[x].options.selectedIndex].text + " are not permitted.\nPlease alter your criteria.");
				selects[x].focus();
				selects[x].style.borderColor = "#CE0031";
				return false;
			} 
			xurl += '\u0026pi_' + selects[x].value + '_min=' + d.getElementById("min" + eval(x+1)).value;
			xurl += '\u0026pi_' + selects[x].value + '_max=' + d.getElementById("max" + eval(x+1)).value;
			
		}
	}
	
	xurl += '\u0026pi_filter_count_yn=Y';
	
	if(window.resultWin==null||resultWin.closed){
		resultWin=window.open(xurl,"resultWin","scrollbars=1,resizable=1,width=350,height=170");
	} else {
		resultWin.location.href = xurl; 
	}
	resultWin.focus();
}

addEvent(d.getElementById("submit1"),"click",make_url);
addEvent(d.getElementById("submit2"),"click",make_url);

var inputs = getElementsByClassName(d.getElementById("bonk"),"INPUT","field");
for(x=0;inputs.length>x;x++){ addEvent(inputs[x],"change", checknumber); }

var selects = d.getElementById("bonk").getElementsByTagName("select");
for(x=0;selects.length>x;x++){ addEvent(selects[x],"change", function(){ this.style.borderColor = "threedshadow"; }); }