(function(){
  
  getParentScriptTag = function() {
    // Attempt to get parent script tag via id
    scr = document.getElementById("publish2_widget_token"); 
    // Legacy widgets don't have script tag id attributes, so find the parent script tag via url 
    if (!scr) {
      var scripts = document.getElementsByTagName('script');
      for (var i=0, len=scripts.length; i<len; i++) {  
        if (scripts[i].src == "http://www.publish2.com/syndicate/widget/?feed=newsgroups/articles-about-the-chicago-current.js") {
          scr = scripts[i];
          break;
        }
      } 
    }
  };
  
  injectContainer = function() {
    // Unique container for widget HTML, hidden until filled so we aren't adding elements to the live DOM
    var container = document.createElement('div');
    container.id = "publish2_widget_html_854624771";
    // Check for IE non-standard attribute
    if (typeof container.style.setAttribute != "undefined") {
      container.style.setAttribute('cssText', 'display:none', 0);
    } else {
      container.setAttribute('style', 'display:none');
    }
    scr.parentNode.insertBefore(container, scr);    
  };
  
  loadjQuery = function() {
    // jQuery assigned to window.p2jQuery with noConflict(true)
    var jquerysrc = document.createElement('script');
    jquerysrc.type = "text/javascript";
    jquerysrc.src = "http://www.publish2.com/static/js/jquery-1.4.2.min.widget.js";
    scr.parentNode.insertBefore(jquerysrc, scr);    
  };

  renderWidget = function(elapsed) {
    // Don't load display.js until window.p2jQuery is available
    if (typeof window.p2jQuery == "undefined") {
      if (elapsed <= 5000) { 
        setTimeout("renderWidget(" + (elapsed + 50) + ")", 50);
      } else {
        var error = document.createElement('div');
        var errornode = document.createTextNode("Publish2 widget temporarily unavailable");
        error.appendChild(errornode);
        scr.parentNode.insertBefore(error, scr);      
      }
    } else {
      
      // Load JSON, parse JSON and inject HTML into DOM 
      var widget = document.createElement('script');
      widget.src = "http://www.publish2.com/widget/display/publish2_widget_html_854624771/?feed=newsgroups/articles-about-the-chicago-current.js";
      widget.type = "text/javascript";
      scr.parentNode.insertBefore(widget, scr);        
    }
  };
  
getParentScriptTag();
injectContainer();
loadjQuery();
renderWidget(0);
})();