var data; var tPeriod; var hasDelayedQuote = false; var colors = ["3366CC", "FFD565", "6699CC", "003399", "AD4C1B", "CCCC99"] function getData() { tPeriod = document.getElementById("earningsSelect").value; document.getElementById("5yg").style.display = "block"; document.getElementById("cvya").className = "fleft chartCell"; var cb = new ContentBuffer(); cb.load({ contentType: "text/javascript", url: "resources/asp/getBufferedEarnings.asp?tPeriod=" + tPeriod, debug: true }); } function updateCharts() { data = j1; var cb = new ContentBuffer(); var x, prop, img, div; var dText = {pe: new Array(), peg: new Array(), eps: new Array(), veps: new Array(), growth: new Array()}; for(x = 0; x < data.length; x++) { //dbg("  " + data[x].name) dText["pe"].push(data[x]["raw_pe"]!=-32768?data[x]["raw_pe"]:0); dText["peg"].push(data[x]["raw_peg"]!=-32768?data[x]["raw_peg"]:0); dText["eps"].push(data[x]["raw_eps"]!=-32768?data[x]["raw_eps"]:0); dText["veps"].push(data[x]["raw_veps"]!=-32768?data[x]["raw_veps"]:0); if(tPeriod == "CurrQ"){ dText["growth"].push(data[x]["raw_growth"]!=-32768?data[x]["raw_growth"]:0); } } if(tPeriod != "CurrQ") { setLoadingDiv("growth"); setChartImg("https://thomson.cache.wallst.com/img/chart_na.gif", "growth", ""); } for(prop in dText) { if(dText[prop].length > 0) { setLoadingDiv(prop); cb.load({ url: "resources/asp/getBufferedChart.asp", method: "post", contentType: "text/javascript", postdata: { params: "data=" + dText[prop].join(",") + "&type=" + prop + "&colors=" + colors.join(","), cht: "earningsSm", callback: "setChartImg", returnVars: "File.Name,type,maps" }, debug: true }); } } } function setLoadingDiv(type) { var img = document.getElementById("chart_"+type); var xy = getAbsolutePos(img); var div = document.createElement("div"); img.src = "https://thomson.cache.wallst.com/img/x.gif"; div.id = "loadingDiv" + type; div.innerHTML = "Loading ..."; div.style.border = "none"; div.style.textAlign = "center"; div.style.background = "none"; div.style.position = "absolute"; div.style.left = xy.x + "px"; div.style.top = xy.y + "px"; div.style.width = img.width + "px"; div.style.height = img.height + "px"; div.style.lineHeight = div.style.height; div.style.zIndex = 99; div.style.visibility = "visible"; img.style.visibility = "hidden"; document.getElementById("div_"+type).appendChild(div); } function setChartImg(filename, type, maps) { /* dbg(""); dbg("This is setChartImg()"); dbg("filename: " + filename); dbg("type: " + type); dbg("maps: " + maps); */ document.getElementById("chart_"+type).src = filename; document.getElementById("chart_"+type).style.visibility = "visible"; document.getElementById("div_"+type).removeChild(document.getElementById("loadingDiv"+type)); document.getElementById("div_"+type).style.display = "block"; setMaps(maps, type); } function setMaps(maps, type) { var x, area; var map = document.getElementById("map_"+type); var types = {pe: "Price/Earnings", peg: "PEG", eps: "Mean EPS", veps: "Change vs. Yr. Ago", growth: "5 Yr. Growth Rate"}; data = j1; //split up da maps yo if(!maps){ return; } maps = maps.split(":"); /* dbg(""); dbg("This is setMaps(). MapLength: " + maps.length + " Data length: " + data.length); for(var i=0; iRecommendation", align: "left"}); heads.push({id: "pe", label: "P/E Ratio", align: "right"}); heads.push({id: "peg", label: "PEG", align: "right"}); heads.push({id: "eps", label: "Mean
EPS", align: "right"}); heads.push({id: "veps", label: "Current EPS
vs. Yr. Ago", align: "right"}); if(tPeriod == "CurrQ"){ heads.push({id: "growth", label: "5 Yr.
Growth Rt.", align: "right"}); } var cols = new Array(); cols.push({id: "name", align: "left"}); cols.push({id: "recommend", align: "left"}); cols.push({id: "pe", align: "right"}); cols.push({id: "peg", align: "right"}); cols.push({id: "eps", align: "right"}); cols.push({id: "veps", align: "right"}); if(tPeriod == "CurrQ"){ cols.push({id: "growth", align: "right"}); } //table head for(i = 0; i < heads.length; i++) { th = document.createElement("th"); if(sort == heads[i].id){ img = (sortDir=="d"?" ":" "); } else{ img = ""; } th.innerHTML = '
'+heads[i].label + '
'+ img + '
'; if(heads[i].align){ th.align = heads[i].align; } if(heads[i].span){ th.colSpan = heads[i].span; } th.vAlign = "bottom"; th.className = "smblk solid"; tr.appendChild(th); } thead.appendChild(tr); //look at all the rows i can put out for(i = 0; i < data.length; i++) { tr = document.createElement("tr"); if(data[i].raw_ticker == symbol){ tr.className = " hiliteRow"; } else{ tr.className = (i%2?"oddRow":"evenRow"); } for(x = 0; x < cols.length; x++) { td = document.createElement("td"); if(cols[x].align){ td.align = cols[x].align; } if(cols[x].id == "name") { td.innerHTML = ' ' + data[i]["name"].substring(0, 26) + " "; if(hasDelayedQuote){ td.innerHTML += '' + data[i]["ticker"] + ''; } else{ td.innerHTML += data[i]["ticker"]; } } else if(cols[x].id == "recommend"){ td.innerHTML = getRecommendGraphic(data[i]["recommend"]); } else{ td.innerHTML = data[i][cols[x].id]; } if(sort == cols[x].id && data[i].raw_ticker == symbol){ td.className = " hiliteRowSort"; } else if(sort == cols[x].id){ td.className = (i%2?"oddRowSort":"evenRowSort"); } tr.appendChild(td); } tbody.appendChild(tr); } table.cellSpacing = "0"; table.cellPadding = "0"; table.width = "100%"; table.id = "searchResults"; table.appendChild(thead); table.appendChild(tbody); if(document.getElementById("peerEarningsTable").firstChild) { document.getElementById("peerEarningsTable").removeChild(document.getElementById("peerEarningsTable").firstChild); } document.getElementById("peerEarningsTable").appendChild(table); } function qsort(argh, field) { var l = new Array(); var e = new Array(); var g = new Array(); if(argh.length <= 1){ return argh; } else { var pivot = argh[Math.floor(argh.length/2)][field]; for(var i = 0; i < argh.length; i++) { if(argh[i][field] < pivot){ l.push(argh[i]); } else if(argh[i][field] == pivot){ e.push(argh[i]); } else{ g.push(argh[i]); } } return qsort(l, field).concat(e).concat(qsort(g, field)); } } function getRecommendGraphic(t) { if(typeof(t) == "undefined"){ t = "none"; } return ''; }