﻿function change_image(oname, imgsrc)
{
		document.getElementById(oname).src = imgsrc;
		return true;
}


function DoAtStart()
{
		document.getElementById("SourceFildID").focus();
}


////////////////////////////////////////////////////////////////////////////////////////        
function UnicoedeToANSI(ftext)
{
        //  var ArmUniCode =  new Array("0x0531","0x0532","0x0533","0x0534","0x0535","0x0536","0x0537","0x0538","0x0539","0x053A","0x053B","0x053C","0x053D","0x053E","0x053F","0x0540","0x0541","0x0542","0x0543","0x0544","0x0545","0x0546","0x0547","0x0548","0x0549","0x054A","0x054B","0x054C","0x054D","0x054E","0x054F","0x0550","0x0551","0x0552","0x0553","0x0554","0x0555","0x0556","0x0557","0x0558","0x0559","0x055A","0x055B","0x055C","0x055D","0x055E","0x055F","0x0560","0x0561","0x0562","0x0563","0x0564","0x0565","0x0566","0x0567","0x0568","0x0569","0x056A","0x056B","0x056C","0x056D","0x056E","0x056F","0x0570","0x0571","0x0572","0x0573","0x0574","0x0575","0x0576","0x0577","0x0578","0x0579","0x057A","0x057B","0x057C","0x057D","0x057E","0x057F","0x0580","0x0581","0x0582","0x0583","0x0584","0x0585","0x0586","0x0587");
        var ArmAnsiCode = new Array(0xB2,   0xB4,    0xB6,    0xB8,    0xBA,    0xBC,    0xBE,    0xC0,    0xC2,    0xC4,    0xC6,    0xC8,    0xCA,    0xCC,    0xCE,    0xD0,    0xD2,    0xD4,    0xD6,    0xD8,    0xDA,    0xDC,    0xDE,    0xE0,    0xE2,    0xE4,    0xE6,    0xE8,    0xEA,    0xEC,    0xEE,    0xF0,    0xF2,    0xF4,    0xF6,    0xF8,    0xFA,    0xFC,    0x20     ,0x20    ,0xA7,    0xA6,    0xB0,    0xAF,    0xAA,    0xB1,    0xB1,   0x20,    0xB3,    0xB5,    0xB7,    0xB9,    0xBB,    0xBD,    0xBF,    0xC1,    0xC3,    0xC5,    0xC7,    0xC9,    0xCB,    0xCD,    0xCF,    0xD1,    0xD3,    0xD5,    0xD7,    0xD9,    0xDB,    0xDD,    0xDF,    0xE1,    0xE3,    0xE5,    0xE7,    0xE9,    0xEB,    0xED,    0xEF,    0xF1,    0xF3,    0xF5,    0xF7,    0xF9,    0xFB,    0xFD,    0xA8, 0x20, 0x3a);
        var vyu = String.fromCharCode(0xf5);
        var ye_capital = String.fromCharCode(0xba);
        var ye_small = String.fromCharCode(0xbb);
        var Courier_AM_yev = String.fromCharCode(0xa2);
        var yev = String.fromCharCode(0xa8);
        var winword_g = String.fromCharCode(0x2022);
        var ansi_g = String.fromCharCode(0xb7);
        
        var sAnsiText = "";
        var current_char = '';
        var next_char = '';
        var charcode = 0;
        var length = ftext.length;
    var index = 0, nextindex = 0;
        for(index = 0; index < length; ++index)
        {
                current_char = ftext.charAt(index);
                if (current_char == winword_g) {
                        current_char = ansi_g;
                }
                else{
                        charcode = current_char.charCodeAt(current_char,0);
                        if(charcode >= 0x0531 && charcode <= 0x0556  ||  charcode >= 0x0559 && charcode <= 0x0589 )
                        {
                                current_char = String.fromCharCode(ArmAnsiCode[charcode-0x0531]);
                        }
                }
                
				if(charcode == String.fromCharCode(0x2024)){
					current_char = '.';
				}
				else
                if(current_char == Courier_AM_yev)// in 'Courier AM' ev code is a2, but in LatArm A8
                {
                        current_char == yev;
                }
        else
                {
                if(current_char == vyu && index != 0) // for ye+vyu construction // 0xf5 - vyu
                        if(sAnsiText.charAt(sAnsiText.length-1) == ye_small)
                        {
                                sAnsiText = sAnsiText.substr(0,sAnsiText.length-1);
                                current_char = yev;
                        }
                }
                sAnsiText += current_char;
        }
        return sAnsiText;
}


function TransWord()
{
		if (document.getElementById("SourceFildID").value == "")
		{
				alert("Nothing to translate!");
				document.getElementById("SourceFildID").focus();
				return false;
		}
		else
		{
				document.getElementById("ToTransID").value = UnicoedeToANSI(document.getElementById("SourceFildID").value);
				//myAjaxRequest("../__wordtranslate.php");
				document.getElementById("TransTextFormID").action = "../wordtranslate.php";
				document.getElementById("TransTextFormID").submit(); 
				document.getElementById("SourceFildID").focus();
				return true;
		}
}       

	function TransWord1()
	{
		if (document.getElementById("SourceFildID").value == "")
		{
				alert("Nothing to translate!");
				document.getElementById("SourceFildID").focus();
				return false;
		}
		else
		{
				document.getElementById("ToTransID").value = UnicoedeToANSI(document.getElementById("SourceFildID").value);
				document.getElementById("TransTextFormID").action = "../wordtranslate.php";
				document.getElementById("TransTextFormID").submit(); 
				document.getElementById("SourceFildID").focus();
				return true;
		}
}       
        
var req = null;
function myAjaxRequest(url)
{
    req = null;
    if (window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
			if (req.overrideMimeType) {
				// set type accordingly to anticipated content type
				req.overrideMimeType('text/html');
			}
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e){}
        }
    }
 
    if (req) {       
		var poststr = getParameters();
		req.onreadystatechange = processReqChange;					
		req.open("POST", url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", poststr.length);
		req.setRequestHeader("Connection", "close");
        req.send(poststr);
    }
}

function get_parameters()
{
	var params = "ToTrans=" + encodeURI( document.getElementById("ToTransID").value ) +
                "&language=" + encodeURI( document.getElementById("mytextarea2").value );
	return params;
}
function processReqChange()
{
  try { // Важно!
    // только при состоянии "complete"
    if (req.readyState == 4) {
        // для статуса "OK"
        if (req.status == 200) {
             //обработка ответа
			var result = req.responseText;
            document.getElementById('requestArea').innerHTML = result;
			
        } else {
            alert("Не удалось получить данные:\n" +
                req.statusText);
        }
    }
  }
  catch( e ) {
      alert('Caught Exception: ' + e.description);
      // В связи с багом XMLHttpRequest в Firefox приходится отлавливать ошибку
      // Bugzilla Bug 238559 XMLHttpRequest needs a way to report networking errors
      // https://bugzilla.mozilla.org/show_bug.cgi?id=238559
  }
}

