function dec2hex ( textString ) 
{
 	return (textString+0).toString(16).toUpperCase();
}
function  dec2hex4 ( textString ) 
{
  	var hexequiv = new Array ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
  	return hexequiv[(textString >> 12) & 0xF] + hexequiv[(textString >> 8) & 0xF] + hexequiv[(textString >> 4) & 0xF] + hexequiv[textString & 0xF];
}

function UTF16Convertor (textString) 
{ 
	var haut = 0;
	var n = 0;
	CPstring = '';
	for (var i = 0; i < textString.length; i++) 
	{
		var b = textString.charCodeAt(i); 
		if (b < 0 || b > 0xFFFF) 
		{
			CPstring += 'Error ' + dec2hex(b) + '!';
		}
		if (haut != 0) 
		{
			if (0xDC00 <= b && b <= 0xDFFF) 
			{
				CPstring += dec2hex(0x10000 + ((haut - 0xD800) << 10) + (b - 0xDC00)) + ' ';
				haut = 0;
				continue;
			}
			else 
			{
				CPstring += '!erreur ' + dec2hex(haut) + '!';
				haut = 0;
			}
		}
		if (0xD800 <= b && b <= 0xDBFF) 
		{
			haut = b;
		}
		else 
		{
			CPstring += dec2hex(b) + ' ';
		}
	}
	CPstring = CPstring.substring(0, CPstring.length-1);
	
  	var outputString = "";
  	CPstring = CPstring.replace(/^\s+/, '');
  	if (CPstring.length == 0) 
  	{ 
  		return ""; 
  	}
  	//CPstring = CPstring.replace(/\s+/g, ' ');
  	var listArray = CPstring.split(' ');
  	for ( var i = 0; i < listArray.length; i++ ) 
  	{
    	var n = parseInt(listArray[i], 16);
    	if (i > 0) 
    	{ 
    		outputString += '';
    	}
    	if (n <= 0xFFFF) 
    	{
      		outputString += dec2hex4(n);
    	} 
    	else if (n <= 0x10FFFF) 
    	{
      		n -= 0x10000
      		outputString += dec2hex4(0xD800 | (n >> 10)) + ' ' + dec2hex4(0xDC00 | (n & 0x3FF));
    	} 
    	else 
    	{
      		outputString += '!erreur ' + dec2hex(n) +'!';
    	}
  	}
  	return( outputString );
}

function reTranslate(){
	val = $(this).text();
	$("#textForTranslate").val(val);
	sendTranslate();
}

function sendTranslate(){
		$("#tranlatedText").html('<img src="/img/preloader.gif" />');
		word = $("#textForTranslate").val();
		if (word.length <= 0)
			alert('Введите слово');
		else
		{
			$.ajax({
	   			type: "POST",
	   			cache: false,
	   			url: "/bitrix/templates/main/dsa/translater.php",
	   			data: "word=" + word,
	   			success: function(msg){
	     			$("#tranlatedText").html(msg);
	     			$(".multiWorld").click(reTranslate);
	   			}
	 		});
		}
		//return false;
}
function sendTranslateForm() {
	sendTranslate();
	return false;
}

$(document).ready(function(){
	$("#jqSMStext").keyup(function () {
		totalLen = 70;
		mesTxt = $("#jqSMStext").val();
		curLen = mesTxt.length;
		$("#jqCount").text(curLen + '/' + totalLen);
		if (totalLen < curLen)
			$("#jqSMStext").val(mesTxt.substr(0,70));
	});
	$("#jqSMS").click(function(){
		mes = UTF16Convertor($("#jqSMStext").val());
		//mes = $("#jqSMStext").val();
		phone = $("#jqCode").val() + $("#jqPhone").val();
		code = $("#jqCaptcha").val();
		input = $("#jsCaptchaInput").val();
		$.ajax({
   			type: "POST",
   			cache: false,
   			url: "/bitrix/templates/main/dsa/sender.php",
   			data: "mes=" + mes + "&phone=" + phone + "&code=" + code + "&input=" + input,
   			success: function(msg){
   				var tmp = new Array();
   				tmp = msg.split("|");
     			alert( tmp[0] );
     			$("#jqCaptcha").val(tmp[1]);
     			$("#jqImage").attr("src", tmp[2]);
     			if (tmp[3] == 1) {
     				$("#jqSMStext").val("");
     				$("#jqPhone").val("");
     			}
     			$("#jsCaptchaInput").val("");
   			}
 		});
	});
	$("#goTranslate").click(sendTranslate);
	$("#jqTransForm").submit(sendTranslateForm);
});
