google.load("language", "1"); $(document).ready(function () { $(".faqTitle").click ( function () { var fldName = $(this).attr('id'); if ($("#"+fldName+"_answer").css("display") == "none") { $("#"+fldName+"_answer").slideDown(); } else { $("#"+fldName+"_answer").slideUp(); } } ); $("#feedback").hover( function () { $("#fbbutton").attr("src","http://www.bugaword.com/p/feedb-red-hover.png"); }, function () { $("#fbbutton").attr("src","http://www.bugaword.com/p/feedb-red.png"); } ); $("#s").click( function () { if ($(this).val() == "Hier bitte Deinen Text eingeben ...") { $(this).val(''); } } ); $("#s").blur( function () { if ($(this).val() == "") { $(this).val('Hier bitte Deinen Text eingeben ...'); } } ); $(".flagselector_link").toggle( function () { $(".flagselector").hide(); $(".flagselectorh3").hide(); myId = $(this).attr("id").substr(18); $("#flagselector_"+myId).fadeIn("slow"); return false; }, function () { $(".flagselector").hide(); $(".flagselectorh3").hide(); myId = $(this).attr("id").substr(18); $("#flagselector_"+myId).fadeOut("slow"); return false; } ); $('.picture a').hover(function () { $(this).find('strong').stop().fadeTo('normal', 1); }, function () { $(this).find('strong').stop().fadeTo('normal', 0); }); var myCurrTranslation, myLastTranslation, myOrigTranslation, myBeforeLastTranslation, myCurrLanguage, myLastLanguage, myOrigLanguage, myTempLanguage; var myLang1, myLang2, myTranslation1, myTranslation2, myDirection; var bJustShow; var myRedirectUrl; var myCounter, myMaxSteps; var myCommentColor, myCommentId, myCommentLang; var myCurrentStepNum = 1; var myTranslationsArchiv1, myTranslationsArchiv2; var myAlreadyInArchiv = false; $(".translateBtn").click ( function () { //Show-Modus setzen bShowFinishMode = false; //Zielsprache bestimmen myLang2 = $(this).attr("id"); fctCheckTranslation(); //Übersetzungsvariablen initialisieren //fctInit(); } ); //xmlDOM - START // IE DOMParser wrapper if ( window['DOMParser'] == undefined && window.ActiveXObject ) { DOMParser = function() { }; DOMParser.prototype.parseFromString = function( xmlString ) { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.async = 'false'; doc.loadXML( xmlString ); return doc; }; } $.xmlDOM = function(xml, onErrorFn) { try { var xmlDoc = ( new DOMParser() ).parseFromString( xml, 'text/xml' ); if ( $.isXMLDoc( xmlDoc ) ) { var err = $('parsererror', xmlDoc); if ( err.length == 1 ) { throw('Error: ' + $(xmlDoc).text() ); } } else { throw('Unable to parse XML'); } } catch( e ) { var msg = ( e.name == undefined ? e : e.name + ': ' + e.message ); if ( $.isFunction( onErrorFn ) ) { onErrorFn( msg ); } else { $(document).trigger('xmlParseError', [ msg ]); } return $([]); } // return $( xmlDoc ); return xmlDoc; }; //xmlDOM - ENDE var fctFinish = function(pType) { if (!bJustShow || pType == "maxSteps") { if (pType == "equal") { //$.prompt( 'ende wegen Gleichheit' ); //alert ("ende wegen Gleichheit"); } else if (pType == "maxSteps") { $.prompt ("ende wegen max Schritte"); //alert ("ende wegen max Schritte"); } else { $.prompt ("ende ohne Grund"); //alert ("ende ohne Grund"); } var myXmlString = ""; myXmlString += "
    "; myXmlString += myLang1; myXmlString += "
"; myXmlString += ""; myXmlString += myLang2; myXmlString += ""; myXmlString += ""; myXmlString += myOrigTranslation; myXmlString += ""; myXmlString += ""; myXmlString += myTranslation1; myXmlString += ""; myXmlString += ""; myXmlString += myTranslation2; myXmlString += ""; myXmlString += ""; myXmlString += myCounter; myXmlString += ""; myXmlString += "
"; var myXmlDoc = $.xmlDOM( myXmlString ); /* var myXmlDoc = $.xmlDOM( "" ); $( "params", myXmlDoc ).append( $( "
    " + myLang1 + "
" ) ); $( "params", myXmlDoc ).append( $( "" + myLang2 + "" ) ); $( "params", myXmlDoc ).append( $( "" + myOrigTranslation + "" ) ); $( "params", myXmlDoc ).append( $( "" + myTranslation1 + "" ) ); $( "params", myXmlDoc ).append( $( "" + myTranslation2 + "" ) ); $( "params", myXmlDoc ).append( $( "" + myCounter + "" ) ); */ $.ajax({ url: "process.php", type: "POST", processData: false, contentType: "text/xml", data: myXmlDoc, success: function( data ) { //alert( data ); myFinishString = "
Direkt-Link"; myFinishString += "

"; myFinishString += "
Highscore-Eintrag"; myFinishString += "

Wenn Du willst, kannst Du hier Deinen Namen eintragen, so dass vermerkt wird, wer diese Übersetzung eingereicht hat.
"; myFinishString += "Deine E-Mail-Adresse wird auch für die Auszählung verwendet, so kannst Du Top-Poster des Monats werden!

"; myFinishString += "
"; myFinishString += "

"; myFinishString += "
Und ab geht die Post"; myFinishString += "

"; myFinishString += "
"; $("#tLink").html(myFinishString); } }); } } var fctHandleTranslation = function(pResult) { //alert (pResult.error); if (!pResult.error) { //Step-Zähler hochsetzen myCounter++; //Übersetzungsvariablen aktualisieren myCurrTranslation = pResult.translation; if (myDirection) { myBeforeLastTranslation = myTranslation2; myTranslation2 = myCurrTranslation; if (myTranslationsArchiv2 && myTranslationsArchiv2.indexOf("<_cut_>"+myCurrTranslation+"") > -1) { myAlreadyInArchiv = true; } myTranslationsArchiv2 += "<_cut_>" + myCurrTranslation + ""; } else { myBeforeLastTranslation = myTranslation1; myTranslation1 = myCurrTranslation; if (myTranslationsArchiv1 && myTranslationsArchiv1.indexOf("<_cut_>"+myCurrTranslation+"") > -1) { myAlreadyInArchiv = true; } myTranslationsArchiv1 += "<_cut_>" + myCurrTranslation + ""; } myLastTranslation = myCurrTranslation; //prüfen, ob vorletzte Übersetzung gleich dieser Übersetzung ist if (myCurrTranslation == myBeforeLastTranslation || myAlreadyInArchiv) { fctFinish("equal"); } else { //Übersetzung anzeigen myResultAddon = "
"; myResultAddon += myCurrentStepNum; myCurrentStepNum++; myResultAddon += ". " + myLang2;
        }
        else {
          myResultAddon += myLang1 + ".gif"; myResultAddon += " " + myCurrTranslation + " "; $("#result").html($("#result").html() + myResultAddon); //prüfen, ob maximale Anzahl überschritten if (myCounter > myMaxSteps) { fctFinish("maxSteps"); } else { //Richtung drehen myDirection = !myDirection; //neu übersetzen fctTranslate(); } } } } //Übersetzung anstoßen var fctTranslate = function() { //alert ("myCurrTranslation: " + myCurrTranslation + "\nmyCurrLanguage: " + myCurrLanguage + "\nmyLastLanguage: " + myLastLanguage); if (myDirection) { google.language.translate(myTranslation1, myLang1, myLang2, fctHandleTranslation); } else { google.language.translate(myTranslation2, myLang2, myLang1, fctHandleTranslation); } }; var fctHandleDetection = function(pResult) { if (!pResult.error) { myLang1 = pResult.language; //alert ("in der funktion: "+ myLang1); } else { //Abbruch, weil die Sprache nicht erkannt wurde return ""; } fctTranslate(); } //bestimmt die Sprache zu einem Begriff var fctDetectLang = function(pString) { google.language.detect(pString, fctHandleDetection ); } //Startvariablen initiieren var fctInit = function() { //Eingegebener Begriff myOrigTranslation = $("#s").val(); myCurrTranslation = myOrigTranslation; myTranslation1 = $("#s").val(); myTranslation2 = ""; //Vorletzte Übersetzung myBeforeLastTranslation = myOrigTranslation; //Zähler für Abbruch myCounter = 0; //Anzahl der maximalen Schritte myMaxSteps = 200; //Ergebnisliste leeren $("#result").html(""); //Startrichtung setzen myDirection = true; //wenn nichts eingegeben wurde, abbrechen if (myTranslation1 == "") { $.prompt ("nix eingegeben"); //alert ("nix eingegeben"); return false; } //Eingabesprache rausfinden, falls nicht definiert if (myLang1 == "" || myLang1 == undefined) { fctDetectLang(myTranslation1); } else { fctTranslate(); } }; var fctRedirect = function() { window.location.href = myRedirectUrl; return false; } var fctCheckTranslation = function() { myCurrentStepNum = 1; var myXmlString = ""; myXmlString += ""; myXmlString += $("#s").val(); myXmlString += ""; myXmlString += ""; myXmlString += myLang2; myXmlString += ""; myXmlString += ""; var myXmlDoc = $.xmlDOM( myXmlString ); $.ajax({ url: "checkTranslation.php", type: "POST", processData: false, contentType: "text/xml", data: myXmlDoc, success: function( data ) { if (data == "ok") { //Rankings ausblenden $("#rankingRecent").hide(); $("#rankingLast").hide(); $("#commentsRecent").hide(); fctInit(); } else { myRedirectUrl = "http://www.bugaword.com/de/t/" + data; $.prompt( 'schon vorhanden, Du wirst weitergeleitet', { callback: fctRedirect } ); //alert ("schon vorhanden, Du wirst weitergeleitet: " + data); //window.location.href = "http://www.bugaword.com/de/t/" + data; return false; } } }); //Übersetzungsvariablen initialisieren //fctInit(); } $(".translateBtnTest").click ( function () { //Show-Modus setzen bShowFinishMode = false; //Zielsprache bestimmen myLang2 = $(this).attr("id"); //Rankings ausblenden $("#rankingRecent").hide(); } ); var translateComment = function () { var myText = $("#comment_"+myCommentId).html(); google.language.detect(myText, function(myResult) { if (!myResult.error && myResult.language) { google.language.translate(myText, myResult.language, myCommentLang, function(myResult) { if (myResult.translation) { $("#comment_"+myCommentId).html(myResult.translation); } }); } }); $("#"+myCommentId).css("color", myCommentColor); } $(".translateComment").click ( function () { myCommentId = $(this).attr("id").substr(2); myCommentId = myCommentId.substr(0, myCommentId.indexOf("_")); myCommentColor = $("#"+myCommentId).css("color"); myCommentLang = $(this).attr("lang"); $("#"+myCommentId).css("color", "#AAAAAA"); translateComment(); } ); }); function fctShowImpressum() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("impressummap")); map.setCenter(new GLatLng(51.36543, 6.93973), 4); map.addControl(new GSmallMapControl()); map.setMapType(G_HYBRID_MAP); var point = new GLatLng(51.36543, 6.93973); var marker = new GMarker(point); map.addOverlay(marker); var myContent = "

Impressum
Everygain GbR
Tina Ostermann
Kirchfeldstraße 25
45219 Essen

info@everygain.com

"; myContent += "
"; marker.openInfoWindowHtml(myContent); } }