function fc(){
    document.smtdemo.sentence.focus();
}

function osdetection(){
    var OSName="Unknown OS";
    if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
    if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
    if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
    if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
    return (OSName);
}

function desactivar_sp(){
    if(document.getElementById('boolspell')!=null) {
        var bt;
        var sp;
        sp = $$('div.spell_checker_cp_result');
        if (sp[0]){
            if (sp[0].getStyle('display') != "none")
            {
                //alert("mode protegit");
                bt =  $$('a.spell_checker_cp_resume');
                //alert(bt[0].title);
                bt[0].fireEvent('click');
            }
        }else{
            //alert("mode escriptura");
        }
    }
}

function borrar(){
    desactivar_sp();
    cleardata();
}

function verifyTrText(){

    var ret=true;
    if(document.getElementById('dir').value.length==0)
    {
        alert("You must select the translation languages!");
        ret=false;
        return ret;
    }

    desactivar_sp();
    //alert (document.smtdemo.sentence.value);
    if (document.smtdemo.sentence.value.length==0)
    {
        alert(MSG_02_enter_text);
        ret=false;
        return ret;
    }
    var words = document.smtdemo.sentence.value.split(/\s/);
    var count = words.length;
    if (count > 2500)
    {
        alert(MSG_03_text_too_long);
        ret=false;
        return ret;
    }
    var txt = document.smtdemo.sentence.value;
    var txtup = txt.toUpperCase();
    //alert ("original: "+txt+"\n"+"upper: "+txtup);
    if (txt == txtup)
    {
        alert(MSG_04_uppercase);
        ret=false;
        return ret;
    }
	
    //if (spell == "S")
    if (document.getElementById('boolspell')!=null &&
        document.getElementById('boolspell').checked)
        {
        var tbox = document.getElementById('text_id');
        this.current = tbox;
	
        //var bt = document.getElementsByClassName("spell_checker_cp_check");
        //bt[0].fireEvent('click');
	
        var bt =  $$('a.spell_checker_cp_check');
        //alert(bt[0].title);
        bt[0].fireEvent('click');
    }
    return ret;
}

function verifyFile(){
    var ret=true;
    //alert(document.getElementById('file_id').name + "|" + document.getElementById('file_id').value + "|" + document.getElementById('file_id').fileSize + "|" + document.getElementById('file_id').tmp_name + "|" + document.getElementById('file_id').size);
    var archivo = document.getElementById('file_id').value;
    if (archivo=="")
    {
        alert(MSG_02_enter_text);
        ret=false;
        return ret;
    }
    var ext = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
    //alert (ext);
    if (ext != ".txt" && ext != ".rtf")
    {
        alert(MSG_05_file_type);
        ret=false;
        return ret;
    }
    document.getElementById('ext').value=ext;
    return ret;
}

function execute(vdir, vupload){
    if ((es_ca_up && vdir=="es_ca") || (ca_es_up && vdir=="ca_es") || 
        (ca_en_up && vdir=="ca_en") || (en_ca_up && vdir=="en_ca") ||
        (es_en_up && vdir=="es_en") || (en_es_up && vdir=="en_es"))
    {
        //cleardata();
        document.getElementById('upload').value=vupload;
        document.getElementById('dir').value=vdir;
        document.getElementById('os').value=osdetection();
        if (vupload == "SI")
        {
            if(verifyFile())document.fich.submit();
        }
        else
        {
            if(verifyTrText())process();
        }
    }else {
        alert(vdir+' server down')
    }
}

function suggest(bool){
    var ret = true;

    var sourceText = getSource();
    var translationText = getTranslation();
    var suggestionText = getSuggestion();

    document.getElementById('sugg').value=bool;
    if (sourceText != "" && translationText != "" && suggestionText != "")
    {
        setThanks(MSG_06_thanks_sugg);
        process();
    }else{
        alert (MSG_07_sugg_empty);
        ret=false;
    }
    return ret;
}

function cancelsuggestion() {
    showSuggestion(false);
    showTranslation(true);
    setSuggestion('');
    setThanks('');
}

function cleardata()
{
    setSource('');
    showTranslation(false);
    showSuggestion(false);
    setThanks('');
    setSuggestion('');
    setTranslation('');
}


function getSuggestion() {
    return document.getElementById('suggestion_id').value;
}

function setSuggestion(suggestion) {
    document.getElementById('suggestion_id').value=suggestion;
}

function getTranslation() {
    var translation = document.getElementById('divout').innerHTML;
    translation = translation.toString();
    translation = translation.replace(/\n/g,"");
    translation = translation.replace(/<br(| \/)>/ig,"\n");
    translation = translation.replace(/<font color="?(red|orange)"?>/ig,"");
    translation = translation.replace(/<\/font>/ig,"");
    return translation;
}

