﻿var ttsLIMIT = 1000;
var mailer_path = "";
var mailer_type =   "asp"; // htm

var fIE    = (window.showModalDialog ? true : false);
var fNS4   = !(document.getElementById);

function Browser () {
   var userAgent = navigator.userAgent.toLowerCase ();
   this.major    = parseInt (navigator.appVersion);
   this.version  = parseFloat (navigator.appVersion);
	if (userAgent.indexOf ("safari") >= 0) {
      this.sfr    = true;
   }
   else if (userAgent.indexOf ("opera") >= 0) {
      this.opera = true;
   }
   else if (userAgent.indexOf ("msie") >= 0) {
      this.ie    = true;
   }
   else if (userAgent.indexOf ("mozilla") >= 0) {
      this.ns    = true;
      this.ns4   = (this.version >= 4 && this.version < 5);
   }
   this.win      = (userAgent.indexOf ("win") >= 0);
   this.mac      = (userAgent.indexOf ("mac") >= 0);
   this.unix     = (userAgent.indexOf ("x11") >= 0);
   this.lineSep  = (this.mac ? '\r' : '\n');
   this.ie6SP2   = (userAgent.indexOf("sv1") != -1)
   
}

var browser = new Browser ();



function TTS_OnOff(dir){
var DRS = dir.split("/");
var ob = new Array();
ob[0]='tts_source';
ob[1]='tts_target';
 for (var i=0; i<2; i++){
  if(DRS[i] == "zh" || DRS[i] == "en" || DRS[i] == "enf" || DRS[i] == "fr" || DRS[i] == "de" || DRS[i] == "it" || DRS[i] == "ja" || DRS[i] == "ko" || DRS[i] == "pt" || DRS[i] == "ru" || DRS[i] == "es")	
	document.getElementById(ob[i]).style.display='block';
  else  document.getElementById(ob[i]).style.display='none';
 }
}

function StartTTS(ob){
dir = document.getElementById('langs').value;
var obName;
var segdir = dir.split("/");
 if(ob==1) {dir = segdir[0]; obName = "source";}
 else      {dir = segdir[1]; obName = "target";}
 text = window.frames[obName].document.form.text.value;
 

  for(var i=0; i<text.length; i++) {
     if (text.indexOf("&")!=-1)           text = text.replace("&"," ");
     if (text.indexOf("\n")!=-1)          text = text.replace("\n"," ~|~");
  }

//--------------------------------------------------------------------------------
//if(dir=="en") dir="enf"; // Switching the dafault English Character to the Female.
//--------------------------------------------------------------------------------


 if(dir=='ru') text=text.substr(0,980);


 var submitForm = getNewSubmitForm();
 createNewFormElement(submitForm, "text", text);
 createNewFormElement(submitForm, "url", "PLUG");
 createNewFormElement(submitForm, "dir", dir);
 submitForm.action= "http://text-to-speech.imtranslator.net/speech.asp";
 submitForm.target= "_blank";
 submitForm.submit();



 //window.open("http://free-translator.imtranslator.net/speech.asp?url=PLUG&dir="+dir+"&text="+text,'TTS','height=670,width=800,resizable=yes');
//top.location.href = "http://free-translator.imtranslator.net/speech.asp?url=PLUG&dir="+dir+"&text="+text;
}



function getNewSubmitForm(){
 var submitForm = document.createElement("FORM");
 document.body.appendChild(submitForm);
 submitForm.method = "POST";
 return submitForm;
}

function createNewFormElement(inputForm, elementName, elementValue){

try{
var newElement = document.createElement("<input name='"+elementName+"' type='hidden'>");
}catch(err){   
var newElement = document.createElement('input');
newElement.setAttribute('type','hidden');
newElement.setAttribute('name',elementName);

}
 
 inputForm.appendChild(newElement);
 newElement.value = elementValue;
 return newElement;
}


function DivAlert(){
	document.getElementById('divalert').style.display='none';
	document.getElementById('fog').style.display = 'none'; return false;
}


function speechClose(){
 if(document.getElementById('speech')){
  var frame = document.getElementById('speech');
  if(frame)	frame.parentNode.removeChild(frame);
 }

}

