function ttsText(langnumIn) {
    
    startPopUp();
    
    langnum = langnumIn;
    
    var browser = detectBrowser();

    inText = getSelText(langnum);   //get text
    
    ajaxFunction(browser, langnum, inText);   // call php script: speakrequest_hpvoice.php?selectedtext=" + langnum inText 
    
}



function detectBrowser(){
    var browser=navigator.appName;
    var browserval = 0;
    
    if (browser=="Microsoft Internet Explorer"){
         browserval = 1;
    }
    else {
         browserval = 0;   
    }
    
    return browserval;
}

function dkToUni(text){

    var reg1 = /æ/gi;    // reg ex - global match, case-insensitive
    var reg2 = /ø/gi;  
    var reg3 = /å/gi;
    var reg4 = /#/g;  
    var reg5 = /\n/g;  

    out = text.replace("-", ",");
    out = text.replace(reg5, " ");   
    
    out = out.replace(reg4, ""); 
    
    out = out.replace(reg1, "230X"); 
    out = out.replace(reg2, "248X");
    out = out.replace(reg3, "229X");
    return out;
}
      

function getSelText(langnum)
{
    var txt = "";
    
     if (window.getSelection){
        txt = "" + window.getSelection()+"";   
    }
    else if (document.getSelection) {
        txt = document.getSelection()+"";
        
    }
    else if (document.selection){
        txt = document.selection.createRange().text;
    }
            
            
    if (txt.length < 2) {
    
        //var range = document.body.createTextRange();       //select all text in body section
        //txt = range.text;

       if (langnum == 1 ){  //get danish text
		txt = "Marker venligst tekst med musen.";
       }

       if (langnum == 2 ){  //get english text
		txt = "Please use your mouse to select text.";
       }

    }
    
      txt = dkToUni(txt); 
      //alert(txt);    
      return txt;
}


//Ajax and PHP-----------------------------------------------------------
var xmlhttp = new getXMLObject();
var time_variable;
 
function getXMLObject()  //XML OBJECT
{
   var xmlHttp = false;
   try {
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")  // For Old Microsoft Browsers
   }
   catch (e) {
     try {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")  // For Microsoft IE 6.0+
     }
     catch (e2) {
       xmlHttp = false   // No Browser accepts the XMLHTTP Object then false
     }
   }
   if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
     xmlHttp = new XMLHttpRequest();        //For Mozilla, Opera Browsers
   }
   return xmlHttp;  // Mandatory Statement returning the ajax object created
}
 
function ajaxFunction(browser, langnum, intText) {
  var getdate = new Date();  //Used to prevent caching during ajax call
  if(xmlhttp) { 
  
    xmlhttp.open("GET", "proxyping/proxyping.php?browser=" + browser + "&langnum=" + langnum +"&intext=" + inText ,true);                                                                                  
    
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.send(null);
  }
}
 
function handleServerResponse() {
   if (xmlhttp.readyState == 4) {
     if(xmlhttp.status == 200) {
       
       mp3filename = xmlhttp.responseText; //get the filename 

       // check if we have response?
       var mp3file = "http://93.165.98.26/active_TTS/ttsfiles/" + mp3filename;
     
       var d_nested = document.getElementById("wait"); 
       d_nested.innerHTML = "";
       
       document.getElementById('player').innerHTML = BatmoAudioPop('voicetech.dk',mp3file,'1');  
       document.getElementById('player').style.visibility='visible';
                   
     }
     else {
        alert("Error during AJAX call. Please try again");
     }
   }
}

//End Ajax and PHP-----------------------------------------------------------

// Pop-Up Embedder Script by David Battino, www.batmosphere.com
// Version 2006-05-31  
// OK to use if this notice is included
   
function BatmoAudioPop(filedesc,filepath,WindowNumber) 
{

// Get Operating System 
var isWin = navigator.userAgent.toLowerCase().indexOf("windows") != -1
if (isWin) {
    // Use MIME type = "application/x-mplayer2";
    visitorOS="Windows";
} else {
    // Use MIME type = "audio/mpeg"; // or audio/x-wav or audio/x-ms-wma, etc.
    visitorOS="Other";
}

// Get the MIME type of the audio file from its extension (for non-Windows browsers)
var mimeType = "audio/mpeg"; // assume MP3/M3U
var objTypeTag = "application/x-mplayer2"; // The Windows MIME type to load the WMP plug-in in Firefox, etc.

var theExtension = filepath.substr(filepath.lastIndexOf('.')+1, 3); // truncates .aiff to aif
if (theExtension.toLowerCase() == "wav") { mimeType = "audio/x-wav"};
if (theExtension.toLowerCase() == "aif") { mimeType = "audio/x-aiff"}; 
if (theExtension.toLowerCase() == "wma") { mimeType = "audio/x-ms-wma"};
if (theExtension.toLowerCase() == "mid") { mimeType = "audio/mid"};
// Add additional MIME types as desired
                                                            
if (visitorOS != "Windows") { 
   objTypeTag = mimeType; // audio/mpeg, audio/x-wav, audio/x-ms-wma, etc.
};

    var audioplayer = "";

    audioplayer += "<embed src ='" + filepath + "' type='" + objTypeTag + "' autoplay='true' width='280' height='69' controller='1' showstatusbar='1' bgcolor='#9999ff' kioskmode='true'>";
    audioplayer += "</embed>";
    audioplayer += "<p style='font-size:12px;font-family:Lucida,sans-serif;text-align:center'><a href='" + filepath +"'>Download fil</a> <span style='font-size:10px'>(højre-klik, gem som)</span></p>";
    
    return audioplayer;

}

