// speak.js
// Javascript include file for Fluency TTS On-line
// Copyright (c) 2005-2008 Fluency, Amsterdam. All rights reserved

$(document).ready(function () {
  $(".fluency").each( function (i) {
    var flFormId="fluency_form"+i;
    var fluencyFormHtml='<form id="'+flFormId+'" method="post" class="verborgen externLink" target="frame_'+flFormId+'">';
    fluencyFormHtml+='<div class="fieldset">';
    fluencyFormHtml+='<input type="hidden" name="passwd" value=""/>';
    fluencyFormHtml+='<input type="hidden" name="text"/>';
    fluencyFormHtml+='<input type="hidden" name="voice" value="Diana"/></div></form>'; // <iframe name="frame_'+flFormId+'" id="frame_'+flFormId+'" src="/views/amsterdamnl/html/empty.html"></iframe>
    $(this).append(fluencyFormHtml);
    $(this).find("a").attr('href','#').mousedown( function() { return speak_selection($("#"+flFormId).get(0)) } );
  });
});

// distribution prohibited!

// speak text
function speak_text(fluFrm, str) {
  if (str != "") {
    fluFrm.text.value = str;
    fluFrm.action = "http://fluency.xs4all.nl/cgi-bin/tts5.exe";
    // password for Stadsdeel Zeeburg
    fluFrm.passwd.value = "B585-1084-D66E-CB9F";
    fluFrm.submit();
    return true;
  }
  else {
    return false;
  }
}

// speak selection
function speak_selection(fluFrm) {
  var str = "";
  if (window.getSelection) {
    str = window.getSelection();
  }
  else if (document.getSelection)
  {
    str = document.getSelection();
  }
  else if (document.selection)
  {
    str = document.selection.createRange().text;
  }

  if (str != "") {
    return speak_text(fluFrm, str);
  }
  else {
    alert("Selecteer eerst met de muis de tekst die je wilt horen");
    return false;
  }
}

// speak HTML
function speak_HTML(fluFrm, str) {

  // replace newlines and carriage returns with spaces
  str = str.replace(/\n/ig," ");
  str = str.replace(/\r/ig," ");

  // replace certain end tags, paragraph and break tags with a newline
  str = str.replace(/<\/h[12345]>/ig, "\n");
  str = str.replace(/<br>/ig, "\n");
  str = str.replace(/<p>/ig, "\n");
  str = str.replace(/<\/p>/ig, "\n");
  str = str.replace(/<\/td>/ig, "\n");
  str = str.replace(/<\/div>/ig, "\n");

  // remove all remaining tags
  str = str.replace(/(<([^>]+)>)/ig, "");

  // speak it!
  speak_text(fluFrm, str);
}