xmlHttp = createXmlHttpRequestObject();

function catchError(error_code){
   setTimeout('clearMessages()',5000); 
  if(error_code=='1') {
	    document.getElementById('ourerror').innerHTML = "Неверный пароль";
	    document.getElementById("ourerror").style.display = "block";
	}else
	if(error_code=='2') {
	    document.getElementById('ourerror').innerHTML = "Неверный номер абонента";
	    document.getElementById("ourerror").style.display = "block";
	}else
	if(error_code=='3') {
	    document.getElementById('ourerror').innerHTML = "Ошибка аутентификации";
	    document.getElementById("ourerror").style.display = "block";
	}
	else
	if(error_code=="4"){
   	 document.getElementById('message').innerHTML="Ошибка отправки смс, попробуйте позже";
	     document.getElementById("message").style.display = "block";
    }
	else
	if(error_code=="5") {
	     document.getElementById('message').innerHTML="Исчерпано количество смс";
	     document.getElementById("message").style.display = "block";
	} else	
	if(error_code=="8") {
	     document.getElementById('message').innerHTML="Ваше сообщение не может быть отправлено, т.к. абонент запретил доставку сообщений с сайта";
	     document.getElementById("message").style.display = "block";
	} else	
    if(error_code=="9") {
	     document.getElementById('message').innerHTML="Неправильный код из картинки";
	     document.getElementById("message").style.display = "block";
	}	
}
function ltrim(ine) {
	var ptrn = /\s*((\S+\s*)*)/;
	return ine.replace(ptrn, "$1");
}
function rtrim(ine) {
	var ptrn = /((\s*\S+)*)\s*/;
	return ine.replace(ptrn, "$1");
}
function trim(ine) {
	return ltrim(rtrim(ine));
}


function createXmlHttpRequestObject() {
  var xmlHttp; 
  try { 
        xmlHttp = new XMLHttpRequest(); 
  }
  catch(e) {
   
       var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0', 
                                      'MSXML2.XMLHTTP.5.0', 
                                      'MSXML2.XMLHTTP.4.0', 
                                      'MSXML2.XMLHTTP.3.0', 
                                      'MSXML2.XMLHTTP', 
                                      'Microsoft.XMLHTTP'); 
       for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){ 
           try{ 
             xmlHttp = new ActiveXObject(XmlHttpVersions[i]); 
           }catch(e){} 
        }
   }
    
   if (!xmlHttp) alert('Change your browser!!!'); 
     else { 
            return xmlHttp;  
     } 
}

var res;

function refresh_story(){
     if(document.getElementById("story")){
		  var newStory=document.getElementById("story").src;
		  if(res==13) res=1;
		  if(isNum(res)==false) res=12;
		  newStory=newStory.substring(0,newStory.lastIndexOf("/")+1)+res+".png";
		  document.getElementById("story").src=newStory;
	 }  
	 res++;
	 setTimeout("refresh_story()",30000);
}

function isNum(text) {
      if(text)
     if(parseInt(text).toString() == text.toString())  return true;
     return false;
}

function checklogin() {
  if(xmlHttp) {
		try {
		      
	           document.getElementById("animation").style.display="block";
	           document.getElementById("otpr").style.display="none";
	           document.getElementById("zagr").style.display="block";

			   var action="server.php?action=auth";
			   var l=encodeURIComponent(document.getElementById('msisdn').value);
			   var p=encodeURIComponent(document.getElementById('pwd').value);
			   if(l.length == 7 && isNum(l) && p.length>0) {
			    
			      var msisdn="&msisdn=707"+l;
			      var pwd ="&pwd="+p;
			      var params=action+msisdn+pwd;
                             			      
			       xmlHttp.open("GET",params,true);
		              xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		              xmlHttp.onreadystatechange = handleReadLoginResponce;
		              xmlHttp.send(null);
		           }
		           else {
		              document.getElementById("ourerror").innerHTML = "Пожалуйста, заполните все поля кооректными данными.";
		              document.getElementById("ourerror").style.display = "block";
		              document.getElementById("animation").style.display="none";
		              document.getElementById("otpr").style.display="none";
	                 document.getElementById("zagr").style.display="none";
		           }
		}
		catch (e)
		{
		}
	}
}

