My Brute Status Notifier

By angus Uploaded May 29, 2009
/*
@author: angusdev
@url: http://angusdev.blogspot.com/
@update: https://userscripts.org/jetpacks/8.js
@title: My Brute Status Notifier
@description: My Brute will offline for maintainence at GMT 2am everyday.
              This script will periodically check the online status of
              My Brute and display in status bar.
@version: 1
*/
function MybruteNotifier(doc){
  $(doc).click( this.goToHome );
  this.update(doc);
  setInterval( function(){
    mybrute.update(doc);
  }, 60*1000 );
}

MybruteNotifier.prototype = {
  goToHome : function(){
    jetpack.tabs.open("http://mybrute.com");
    jetpack.tabs[jetpack.tabs.length-1].focus();
  },

  update: function(doc){
    var url = "http://mybrute.com/";
    doc = $(doc);
    doc.find("#status").text("Loading...");
    $.get( url, function(data){
      if (data.match(/<div id="swf_create_form" class="swf">/)) {
        doc.find("#status").text("Online").css({"color":"black"});
      }
      else if (data.match(/brutal error/)) {
        doc.find("#status").text("Error").css({"color":"red"});
        mybrute.update(doc);
      }
      else {
        doc.find("#status").text("Offline").css({"color":"red"});
      }
    });
  }
}

jetpack.statusBar.append({
  html: <>
    <div style="padding:2px">
      <div id="status" style="background:url('http://mybrute.com/favicon.ico') no-repeat; padding-left:20px; padding-bottom:3px; font-family:Tahoma; font-size: 8pt;">Loading...</div>
    </div>
  </>,
  width: 80,
  onReady: function(doc){
    mybrute = new MybruteNotifier(doc);
  },
});