

(function() {
  /* http://feather.elektrum.org/book/src.html */

  var scripts = document.getElementsByTagName('script');
  var myScript = scripts[ scripts.length - 1 ];

  var queryString = myScript.src.replace(/^[^\?]+\??/,'');

  var params = parseQuery( queryString );

  function parseQuery ( query ) {
     var Params = new Object ();
     if ( ! query ) return Params; // return empty object
     var Pairs = query.split(/[;&]/);
     for ( var i = 0; i < Pairs.length; i++ ) {
        var KeyVal = Pairs[i].split('=');
        if ( ! KeyVal || KeyVal.length != 2 ) continue;
        var key = unescape( KeyVal[0] );
        var val = unescape( KeyVal[1] );
        val = val.replace(/\+/g, ' ');
        Params[key] = val;
     }
     return Params;
  }

  /*alert(params['wid']);*/

  /*
   * (c)2006 Jesse Skinner/Dean Edwards/Matthias Miller/John Resig
   * Special thanks to Dan Webb's domready.js Prototype extension
   * and Simon Willison's addLoadEvent
   *
   * For more info, see:
   * http://www.thefutureoftheweb.com/blog/adddomloadevent
   * http://dean.edwards.name/weblog/2006/06/again/
   * http://www.vivabit.com/bollocks/2006/06/21/a-dom-ready-extension-for-prototype
   * http://simon.incutio.com/archive/2004/05/26/addLoadEvent
   *
   *
   * To use: call addDOMLoadEvent one or more times with functions, ie:
   *
   *    function something() {
   *       // do something
   *    }
   *    addDOMLoadEvent(something);
   *
   *    addDOMLoadEvent(function() {
   *        // do other stuff
   *    });
   *
   */
  addDOMLoadEvent = (function(){
      // create event function stack
      var load_events = [],
          load_timer,
          script,
          done,
          exec,
          old_onload,
          init = function () {
              done = true;

              // kill the timer
              clearInterval(load_timer);

              // execute each function in the stack in the order they were added
              while (exec = load_events.shift())
                  exec();

              if (script) script.onreadystatechange = '';
          };

      return function (func) {
          // if the init function was already ran, just run this function now and stop
          if (done) return func();

          if (!load_events[0]) {
              // for Mozilla/Opera9
              if (document.addEventListener)
                  document.addEventListener("DOMContentLoaded", init, false);

              // for Internet Explorer
              /*@cc_on @*/
              /*@if (@_win32)
                  document.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");
                  script = document.getElementById("__ie_onload");
                  script.onreadystatechange = function() {
                      if (this.readyState == "complete")
                          init(); // call the onload handler
                  };
              /*@end @*/

              // for Safari
              if (/WebKit/i.test(navigator.userAgent)) { // sniff
                  load_timer = setInterval(function() {
                      if (/loaded|complete/.test(document.readyState))
                          init(); // call the onload handler
                  }, 10);
              }

              // for other browsers set the window.onload, but also execute the old window.onload
              old_onload = window.onload;
              window.onload = function() {
                  init();
                  if (old_onload) old_onload();
              };
          }

          load_events.push(func);
      };
  })();

  function sharespostWidget(targetId) {
    var elem = document.getElementById(targetId);
    var iframe = document.createElement("iframe");
    iframe.src = "http://api.sharespost.com/companies/Twitter/widget_150.html?frame=true";
    iframe.height = elem.getAttribute("height");
    iframe.width = elem.getAttribute("width");
    iframe.scrolling = "no";
    iframe.setAttribute("frameBorder", 0);
    elem.appendChild(iframe);
  }

  addDOMLoadEvent(function() {
    sharespostWidget(params['targetId']);
  });

})();
