/**
 * Statische Klasse zur Verwaltung des Favicons einer Seite.
 * Erfordert qxbasic-dombom.js .
 */
qx.Class.define("nx4.jsbase.util.Favicon",
{
  type : "static",

  statics :
  {
    /**
     * Favicon setzen.
     * Ggf. wird das bereits gesetzte Favicon entfernt.
     * @param iconUrl Url des Favicons.
     */
    update : function(iconUrl)
    {
      var docHead = document.getElementsByTagName("head")[0];
      var link = qx.bom.Element.create("link", { type:"image/x-icon", rel:"shortcut icon", href:iconUrl });
      this.remove();
      docHead.appendChild(link);
    },

    /**
     * Entfernt ein aktuell gesetztes Favicon.
     */
    remove : function()
    {
      var docHead = document.getElementsByTagName("head")[0];
      var links = docHead.getElementsByTagName("link");
      for(var i=0; i<links.length; i++)
      {
        var link = links[i];
        if (link.type=="image/x-icon" && link.rel=="shortcut icon")
        {
          docHead.removeChild(link);
          return; // Assuming only one match at most.
        }
      }
    }
  }
});
