(function() {
  // returns the script element matching the current script's name (based on params[:action])
function selfLocate() {
  var scriptName = "promo_button",
      hostName = "www.ridecharge.com",
      scripts = document.getElementsByTagName("script"),
      script,
      src;
  
  for(i = 0, j = scripts.length; i < j; ++i) {
    script = scripts[i];
    src = script.getAttribute("src");
    if(src && (src.indexOf(scriptName) != -1) && (src.indexOf(hostName) != -1) )
      return script;
  }
  return false;
}
// inserts markup before some element, first wrapping it in a div
function injectBefore(origNode, content) {
  var parent = origNode.parentNode,
      wrapper = document.createElement("div");
  wrapper.innerHTML = content;
  parent.insertBefore(wrapper, origNode);
  return wrapper;
}

function emptyElement(elem) {
  while(elem.firstChild)
    elem.removeChild(elem.firstChild);
}

function replaceText(elem, txt) {
  txt = document.createTextNode(txt);
  emptyElement(elem);
  elem.appendChild(txt);
}

var thisScript = selfLocate();
  
if(thisScript) {
  var markup = "\u003Cdiv style=\"position:relative;\"\u003E\n  \u003Cdiv style=\"\"\u003E\n    \u003Cdiv style=\"\"\u003E\n      \u003Cdiv style=\"\"\u003E\n        \n\u003Ca href=\"http://taximagic.com\" title=\"40,000 taxis are just a tap away with Taxi Magic\"\u003E\n  \u003Cimg src=\"http://www.ridecharge.com/images/design/widgets/book_fast_free_button.png\" style=\"border:none;\" alt=\"40,000 taxis are just a tap away with Taxi Magic\"/\u003E\n\u003C/a\u003E\n\n      \u003C/div\u003E\n    \u003C/div\u003E\n  \u003C/div\u003E\n\u003C/div\u003E";
  injectBefore(thisScript, markup);
}
})();