//DHTML window  ----------------------------------------------------------------

var popWindowWidth = '300px'; // pop up window width (in pixels) .

var popWindowHeight = '200px'; // pop up window height (in pixels).

var centerPopUpWindow = 'no'; // do you want the pop up window to be automatically centered in browser window? yes or no. NOTE: Height is somewhat higher than center due to toolbars and browser top height.
var popWindowBackgroundColor = 'white'; // pop up window background color (named or rgb).

var popWindowPadding = '8'; // padding or margin between contents of pop up window and edges of pop up window in pixels.

var popWindowPositionTop = '60px'; // where top edge of popup window will be displayed (ignored if centerPopUpWindow = true - see above).

var popWindowPositionLeft = '60px'; // where left edge of popup window will be displayed (ignored if centerPopUpWindow = true - see above).

var popWindowBorderStyle = 'solid'; // type of border for popup (solid,double,grooved,ridged,inset,outset).

var popWindowBorderWidth = '1px'; // border thickness of popup window (must be at least 3 for double style).

var popWindowBorderColor = 'black'; // color of border (named or rgb).

var popWinFontFamily = 'arial,verdana,sans-serif'; //font-family of text within pop up window. NOTE: Leave empty ('') if defined elsewhere.

var popWinFontSize = '16px'; // size of font for text in pop up window. Again, leave empty ('') if defined elsewhere.

var popWindowDelay = '500'; // microseconds before pop up is displayed (1000 = 1 second).

var popWindowShadowColor = '#666666'; //drop shadow color, named or rgb - shows in IE5+ only. 'none'=no shadow.


 var ie=document.all
 var ns6=document.getElementById && !document.all
 
function showPopUp(){
    document.getElementById('wait').innerHTML = "<br/><img src=\"images/progress_bar.gif\">";
    document.getElementById('pWinConfg').style.visibility='visible';
    //document.getElementById('player').style.visibility='hidden'; 
}
function hidePopUp(){
    document.getElementById('pWinConfg').style.visibility='hidden';
    
    var d = document.getElementById("pWinConfg"); 
    var d_player = document.getElementById("player");
    d_player.innerHTML = "";     
    
}   
function startPopUp(){
    timerID=setTimeout('showPopUp()',popWindowDelay);

} 
/*
    heres where we set the popup window class properties..
*/
var pWinConfg = "<style>.pWinConfg{\n";
    if(popWinFontFamily !== ''){
        pWinConfg += "font-family:"+popWinFontFamily+";\n";
    }
    if(popWinFontSize !== ''){
        pWinConfg += "font-size:"+popWinFontSize+";\n";
    }
pWinConfg += "position:fixed;\n";
pWinConfg += "width:"+popWindowWidth+";\n";
pWinConfg += "height:"+popWindowHeight+";\n";
pWinConfg += "background-color:"+popWindowBackgroundColor+";\n";
        if(centerPopUpWindow.toLowerCase() == 'yes'){
            var popTop = (screen.height/2.667) - (popWindowHeight/2);
            var popLeft = (screen.width/2) - (popWindowWidth/2);
            pWinConfg += "top:"+popTop+";\n";
            pWinConfg += "left:"+popLeft+";\n";
        }else{
            pWinConfg += "top:"+popWindowPositionTop+";\n";
            pWinConfg += "left:"+popWindowPositionLeft+";\n";
        }
        
pWinConfg += "border-style:"+popWindowBorderStyle+";\n";
pWinConfg += "border-width:"+popWindowBorderWidth+";\n";
pWinConfg += "border-color:"+popWindowBorderColor+";\n";
pWinConfg += "padding:"+popWindowPadding+";\n";
pWinConfg += "visibility:hidden;\n";
if(popWindowShadowColor != 'none'){
pWinConfg += "@filter: progid:DXImageTransform.Microsoft.Shadow(color="+popWindowShadowColor+",direction=135);\n";
}
pWinConfg += "}<\/style>\n";
document.write(pWinConfg);

 /*
    heres where we set the exitbutton class properties..
*/
var buttonConfg = "<style>.exitbutton{\n";
buttonConfg += "position:absolute;\n";
buttonConfg += "bottom: 5px;\n";
buttonConfg += "right: 5px;\n";     
buttonConfg += "}<\/style>\n";
document.write(buttonConfg);

