if (typeof XMLHttpRequest == "undefined")
  XMLHttpRequest = function () {
    try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
      catch (e) {}
    try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
      catch (e) {}
    try { return new ActiveXObject("Microsoft.XMLHTTP"); }
      catch (e) {}
    //Microsoft.XMLHTTP points to Msxml2.XMLHTTP and is redundant
    throw new Error("This browser does not support XMLHttpRequest.");
  };
  
  
//проверка input-ов 
var num_mesto;
  function proverka() {
  	var econom = document.getElementById('tfull');
	var busines = document.getElementById('btfull');
	var b_label = document.getElementById('business_label');
	var k_mesto = getElAe("nf");
	var k_m = k_mesto.length - 1;
	// если галочка стоит, то работает только проверка на число, нет проверяем еще на пустоту
	if (b_label.checked) econom.value = econom.value.replace(/[^\d,]/g, '');
	else{
		if (econom.value == "")	econom.value = "1";
		else econom.value = econom.value.replace(/[^\d,]/g, '');
	}
	
	if (busines.value == "") busines.value = "1";
	else busines.value = busines.value.replace(/[^\d,]/g, '');
	
	// мест всего 36, смысла ввода большего числа нет
	if (econom.value > 36) econom.value = "36";
	if (busines.value > k_m) busines.value = k_m;
	
	num_mesto = busines.value;
	};
	
	
	
//костыль для Internet Explorer
	if(!Array.indexOf){
		Array.prototype.indexOf = function(obj){
			for(var i=0; i<this.length; i++){
				if(this[i]==obj){
					return i;
				}
			}
			return -1;
		}
	}

// изменение состояния visible tr'ки с картой мест бизнес класса
function chclass() {
	var bclass_label, btablo, imgmap, eco_label, eco_tickets, bis_label, bis_input, eco_input, bis_mesto;
	
	// получаем объекты
	bclass_label = document.getElementById('business_label');
	btablo = document.getElementById('trtablo');
	trtablo_select = document.getElementById('trtablo_select');
	imgmap = document.getElementById('imgmap');
	
	eco_label = document.getElementById('eco_label');
	eco_tickets = document.getElementById('eco_tickets');
	
	bis_label = document.getElementById('bis_label');
	eco_input = document.getElementById('tfull');
	bis_input = document.getElementById('btfull');
	
	bis_mesto = document.getElementById('bis_mesto');
	
	// проверяем visible и инвертируем если нужно

  if (bclass_label.checked) {

	trtablo_select.disabled = false;
	btablo.style.display = "";
	imgmap.style.display = "";
		
	bis_label.style.display = "";
	bis_mesto.style.display = "";
		
	bis_input.value = "1";
	eco_input.value = "";
	getElAe();
	
	} else {
	
		trtablo_select.disabled = true;
		btablo.style.display = "none";
		imgmap.style.display = "none";

		bis_label.style.display = "none";
		bis_mesto.style.display = "none";
		
		bis_input.value = "";
		eco_input.value = "1";
	}
}

//==================================================================================================================================
// Проверка на включение бизнес класса (нужно для того что-бы не совершать лишних запросов)
function bisChecked(){
	var bclass;
	bclass = document.getElementById('business_label');
	if (bclass.checked) {getElAe();}
}

//==================================================================================================================================
// запуск выбора даты и парсинг ее в строку
$(document).ready(function() {
	$('#datepicker').datepicker({ dateFormat: 'dd.mm.yy', maxDate: '+120d', minDate: '-0d' });
})

function calChanged() {
	var date = $.datepicker.parseDate('dd.mm.yy', $("#datepicker").val());
	$('#payform input[name=dt]').val($.datepicker.formatDate('dd', date));
	$('#payform input[name=mt]').val($.datepicker.formatDate('mm', date));
}
							
//==================================================================================================================================
// определение имен контролов для отправки формы
function changeTicketName() {
	var eto, fc, fullinput, bfc, bfullinput;
	var aName = new Array("", "Внуково", "Домодедово", "Шереметьево");
	
	// получаем объекты
	ft = document.getElementById('tfull');
	bft = document.getElementById('btfull');
	eto = document.getElementById('apto');
	
	
	// определяем аэропорт и в зависимости от этого назвачаем имена контролам
	switch (eto.value) {
		case '1':
			fullinput = 'tc111';
			bfullinput = 'tc121';
		break;
		case '2':
			fullinput = 'tc211';
			bfullinput = 'tc221';
		break;
		case '3':
			fullinput = 'tc311';
			bfullinput = 'tc321';
		break;
	}
	
	ft.name = fullinput;
	bft.name = bfullinput;
}


