jQuery.fn.handleTranslate = function(){
	if(this.size() > 0){
		var link = $j(this);
		var cont = link.parent("li");
		var translateDiv = $j(document.createElement("div")).addClass("translate");
		$j(this).toggle(function() {
			if(cont.find(".translate").size() === 0){
				var loaded = function(){

					// FROM GLOBALJAVASCRIPT
					var translateImage = "http://www.malenaernman.com/wp-content/uploads/translate_beta.png";
					var translateImageAlt = "Google";

					var img = $j(document.createElement("img"));
					img.attr("src",translateImage);
					img.attr("alt", translateImageAlt);

					var close = $j(document.createElement("a"));
					close.addClass("close");
					close.attr("href", "#");

					close.click(function() {
						link.trigger("click");
						return false;
					});

					var closeSpan = $j(document.createElement("span"));
					closeSpan.text("close");
					
					close.append(closeSpan);
					
					var translateParagraph = $j(document.createElement("p"));
					translateParagraph.text("Use Google to translate the web site. We take no responsibility for the accuracy of the translation.");
					
					var formHolder = $j(document.createElement("p"));
					
					var label = $j(document.createElement("label"));
					label.text("select language");
					label.attr("for", "translateSelect");
					
					var select = $j(document.createElement("select"));
					select.attr("id", "translateSelect");
					
					var FirstOption = $j(document.createElement("option"));
					FirstOption.val("-1");
					FirstOption.text("select language");
					select.append(FirstOption);
					
					for (var i in google.language.Languages) {
						if(i !== "UNKNOWN" && google.language.isTranslatable(google.language.Languages[i])){
							var option = $j(document.createElement("option"));
							option.val(google.language.Languages[i]);
							option.text(i.replace("_", " "));
							select.append(option);
						}
					}
					
					select.change(function() {
						var lang = select.find("option:selected").attr("value");
						document.location.href = link.attr("href").replace("hl=en", "hl=" + lang).replace("tl=en", "tl=" + lang) + document.location;
					});

					
					formHolder.append(label);
					formHolder.append(select);

					translateDiv.prepend(formHolder);
					translateDiv.prepend(translateParagraph);
					translateDiv.prepend(img);
					translateDiv.prepend(close);
					translateDiv.addClass("active");
					if($j.browser.msie){
						$j("#navigation").css("z-index","1");
					}
					cont.append(translateDiv);
					return false;
					
				};
				$j.getScript('http://www.google.com/jsapi?', function(){
					google.load('language', '1', {'callback' : loaded});
				});
			}else{
				translateDiv.addClass("active");
				if($j.browser.msie){
					$j("#navigation").css("z-index","1");
				}
			}
			
		}, function() {
			translateDiv.removeClass("active");
			if($j.browser.msie){
				$j("#navigation").css("z-index","-1");
			}
			return false;
		});
		
	}
	return this;
};