function handleReadLoginResponce() {
    
    if(xmlHttp.readyState == 4)	{
		if(xmlHttp.status == 200){
			try{
		          readResponceLogin();
			}
			catch(e){}
		} else {
		  // setTimeout('handleReadLoginResponce()',100);
		}
    }
}


function readResponceLogin() {
   document.getElementById("animation").style.display = "none";
   document.getElementById("otpr").style.display="none";
	document.getElementById("zagr").style.display="none";
	
	var response = xmlHttp.responseText;
	var content = response.substring(response.indexOf("<content>")+9,response.indexOf("</content>"));
	var error_code = response.substr(response.indexOf("<error_code>")+12,1);
	var maxeng= response.substring(response.indexOf("<maxeng>")+8,response.indexOf("</maxeng>"));
	var maxkir= response.substring(response.indexOf("<maxkir>")+8,response.indexOf("</maxkir>"));

	if(error_code=='0'||error_code=='5') {
	   
      $(function() {
  		 $('#textpravila').livequery(function() { 
                   $(this).hide(); 
                 });
           });

	   $(function() {
  		 $('#content').livequery(function() { 
                   $(this).html(content);
                 });
           });

	   document.getElementById('ourlogin').style.display = "none";

   $(function() {
  		 $('#max_eng').livequery(function() { 
                   $(this).html(maxeng); 
                 });
   });
   $(function() {
  		 $('#max_kir').livequery(function() { 
                   $(this).html(maxkir); 
                 });
   });

	 }

	else catchError(error_code);
}




function date() {
  var keys = document.getElementById('keys').value.split('.');
  
  var obj=document.getElementById('hour');
  
  var hour=obj.selectedIndex;
  
  obj=document.getElementById('min');
  var min=obj.selectedIndex;
  
  if(parseInt(hour)<10){
    hour="0"+hour;
  }
  if(parseInt(min)<10){
    min="0"+min;    
  }
  
  res=keys[0]+keys[1]+keys[2]+hour+min;   
  
  return res; 
}

function sendSms() {
  if(xmlHttp) {
		try {
		           
		      document.getElementById("animation").style.display="block";
		      document.getElementById("otpr").style.display="block";
	         document.getElementById("zagr").style.display="none";
		      
		      var url="server.php";
		      var action = "action=sendsms"; 
		      var expr='0';
			   var l = "tran";
			   var c ="no"; 
			   var numb = encodeURIComponent(trim(document.getElementById('msisdn_to').value));
			   var msisdn_to ="&msisdn_to="+numb;
			   var keystring ="&keystring=";

			   if(document.getElementById('express')){
			     if(document.getElementById('express').checked){
			       expr='1';
			   	translit();
			     }
			   }
			   
			   expr="&flash="+expr;
			   var maxkir=document.getElementById('max_kir').innerHTML;

			   if(document.getElementById('trans')){
			     if(!document.getElementById('trans').checked && document.getElementById('max_chr_cnt').innerHTML == maxkir){
			        l = "rus";
			      }
			   }
			   else{
			     if(document.getElementById('max_chr_cnt').innerHTML == maxkir){
			        l = "rus";
			     }
			   }

			   l = "&lang="+l;
			   
			   if((document.getElementById('calen')))
			     if((document.getElementById('calen').checked)) c=date();  
			   
			   c = "&cal="+c;
			   
			   if(document.getElementById('trans')){
			     if(document.getElementById('trans').checked)
			       translit();
			   }
			     
			   if(document.getElementById("keystring")){
			     keystring+=trim(encodeURIComponent(document.getElementById("keystring").value));
			   }

			   var smstext ="&sms_text="+encodeURIComponent(document.getElementById('sms_text').value);

			   if(numb.length == 7 && isNum(numb)) {
			       var params=action+msisdn_to+smstext+l+c+keystring+expr;
			       xmlHttp.open("POST",url,true);
		          xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		          xmlHttp.onreadystatechange = handleResponceSendSms;
		          xmlHttp.send(params);
		       }
		       else{
		          document.getElementById("animation").style.display="none";
		          document.getElementById("otpr").style.display="none";
	          	 document.getElementById("zagr").style.display="none";
					 document.getElementById('message').innerHTML="Неправильный номер абонента";
					 document.getElementById("message").style.display="block";
					 setTimeout('clearMessages()',2000);
		       }
		}
		catch (e){}
	}
}



