/**
 * (c) Firma JAKUBIAK 2007
 * Antoni Jakubiak
 * http://www.jakubiak.biz/
 */
 

/**
 * Tlumaczenia Google dla FSJ
 */

function gtStripHtmlTags(text) {
	text = text.replace(/&(lt|gt);/g, function (strMatch, p1){
		return (p1 == "lt")? "<" : ">";
	});
	return text.replace(/<\/?[^>]+(>|$)/g, "");
}


function gtCreateResponseCallback(uniqid,textvalue,translationlanguage) {
	var f = function(result) {
		if (!result.error) {
			var container = document.getElementById( uniqid );
			var old = container.innerHTML; 

			container.innerHTML = gtStripHtmlTags( result.translation );

			container.onmouseover = function() {
				gtTooltipShow(null, old);
			};
			container.onmouseout = gtTooltipHide;

			
			
			// result.detectedSourceLanguage
			advAJAX.post({
    			url: "translation-xml",
    			parameters : {
    				"call"                : "save",
    				"uniqid"              : uniqid,
      				"translationlanguage" : translationlanguage,
      				"translationvalue"    : result.translation
    			},
    			onSuccess : function(result) {
					if( ! result.responseXML ) {
						return;
					}
					var status = result.responseXML.getElementsByTagName("status").item(0).firstChild.nodeValue;
					if ( status != "ok" ) {
						return;
					}
					var textid = result.responseXML.getElementsByTagName("text").item(0).getAttribute("textid"); 
					container.onmouseover = function() {
						gtTooltipShow(textid, old);
					};
    			}
			});
  		} else {
			// zastanowic sie trzeba  		
  		}
	};
	return f;
}

function gtTooltipShow(textid, text, allowImprovement) {
	if(!gtLoaded) {
		return;
	}
	if ( ! textid || ! hasIdentity || ! allowImprovement) {
		tooltip.show(text);
	} else {
		shortcut.add("Ctrl+1", function() {
			window.location.href = "translation-improveformular.html?textid="+textid + "&returnUrl="+escape(window.location.href);
		}, {
			'type':'keydown',
			'propagate':false,
			'target':document
		});
		
		var t = document.getElementById("msgPressKeyToEdit").innerHTML + text;
		tooltip.show(t);
	}
}
function gtTooltipHide() {
	try {
		tooltip.hide();
		shortcut.remove("Ctrl+1");
	} catch (e){}
}


function gt(uniqid, fromLanguage, toLanguage) {
	var el = document.getElementById(uniqid);
	if(!el) {
		return;
	}
	var text = document.getElementById(uniqid).innerHTML;
	var text2 = gtStripHtmlTags( text );
	if( text2 != text ) {
		// strip tags
		text = text2;
	}
	if(!text) {
		return;
	}
	
	var f = function() {
		google.language.translate( text, fromLanguage, toLanguage, gtCreateResponseCallback(uniqid,text,toLanguage) );
	};
	setTimeout(f, 300);
}

/**
 * Ponizszy kod jest moim podarunkiem dla IE
 */
var gtLoaded = false;
var gtWindowOnloadOld = window.onload;


window.onload = function() {
	if(gtWindowOnloadOld) {
		try {
			gtWindowOnloadOld();
		} catch(e) {}
	}
	var f = function() {
		gtLoaded = true;
	}
	setTimeout(f, 300);
}


