// ==UserScript==
// @name           Google New UI
// @namespace      http://zoolcar9.lhukie.net/greasemonkey
// @include        http://www.google.com/
// @description    Toggle Google Old/New UI
// ==/UserScript==

var name = /logo1w\.png$/.test(document.getElementById("logo").src) ? "new"
                                                                    : "old";

var form = document.getElementsByName("f")[0];
var footer = document.getElementById("footer");

switch (name) {
  case "old":
    insertLink(form.parentNode, form.nextSibling, name);
    break;
  case "new":
    if (footer) { // Firefox
      insertLink(footer, footer.firstChild, name);
    } else {  // Chrome
      insertLink(form.parentNode, form.nextSibling, name);
    }
}

function insertLink(aParentNode, aNextNode, aName) {
  var link = aParentNode.insertBefore(document.createElement("a"), aNextNode);
  link.href = "http://www.google.com/ncr";
  link.name = aName;
  link.appendChild(document.createTextNode(aName == "old"
                                            ? "Try the new interface"
                                            : "Return to old interface"));
  link.addEventListener("click", function(e) {
    document.cookie = this.name == "old"
                      ? "PREF=ID=20b6e4c2f44943bb:" +
                        "U=4bf292d46faad806:" +
                        "TM=1249677602:" +
                        "LM=1257919388:" +
                        "S=odm0Ys-53ZueXfZG;" +
                        "path=/; " +
                        "domain=.google.com"
                      : "PREF=;path=/; domain=.google.com";
  }, false);
}