function handleResponceSendSms(){
    
    if(xmlHttp.readyState == 4)	{
		if(xmlHttp.status == 200){
			try{
		          readResponceSendSms();
			}
			catch(e)
			{
			}
		}
		else
		{
		//setTimeout('handleResponceSendSms()',100);
		}
	}

}

function readResponceSendSms() {
     setTimeout('clearMessages()',5000); 
	document.getElementById("animation").style.display="none";
 	document.getElementById("otpr").style.display="none";
	document.getElementById("zagr").style.display="none";
	
	var response = xmlHttp.responseText;
   var errorcode = response.substr(response.indexOf("<error_code>")+12,1);
	var cnt = response.substring(response.indexOf("<count>")+7,response.indexOf("</count>"));
	
	if(errorcode=="0") {
	  var mes="Ваше сообщение успешно отправлено";  
	  getImage(); 

	  if(document.getElementById('calen')&&document.getElementById('calen').checked)
            mes="Ваше сообщение сохранено в очереди";	  	
	  document.getElementById('message').innerHTML="<font style='color:green;text-style:bold'>"+mes+"</font>";
	  document.getElementById('message').style.display='block';

	  translit();
          document.getElementById('sms_text').value="";
          var l =document.getElementById('rem_chr_cnt');

          l.innerHTML =0;
          l.style.color ='black';
          if(document.getElementById('keystring')) document.getElementById('keystring').value="";
            document.getElementById('rem_chr_cnt').value="0";
          if(document.getElementById('trans')) document.getElementById('trans').checked = false;
          if(document.getElementById('express'))document.getElementById('express').checked = false;
          

          if(document.getElementById('calen')){
             if(document.getElementById('calen').checked) {
               document.getElementById('calen').checked = false;
             }
             if(!document.getElementById('calen').checked){
              document.getElementById('calenmode').style.display='none';
             }
          }
          if(document.getElementById('mes')) 
		    document.getElementById('mes').innerHTML="<b>Количество оставшихся сообщений: <font color='blue'>"+cnt+"</b></font>";
   	}
   	else catchError(errorcode);
		
}

function logout()
{
	if(xmlHttp)
	{
		try
		{
		  document.getElementById("animation").style.display="block";
	     document.getElementById("otpr").style.display="none";
		  document.getElementById("zagr").style.display="block";

			if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
			{
				var serverAddress = "logout.php";
				xmlHttp.open("GET", serverAddress, true);
				xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				xmlHttp.onreadystatechange = handleRequestLogout;
				xmlHttp.send(null);
			}
		}
		catch (e)
		{
		}
	}
}
function handleRequestLogout()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			try
			{
				readLogout();

			}
			catch(e)
			{
			}
		}
		else
		{
		}
	}
}

function readLogout(){

  document.getElementById('animation').style.display = "none";
  document.getElementById("otpr").style.display="none";
  document.getElementById("zagr").style.display="none";
 
   var response = xmlHttp.responseText;
	var content = response.substring(response.indexOf("<content>")+9,response.indexOf("</content>"));
	var error_code = response.substr(response.indexOf("<error_code>")+12,1);
	var maxeng= response.substring(response.indexOf("<maxeng>")+8,response.indexOf("</maxeng>"));
	var maxkir= response.substring(response.indexOf("<maxkir>")+8,response.indexOf("</maxkir>"));


   $(function() {
  		 $('#textpravila').livequery(function() { 
                   $(this).hide(); 
                 });
   });

	$(function() {
  		 $('#content').livequery(function() { 
                   $(this).html(content);
                 });
   });

   $(function() {
  		 $('#max_eng').livequery(function() { 
                   $(this).html(maxeng); 
                 });
   });
   $(function() {
  		 $('#max_kir').livequery(function() { 
                   $(this).html(maxkir); 
                 });
   });
 }                  

function getImage(){                                                                   	
  if(document.getElementById("kcaptcha"))
      document.getElementById("kcaptcha").src = "kcaptcha/index.php?q=" + Math.random()*Math.random();
}
function  clearLoginErrors(){
  if(document.getElementById("ourerror")) document.getElementById("ourerror").style.display = "none";
}

