
	/*
	============================================
	BEGIN ROLLOVER HANDLERS
	*/
	var rowClicked=null;
	var rowHighlighted=null;
	function doBG_on(ref){
		rowHighlighted = ref;
		if(ref != rowClicked){
			ref.className = "rateDataRowHover";
		}
	}
	
	function doBG_off(ref){
		if(rowHighlighted == rowClicked){
			ref.className = "rateDataRowOn";
		}else{
			rowHighlighted.className = "rateDataRowOff";
		}
	}
	
	function doBG_clicked(ref) {
		if(rowClicked!=null){
			rowClicked.className = "rateDataRowOff";
		}
		rowClicked = ref;
		rowClicked.className = "rateDataRowOn";
	}
	
	/*
	END ROLLOVER HANDLERS
	============================================
	*/
	
	
	var iCurrentSym = null;
	var sURL = "https://chart.neural.com/servlet/GIFChart?";
	var arrURL_Params = new Array();
	
	function swapChart(sym){ // builds query for chart, assigns onload handlers to image object and populates data into HTML
		
		if(iCurrentSym != null){ // clears chart in HTML and prepares for next chart
			iCurrentSym = null;
			document.getElementById("oDivChartTitle").innerHTML = "loading...";
			document.getElementById("BigChart").src = "images/spacer.gif";
		}
		
		iCurrentSym = sym;
		arrURL_Params[0] = "sym1=" + arrIndexData[iCurrentSym][0]; //symbol from array
		arrURL_Params[1] = "&dres=" + arrIndexData[iCurrentSym][1]; // time from array
		arrURL_Params[2] = "&mode=1";
		arrURL_Params[3] = "&texttype=1";
		arrURL_Params[4] = "&width=265";
		arrURL_Params[5] = "&height=159";
		arrURL_Params[6] = "&plottype=mountain";
		arrURL_Params[7] = "&csym1a=FBF8F0";
		arrURL_Params[8] = "&csym1=E1D1B0";
		arrURL_Params[9] = "&cbcku=ffffff";
		arrURL_Params[10] = "&cbckl=ffffff";
		arrURL_Params[11] = "&cbckd=ffffff";
		arrURL_Params[12] = "&cbckg=ffffff";
		arrURL_Params[13] = "&csym2=blk";
		arrURL_Params[14] = "&csym3=grey";
		arrURL_Params[15] = "&csym4=blue";
		arrURL_Params[16] = "&csym5=red";
		arrURL_Params[17] = "&ctxtu=000000";
		arrURL_Params[18] = "&ctxtd=ffffff";
		arrURL_Params[19] = "&ctxtl=ffffff";
		arrURL_Params[20] = "&cdispdate=000000";
		arrURL_Params[21] = "&gridlines=1";
		arrURL_Params[22] = "&cind1a=red";
		arrURL_Params[23] = "&Source=ELLIEMAE";
		arrURL_Params[50] = "&ignore=" + URLDateTime();
		
		var sParams = ""; // used for concat of params array into a single string
		for(var i=0;i<arrURL_Params.length;i++){ // loops through params array
			sParams = sParams + arrURL_Params[i]; // concats params array into single string
		}
		
		var sGraphURL = sURL + sParams; // concats entire URL for graphic
		
		var oGraph = document.getElementById("BigChart"); // reference to image object
		oGraph.src = sGraphURL; // sets image object source to pinnacor url + params (call to servelet)
		oGraph.width = 265; // sets image object width
		oGraph.height = 159; // sets image object height
		oGraph.onload = SetTitle; // sets title above chart onload
		
		return true;
	}
	
	function SetTitle(){ // sets title above chart onload
		if(iCurrentSym != null){
			document.getElementById("oDivChartTitle").innerHTML = arrIndexData[iCurrentSym][5];
		}
	}
	
	function URLDateTime(){
		dt = new Date();   // gets today's date right now (to the millisecond).
		month = dt.getMonth()+1;
		day = dt.getDate();
		year = dt.getFullYear();
		hour = dt.getHours();
		minutes = dt.getMinutes();
		seconds = dt.getSeconds();
		var AM_PM = "AM";
		if (hour >= 12) {AM_PM = "PM";}
		var sDateTime = month + "%2F" + day + "%2F" + year + hour + "%3A" + minutes + "%3A" + seconds + AM_PM;
		return sDateTime;
	}
	

	function buildIWatch(){ // draws index data table
		var sIWatchString;
		var sTableStart = "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" ID=\"rateTable\" class=\"rateTable\">";
		var sTitleRow = "<tr><td class=\"header1Sub\"><b>Index</b></td><td class=\"header1Sub\"><b>Last</b></td><td class=\"header1Sub\"><b>Change</b></td></tr>";
		var sTableEnd = "</table>";
		var sDataRow = "";	
		for(var i=0;i<arrIndexData.length;i++){
			sDataRow = sDataRow + "<tr id=\"c"+i+"\" class=\""+getDefaultChart(i)+"\" onclick=\"swapChart("+i+");doBG_clicked(c"+i+");\" onmouseover=\"doBG_on(c"+i+");\" onmouseout=\"doBG_off(c"+i+");\"><td class=\"rateDataTitle\">"+arrIndexData[i][2]+"</td><td class=\"rateData\">"+arrIndexData[i][3]+"</td><td class=\""+getChange(arrIndexData[i][4][0])+"\"><img src=\"images/"+getArrowImage(arrIndexData[i][4][0])+"\" width=\"11\" height=\"13\" border=\"0\" align=\"absmiddle\">&nbsp;"+arrIndexData[i][4][1]+"</td></tr>";
		}
		sIWatchString = sTableStart + sTitleRow + sDataRow + sTableEnd;
		document.getElementById("oDivMarket").innerHTML = sIWatchString;
		if(defaultChart != null){
			var sRow = "c" + defaultChart; // concats for 
			rowClicked = document.getElementById(sRow)// sets reference for mouseovers in doBG_on()
		}
	}

	var defaultChart = null
	function getDefaultChart(item){ // sets the row bgcolor for the onload defualt chart
		var sClass = "rateDataRowOff";
		if(arrIndexData[item][0] == arrIndexData[iCurrentSym][0]){
			sClass = "rateDataRowOn";
			defaultChart = item
		}
		return sClass;
	}

	function getChange(bChange){ // used to create green or red text for change
		var sClass = "RateDataChangeDown";
		if(bChange){
			sClass = "RateDataChangeUp";
		}
		return sClass;
	}
	
	function getArrowImage(bChange){ // used to draw up/down arrow graphic based on change
		var sImage = "index_arrow_down.gif";
		if(bChange){
			sImage = "index_arrow_up.gif";
		}
		return sImage;
	}
	
	
