Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Scripts used to change or enable/disable the refresh intraval to load server data
- last updated : Sunday August 22,2010 12:53 PM
- */
- var _loadedStylesheet;
- var _refreshEnabled = true;
- var _refreshInterval = 1000;
- var _customInterval = _refreshInterval;
- var _loading = false;
- var _lastSelectedDisable = false;
- var _timeoutId = -1;
- var _lastBeforeDisable = 1000;
- var _disableRefreshClicked = false;
- var _historyDownload = [];
- var _historyUpload = [];
- var _historyMaxPeers = 0;
- var REFRESH_SELECTID = "#refreshIntervalSelect";
- var REFRESH_SELECT_SELECTED = "#refreshIntervalSelect option[selected]";
- var REFRESH_CUSTOMID = "#refreshIntervalCustom";
- var REFRESH_CUSTOM_TEXTID = "#customIntervalText";
- var DISABLE_REFRESHID = "#disableRefresh";
- var TIMEOUT_CRUMSID = "#timeoutcrums";
- var STATUSID = "#status";
- /* inital document load */
- $(document).ready(function() {
- //default values
- $(REFRESH_CUSTOM_TEXTID).val(_customInterval);
- /* inital value is 'Disable' to make sure click works */
- $(DISABLE_REFRESHID).html("Disable");
- /* first load */
- loadData();
- $("#displayHistoryTitle").html("Page Loaded: " + getTime());
- /*
- Event handling - rest of function
- */
- $("#title a").click(function () {
- loadData();
- });
- /* resets the select to inital values */
- $('#resetrefresh').click(function() {
- _lastBeforeDisable = 1000;
- $(DISABLE_REFRESHID).html("Disable");
- $(REFRESH_SELECTID).attr("disabled","");
- $(REFRESH_SELECTID).find("option[value='1000']").attr("selected","selected");
- $(REFRESH_SELECTID).change();
- });
- /* Quick link to disable/enable refresh */
- $(DISABLE_REFRESHID).click(function() {
- _disableRefreshClicked = true;
- if($(this).html() == "Disable"){
- _lastBeforeDisable = $(REFRESH_SELECTID).find("option[selected]").attr("value");
- $(REFRESH_SELECTID).find("option[value='0']").attr("selected","selected");
- $(REFRESH_SELECTID).change();
- $(this).html("Enable");
- $(REFRESH_SELECTID).attr("disabled","disabled");
- }else{
- $(REFRESH_SELECTID).find("option[value='"+ _lastBeforeDisable +"']").attr("selected","selected");
- $(REFRESH_SELECTID).change();
- $(this).html("Disable");
- $(REFRESH_SELECTID).attr("disabled","");
- }
- });
- $(REFRESH_SELECTID).change(function () {
- var selected = $(this).find("option[selected]").first();
- var interval = selected.attr("value");
- if (interval == -1) { //custom
- $(REFRESH_CUSTOMID).removeClass("hidded");
- $(REFRESH_CUSTOMID).addClass("visible");
- _refreshInterval = 1000;
- var customVal = $(REFRESH_CUSTOM_TEXTID).val();
- customVal = customVal * 1;
- if (customVal > 0) {
- _refreshInterval = customVal;
- _refreshEnabled = true;
- $(REFRESH_CUSTOM_TEXTID).select();
- }
- loadData();
- }
- else {
- $(REFRESH_CUSTOMID).removeClass("visible");
- $(REFRESH_CUSTOMID).addClass("hidded");
- if (interval == 0) { //disabled
- _refreshInterval = 0;
- _refreshEnabled = false;
- _lastSelectedDisable = true;
- $(STATUSID).html("<i>Refresh Disabled</i>");
- $(TIMEOUT_CRUMSID).html("");
- }
- else {
- _refreshInterval = interval;
- _refreshEnabled = true;
- _lastSelectedDisable = false;
- loadData();
- }
- }
- });
- $(REFRESH_CUSTOM_TEXTID).blur(function () {
- var selected = $(REFRESH_SELECT_SELECTED).first();
- var interval = selected.attr("value");
- var customVal = $(this).val();
- customVal = customVal * 1;
- if (customVal > 0) {
- _refreshInterval = customVal;
- _refreshEnabled = true;
- loadData();
- }
- });
- }); //document ready
- function loadData() {
- if (_lastSelectedDisable == true) {
- _lastSelectedDisable = false;
- return;
- }
- if (_loading == true)
- return;
- _loading = true;
- try {
- var refreshms = _refreshInterval;
- var txhtml = null;
- var xmlurl = "Azureus_Stats.xml";
- var xslurl = "azureus.xsl";
- // code for IE
- if (window.ActiveXObject) {
- try {
- var source = null; //xml source
- var attempts = 0;
- var maxattempts = 3;
- while (attempts <= maxattempts) {
- try {
- source = new ActiveXObject("Msxml2.DOMDocument.3.0");
- source.async = false;
- source.load(xmlurl);
- break;
- }
- catch (e) {
- attempts++;
- if (attempts >= maxattempts) {
- displayError(e);
- break;
- }
- source = null;
- }
- } //while
- if (_loadedStylesheet == null) {
- _loadedStylesheet = new ActiveXObject("Msxml2.DOMDocument.3.0");
- _loadedStylesheet.async = false
- _loadedStylesheet.load(xslurl);
- }
- txhtml = source.transformNode(_loadedStylesheet)
- } catch (e) {
- _loadedStylesheet = null;
- displayError(e);
- }
- }
- // code for Mozilla, Firefox, Opera, etc.
- else if (document.implementation && document.implementation.createDocument) {
- try {
- var source = $.ajax({
- url: xmlurl,
- cache: false,
- async: false
- }).responseText;
- var stylesheet = $.ajax({
- url: xslurl,
- cache: false,
- async: false
- }).responseText;
- var xsltProcessor = new XSLTProcessor();
- xsltProcessor.importStylesheet(stylesheet);
- txhtml = xsltProcessor.transformToFragment(source, document);
- } catch (e) { displayError(e.message); }
- }
- //load html into page
- $('#result').html(txhtml);
- var showdebug = false;
- //update status
- if(showdebug==true)
- $("body").append("<textarea style='height:300px;width:100%;' rows='2' cols='2'>" + txhtml + "</textarea>");
- $(STATUSID).html("" + getTime() + " Interval: " + (refreshms / 1000) + " seconds");
- //set timeout crums
- var count = $(TIMEOUT_CRUMSID).attr("count");
- if (!count)
- count = 0;
- if (count > 4) {
- $(TIMEOUT_CRUMSID).html("");
- count = 0;
- }
- count++;
- $(TIMEOUT_CRUMSID).append(".");
- $(TIMEOUT_CRUMSID).attr("count", count);
- //reset timeout
- if (_refreshEnabled == true) {
- //set timer
- if (1000 >= refreshms)
- refreshms = 1200;
- if(_timeoutId != -1)
- clearTimeout(_timeoutId);
- _timeoutId = window.setTimeout("loadData()", refreshms);
- }
- }
- catch (e) { displayError(e.message); }
- finally {
- updateGlobals();
- _loading = false;
- }
- }
- function updateGlobals() {
- var dlspeed = parseInt(_globals.values[0].dlspeed);
- var ulspeed = parseInt(_globals.values[0].ulspeed);
- var dlspeedraw = parseInt(_globals.values[0].dlspeedraw);
- var ulspeedraw = parseInt(_globals.values[0].ulspeedraw);
- var total_peers = parseInt(_globals.values[0].total_peers);
- _historyUpload.push(ulspeedraw);
- _historyDownload.push(dlspeedraw);
- if(total_peers > _historyMaxPeers)
- _historyMaxPeers = total_peers;
- renderGlobals();
- }
- function renderGlobals(){
- var dlavg = average(_historyDownload) / 1000;
- var ulavg = average(_historyUpload) / 1000;
- var dlsum = sum(_historyDownload) / 1000;
- var ulsum = sum(_historyUpload) / 1000;
- var html = ""
- html += "<div class='parent'>";
- html += "<div class ='child'>";
- html += "<h5>Average</h5>";
- html += "<ul class='avg'>";
- html += "<li>Download :<span class='avg dlavg'>" + addCommas(dlavg) + " kB/s</span></li>";
- html += "<li>Upload :<span style='margin-left:22px;' class='avg ulavg'>" + addCommas(ulavg) + " kB/s</span></li>";
- html += "</ul>";
- html += "</div>";
- html += "<div class ='child'>";
- html += "<h5>Sum (per intraval) </h5>";
- html += "<ul class='avg'>";
- html += "<li>Download :<span class='avg dlavg'>" + addCommas(dlsum) + " kB/s</span></li>";
- html += "<li>Upload :<span style='margin-left:22px;' class='avg ulavg'>" + addCommas(ulsum) + " kB/s</span></li>";
- html += "</ul>";
- html += "</div>";
- html += "<div class ='child'>";
- html += "<h5>Max Peers - " + _historyMaxPeers + " </h5>";
- html += "</div>";
- html += "</div>";
- $("#displayHistory").html(html);
- }
- function average(numArray)
- {
- var sum = 0
- for (i = 0; i < numArray.length;i++)
- {
- sum += numArray[i]
- }
- return Math.round((sum/numArray.length));
- }
- function sum(numArray)
- {
- var val = 0
- for (i = 0; i < numArray.length;i++)
- {
- val += numArray[i]
- }
- return Math.round(val);
- }
- function getTime() {
- var today = new Date();
- var h = today.getHours();
- var m = today.getMinutes();
- var s = today.getSeconds();
- var ampm = "AM";
- if (h > 12) {
- h = h - 12;
- ampm = "PM";
- }
- m = checkTime(m);
- s = checkTime(s);
- return h + ":" + m + ":" + s + " " + ampm;
- }
- function addCommas(nStr)
- {
- nStr += '';
- x = nStr.split('.');
- x1 = x[0];
- x2 = x.length > 1 ? '.' + x[1] : '';
- var rgx = /(\d+)(\d{3})/;
- while (rgx.test(x1)) {
- x1 = x1.replace(rgx, '$1' + ',' + '$2');
- }
- return x1 + x2;
- }
- function checkTime(i) {
- if (i < 10) {
- i = "0" + i;
- }
- return i;
- }
- function displayError(e) {
- var message = e ? e.toString() : " unknown error";
- $("#errorOutput").append("<div>" + message + "</div>");
- }
Advertisement
Add Comment
Please, Sign In to add comment