var st_latency; var st_linespeed; var st_latencyStart; var st_latencyComplete; var st_linespeedStart; var st_linespeedComplete; function performSpeedTest() { st_beginLatencyTest(); } function st_beginLatencyTest() { st_latencyStart = new Date(); st_latencyComplete = null; $(document).ajaxComplete(function(e, xhr, settings) { if ($.isFunction(st_callback)) { st_callback(1000, 100); } }); $(document).ajaxError(function(e, xhr, settings, exception) { if ($.isFunction(st_callback)) { st_callback(1000, 100); } }); jQuery.post(st_url, { len: "1" }, function(b, a) { st_latencyComplete = new Date(); st_latency = st_latencyComplete.getTime() - st_latencyStart.getTime(); st_beginSpeedTest(); }); } function st_beginSpeedTest() { st_linespeedStart = new Date(); st_linespeedComplete = null; jQuery.post(st_url, { len: st_len }, function(d, a) { st_linespeedComplete = new Date(); var b = st_linespeedComplete.getTime() - st_linespeedStart.getTime() - st_latency; st_linespeed = Math.round(st_len / b); if (st_cookie) { var c = new Date(); c.setTime(c.getTime() + (st_cookie_expires * 24 * 60 * 60 * 1000)); $.cookie("speedtest_latency", st_latency, { expires: c }); $.cookie("speedtest_linespeed", st_linespeed, { expires: c }); } if ($.isFunction(st_callback)) { st_callback(st_latency, st_linespeed); } }); } function st_TestComplete(b, a) { } $(document).ready(function() { $.ajaxSetup({ cache: false }); st_latency = $.cookie("speedtest_latency"); st_linespeed = $.cookie("speedtest_linespeed"); });
