function insertFrameContent(iframe, root)
{ 
  var innerHTML = (iframe.contentDocument || iframe.contentWindow.document).body.innerHTML;
  iframe.parentNode.innerHTML = innerHTML.replace(/%ROOT%/ig, root); 
} 

function loadXMLDoc(dname) 
{
  try //Internet Explorer
  {
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
  catch(e)
  {
    try //Firefox, Mozilla, Opera, etc.
    {
      xmlDoc=document.implementation.createDocument("","",null);
    }
    catch(e)
    {
      alert(e.message)
    }
  }
  try 
  {
    xmlDoc.async=false;
    xmlDoc.load(dname);
    return(xmlDoc);
  }
  catch(e)
  {
    alert(e.message)
  }
  return(null);
}

function getScript(root, scriptId)
{
  var xmlDoc = loadXMLDoc(root + "script.xml");
  if(xmlDoc)
  {
    return xmlDoc.getElementsByTagName("script")[0];
  }  
  else
  {
    return null;
  }  
}

function getChanges(changesXmlUrl)
{
  var changesXML = loadXMLDoc(changesXmlUrl);
  if(changesXML)
  {
    var changes = changesXML.getElementsByTagName("change");
    if(changes && changes.length > 0)
    {
      return changes;
    }  
  } 
  
  return null;
}  

function writeChangelog(scriptId)
{
  document.write("<P><STRONG><FONT size=4>Historia zmian " + scriptId + ".ie.user.js</FONT></STRONG></P>");

  var script = getScript("", scriptId);
  if(script)
  {
    var versions = script.getElementsByTagName("version");
    for(var i = 0; i < versions.length; i++)
    {
      var version = versions[i].childNodes[0].nodeValue;

      document.write("<P><STRONG><FONT size=3><A target='_top' href='" + version + "/" + scriptId + ".ie.user.js'>v" + version + "</A></FONT></STRONG></P>");
      var changes = getChanges(version + "/version.xml");
      if(changes)
      {
        document.write("<ul>");
        for(var j = 0; j < changes.length; j++)
        {
          document.write("<li>" + changes[j].childNodes[0].nodeValue + "</li>");
        }
        document.write("</ul>");
      }
    }
  }
}

function writeScriptHeader(scriptId)
{
  var script = getScript("", scriptId);
  if(script)
  {
      var name = script.getElementsByTagName("name")[0].childNodes[0].nodeValue;
      var version = script.getElementsByTagName("version")[0].childNodes[0].nodeValue;

      document.write("<P><FONT size='3'><STRONG><a name='" + scriptId + ".ie.user'></a>" + name + " " + getBrowserSupportString("../", script) + "</STRONG></FONT></P>");
      document.write("<P>Link do skryptu: <A target='_top' href='" + scriptId + ".ie.user/" + version + "/" + scriptId + ".ie.user.js'>" + scriptId + ".ie.user.js</A> (" + version + ") <A target='_top' href='http://allegrotoolsie.hopto.org/" + scriptId + ".ie.user/changelog_xml.html'>historia zmian</A></P>");
  }
}

function writeScriptsMenu(scripts)
{
  if(scripts)
  {
    for(var i = 0; i < scripts.length; i++)
    {
      var id = scripts[i].attributes.getNamedItem("id").nodeValue;
      var menuName = scripts[i].attributes.getNamedItem("menuName").nodeValue;
      document.write("&nbsp;&nbsp;- <a target='_top' href='http://allegrotoolsie.hopto.org/" + id + ".ie.user/index_xml.html'>" + menuName + "</a><BR>");
    }  
  }
}
function getBrowserSupportString(root, script)
{
  var browserSupport = new Array(new Array("ie", "IE", script.attributes.getNamedItem("ie").nodeValue),
                                  new Array("ff", "FF", script.attributes.getNamedItem("ff").nodeValue),
                                  new Array("op", "Operze", script.attributes.getNamedItem("opera").nodeValue));
  
  var browserSupportString = "";
  for(var i = 0; i < browserSupport.length; i++)
  {
    if(browserSupport[i][2] == "yes")
    {
      browserSupportString += "<IMG title='Dziala w " + browserSupport[i][1] + "' src='" + root + "img/" + browserSupport[i][0] + "_logo.gif'/>";
    }
    else if(browserSupport[i][2] == "no")
    {
      browserSupportString += "<IMG title='Nie dziala w " + browserSupport[i][1] + "' src='" + root + "img/no_" + browserSupport[i][0] + "_logo.gif'/>";
    }
    else if(browserSupport[i][2] == "partial")
    {
      browserSupportString += "<IMG title='Czesciowo dziala w " + browserSupport[i][1] + "' src='" + root + "img/partial_" + browserSupport[i][0] + "_logo.gif'/>";
    }
    browserSupportString += " ";
  }
  return browserSupportString;
}
