
google.load("language","1");var langFrom="en";var langTo="es";var characterLimit=500;var languageName=new Array();languageName.en=new Array();languageName.en["en"]="English";languageName.en["es"]="Spanish";languageName.en["de"]="German";languageName.en["fr"]="French";languageName.en["pt-PT"]="Portuguese";languageName.en["it"]="Italian";languageName.en["ar"]="Arabic";languageName.en["zh"]="Chinese";languageName.en["ja"]="Japanese";languageName.en["ko"]="Korean";languageName.en["ru"]="Russian";languageName.en["nl"]="Dutch";languageName.en["el"]="Greek";languageName.en["ar"]="Arabic";languageName.es=new Array();languageName.es["en"]="Ingl&#233;s";languageName.es["es"]="Espa&#241;ol";languageName.es["de"]="Alem&#225;n";languageName.es["fr"]="Franc&#233;s";languageName.es["pt-PT"]="Portugu&#233;s";languageName.es["it"]="Italiano";languageName.es["ar"]="&#193;rabe";languageName.es["zh"]="Chino";languageName.es["ja"]="Japon&#233;s";languageName.es["ko"]="Coreano";languageName.es["ru"]="Ruso";languageName.es["nl"]="Neerland&#233;s";languageName.es["el"]="Griego";languageName.es["ar"]="&Aacute;rabe";var localizedDescriptions=new Array();localizedInternal=new Array();localizedDescriptions.en=new Array();localizedDescriptions.en["forceTranslateButton"]="Translate";localizedDescriptions.en["identifyButton"]="Identify";localizedDescriptions.en["othersCharOption"]="Others";localizedDescriptions.en["instructionsText"]="Start typing any text you want to be translated into the first box. The words should be automatically translated into the language of your choice and appear in the lower box. To switch languages, simply click on the language you would like to translate from and then proceed to select the language you would like to translate into. In order to swap the contents of the two boxes, use a double click.";localizedDescriptions.en["searchText"]="[Search for Translated Text]";localizedDescriptions.en["backLink"]="Joel's Blog";localizedDescriptions.en["problemLink"]="Report a Problem";localizedDescriptions.en["interfaceLangText"]="Set interface language";localizedDescriptions.en["charactersRemaining"]="characters remaining";localizedInternal.en=new Array();localizedInternal.en["charCountError"]="You have gone over the "+window.characterLimit+" character limit.";localizedInternal.en["identError"]="Language could not be identified. Consider adding more content.";localizedDescriptions.es=new Array();localizedDescriptions.es["forceTranslateButton"]="Traducir";localizedDescriptions.es["identifyButton"]="Identificar";localizedDescriptions.es["othersCharOption"]="Otras";localizedDescriptions.es["instructionsText"]="Comience redactando el texto que quiera traducir en el primer recuadro. Las palabras ser&#225;n autom&#225;ticamente traducidas al lenguaje que elija en en el recuadro inferior. Para elegir idioma, simplemente haga click en el idioma desde el que quiera traducir y despu&#233;s en el recuadro de abajo al idioma al que quiere traducir. Para intercambiar los  contenidos de ambos recuadros simplemente haga doble click en el interior de uno de ellos.";localizedDescriptions.es["searchText"]="[B&#250;sca para el texto traducido en la red]";localizedDescriptions.es["backLink"]="Blog del Joel";localizedDescriptions.es["problemLink"]="Informar de un error";localizedDescriptions.es["interfaceLangText"]="Elegir lenguaje de interfaz";localizedDescriptions.es["charactersRemaining"]="caracteres restantes";localizedInternal.es=new Array();localizedInternal.es["charCountError"]="Has pasado el l&#237;mite del "+window.characterLimit+" car&#225;cteres.";localizedInternal.es["identError"]="No pod&#237;a identificar La lengua.";var languages=["en","es","de","fr","it","pt-PT","zh","ja","ko","ru","el","nl","ar"];var interfaceLangs=["en","es"];nextKeySemaphore=false;nextKeyDictionary=new Array();dictionaries={acute:{a:"\xe1",e:"\xe9",i:"\xed",o:"\xf3",u:"\xfa",n:"\xf1","?":"\xbf","!":"\xa1"},tilde:{a:"\xe3",n:"\xf1",o:"\xf5"},grave:{a:"\xe0",e:"\xe8",i:"\xec",o:"\xf2",u:"\xf9"},caret:{a:"\xe2",e:"\xea",i:"\xee",o:"\xf4",u:"\xfb"},umlat:{a:"\xe4",e:"\xeb",i:"\xef",o:"\xf6",u:"\xfc",y:"\xff"},halo:{a:"\xe5"},ligature:{a:"\xe6"},cedilla:{c:"\xe7"}};if(window.ActiveXObject){window.ie=window[window.XMLHttpRequest?"ie7":"ie6"]=true}else{if(document.childNodes&&!document.all&&!navigator.taintEnabled){window.khtml=true}else{if(document.getBoxObjectFor!=null){window.gecko=true}}}if(window.ie6){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}String.prototype.test=function(B,A){return((typeof B=="string")?new RegExp(B,A):B).test(this)};window.updateChecks=0;window.lastUpdate=0;var KeyEvent=function(A){this.event=A||window.event;this.type=this.event.type;this.target=this.event.target||this.event.srcElement;if(this.target.nodeType==3){this.target=this.target.parentNode}this.shift=this.event.shiftKey;this.control=this.event.ctrlKey;this.alt=this.event.altKey;this.meta=this.event.metaKey;if(this.type.test(/key/)){this.code=this.event.charCode||this.event.keyCode;this.key=this.key||String.fromCharCode(this.code)}};var replaceAtCursor=function(E,D){if(window.ie){E.focus();sel=document.selection.createRange();sel.text=D}else{if(E.selectionStart||E.selectionStart==0){var C=E.selectionStart;var B=E.selectionEnd;E.value=E.value.substring(0,C)+D+E.value.substring(B,E.value.length);if(window.gecko){E.setSelectionRange(C+1,C+1);E.focus()}else{var A=E.createTextRange();A.collapse(true);A.moveStart("character",C);A.moveEnd("character",B-C);A.select()}}else{E.value+=D}}};queue=[];function getPageSize(){var A,D;if(window.innerHeight&&window.scrollMaxY){A=document.body.scrollWidth;D=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){A=document.body.scrollWidth;D=document.body.scrollHeight}else{A=document.body.offsetWidth;D=document.body.offsetHeight}}var C,B;if(self.innerHeight){C=self.innerWidth;B=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){C=document.documentElement.clientWidth;B=document.documentElement.clientHeight}else{if(document.body){C=document.body.clientWidth;B=document.body.clientHeight}}}if(D<B){pageHeight=B}else{pageHeight=D}if(A<C){pageWidth=C}else{pageWidth=A}arrayPageSize=new Array(pageWidth,pageHeight,C,B);return arrayPageSize}function typeOf(A){var B=typeof A;if(B==="object"){if(A){if(typeof A.length==="number"&&!(A.propertyIsEnumerable("length"))&&typeof A.splice==="function"){B="array"}}else{B="null"}}return B}function $(){var C=new Array();for(var A=0;A<arguments.length;A++){var B=arguments[A];if(typeof B=="string"){B=document.getElementById(B)}if(arguments.length==1){return B}C.push(B)}return C}var Cookie={set:function(A,D,C){if(typeOf(C)!="object"){C={domain:false,path:false,duration:365}}D=escape(D);if(C.domain){D+="; domain="+C.domain}if(C.path){D+="; path="+C.path}if(C.duration){var B=new Date();B.setTime(B.getTime()+(C.duration*86400000));D+="; expires="+B.toGMTString()}document.cookie=A+"="+D},get:function(B){var A=document.cookie.match("(?:^|;)\\s*"+B+"=([^;]*)");return A?unescape(A[1]):false},remove:function(A){this.set(A,"",{duration:-1})}};function createXMLHttpRequest(){try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(A){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(A){}try{return new XMLHttpRequest()}catch(A){}alert("XMLHttpRequest not supported");return null}function isEmpty(A){return((A==null)||(A.length==0)||/^\s+$/.test(A))}window.identServ=createXMLHttpRequest();function translate(C,B,A){window.lastUpdate=window.updateChecks;if(C.length==0){return false}$("loading").style.display="inline";google.language.translate(C,B,A,render)}function identify(){text=$("text").value;if(text.length==0){return false}try{var A=new Date();identServ.open("GET",identUrl+"?text="+encodeURIComponent(text)+"&identify=true",true);identServ.send("");$("loading").style.display="inline";identServ.onreadystatechange=identListener}catch(B){}}function render(A){if(!A.error){$("translated").innerHTML=A.translation;if(langTo=="ar"){$("translated").dir="rtl"}else{$("translated").dir="ltr"}}else{alert(A.error.toSource())}$("loading").style.display="none"}function identListener(){if(window.identServ.readyState==4){response=eval(identServ.responseText);if(response.language!=="unknown"){updateLangFrom(response.language)}else{$("count").style.width="500px";$("count").style.backgroundColor="#d00";$("status").style.color="#fff";$("charactersRemaining").innerHTML="";$("countText").innerHTML=localizedInternal[interfaceLang]["identError"]}$("loading").style.display="none"}}function doSearch(){if(!isEmpty($("translated").innerHTML)){$("searchQueryText").value=$("translated").innerHTML;$("searchLang").value=langTo;$("searchForm").submit()}}var text=$("text");var translated=$("translated");function updateLangTo(A){if(typeOf(window.updateLangHook)=="function"){window.updateLangHook(A)}for(i=0;i<$("languagesTo").childNodes.length;i++){$("languagesTo").childNodes[i].style.backgroundColor="#036"}$(A+"To").style.backgroundColor="#369";window.langTo=A;if(langTo==null||langFrom==null){}else{update(false)}}function updateLangFrom(A){for(i=0;i<$("languagesFrom").childNodes.length;i++){$("languagesFrom").childNodes[i].style.backgroundColor="#036"}$(A+"From").style.backgroundColor="#369";$("languagesTo").innerHTML="";for(i=0;i<languages.length;i++){var B=languages[i];if(B!==A){span=document.createElement("span");span.id=B+"To";span.setAttribute("className","lang");span.setAttribute("class","lang");span.innerHTML="<span onclick=\"updateLangTo('"+B+"')\">"+languageName[window.interfaceLang][B]+"</span>";$("languagesTo").appendChild(span)}if((i+1)%7==0){$("languagesTo").appendChild(document.createElement("br"))}}$("languagesTo").style.height="auto";$("languagesTo").style.align="center";window.langFrom=A;if(A=="ar"){$("text").dir="rtl"}else{$("text").dir="ltr"}if(A!=="en"){updateLangTo("en")}else{updateLangTo("es")}}function swap(){var A=$("text").value;$("text").value=$("translated").innerHTML;$("translated").innerHTML=A}function insertChar(A){chr=A.value;replaceAtCursor($("text"),chr);A.selectedIndex=0}function update(B){window.updateChecks++;B=typeOf(B)!="undefined"?B:true;var A=$("text").value.charCodeAt($("text").value.length-1);if($("text").value.length<window.characterLimit){$("status").style.color="#fff";$("count").style.backgroundColor="#369";$("count").style.width=((window.characterLimit-$("text").value.length)/window.characterLimit)*500+"px";$("countText").innerHTML=(window.characterLimit-$("text").value.length)+"/"+window.characterLimit;$("charactersRemaining").innerHTML=localizedDescriptions[interfaceLang]["charactersRemaining"]}else{$("count").style.width="500px";$("count").style.backgroundColor="#d00";$("status").style.color="#fff";$("charactersRemaining").innerHTML="";$("countText").innerHTML=localizedInternal[interfaceLang]["charCountError"];return false}if(B){if((A<48)||(A>122)||((A>57)&&(A<65))||((A>90)&&(A<97))){if(window.langTo==null||window.langFrom==null){}else{translate($("text").value,langFrom,langTo)}}}else{if(window.langTo==null||window.langFrom==null){}else{translate($("text").value,langFrom,langTo)}}}function populateLanguagesFrom(){$("languagesFrom").innerHTML="";$("languagesFrom").style.display="inline";for(i in languages){i=parseInt(i);span=document.createElement("span");span.id=languages[i]+"From";span.setAttribute("className","lang");span.setAttribute("class","lang");span.innerHTML="<span onclick=\"updateLangFrom('"+languages[i]+"')\">"+languageName[window.interfaceLang][languages[i]]+"</span>";$("languagesFrom").appendChild(span);if((i+1)%7==0){$("languagesFrom").appendChild(document.createElement("br"))}}}function setInterfaceLang(A){window.interfaceLang=A;localize();updateLangFrom(A);Cookie.set("interfaceLang",A)}function localize(){populateLanguagesFrom();for(i in localizedDescriptions[interfaceLang]){if(typeof $(i).value=="string"&&$(i).nodeName!="OPTION"){$(i).value=localizedDescriptions[interfaceLang][i]}else{$(i).innerHTML=localizedDescriptions[interfaceLang][i]}}while($("interfaceLangSelector").hasChildNodes()==true){$("interfaceLangSelector").removeChild($("interfaceLangSelector").childNodes[0])}for(i in interfaceLangs){code=interfaceLangs[i];name=languageName[code][code];option=document.createElement("option");option.id="interfaceLangSelector"+code;option.value=code;option.innerHTML=name;$("interfaceLangSelector").appendChild(option)}$("interfaceLangSelector"+interfaceLang).selected=true}var hotKeyInit=function(){if((window.gecko||window.ie)&&interfaceLang=="en"){document.getElementById("text").onkeypress=function(A){A=new KeyEvent(A);if(nextKeySemaphore==true&&(A.key.charCodeAt()!==17||A.key.charCodeAt()!==39)){nextKeySemaphore=false;lastChar=A.key;document.getElementById("tickTable").style.display="none";if(nextKeyDictionary[lastChar.toLowerCase()]){replaceAtCursor(this,A.shift?nextKeyDictionary[lastChar.toLowerCase()].toUpperCase():nextKeyDictionary[lastChar]);return false}}};document.getElementById("text").onkeyup=function(A){update();var A=new KeyEvent(A);if(nextKeySemaphore==false){if(A.control&&A.key.charCodeAt()==222){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.acute}else{if(A.control&&A.shift&&A.key.charCodeAt()==192){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.tilde}else{if(A.control&&!A.shift&&A.key.charCodeAt()==192){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.grave}else{if(A.control&&A.shift&&A.key.charCodeAt()==54){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.caret}else{if(A.control&&A.shift&&A.key.charCodeAt()==(window.ie?186:59)){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.umlat}else{if(A.control&&A.shift&&A.key.charCodeAt()==56){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.halo}else{if(A.control&&A.shift&&A.key.charCodeAt()==55){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.ligature}else{if(A.control&&A.key.charCodeAt()==188){document.getElementById("tickTable").style.display="block";nextKeySemaphore=true;nextKeyDictionary=dictionaries.cedilla}}}}}}}}}}}};var init=function(){localize();interfaceLangCookie=Cookie.get("interfaceLang");if(interfaceLangCookie!=false){setInterfaceLang(interfaceLangCookie);updateLangFrom(interfaceLangCookie)}else{updateLangFrom("en")}$("languagesTo").style.height="auto";$("problemLink").onclick=function(){if(meebome.showable){meebome.show();return false}else{return true}return false};hotKeyInit()};var meebome={showable:false,shown:false,hide:function(){$("cover").style.display="none";$("widget").style.top="0px";$("widget").style.height="3px";$("widget").style.width="3px"},show:function(){this.shown=true;offset=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;$("cover").style.top=offset+"px";$("cover").style.display="";$("cover").style.height=getPageSize()[1]+"px";$("cover").style.width=getPageSize()[0]+"px";$("widget").style.top="50px";$("widget").style.left="100px";$("widget").style.height="300px";$("widget").style.width="400px"},recieve:function(B,A){if(A=="agnokapathetic"){if(!this.shown){this.show()}}},online:function(){this.showable=true}};gomeebo=new Image(80,15);gomeebo.src="http://www.gomeebo.com/buttons/gomeebo-3.gif";mod_python=new Image(80,15);mod_python.src="http://ajaxtrans.com/images/python-80x15.gif";