YAHOO.namespace("mikkelricky");

(function() {
	var Dom = YAHOO.util.Dom;

	YAHOO.mikkelricky.search = function(name, value) {
		var searchterm;
		if (value) {
			searchterm = value;
		} else if (Dom.get("searchterm")) {
			searchterm = Dom.get("searchterm").value;
		}
		if (!searchterm) {
			searchterm = "hest";
		}

		YAHOO.log("searchterm: "+searchterm);
		YAHOO.log("name:"+name);
		var params, url;
		switch (name) {
		case "google":
			params = { "q": searchterm };
			url = "http://www.google.com/search";
			break;
		case "retskrivning":
			params = { "q": searchterm };
			url = "http://www.retskrivningsordbogen.dk/ro/ro.htm";
			break;
		case "sproget":
			params = { "SearchableText": searchterm };
			url = "http://sproget.dk/lookup";
			break;
		case "dictionary":
			// params = { "va": searchterm, "book": "Dictionary" };
			// url = "http://www.m-w.com/cgi-bin/dictionary";
			url = YAHOO.lang.substitute("http://www.merriam-webster.com/dictionary/{query}", {
					book: "dictionary",
					query: encodeURIComponent(searchterm)
				});
			break;
		case "imdb":
			params = { "q": searchterm, "s": "all" };
			url = "http://imdb.com/find";
			break;
		case "wikipedia":
			params = { "search": searchterm, "go": "Go" };
			url = "http://en.wikipedia.org/wiki/Special:Search";
			break;
		case "translate":
			params = { "text": searchterm, "langpair": Dom.get("langpair").value };
			url = "http://translate.google.com/translate_t";
			break;
		}


		;;; console.debug("url", url);

		if (url) {
			var encodedParams = "";
			if (params) {
				for (var name in params) {
					if (encodedParams) {
						encodedParams += '&';
					}
					encodedParams += encodeURIComponent(name)+'='+encodeURIComponent(params[name]);
				}
			}

			var action = url;
			if (encodedParams) {
				action += (url.indexOf("?") > -1 ? "&" : "?")+encodedParams;
			}
			YAHOO.log("action: "+action);
			document.location = action; //(url+(url.indexOf("?") > -1 ? "&" : "?")+MochiKit.Base.queryString(params));
		}
	}

	YAHOO.mikkelricky.createButton = function(el, attrs) {
		//  YAHOO.util.Event.onDOMReady(function (e) {
		var b = YAHOO.util.Dom.get(el);
		if (b) {
			// A little hack to remember the form ...
			var form = b.form;
			var button = new YAHOO.widget.Button(el, attrs);
			button.form = form;

			var onclick;
			if (attrs && attrs.onclick) {
				button.on("click", attrs.onclick);
			} else if (onclick = b.getAttribute("onclick")) {
				button.on("click", function(e) { eval(onclick); }, button, true);
			}

			// MSIE cannot handle getAttribute("class")
			var className;
			if ((className = b.getAttribute("class")) || (className = b.getAttribute("className"))) {
				button.addClass(className);
			}
		}
	}
}());