function clearMessages(){
 if(document.getElementById("message")) document.getElementById("message").style.display = "none";
 if(document.getElementById("ourerror")) document.getElementById("ourerror").style.display = "none";
}

var en_ru = new Array();
      en_ru['А'] = 'A'; en_ru['Б'] = 'B'; en_ru['В'] = 'V'; en_ru['Г'] = 'G'; 
	  en_ru['Д'] = 'D'; en_ru['Е'] = 'E'; en_ru['Ё'] = 'Yo'; en_ru['Ж'] = 'Zh'; 
	  en_ru['З'] = 'Z'; en_ru['И'] = 'I'; en_ru['Й'] = 'J'; en_ru['К'] = 'K'; 
	  en_ru['Л'] = 'L'; en_ru['М'] = 'M'; en_ru['Н'] = 'N'; en_ru['О'] = 'O'; 
	  en_ru['П'] = 'P'; en_ru['Р'] = 'R'; en_ru['С'] = 'S'; en_ru['Т'] = 'T'; 
	  en_ru['У'] = 'U'; en_ru['Ф'] ='F';  en_ru['Ц'] ='C';  en_ru['Х'] = 'Kh'; 
	  en_ru['Ч'] = 'Ch'; en_ru['Ш'] = 'Sh'; en_ru['Щ'] = 'Sch'; en_ru['Ы'] = 'Y';	  
	  en_ru['Ь'] ='\''; en_ru['Ъ'] ='#'; en_ru['Э'] = 'Je'; en_ru['Ю'] = 'Ju'; 
	  en_ru['Я'] = 'Ya'; en_ru['а'] = 'a'; en_ru['б'] = 'b'; en_ru['в'] = 'v'; 
	  en_ru['г'] = 'g'; en_ru['д'] = 'd'; en_ru['е'] = 'e'; en_ru['ё'] = 'yo'; 
	  en_ru['ж'] = 'zh'; en_ru['з'] = 'z'; en_ru['и'] ='i'; en_ru['й'] = 'j'; 
	  en_ru['к'] = 'k'; en_ru['л'] = 'l'; en_ru['м'] = 'm'; en_ru['н'] = 'n'; 
	  en_ru['о'] = 'o'; en_ru['п'] = 'p'; en_ru['р'] = 'r'; en_ru['с'] = 's'; 
	  en_ru['т'] = 't'; en_ru['у'] = 'u'; en_ru['ф'] = 'f'; en_ru['ц'] = 'c'; 
	  en_ru['х'] = 'kh'; en_ru['ч'] = 'ch'; en_ru['ш'] = 'sh'; en_ru['щ'] = 'sch'; 
	  en_ru['ь'] = '\''; en_ru['ъ'] = '#'; en_ru['ы'] = 'y'; en_ru['э'] = 'je'; 
	  en_ru['ю'] = 'ju'; en_ru['я'] = 'ya';
	  
var rus = 'ЙЦУКЕНГШЩЗФЫВАПРОЛДЖЭХЮБЬТИМСЧЯйцукенгшщзхъЪэждлорпавыфячсмитьбю';	  

function translit(){
   var elem = document.getElementById("sms_text");
   var text = elem.value;
   var newText="";
   var i=0;
	  

   while(ch = text.substr(i,1)){
      if(rus.indexOf(ch)>-1)
          newText += en_ru[ch];
	  else
	      newText += ch;
	  i++;  
   }
   var maxeng=parseInt(document.getElementById('max_eng').innerHTML);
   var k =document.getElementById('rem_sms_cnt');
   k.innerHTML =Math.ceil(newText.length/maxeng);
   elem.value = newText;
   document.getElementById('max_chr_cnt').innerHTML=maxeng;
   
   elem.focus();
}

function inAlphabet(ch){
  ch = ch.charCodeAt(0);
  if(ch == 15 || ch == 21 || (ch>=32 && ch<=126)) return true;
  return false;  
}

//var allAlphabet =
//"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,\'?!\"-()@/:_;+&%*=<>$[]{}\\~^`#| ";

// "ЙЦУКЕНГШЩЗФЫВАПРОЛДЖЭХЮБЬТИМСЧЯйцукенгшщзхъЪэждлорпавыфячсмитьбю";