//==================================================================================================================================
// выбора места для бизнес класса
var n_mesta = new Array();
function selectmesto(id) {
// определяем переменные
	var ss = getElAe("nf");
	var mesto = document.getElementById(id);
	var seat_num_full = document.getElementById('btfull');
	var nem1 = mesto.id;
	var arr='', arr2='';
	nem1=nem1.replace(/[a-zA-Z]*/g, '');
	// получения числового значения места из его ID
	if(ss.indexOf(nem1) != -1) { //проверяем результат ss.indexOf(ii) возвращает -1 если НЕ найдено
	//проверяем введен ли уже элемент, если нет то добавляем  да очищаем 
		if (n_mesta[nem1] != nem1){// проверяем на повторность ввода. Если нажато впервые, то.
		
		// заносим номер кресла в массив с номером элемента массива = номеру кресла. Сделано для того что-бы не создавать кучу циклов и проверок
			n_mesta[nem1]=nem1; 
			if (nem1 < 17) {// определяем положение спинки кресла, направление движения
				div_bg = "url(/res/aero/div_b_l.png)";	// меняем в зависимости от этого фоновую картинку
			} 
			else {
				div_bg = "url(/res/aero/div_b_r.png)";
			}
		}
		//если этот элемент существует, то удаляем его значение и удаляем картинку выбора
		else {
			n_mesta[nem1]=null;
			div_bg ="";
		}
		//создаем строки для вывода
		var seat=0;
		for(var io=0;io < n_mesta.length;io++){
			
			if (n_mesta[io] != null){
				arr= arr + '№: '+n_mesta[io] + '&nbsp&nbsp';
				arr2= arr2+n_mesta[io]+'-';
				seat++;
			}
		}
		
	mesto.style.background = div_bg;//выводим либо удаляем картинку (место)
// показываем пользователю номер выбранного им места
	document.getElementById('seat_selected').innerHTML = '<span style="font-weight: bold; color: red;">' + arr + ' </span>';
	document.getElementById('bis_mesto').value = arr2;

	}		
	if (seat_num_full.value < seat) seat_num_full.value = seat;
	else{
		seat_num_full.value = seat;
		if (seat == 0) seat_num_full.value=1;
	}
	if (seat < num_mesto) seat_num_full.value = num_mesto;
	//else seat_num_full.value = seat;
}

//==================================================================================================================================


// проверка галки пользовательского соглашения
function checkradio() {
	var radio_button = document.getElementById('iagree');
	
	if (radio_button.checked) {// если все нормально, то отправляем форму
		document.payform.submit();
		return true;
	} else {// если нет, то ничего не далаем и ждем пока юзер устанет жать на кнопку...
		alert('Пожалуйста, подтвердите прочтение "Правил оформления билета"');
		return false;
	}
}

//==================================================================================================================================
function getXmlHttp(){
  var xmlhttp;
  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 file_get_contents(url) {	// Reads entire file into a string
	//var req = null;
	/*
try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
		try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
			try { req = new XMLHttpRequest(); } catch(e) {}
		}
	}
*/
	/*
req = new XMLHttpRequest(); 
	if (req == null) throw new Error('XMLHttpRequest not supported');

	req.open("GET", url, false);
	req.send(null);
	
	alert(req);
//alert(req.responseText);
	
	if (req.status == 200)
	{
		alert('test2');
		alert( req.responseText );
		return req.responseText;
	}
*/
	//document.write(url);
	var xmlhttp = getXmlHttp()
	xmlhttp.open('GET', '/getf.php?ap=1&to=1&dt=&mt=&tr=16:00&ID=46', false);
	xmlhttp.send();//
	//alert(xmlhttp.status);
	//alert(xmlhttp.readyState);
	//alert(url);
	if (xmlhttp.status == 200) {
	
		var txt = xmlhttp.responseText;
		//alert( txt );
		return txt;
	}
}

//==================================================================================================================================

// очистка доступных мест
function clear_seats() {
	var cl_si_c, cl_seat_c;
	
	for (var cl_i = 1; cl_i<37; cl_i++) {
		cl_si_c = 'seat' + cl_i;
		cl_seat_c = document.getElementById(cl_si_c);
		cl_seat_c.style.background = "";
	}
	document.getElementById('seat_selected').innerHTML = '<span style="font-weight: bold; color: red;"></span>';
}

//==================================================================================================================================

// получение значения елементов по их id
function getElAe(act) {
	if (act == "nf") return s;// если вызов функции с передачей переменной
	else {// прямой вызов, без параметров
		var get_link, eldt, elmt, ap, direction1, to, trtablo_select, elid, i, si, sif, sit, seat, div_bg_s, seat_c, si_c;
		s = new String();
		stmp = new String();
		
		if (document.getElementById('business_label').checked) {
			get_link = "/getf.php?";
			eldt = document.getElementById('eldt').value;
			elmt = document.getElementById('elmt').value;
			ap = document.getElementById('apto').value;
			direction1 = document.getElementById('direction1').checked;
		
			// определяем направление движения
			if (direction1) {
				to = 1;
			} else	{
				to = 2;
			}
			trtablo_select = document.getElementById('trtablo_select').value;
			elid = document.getElementById('elid').value;
		
			// создаем запрос
			get_link = get_link + "ap=" + ap + "&to=" + to + "&dt=" + eldt + "&mt=" + elmt + "&tr=" + trtablo_select + "&ID=" + elid;

			// получаем строку свободных мест
			s = file_get_contents(get_link);
			s = s.split(",");
			stmp = s[0];
			stmp = stmp.split(":");
			s[0] = stmp[1];
			i = 1;
			
			for (var i =1; i<37; i++) {
				i = i.toString();
				if(s.indexOf(i) + 1);	// если НЕ найдено
				else {// если НАЙДЕНО
					si = 'seat' + i;
					seat = document.getElementById(si);
					if (i < 17) {  // определяем положение спинки кресла, направление движения
						div_bg_s = "url(/res/aero/div_b_l_s.png)";	// меняем в зависимости от этого фоновую картинку
					} else {
							div_bg_s = "url(/res/aero/div_b_r_s.png)";
						}
					seat.style.background = div_bg_s;
					seat.style.cursor = "arrow";
				}
			}
		}	
	}
}