function speechBuilder(ul,ID,TTSlang){
speechClose();

if(TTSlang != "en" && TTSlang != "fr" && TTSlang != "de" && TTSlang != "it" && TTSlang != "pt" && TTSlang != "es")	{alert("The voice is not implemented yet.\nWe are planning to add it in the near future.\n\nPlease come back soon."); return false;}

var speechText="";
var font='15px';
var getfont=font;
speechText = window.frames['TTSText'].document.form.text.value; 
speed = document.getElementById('spd').value;

if(getfont != "") font=getfont;

switch(TTSlang){
 case 'en': face = "PeterHead"; voice="VW Paul"; break;
 case 'es': face = "Jason"; voice="Jorge"; break;
 case 'ru': face = "VoyagerHead"; voice="ScanSoft Katerina_Telecom"; break;
 case 'fr': face = "Jessi"; voice="Florence"; break;
 case 'de': face = "PeterHead"; voice="Stefan"; break;
 case 'it': face = "Jason"; voice="Matteo"; break;
 case 'pt': face = "Jessi"; voice="Gabriela"; break;
 default  : face = "PeterHead"; voice="VW Paul"; break;
}

  var NEWspeechText;
  NEWspeechText=speechText;
  for(var i=0; i<NEWspeechText.length; i++) {
     if (NEWspeechText.indexOf(".\n")!=-1)           NEWspeechText = NEWspeechText.replace(".\n",". ");
     if (NEWspeechText.indexOf("\n")!=-1)            NEWspeechText = NEWspeechText.replace("\n"," ");
  }


document.getElementById('TTSLangs').value=TTSlang;
  var msg="";
  if(NEWspeechText.length>ttsLIMIT){
	NEWspeechText = NEWspeechText.substring (speechText, ttsLIMIT);
	msg="Warning: The Text To Speech (TTS) service is able to speak up to " + ttsLIMIT + " characters at one time.\n\nThe text will be trimmed!";
  }

if(!document.getElementById("speech")){

 if (speechText == "" || speechText == " " || speechText == "  " || speechText == "   " || speechText == "   " || speechText == "    "){

  switch(TTSlang){
  case 'en': NEWspeechText= "Please enter text: I will read it."; break;
  case 'fr': NEWspeechText= "Tapez votre texte: je vais le lire pour vous."; break;
  case 'de': NEWspeechText= "Tippen Sie einen Text ein: Ich spreche Ihnen das zurück."; break;
  case 'it': NEWspeechText= "Basta digitare un testo, e lo leggerò."; break;
  case 'pt': NEWspeechText= "Digite qualquer texto, e eu falarei para você."; break;
  case 'es': NEWspeechText= "Usted tiene teclear cualquier texto, y yo lo pronunciaré."; break;
  default: NEWspeechText= "Please enter text: I will read it."; break;
  }
 }
 

    var PLUGIN = detect();


    var die = document.createElement("iframe");
    die.src = "sockets/tts.asp?speed="+speed+"&url="+ul+"&dir="+TTSlang+"&B=1&ID="+ID+"&chr="+face+"&vc="+voice+"&text="+NEWspeechText;

    die.name = "speech";
    die.id="speech";
    die.width="460px";
    die.height="265px";

    if(PLUGIN == 0)    die.src = "";
    die.frameBorder="0";
//    die.zIndex="1000";
    die.scrolling="no";



    var obTTS = parent.frames["TTSText"].document.getElementById('text');
    obTTS.value = speechText;
    obTTS.style.fontSize = font;
    if(msg!="")alert(msg);
    window.frames["top"].document.getElementById('wait').style.display='block';window.frames["top"].document.getElementById('wait').innerHTML='<b style="color:black">LOADING, PLEASE WAIT ...</b>';
    window.frames['TTSText'].document.form.text.style.height='77px';document.getElementById('TTSText').style.height='80px';

    document.getElementById('speech_container').appendChild(die);
    document.getElementById('closer').style.display='block';
    }


if(PLUGIN == 0){window.frames["top"].document.getElementById('wait').style.display='block';window.frames["top"].document.getElementById('wait').innerHTML='<a href="http://www.macromedia.com/go/getflashplayer" target="_blank"><img border="0" src="TTS/images/fp.gif"></a><br><b style="color:black">Please, download and install<br><a href="http://www.macromedia.com/go/getflashplayer" target="new">Adobe Flash Player</a></b><br>to listen the text.';}
}




function Baner300x250(){
window.frames['ifr300x250'].document.location.reload();
}

function doMailEx(type, frame, el, color, loc)
{

	if(window.kbdShowHide) {
		kbdShowHide (false);
	}

	var query = "?type=" + type;
	if(typeof(mail_title)!='undefined')
		query += "&subj=" + mail_title;
	if(typeof(m_clientName)!='undefined')
		query += "&clientname=" + m_clientName;
		
	if(type == "email") {
		if( m_curFrame != "" ) 
			query +="&ctrl=" + frame + "/"+ el.name;
		else
			query +="&ctrl=" + el.name;
	}
	var url = "mailer.asp" 

	if(mailer_type == "htm") {
		url = type + "_form.html"
		if(typeof(RES_LN)!='undefined') {
			url = expandFilebyLang(url, RES_LN);
		}
	}
	else if(mailer_type == "asp") {
	  query += "&do=";
	  	}

	url = mailer_path + url + query;
	var height = 291;
	switch(type)
	{
		case "email":
			height  = 662;
			break;
		case "feedback":
			height  = 690;
			break;
		case "tellafriend":
			height  = 686;
			break;
	}
	url = url + '&sh=' + color+ '&loc=' + loc;
	if(fIE) {
	    var features = "dialogWidth:438px; dialogHeight:" + height +"px;scroll:no;help:no;status:no;";
		var args = { opener: this };
//		dialog = window.showModalDialog (url, args, features);
		dialog = showDialog_ (url, args, features);
//dialog = window.open (url, "SendMail", "width=438,height="+height+",toolbar=no,status=no,menubar=no,directories=no,resizable=yes");

	}
	else {
		dialog = window.open (url, "SendMail", "width=438,height="+height+",toolbar=no,status=no,menubar=no,directories=no,resizable=yes");
	}
	return true;
}


function showDialog_ (url, args, features) {
   var href = "", ref = url, query = "", arr = url.split ("?");
   if (arr.length > 1) {
      ref = arr [0];
      query = arr [1];
   }
   var sep = ref.lastIndexOf ("/");
   if (sep >= 0) {
      href = ref.substr (0, sep + 1);
      ref = ref.substr (sep + 1);
   }
   args = { opener: this, query : "ref=" + ref + (query ? "&" : "") + query};
   href += "dlgframe.asp" + "?ref=" + ref + (query ? "&" : "") + query;
   //return window.showModalDialog (href, args, features);
try {
   return window.showModalDialog (href, args, features);
		  }
	  catch (err){
	    if(browser.ie6SP2){
	      alert(TEXT_MSG_POPUP);
		  }
		}

}


function doBookmark()
{
if(browser.ie)	window.external.AddFavorite(location.href, document.title);
else alert("Please use 'Ctrl' + 'D' buttons to add this web-site to your favorites");
}