function ChooseLen(){

     if(document.getElementById('express')){
       if(document.getElementById('express').checked){
         translit();
       }
     }
	  
	  var maxeng=parseInt(document.getElementById('max_eng').innerHTML);
	  var maxkir=parseInt(document.getElementById('max_kir').innerHTML);
	  var maxlen=parseInt(document.getElementById('max_len').value);
	  var x=parseInt(document.getElementById('max_chr_cnt').innerHTML);

	  
	  var M=document.getElementById('sms_text');
	  var i=0;
	  var f=false;

	  if(document.getElementById('trans')){
	     f=true;
	     var cb=document.getElementById('trans');
	  }
	  var lblMax=document.getElementById('max_chr_cnt');
	  
	  var mes=M.value.replace(/\r\n|\r|\n/g,'qq');
	  c=mes.length;
	  
	  M= document.getElementById('rem_chr_cnt');
	  k= document.getElementById('rem_sms_cnt');
          M.innerHTML=c;
          s=Math.ceil(c/x);
          k.innerHTML=s.toString();
          M.style.color ='Black';
          M=document.getElementById('sms_text');
	  
	  while(ch=M.value.substr(i,1)) {
         //   if (!inAlphabet(ch) && ch != '\n' && ch != '\r') {
			if(rus.indexOf(ch) > -1){          
                          SwitchLang('ru');
		          if(mes.length > maxkir){
			        if(f&&cb.checked) {
				      SwitchLang('en');
				      lblMax.innerHTML =maxeng;
				      break;
				}
                           	
                           	var message=M.value.replace(/\r\n|\r|\n/g,'qq');
                          	var mes_new = message;
                           	
                           	if(message.length > maxlen){
                                   mes_new =message.substring(0,maxlen);
                                    M.value =mes_new.replace(/qq/g,'\n');
                                }
                                
                                var Mvalue =mes_new.replace(/qq/g, '\n');
                                var l =document.getElementById('rem_chr_cnt');
                                var k =document.getElementById('rem_sms_cnt');
                                message =Mvalue;
                                mes =message;
                                var mes_new2 =message.replace(/\r\n|\r|\n/g,'qq');
                                l.innerHTML =mes_new2.length;
                                k.innerHTML =Math.ceil(mes_new2.length/x);
                                l.style.color ='Red';
                                lblMax.innerHTML =maxkir;
		          }
                          break;
                       }
                   i +=1;
                }
                 if (i ==c)
                    SwitchLang('en');
 	            if(mes.length > maxlen){
	                var message =M.value.replace(/\r\n|\r|\n/g,'qq');
                    var mes_new =message.substring(0,maxlen);
                    M.value =mes_new.replace(/qq/g, '\n'); ;
                    var l =document.getElementById('rem_chr_cnt');
                    var k =document.getElementById('rem_sms_cnt');
                    message =M.value;

                    var mes_new2 =message.replace(/\r\n|\r|\n/g,'qq');
                    l.innerHTML =mes_new2.length;
                    k.innerHTML =Math.ceil(mes_new2.length/x);
                    lblMax.innerHTML =maxeng;
                }
               M =document.getElementById('sms_text');
	}


function checkWhich(evt, type){
 evt = (evt) ? evt : ((window.event) ? window.event : null);
 if(evt){
    var thingPressed = "";
    
    var elem = (evt.target) ? evt.target : evt.srcElement;
    
     	thingPressed = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
	if(thingPressed == "13"){
	  if(type == 0) sendSms();
          if(type == 3) checklogin();
	}
    return false;
 }
}
function SwitchLang(lang){
	         var maxeng=parseInt(document.getElementById('max_eng').innerHTML);
	  	      var maxkir=parseInt(document.getElementById('max_kir').innerHTML);
	 	      var maxlen=parseInt(document.getElementById('max_len').value);
	         var lblMax =document.getElementById('max_chr_cnt');
	         
	         var text=document.getElementById('sms_text').value;
	         var k =document.getElementById('rem_sms_cnt');
            
            
	         if(lang =='en'){
		            lblMax.innerHTML =maxeng;
		            k.innerHTML =Math.ceil(text.length/maxeng);
					
                 } else {
				    
		            lblMax.innerHTML =maxkir;
		            k.innerHTML =Math.ceil(text.length/maxkir);
                }
}


