var myAlertShown = false;


//Das Objekt, das gerade bewegt wird.
var dragobjekt = null;

// Position, an der das Objekt angeklickt wurde.
var dragx = 0;
var dragy = 0;

// Mausposition
var posx = 0;
var posy = 0;

var targetLanguage;

google.load("language", "1");

function clickOnIcon(pTargetLanguage){
  
  $("#t1").addClass("highlighted_text");
  $("#t2").addClass("highlighted_text");

  //Markierung übersetzen
  var mySelectedText = $("#tdemo").html();

  if (mySelectedText != "") {
    translateSelectedText(mySelectedText, pTargetLanguage);
  }
}



function translateSelectedText(pText, pTargetLang) {
  fctDraginit();
  if (!myAlertShown) {
    var myString = String(pText);
    myString = myString.replace(/[\r\n]+/g, " ");
    myString = myString.replace(/<.*?>/gi, ' ');
    myString = $.trim(myString);
    
    //var myTargetLang = "en";
    var myTargetLang = pTargetLang;
    //alert (myTargetLang);
    var myGUrl = 'http://ajax.googleapis.com/ajax/services/language/translate';
    var myGUrlData = 'v=1.0&q=' + myString + '&langpair=|' + myTargetLang;
    //http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=das haus ist wei�&langpair=|en
    
    

    google.language.detect(myString, function(result) {
      if (!result.error && result.language) {
        google.language.translate(myString, result.language, myTargetLang, function(result) {
          var myTranslation = result.translation;
          var mySourceLang = result.language;
          //alert ("myTranslation : " + myTranslation );
          if (myTranslation != "" && myTranslation != myString && mySourceLang != myTargetLang) {
            var myString2Show = "";
            myString2Show += '<div style="color:#2e6cc2; padding:5px 5px 10px 5px; border: solid #BBB; border-width: 1px 1px 1px 10px; width:96%; background:#EEE; font-size:11px; font-family: Verdana,Geneva,Arial,Helvetica,sans-serif;margin-top:25px;">';
            myString2Show += "<i>";
            myString2Show += "<img id='everygain-targetlang-image' src='http://www.everygain.com/plugin/p/flag/" + mySourceLang + ".gif' > ";
            myString2Show += myString;
            myString2Show += "</i>";
            myString2Show += "</div>";
            myString2Show += '<div style="text-align: center; width: 100%;margin: 12px;">';
            myString2Show += "<img src='http://www.everygain.com/plugin/p/pfeil-down.png' />";
            myString2Show += '</div>';
            myString2Show += '<div id="translation_content" style="color:#2e6cc2; padding:5px 5px 10px 5px; border: solid #73afff; border-width: 1px 1px 1px 10px; width:96%; background:#f6faff; font-size:11px; font-family: Verdana,Geneva,Arial,Helvetica,sans-serif;">';
            myString2Show += "<img id='everygain-targetlang-image' src='http://www.everygain.com/plugin/p/flag/" + myTargetLang + ".gif' >";
            myString2Show += "&nbsp;";
            myString2Show += myTranslation;
            myString2Show += '</div>';
            showAlert(myString2Show);
            
          }
          else if (mySourceLang == myTargetLang) {
            var myString2Show = "Du hast als Zielsprache 'Englisch' ausgewählt und der markierte Text wurde dieser Sprache zugeordnet.<br />";
            myString2Show += "Die Sprache in die übersetzt werden soll, kannst Du über einen Rechtsklick unten auf das Icon des everygain Translators ändern.";
            showAlert(myString2Show);
          }
          else {
            var myString2Show = "Keine Übersetzung gefunden.<br />";
            myString2Show += "Du hast als Zielsprache 'Englisch' ausgewählt. Vielleicht liegt's daran.<br /><br />";
            myString2Show += "Die Sprache in die übersetzt werden soll, kannst Du über einen Rechtsklick unten auf das Icon des everygain Translators ändern.";
            showAlert(myString2Show);
          }
        });
      }
    });
  }
}



function showAlert(pText) {
  var myDontHide = true;
  var myTemplate = '<div class="alert" id="everygain-alert" style="';
  myTemplate += 'border: 2px solid #696969; ';
  myTemplate += '-moz-border-radius:14px; ';
  myTemplate += 'padding: 12px; ';
  myTemplate += 'font-family: Verdana,Geneva,Arial,Helvetica,sans-serif; ';
  myTemplate += 'font-style: normal; ';
  myTemplate += 'font-variant: normal; ';
  myTemplate += 'font-weight: normal; ';
  myTemplate += 'font-size: 11px; ';
  myTemplate += 'line-height: normal; ';
  myTemplate += 'font-size-adjust: none; ';
  myTemplate += 'font-stretch: normal; ';
  myTemplate += 'color: black; ';
  myTemplate += 'background-color: white; ';
  myTemplate += 'text-align: left; ';
  myTemplate += 'z-index: 100000; ';
  myTemplate += 'position: fixed; ';
  myTemplate += 'top: 50px; ';
  myTemplate += 'left: 25%; ';
  myTemplate += 'width: 50%; ';
  myTemplate += 'display: inline;';
  myTemplate += '">';
  myTemplate += '<a id="moveLink"><img src="http://www.everygain.com/plugin/p/move.png" id="moveLinkImage" style="border:none; float:left; margin:-6px;" alt="move" /></a>';
  myTemplate += '<a href="#" id="closeLink"><img src="http://www.everygain.com/plugin/p/close.png" style="border:none; float:right; margin:-6px;" alt="close" /></a>';
  myTemplate += '<p id="translation"></p>';
  myTemplate += '<div style="text-align: center; width: 100%;">';
  //myTemplate += '<img id="clipboardLink" src="http://www.everygain.com/plugin/p/clipboard.png" style="border:none;" alt="copy to clipboard" title="Copy your translation to clibpboard!" /></p>';
  myTemplate += '<p style="color:#666;">powered by <a href="http://www.everygain.com/translator/" style="color:#64a6ff; text-decoration: none;"> everygain.com </a>';
  myTemplate += '&amp; <a href="http://code.google.com/intl/en-US/apis/ajaxlanguage/" style="color:#64a6ff; text-decoration: none;"> google </a></p>';
  myTemplate += '</div>';

  var helper = $(myTemplate).appendTo(document.body);
  
  var myText = pText;

  helper.find("p#translation").html(myText);
  helper.show();

  helper.find("#moveLink").mousedown(function(){
    fctDragIt();
  });

  myAlertShown = true;
  
  setTimeout(function(){
    myDontHide = false;
  }, 3000);
  
  $(window).bind("keypress", function(event){
    if (!myDontHide && event.keyCode == 27) {
      helper.hide();
      myAlertShown = false;
    }
  });
  
  
  helper.find("#closeLink").click(function() {
    helper.hide();
    myAlertShown = false;
    return false;
  });
  
}


function fctDraginit() {
  document.onmousemove = fctDrag;
  document.onmouseup = fctDragstop;
}


function fctDragstart(pThis) {
  dragobjekt = pThis;
  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
}


function fctDragIt() {
  dragobjekt = content.document.getElementById("everygain-alert");
  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
}

function fctDragstop() {
  dragobjekt=null;
}


function fctDrag(pEvent) {
  posx = content.document.all ? window.event.clientX : pEvent.pageX;
  posy = content.document.all ? window.event.clientY : pEvent.pageY;
  if(dragobjekt != null) {
    dragobjekt.style.left = (posx - dragx) + "px";
    dragobjekt.style.top = (posy - dragy) + "px";
  }
}



