// ==UserScript==
// @name        image search translate
// @namespace   http://twitter.com/eigokun
// @include     http://images.google.*/*
// @exclude     http://images.google.co.jp/*
// ==/UserScript==

(function() {
	var text = document.getElementsByClassName('lst').item(0);
	var submit = document.getElementsByClassName('lsb').item(0);
	var translate_button = document.createElement('input');
	translate_button.type = 'button';
	translate_button.value = 'translate';
	submit.parentNode.appendChild(translate_button);

	if(location.href.match("images.google.co.kr")) {
		select_lang = "ko";
	} else if(location.href.match("images.google.cn")) {
		select_lang = "zh-CN";
	} else if(location.href.match("images.google.com.tw")) {
		select_lang = "zh-TW";
	} else if(location.href.match("images.google.de")) {
		select_lang = "de";
	} else if(location.href.match("images.google.ru")) {
		select_lang = "ru";
	} else if(location.href.match("images.google.fr")) {
		select_lang = "fr";
	} else if(location.href.match("images.google.it")) {
		select_lang = "it";
	}

	translate_button.addEventListener("click", function() {
		GM_xmlhttpRequest({
			method: "GET",
			url: "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + text.value + "&langpair=" + "ja|" + select_lang,
			onload: function(x) {
				var restext = x.responseText;
				restext = restext.replace("{\"responseData\": {\"translatedText\":\"", "");
				restext = restext.replace("\"}\, \"responseDetails\": null\, \"responseStatus\": 200}", "");

				text.value = restext;
			}
		});
	}, true);
}());