function setTranslation(translation) {
    translation = translation.replace(/\n/g,"<br />");
    document.getElementById('divout').innerHTML=translation;
}

function setSource(source) {
    document.getElementById('text_id').value=source;
}

function getSource() {
    return document.getElementById('text_id').value;
}

function showTranslation(bool)
{
    var display = '';
    if(bool) {
        display = 'block';
    } else {
        display = 'none';
    }

    document.getElementById('resultbox').style.display=display;
    if(document.getElementById('titleresult')!= null)
        document.getElementById('titleresult').style.display=display;
    document.getElementById('suggesttitle').style.display = display;
}

function showUploadedTranslation(bool)
{
    showTranslation(bool);
    document.getElementById('suggesttitle').style.display = 'none';
}

function setThanks(thanks) {
    document.getElementById('thankssuggestion').innerHTML = thanks;
}

function showSuggestion(bool)
{
    var display = '';
    if(bool) {
        display = 'block';
    } else {
        display = 'none';
    }

    var divout = document.getElementById('divout');
    document.getElementById('boxsuggest').style.display=display;
    document.getElementById('suggestarea').style.display=display;
    document.getElementById('suggestion_id').style.minHeight = divout.scrollHeight + 'px';
}

function activarsuggestbox()
{
    setSuggestion(getTranslation());
    showSuggestion(true);
    showTranslation(false);
}

function activartexto()
{
    document.getElementById('text_tab').className="activetab";
    document.getElementById('file_tab').className="tab";
	
    //document.getElementById('text_pest').style.backgroundColor="#0672b1";
    //document.getElementById('file_pest').style.backgroundColor="#99CCFF";
    document.getElementById('text_form').style.display="block";
    //document.getElementById('text_form_2').style.display="block";
    document.getElementById('mode_selector').style.display="block";
    document.getElementById('file_form').style.display="none";
    //document.getElementById('file_form_2').style.display="none";
    cleardata();
}

function activarfichero()
{
    document.getElementById('text_tab').className="tab";
    document.getElementById('file_tab').className="activetab";

    //document.getElementById('file_pest').style.backgroundColor="#0672b1";
    //document.getElementById('text_pest').style.backgroundColor="#99CCFF";
    document.getElementById('text_form').style.display="none";
    //document.getElementById('text_form_2').style.display="none";
    document.getElementById('mode_selector').style.display="none";
    document.getElementById('file_form').style.display="block";
    //document.getElementById('file_form_2').style.display="block";
    cleardata();
}

function objetoAjax(){
    var xmlhttp=false;
    try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(E){
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function process(){
    var translationDir = document.getElementById('dir').value;
    var isUpload = document.getElementById('upload').value;
    if (isUpload=='NO') {
        var sourceText = getSource();
    }
    
    var isLog = "N";
    if (document.getElementById('boollog') != null &&
        document.getElementById('boollog').checked){
        isLog="L"
    }
    var t6 = document.getElementById('ext').value;
    var whichOS = document.getElementById('os').value;
    var isSuggestion = document.getElementById('sugg').value;
    if (isSuggestion=='SI') {
        var suggestion = getSuggestion();
    }
    if (isSuggestion=='SI') {
        var translation= getTranslation();
    }else{
        isSuggestion='NO';
    }

    var waitingFrame = document.getElementById('waiting_frame');

    var ajax=objetoAjax();
    ajax.open("POST", "/WebTranslationHandler.php", true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader("Accept-Charset", "UTF-8, ISO-8859-1, WINDOWS-1254");
    ajax.onreadystatechange=function()
    {
        if (ajax.readyState==4) {
            waitingFrame.style.display = 'none';

            if (isSuggestion=='SI') {
                document.getElementById('sugg').value="NO";
            } else {
                var response = ajax.responseText;
                setTranslation(response);
            } 

            if(isUpload == 'SI'){
                showUploadedTranslation(true);
            } else {
                showTranslation(true);
            }
        }
    }

    waitingFrame.style.display = 'block';

    //suggestion
    if (isSuggestion=='SI'){
        ajax.send("dir="+translationDir+"&sentence="+unescape(sourceText)+"&upload="+isUpload+"&mode="+isLog+"&suggestion="+unescape(suggestion)+"&sugg="+isSuggestion+"&trans="+unescape(translation));
        setTranslation(suggestion);
        showSuggestion(false);
        setSuggestion('');
    }else{
        if (isUpload=='NO') {
            sourceText=sourceText.replace(/\+/g,"PPLLUUSS");
            ajax.send("dir="+translationDir+"&sentence="+unescape(sourceText)+"&upload="+isUpload+"&mode="+isLog+"&sugg="+isSuggestion);
        }else{
            ajax.send("dir="+translationDir+"&upload="+isUpload+"&mode="+isLog+"&ext="+t6+"&os="+whichOS+"&sugg="+isSuggestion);
        }
    }
}



