1(function($) { 2 "use strict"; 3 $.goahead_core_chart = function(){ 4 if ( $('.sc_chart').length ) { 5 $('.sc_chart').find('.chart-md').each(function() { 6 var block_id = $(this).data('block-id'); 7 var canvas = $('#' + block_id); 8 var chart_json = canvas.data('chart'); 9 if (typeof chart_json !== 'undefined' ) { 10 if ( typeof chart_json.data !== 'undefined' && typeof chart_json.data.labels !== 'undefined' && chart_json.data.labels != '' ) { 11 var draw_chart = new Chart(canvas, chart_json); 12 } 13 } 14 }); 15 } 16 17 if ( $('.sc_chart_pie').length ) { 18 $('.sc_chart_pie').find('.wrapper-chart').each(function() { 19 var block_id = $(this).data('block-id'); 20 var canvas_pie = $('#' + block_id); 21 var chart_json = canvas_pie.data('chart'); 22 if (typeof chart_json !== 'undefined' ) { 23 if ( typeof chart_json.data !== 'undefined' && typeof chart_json.data.labels !== 'undefined' && chart_json.data.labels != '' ) { 24 var draw_chart_pie = new Chart(canvas_pie, chart_json); 25 } 26 } 27 }); 28 } 29 30 if ( $('.sc_chart_stock').length ) { 31 $('.sc_chart_stock').find('.wrapper-chart').each(function() { 32 var block_id = $(this).data('block-id'); 33 var canvas_stock = $('#' + block_id); 34 var info_stock = $('#info_' + block_id); 35 var chart_json = canvas_stock.data('chart'); 36 var stock_json = canvas_stock.data('stock'); 37 38 if (typeof block_id !== 'undefined' && typeof stock_json !== 'undefined') { 39 if (stock_json.database == 'quandl') { 40 $.slz_drawChart('', canvas_stock, chart_json); 41 } else { 42 $.slz_marketChart(stock_json.dataset_code, 7000, canvas_stock, stock_json, chart_json); 43 } 44 45 if ( typeof stock_json.info_display !== 'undefined' && stock_json.info_display == true ) { 46 if ( typeof stock_json.info !== 'undefined' ) { 47 $.slz_ppStockData($.slz_processReturnedData(stock_json.info), info_stock, stock_json, chart_json); 48 } else { 49 $.slz_populateStockData(stock_json.dataset_code, 7000, info_stock, stock_json, chart_json); 50 } 51 } 52 } 53 }); 54 } 55 } 56 57 /* BEGIN inner marketChart */ 58 $.slz_marketChart = function(code, to, block_id, stock_json, chart_json) { 59 $.slz_getHistoricalData(code, to, stock_json).done(function(response) { 60 $.slz_drawChart($.slz_extractData(response), block_id, chart_json); 61 }).fail(function(err) { 62 /*$.slz_drawChart($.slz_dummyData(err.company), "#chart-tiny-01");*/ 63 }); 64 }; 65 $.slz_getHistoricalData = function(company, timeOut, stock_json) { 66 var yql_base_uri = 'https://query.yahooapis.com/v1/public/yql?q='; 67 var yql_env = 'store://datatables.org/alltableswithkeys'; 68 var yql_format = 'json'; 69 70 var time_lm = 'month'; 71 if ( stock_json.dataset_show_type != 'week' ) { 72 time_lm = stock_json.dataset_show_type; 73 } 74 var n = moment(); 75 var lm = moment().subtract(1, time_lm); 76 77 var convertDateString = function(d) { 78 return d.year() + "-" + ((d.month() + 1) < 10 ? "0" + (d.month() + 1) : (d.month() + 1)) + "-" + (d.date() < 10 ? "0" + d.date() : d.date()); 79 }; 80 81 var last_time = convertDateString(lm); 82 var today = convertDateString(n); 83 84 if ( typeof stock_json.dataset_startday !== 'undefined' ) { 85 last_time = stock_json.dataset_startday; 86 } 87 if ( typeof stock_json.dataset_endday !== 'undefined' ) { 88 today = stock_json.dataset_endday; 89 } 90 91 var yql_query = 'select * from yahoo.finance.historicaldata where symbol = "' + company + '" and startDate = "' + last_time + '" and endDate = "' + today + '"'; 92 93 var yql = yql_base_uri + encodeURIComponent(yql_query) + '&format=' + yql_format + '&env=' + encodeURIComponent(yql_env); 94 95 return $.ajax({ 96 dataType: 'jsonp', 97 url: yql, 98 timeout: timeOut, 99 error: function(xhr) { 100 xhr.company = company; 101 } 102 }); 103 }; 104 $.slz_extractData = function(r) { 105 var q = r.query.results.quote; 106 var close = []; 107 var date = []; 108 var temp = {}; 109 110 for (var i = 0; i < q.length; i++) { 111 close[i] = parseFloat(q[i].Close); 112 date[i] = q[i].Date + ""; 113 } 114 115 close.reverse(); 116 date.reverse(); 117 118 temp.close = close; 119 temp.date = date; 120 temp.symbol = q[0].Symbol; 121 122 Cookies.set(temp.symbol, temp); 123 124 return temp; 125 }; 126 $.slz_drawChart = function(data, id, chart_json) { 127 if (data) { 128 var date = data.date.map(function(i) {
129 return moment(i).tz("America/New_York"); 130 }); 131 var dataset_data = []; 132 for (var i = 0; i < data.close.length; i++) { 133 var el = data.close[i]; 134 dataset_data.push(el.toFixed(2)); 135 } 136 if ( !chart_json.data.datasets[0].data.length ) { 137 chart_json.data.datasets[0].data = dataset_data; 138 } 139 if ( !chart_json.data.labels.length ) { 140 chart_json.data.labels = date; 141 } 142 } 143 144 var ct = $(id); 145 var draw_ct = new Chart(ct, chart_json); 146 }; 147 /* END inner marketChart */ 148 149 150 /* BEGIN inner populateStockData */ 151 $.slz_populateStockData = function(code, to, block_id, stock_json, chart_json) { 152 $.slz_getStockData(code, to).done(function(response) { 153 $.slz_ppStockData($.slz_processReturnedData(response), block_id, stock_json, chart_json); 154 }).fail(function(err) { 155 /*$.ppStockData($.dummyStockData(err.company), '#stock-info-1');*/ 156 }); 157 }; 158 $.slz_getStockData = function(company, timeOut) { 159 var yql_base_uri = 'https://query.yahooapis.com/v1/public/yql?q='; 160 var yql_env = 'store://datatables.org/alltableswithkeys'; 161 var yql_format = 'json'; 162 163 var yql_query = 'select * from yahoo.finance.quote where symbol = "' + company + '"'; 164 165 var yql = yql_base_uri + encodeURIComponent(yql_query) + '&format=' + yql_format + '&env=' + encodeURIComponent(yql_env); 166 167 return $.ajax({ 168 dataType: 'jsonp', 169 url: yql, 170 timeout: timeOut, 171 error: function(xhr) { 172 xhr.company = company; 173 } 174 }); 175 }; 176 $.slz_ppStockData = function(t, id) { 177 $(id).find('.name').html(t.name); 178 $(id).find('.price').html(t.price + ' USD'); 179 if (t.change < 0) { 180 $(id).find('.change').css('color', '#d12a2a'); 181 } 182 $(id).find('.change').html(t.change + ' (' + t.changePercent + ')'); 183 $(id).find('.date').html(t.date); 184 }; 185 $.slz_processReturnedData = function(r) { 186 var temp = {}; 187 188 var name = r.query.results.quote.Symbol; 189 var price = r.query.results.quote.LastTradePriceOnly; 190 var change = r.query.results.quote.Change; 191 192 var changePercent = (change >= 0 ? '+' : '') + (change / price * 100).toFixed(2) + '%'; 193 if ( typeof r.query.count !== 'undefined' ) { 194 var date = moment(r.query.created).tz("America/New_York").format('h:mm A zz DD/MM/YYYY'); 195 } else { 196 var date = moment(r.query.created).format('DD/MM/YYYY'); 197 } 198 199 temp.name = name; 200 temp.price = parseFloat(price).toFixed(2); 201 temp.change = parseFloat(change).toFixed(2); 202 temp.changePercent = changePercent; 203 temp.date = date; 204 205 Cookies.set(name + 'stockData', temp); 206 207 return temp; 208 }; 209 /* END inner populateStockData */ 210 211})(jQuery); 212 213jQuery( document ).ready( function() { 214 new WOW().init(); 215 jQuery.goahead_core_chart(); 216}); 217jQuery( window ).load( function() { 218}); 219jQuery( window ).resize( function() { 220});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.