/*  Переменные для модуля связи с сервером */
var op_ser_wotvet = op_tpl_ser_wotvet = 5;				//Попыток соединиться с сервером для опсосов
var nn = 0;



/* *** Метод XMLHTTP *** */
function get_http(){
    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new 
                ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                xmlhttp = false;
            }
        }
    @else
        xmlhttp = false;
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp = false;
        }
    }
    return xmlhttp;
}





function requestTarif(opsos){
	
	if(!this.ophttp) this.ophttp = get_http();
	
    if (this.ophttp) {

		var country = document.getElementById('country').value;	

		document.getElementById('nomer').style.display = 'none';
		
		if(opsos == 'none') return false;

		
		var url = '/ajax_pay.php?country='+country+'&pid='+nn;
		
		if(opsos) url+='&opsos='+opsos;


		opsosRequest = this.ophttp;

        opsosRequest.open("GET", url, true);
   
		opsosRequest.send(null);
		
		var wotvet = 20;				//Количество циклов ожидания
		var tfirst = 100;
		var ctime = 10;					//Время каждого цикла в мс
		
		
		//Ждем ответа сервера
		setTimeout(function waitOtvet() {
									  	  wotvet--;
										  
									   	  //Если время на ожидание еще есть
										  if(wotvet >= 0){

												//Если данные получены
												if(opsosRequest.readyState == 4){
													
													if(opsosRequest.status == 200){
														
														var dataOpsos = opsosRequest.responseText.split('\t');

														
														//Смотрим что пришло, номер или операторы
														if(dataOpsos[0] == 'nomer'){
															
															var dataNomer = dataOpsos[1].split('%');
															
															document.getElementById('sms_text').innerHTML = dataNomer[1];
															document.getElementById('sms_num').innerHTML = dataNomer[0];
															document.getElementById('sms_price').innerHTML = dataNomer[2];
															
															if(!opsos) document.getElementById('opsos_block').style.display = 'none';
															document.getElementById('nomer').style.display = 'block';
															
															if(country == 'RU'){
																document.getElementById('no_country_vat').style.display = 'none';
																document.getElementById('country_vat').style.display = 'inline';
															}
															else{
																document.getElementById('no_country_vat').style.display = 'inline';
																document.getElementById('country_vat').style.display = 'none';
															}
														
														}
														
														else if(dataOpsos[0] == 'opsos'){
															
															document.getElementById('opsos_block').style.display = 'block';
														
														}
														
														else location.replace("/pay/?country="+country);
														
													}
													
												}
												
												//Если еще не получены, повоторяем цикл
												else {
													//document.getElementById('bu1').innerHTML = "Ставка: итераций ожидания: "+wotvet;
													setTimeout(waitOtvet, ctime);
												}
												
										  }
										  
										  //Если время истекло, завершаем запрос
										  else {
											  
												opsosRequest.abort();
												
												op_ser_wotvet--;
												
												if(op_ser_wotvet){
													//document.getElementById('bu2').innerHTML = 'Очередная попытка достучаться до сервера: '+op_ser_wotvet;
													setTimeout(requestTarif(opsos), ctime);
												}
												else {
													op_ser_wotvet = op_tpl_ser_wotvet;
													location.replace("/pay/?country="+country);
												}
												
										  }
										  
									}
									, tfirst);
	
	}
	
    else {
		var country = document.getElementById('country').value;
		location.replace("/pay/?country="+country);	
	}
	
}


