// ==UserScript==
// @name           AllegroTools (Homepage) dla IE i FF
// @namespace      http://www.allegrotoolsie.hopto.org/
// @description    Kilka ulatwien w dostepie do strony http://allegrotoolsie.hopto.org // v0.20070128.0
// @include        *
// ==/UserScript==

/////////////////////////////////////////////////////////////////

var ALLEGROTOOLSIE_HOMEPAGE = "http://allegrotoolsie.hopto.org";
var SCRIPTS_PAGE = "scripts.html";

function gotoAllegrotoolsHomepage()
{
  window.location.href = ALLEGROTOOLSIE_HOMEPAGE;
}

function checkScriptVersions()
{
  GM_xmlhttpRequest({method:"GET", url:ALLEGROTOOLSIE_HOMEPAGE + "/" + SCRIPTS_PAGE, onload:function(d){processCheckScriptVersionsResponse(d)}});
}

function processCheckScriptVersionsResponse(details)
{
  var result = false;
  if(details)
  {
    var responseText = details.responseText;
    if(responseText)
    {
      // First check for 'hopto.org' redirect...
      if(responseText.match(/<frame src="(.*?)" name="redir_frame".*?>/))
      {
        // ...and follow the redirect if found
        result = true;
        GM_xmlhttpRequest({method:"GET", url:RegExp.$1, onload:function(d){processCheckScriptVersionsResponse(d)}});
      }
      else
      {    
        // ...otherwise get the available scripts
        var array = details.responseText.match(/(<P>Link do skryptu: <A href=".*?">.*?<\/A> \(v.*?\).*?<\/P>)/g);
        if (array != null)
        {
          if (array.length > 0)
          {
            var string = "Aktualne wersje skryptow AllegroToolsIE:\n\n";
            for(var i = 0; i < array.length; i++)
            {
              if (array[i].match(/<P>Link do skryptu: <A href=".*?">(.*?)<\/A> \((v.*?)\).*?<\/P>/g))
              {
                string = string.concat(RegExp.$1 + " " + RegExp.$2 + "\n");
              }
            }
            result = true;
            alert(string);
          }
        }
      }
    }
  }

  if(result == false)
  {
    details.responseText
  }
}

function allegrotoolsHomepage()
{
  GM_registerMenuCommand("Przejdz do http://allegrotoolsie.hopto.org", gotoAllegrotoolsHomepage);
  GM_registerMenuCommand("Sprawdz wersje", checkScriptVersions);
}

/////////////////////////////////////////////////////////////////
// Start Allegro Tools Homepage script
/////////////////////////////////////////////////////////////////

allegrotoolsHomepage()
