function initAviaForms()
{
	fillAirlineList('airline');

	//sleep(4000);
}

function fillAirlineList(obj_id)
{	var ctrl_airline = uh_get_object( obj_id );
 	//alert( window.document.srchfrm.airline.innerHTML );

  	if( AJAX != null )
	{
		//alert( 'AJAX is ok' );
		var process_fn = function(res)
		{
			//alert(' RESPONSE IN CALLBACK: ' + res);

			eval( 'var responce_data = ' + res );

			// remove all old data
			while( ctrl_airline.options.length > 0 )
				ctrl_airline.remove(0);

			// Fill list with new options
			for(i=0; i<responce_data.airlines.length; i++)
			{				ctrl_airline.options[i] = new Option( responce_data.airlines[i].name, responce_data.airlines[i].id );			}

			// Hide progress bar
            hideProgress();		};

		showProgress();

		AJAX.SendRequest('GET', 'rcom=uh_com_airline', process_fn, null);
	}}

function air_chain_rem(div_cont_id, counter_id)
{
	var count_obj = uh_get_object( counter_id );
	var div_cont = uh_get_object( div_cont_id );

	if( !count_obj || !div_cont )
	{
		alert('Объект не получен.');
		return;
	}

	var num_chains = parseInt(count_obj.value);

	if( num_chains <= 1 )
	{		alert('Невозможно сократить маршрут, так как в нем всего один перелет.');
		return;
	}

	// Now we should extract all selected data in fields to store it in variable
	// and when the new text will be assigned to innerHTML we should restore variables

	var cnf_arr = new Array();
	var ccf_arr = new Array();
	var cnt_arr = new Array();
	var cct_arr = new Array();
	var dt_arr = new Array();
	var tm_arr = new Array();

	for(i=1; i<num_chains; i++)
	{
		var cnf_obj = uh_get_object('cnf' + i);
		var ccf_obj = uh_get_object('ccf' + i);
		var cnt_obj = uh_get_object('cnt' + i);
		var cct_obj = uh_get_object('cct' + i);
		var it_dt_obj = uh_get_object('it_dt' + i);
		var tm_obj = uh_get_object('chsttm' + i);

		cnf_arr[i] = cnf_obj.value;
		ccf_arr[i] = ccf_obj.value;
		cnt_arr[i] = cnt_obj.value;
		cct_arr[i] = cct_obj.value;
		dt_arr[i] = it_dt_obj.value;
		tm_arr[i] = tm_obj.selectedIndex;
	}

	// Make new inside content
	var new_html = div_cont.innerHTML;
	var end_pos = new_html.lastIndexOf('<!-- NEW FLY CHAIN -->');
	new_html = new_html.substring(0,end_pos);

	//alert( new_html );

	count_obj.value = num_chains-1;
	div_cont.innerHTML = new_html;

	// Now we should restore all variable values
	for(i=1; i<num_chains; i++)
	{
		var cnf_obj = uh_get_object('cnf' + i);
		var ccf_obj = uh_get_object('ccf' + i);
		var cnt_obj = uh_get_object('cnt' + i);
		var cct_obj = uh_get_object('cct' + i);
		var it_dt_obj = uh_get_object('it_dt' + i);
		var tm_obj = uh_get_object('chsttm' + i);

		cnf_obj.value = cnf_arr[i];
		ccf_obj.value = ccf_arr[i];
		cnt_obj.value = cnt_arr[i];
		cct_obj.value = cct_arr[i];
		it_dt_obj.value = dt_arr[i];
		tm_obj.selectedIndex = tm_arr[i];
	}

	if( num_chains <= 2 )
	{		var link_obj = uh_get_object( 'chainlink1' );
		link_obj.innerHTML = "Искать туда и обратно";
		link_obj.href = "javascript:air_chain_add('chainspan', 'chainsnum', 'return');";	}}

function air_chain_add(div_cont_id, counter_id, act_mode)
{
	var count_obj = uh_get_object( counter_id );
	var div_cont = uh_get_object( div_cont_id );

	if( !count_obj || !div_cont )
	{		alert('Объект не получен.');
		return;	}

	var num_chains = parseInt(count_obj.value);
	var new_index = num_chains+1;

	// Now we should extract all selected data in fields to store it in variable
	// and when the new text will be assigned to innerHTML we should restore variables

	var cnf_arr = new Array();
	var ccf_arr = new Array();
	var cnt_arr = new Array();
	var cct_arr = new Array();
	var dt_arr = new Array();
	var tm_arr = new Array();

	for(i=1; i<new_index; i++)
	{		var cnf_obj = uh_get_object('cnf' + i);
		var ccf_obj = uh_get_object('ccf' + i);
		var cnt_obj = uh_get_object('cnt' + i);
		var cct_obj = uh_get_object('cct' + i);
		var it_dt_obj = uh_get_object('it_dt' + i);
		var tm_obj = uh_get_object('chsttm' + i);

		cnf_arr[i] = cnf_obj.value;
		ccf_arr[i] = ccf_obj.value;
		cnt_arr[i] = cnt_obj.value;
		cct_arr[i] = cct_obj.value;
		dt_arr[i] = it_dt_obj.value;
		tm_arr[i] = tm_obj.selectedIndex;	}

	//alert('add chain');

	// Make new inside content
	var new_html = div_cont.innerHTML;

	new_html += '<!-- NEW FLY CHAIN -->\r\n';
	new_html += '<div class="rowh">Маршрут ' + new_index + '</div>\r\n';
	new_html += '<div class="row">\r\n';
	new_html += 	'<div id="lblfrom' + new_index + '" class="lblfrom">Город отправления: (<a href="javascript:voidfn(0);" onmouseover="this.onclick=function(e) { var coor = mousePageXY(e); showHelp(coor, 0 ); }" class="actlink">?</a>)</div>\r\n';
	new_html += 	'<div id="inpfrom' + new_index + '" class="inpfrom"><input type="text" id="cnf' + new_index + '" name="cnf' + new_index + '" class="field" style="position: relative;" onkeyup="javascript:fillCityList(this.value, \'citydrop\', \'cnf' + new_index + '\', \'ccf' + new_index + '\');" value="" /><input type="hidden" id="ccf' + new_index + '" name="ccf' + new_index + '" class="field" value="" /></div>\r\n';
	new_html += '<div><a href="javascript:OpenWin(\''+ AJAX_CLENT_FULLURL + 'city.html?target=self.opener.document.srchfrm.cnf' + new_index + '&targetc=self.opener.document.srchfrm.ccf' + new_index + '\');"><img src="'+ AJAX_CLENT_FULLURL + 'img/find.gif" width="24" height="20" border="0" alt="Выбрать город" /></a></div>\r\n';
	new_html += '</div>\r\n';
	new_html += '<div class="row">\r\n';
	new_html += 	'<div id="lblto' + new_index + '" class="lblto">Город прибытия: (<a href="javascript:voidfn(0);" onmouseover="this.onclick=function(e) { var coor = mousePageXY(e); showHelp(coor, 1 ); }" class="actlink">?</a>)</div>\r\n';
	new_html += 	'<div id="inpto' + new_index + '" class="inpto"><input type="text" id="cnt' + new_index + '" name="cnt' + new_index + '" class="field" style="position: relative;" onkeyup="javascript:fillCityList(this.value, \'citydrop\', \'cnt' + new_index + '\', \'cct' + new_index + '\');" value="" /><input type="hidden" id="cct' + new_index + '" name="cct' + new_index + '" class="field" value="" /></div>\r\n';
	new_html += '<div><a href="javascript:OpenWin(\''+ AJAX_CLENT_FULLURL + 'city.html?target=self.opener.document.srchfrm.cnt' + new_index + '&targetc=self.opener.document.srchfrm.cct' + new_index + '\');"><img src="'+ AJAX_CLENT_FULLURL + 'img/find.gif" width="24" height="20" border="0" alt="Выбрать город" /></a></div>\r\n';
	new_html += '</div>\r\n';
	new_html += '<div class="row">\r\n';
	new_html += 	'<div id="lbldt' + new_index + '" class="lbldt">Дата вылета: (<a href="javascript:voidfn(0);" onmouseover="this.onclick=function(e) { var coor = mousePageXY(e); showHelp(coor, 5 ); }" class="actlink">?</a>)</div>\r\n';
	new_html += 	'<div class="inpdt"><input type="text" size="10" name="it_dt' + new_index + '" id="it_dt' + new_index + '" class="datetxt" /></div>\r\n';
	new_html += 	'<div><a href="javascript:showCalendarPopup(\'calendpan' + new_index + '\', \'it_dt' + new_index + '\', this);"><img src="'+ AJAX_CLENT_FULLURL + 'img/ico_cal.gif" width="20" height="20" border="0" alt="Выбрать дату" /></a></div>\r\n';
	new_html += '</div>\r\n';
	new_html += '<div class="row">\r\n';
	new_html += 	'<div class="lbltm">Время вылета:</div>\r\n';
	new_html += 	'<div class="inptm"><select id="chsttm' + new_index + '" name="chsttm' + new_index + '" class="field"><option value="0001:2359">Любое время</option><option value="0500:0900">Ранее Утро 05:00-09:00</option><option value="0900:1200">Утро 09:00-12:00</option><option value="1200:1700">День 12:00-17:00</option><option value="1700:2000">Вечер 17:00-20:00</option><option value="2000:2359">Поздний Вечер 20:00-24:00</option><option value="0101:0500">Ночь 00:00-05:00</option></select></div>\r\n';
	new_html += '</div>\r\n';
	new_html += '<div id="calendpan' + new_index + '" class="calwnd" style="visibility: hidden; display: none;"><div id="calendpan' + new_index + 'cont" class="calwndcont"></div><!--[if lte IE 6.5]><iframe></iframe><![endif]--></div>\r\n';
	new_html += '</div>\r\n';

	div_cont.innerHTML = new_html;
	count_obj.value = new_index;

	// Now we should restore all variable values
	for(i=1; i<new_index; i++)
	{
		var cnf_obj = uh_get_object('cnf' + i);
		var ccf_obj = uh_get_object('ccf' + i);
		var cnt_obj = uh_get_object('cnt' + i);
		var cct_obj = uh_get_object('cct' + i);
		var it_dt_obj = uh_get_object('it_dt' + i);
		var tm_obj = uh_get_object('chsttm' + i);

		cnf_obj.value = cnf_arr[i];
		ccf_obj.value = ccf_arr[i];
		cnt_obj.value = cnt_arr[i];
		cct_obj.value = cct_arr[i];
		it_dt_obj.value = dt_arr[i];
		tm_obj.selectedIndex = tm_arr[i];
	}

	if( new_index > 1 )
	{
		var link_obj = uh_get_object( 'chainlink1' );		link_obj.innerHTML = "Сократить маршрут";
		link_obj.href = "javascript:air_chain_rem('chainspan', 'chainsnum');";

		if( act_mode == "return" )
		{
			var cnf_obj = uh_get_object('cnf1');
			var ccf_obj = uh_get_object('ccf1');
			var cnt_obj = uh_get_object('cnt1');
			var cct_obj = uh_get_object('cct1');

			var cnf_obj2 = uh_get_object('cnf2');
			var ccf_obj2 = uh_get_object('ccf2');
			var cnt_obj2 = uh_get_object('cnt2');
			var cct_obj2 = uh_get_object('cct2');

			cnf_obj2.value = cnf_obj.value;
			ccf_obj2.value = ccf_obj.value;
			cnt_obj2.value = cnt_obj.value;
			cct_obj2.value = cct_obj.value;
		}	}}

function gotoprevpage_avia(form_id, tbl_id, steppan_id)
{	switch( bookparams["stepind"] )
	{		case 1:
			// do nothing
			break;
		case 2:
			// Run back step for displayed flight list
			var obj_tbl = uh_get_object(tbl_id);
			obj_tbl.innerHTML = "";

			hideItem(steppan_id);
			hideItem(steppan_id + 'up');
			showItem(form_id);
			break;

		case 3:
			var obj_tbl = uh_get_object(tbl_id);
			obj_tbl.innerHTML = bookparams["searchrestext"];

			showItem(steppan_id + 'up');
			break;	}

	bookparams["stepind"] = bookparams["stepind"] - 1;}

function buildItenaryItem( cur_it, ind, with_order_button )
{
	var div_inner_html = '';

	div_inner_html += '<table cellspacing="1" cellpadding="0" border="0" width="620" class="ittb">\r\n' +
                 '<tr><td class="itpr">' +
                 '<table cellspacing="0" cellpadding="0" border="0" align="right" class="listtbl"><tr><td>';
 	if( with_order_button )
  		div_inner_html += '<input type="button" value="Выбрать" onclick="javascript:clickSelFlightButton(\'flightlist\', ' + ind + ', \'' + cur_it.command_line + '\');" />';
 	else
 		div_inner_html += ' &nbsp; ';

   div_inner_html += '</td></tr></table> Предварительная стоимость одного билета: ' + cur_it.price + ' ' + cur_it.currency +
                 '</td></tr>';

	for(j=0; j<cur_it.directions.length; j++)
	{
		var cur_dir = cur_it.directions[j];

		div_inner_html += '<tr><td><table cellspacing="0" cellpadding="2" border="0" width="100%" class="itfl">\r\n' +
	 				'<tr>' +
	     				'<td><img src="' + AJAX_CLENT_FULLURL + 'img/arr.gif" width="13" height="13" alt="" /></td>' +
	     				//'<td class="fldir">' + unescape(cur_dir.from) + ' - ' + unescape(cur_dir.to) + '</td>' +
	     				'<td class="fldir">' + cur_dir.from + ' - ' + cur_dir.to + '</td>' +
	         			'<td>Время в пути: ' + cur_dir.time  + '</td></tr>\r\n' +
	            			'</table></td></tr>\r\n';

        for(k=0; k<cur_dir.flights.length; k++)
        {
        		var cur_fl = cur_dir.flights[k];

        		div_inner_html += '<tr><td><table cellspacing="0" cellpadding="2" border="0" width="100%" class="ittbi">\r\n' +
     			'<tr><td width="10%">Вылет: </td><td width="23%">' + cur_fl.sttm + '</td><td width="37%">' + cur_fl.stairp + '(Терминал ' + cur_fl.stterm + ')</td><td width="30%">№' + cur_fl.flnum + ' - ' + cur_fl.plane + '  &nbsp;&nbsp;класс ' + cur_fl.seat + '</td></tr>\r\n' +
     			'<tr><td width="10%">Прибытие: </td><td width="23%">' + cur_fl.entm + '</td><td width="37%">' + cur_fl.enairp + '(Терминал ' + cur_fl.enterm + ')</td><td width="30%">&quot;' + cur_fl.aircode + '&quot; ' + cur_fl.airname + '</td></tr>\r\n' +
     			'</table></td></tr>\r\n';
        }

	}

	div_inner_html += '</table>';

	return div_inner_html;
}

function clickSearchFlightBut(form_id, cont_id, steppan_id)
{	var obj_form = uh_get_object(form_id);
	//var obj_cont = uh_get_object(cont_id);

	///////////////////////////////////////////////
	// Make check for correct input of dates
	var obj_chains = uh_get_object('chainsnum');
	var num_chains = parseInt(obj_chains.value);

	var curdt = new Date();

	var prevdt = new Date();

	for(i=1; i<=num_chains; i++)
	{
		var cnf = uh_get_object('cnf' + i);
		//var ccf = uh_get_object('ccf' + i);
		var cnt = uh_get_object('cnt' + i);
		//var cct = uh_get_object('cct' + i);
		var it_dt = uh_get_object('it_dt' + i);
		//var it_tm = uh_get_object('chsttm' + i);

		if( (cnf.value == "") || (cnt.value == "") )
		{			alert("Вы не заполнили маршрут " + i + "-го перелета");
			return;		}

		var re = /^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/g;
		var dtval = it_dt.value;
		if( !dtval.match(re) )
		{			alert("Неправильно указана дата вылета для " + i + "-го перелета");
			return;		}

		var dtparts = dtval.split(".");
		var dd = parseInt(dtparts[0], 10);
		var dm = parseInt(dtparts[1], 10);
		var dy = parseInt(dtparts[2], 10);

		if( !( ((dd >= 1) && (dd <= 31)) && ((dm >= 1) && (dm <= 12)) && (( ( curdt.getYear() < 1000 ? dy-1900 : dy) >= curdt.getYear()) && (( curdt.getYear() < 1000 ? dy-1900 : dy) <= (curdt.getYear() + 2))) ) )
		{
			alert("Неправильно указана дата вылета для " + i + "-го перелета");
			return;		}

		var seldt = new Date(dy, dm-1, dd);

		if( seldt.getTime() < prevdt.getTime() )
		{			alert("Неправильно указана дата для " + i + "-го перелета. Дата вылета каждого перелета должна идти после даты предыдущего перелета, либо быть больше текущей даты для первого перелета.");
			return;		}

		prevdt = seldt;
	}

 	// Run search
	hideItem(form_id);

	do_avia_search(cont_id, steppan_id);}

function do_avia_search(content_obj_id, steppan_id)
{
	//var q_params = GetQueryStringParams(window);
	var div_body = uh_get_object( content_obj_id );

  	if( AJAX != null )
	{
		//alert( 'AJAX is ok' );

		// Get objects
		var obj_chains = uh_get_object('chainsnum');
		var obj_seat_num = uh_get_object('seatNum');
		var obj_seat_class = uh_get_object('seatClass');
		var obj_chk_direct = uh_get_object('showDirectOnly');
		var obj_chk_near = uh_get_object('showNearestDays');

		// Make request string
		var num_chains = parseInt(obj_chains.value);

		bookparams["persons"] = parseInt(obj_seat_num.options[obj_seat_num.selectedIndex].value);
		bookparams["seatclass"] = obj_seat_class.options[obj_seat_class.selectedIndex].value;

		div_body.innerHTML = "";

		var post_req_str = "rcom=uh_com_flight&chainsnum=" + num_chains;

		post_req_str += "&showDirectOnly=" + ( obj_chk_direct.checked ? "on" : "undefined" );
		post_req_str += "&showNearestDays=" + ( obj_chk_near.checked ? "on" : "undefined" );
		post_req_str += "&seatNum=" + bookparams["persons"];
		post_req_str += "&seatClass=" + bookparams["seatclass"];
		post_req_str += "&airline=undefined";// + q_params.params.airline;

		for(i=1; i<=num_chains; i++)
		{
			var cnf = uh_get_object('cnf' + i);
			var ccf = uh_get_object('ccf' + i);
			var cnt = uh_get_object('cnt' + i);
			var cct = uh_get_object('cct' + i);
			var it_dt = uh_get_object('it_dt' + i);
			var it_tm = uh_get_object('chsttm' + i);

			post_req_str += "&citypoint" + i + "=" + unescape(escapeEx(cnf.value));
			post_req_str += "&citypointc" + i + "=" + ccf.value;
			post_req_str += "&citypointto" + i + "=" + unescape(escapeEx(cnt.value));
			post_req_str += "&citypointcto" + i + "=" + cct.value;
			post_req_str += "&stdt" + i + "=" + it_dt.value;
			post_req_str += "&chsttm" + i + "=" + unescape(escapeEx(it_tm.value));
		}

		//alert( post_req_str );

		var process_fn = function(res)
		{
			//alert( res );
			eval( 'var responce_data = ' + res );

			var div_inner_html = "<h1 class=\"flhdr\">Шаг 2 - Выбор авиарейса</h1>";

			bookparams["iteneries"] = responce_data.iteneries;

			// Fill list of all found iteneries
			for(i=0; i<responce_data.iteneries.length; i++)
			{
				var cur_it = responce_data.iteneries[i];
				var item_value_str = "";
				var tax_amount = "";

				var this_itenary_html = buildItenaryItem( cur_it, i, true );

                div_inner_html += this_itenary_html + '<br />';
			}

			div_body.innerHTML = div_inner_html;

			hideProgress();
			bookparams["stepind"] = 2;
			showItem(steppan_id);
			showItem(steppan_id + 'up');
			bookparams["searchrestext"] = div_inner_html;

		};

		showProgress();

		AJAX.SendRequest('POST', '', process_fn, encode64(post_req_str));
	}
}

function clickSelFlightButton(container_id, item_index, cmd_str)
{

	bookparams["ordercmd"] = cmd_str;
	bookparams["orderindex"] = item_index;
	do_select_flight( container_id, bookparams["persons"], cmd_str );}

function do_select_flight(div_id, num_persons, flight_cmd_str)
{	var divobj = uh_get_object( div_id );
	var div_inner_html = "";

	var sel_itenary_html = buildItenaryItem( bookparams["iteneries"][bookparams["orderindex"]], bookparams["orderindex"], false );

	div_inner_html += "<h1 class=\"flhdr\">Вы выбрали авиарейс</h1>" + sel_itenary_html + "<br />";

	div_inner_html += "<h1 class=\"flhdr\">Шаг 3 - Заполнение информации о пассажирах</h1>";

	for( i=1; i<=num_persons; i++ )
	{		div_inner_html += '<div class="inputform"><div style="padding: 3px 0px 8px 0px;">' + helpTooltipText[6] + '</div>' +
			'<table cellspacing="1" cellpadding="2" border="0" class="frmtbl">' +
			'<tr><td class="fh" align="center" colspan="2">Пассажир ' + i + '</td></tr>' +
			'<tr><td class="ff">Фамилия: <span class="asterik">*</span></td><td class="fr"> <input type="text" id="user_name' + i + '" name="user_name' + i + '" class="fieldp" value="" /></td></tr>' +
			'<tr><td class="ff">Имя: <span class="asterik">*</span></td><td class="fr"><input type="text" id="user_fname' + i + '" name="user_fname' + i + '" class="fieldp" value="" /></td></tr>' +
			'<tr><td class="ff">Тип билета: <span class="asterik">*</span></td><td class="fr">' +
				'<select id="user_child' + i + '" name="user_child' + i + '" class="fieldp">' +
				'<option value="ADT">Взрослый</option>' +
				'<option value="INS">Детский с местом</option>' +
				'<option value="INF">Детский без места</option>' +
				'</select>' +
			'</td></tr></table></div>';	}

	div_inner_html += '<div style="padding: 20px 10px 10px 0px;"><table cellspacing="1" cellpadding="2" border="0" class="frmtbl">' +
			'<tr><td class="fh" align="center" colspan="2">На кого выполнять бронирование</td></tr>' +
			'<tr><td class="ff">Фамилия: <span class="asterik">*</span></td><td class="fr"> <input type="text" id="cpername" name="cpername" class="fieldp" value="" /></td></tr>' +
			'<tr><td class="ff">Имя: <span class="asterik">*</span></td><td class="fr"><input type="text" id="cperfname" name="cperfname" class="fieldp" value="" /></td></tr>' +
			'<tr><td class="ff">Телефон: (<a href="javascript:voidfn(0);" onmouseover="this.onclick=function(e) { var coor = mousePageXY(e); showHelp(coor, 8 ); }" class="actlink">?</a>) <span class="asterik">*</span></td><td class="fr"><input type="text" id="cpertel" name="cpertel" class="fieldp" value="" /></td></tr>' +
			'<tr><td class="ff">E-Mail: </td><td class="fr"><input type="text" id="cpermail" name="cpermail" class="fieldp" value="" /></td></tr>' +
			'</table></div>';

	div_inner_html += '<br /><input type="button" value="Выполнить заказ" onclick="javascript:clickBookFlightButton(\'' + div_id + '\');" />' +
		'<div style="padding: 7px 0px 5px 0px;">' + helpTooltipText[7] + '</div>';
	divobj.innerHTML = div_inner_html;

	bookparams["stepind"] = 3;

	hideItem('flightstepsup');}

function clickBookFlightButton(container_id)
{
	//alert('Process form');

	// We should check the correct input of visitor
	var num_persons = bookparams["persons"];

	//alert('Total persons: ' + num_persons);

	var persons = new Array();

	for(i=1; i<=num_persons; i++)
	{
		//alert('Check person: ' + i);

		var cur_name_obj = uh_get_object( 'user_name' + i );
		var cur_fname_obj = uh_get_object( 'user_fname' + i );
		var cur_child_obj = uh_get_object( 'user_child' + i );

		if( (cur_name_obj.value == '') || (cur_fname_obj.value == '') )
		{			alert('Вы полностью не заполнили информацию о ' + i + '-м пассажире.');
			return;		}

		var re = /^[a-zA-Z]+$/g;
		var n1 = cur_name_obj.value;
		var f1 = cur_fname_obj.value;

		if( !n1.match(re) )
		{
			alert('Вы указали фамилию символами не латинского алфавита для ' + i + '-ого пассажира.');
			return;
		}

		if( !f1.match(re) )
		{
			alert('Вы указали имя символами не латинского алфавита для ' + i + '-ого пассажира.');
			return;
		}

		var this_person = new Array();
		this_person["name"] = cur_name_obj.value;
		this_person["fname"] = cur_fname_obj.value;
		this_person["child"] = cur_child_obj.options[cur_child_obj.selectedIndex].value;

		persons[i-1] = this_person;	}

	var cur_name_obj = uh_get_object( 'cpername' );
	var cur_fname_obj = uh_get_object( 'cperfname' );
	var cur_tel_obj = uh_get_object( 'cpertel' );
	var cur_mail_obj = uh_get_object( 'cpermail' );

	if( (cur_name_obj.value == '') || (cur_fname_obj.value == '') || (cur_tel_obj.value == '') )
	{		alert('Вы полностью не заполнили информацию о заказывающем лице.');
		return;	}

	var re = /^[a-zA-Z]+$/g;
	var ret = /^[0-9]{7,}$/g;
	var n1 = cur_name_obj.value;
	var f1 = cur_fname_obj.value;
	var t1 = cur_tel_obj.value;

	if( !n1.match(re) )
	{
		alert('Вы указали фамилию заказывающего лица символами не латинского алфавита.');
		return;
	}

	if( !f1.match(re) )
	{
		alert('Вы указали имя заказывающего лица символами не латинского алфавита.');
		return;
	}

	if( !t1.match(ret) )
	{
		alert('Телефонный номер должен быть введен в виде непрерывной последовательности цифр (от 7-ми и больше).');
		return;
	}

	var buyer = new Array();
	buyer["name"] = cur_name_obj.value;
	buyer["fname"] = cur_fname_obj.value;
	buyer["tel"] = cur_tel_obj.value;
	buyer["mail"] = cur_mail_obj.value;

	do_book_flight( container_id, bookparams["ordercmd"], persons, buyer );}

function do_book_flight(content_obj_id, order_cmd, passengers, buyer)
{	//alert('Making booking...');

	var div_body = uh_get_object( content_obj_id );

  	if( AJAX != null )
	{
		div_body.innerHTML = "";

		post_req_str = "rcom=uh_com_bookflight&command=" + order_cmd + "&passnum=" + passengers.length;
		post_req_str += "&seatclass=" + bookparams["seatclass"];

		post_req_str += "&buyern=" + buyer["name"] + "&buyerf=" + buyer["fname"] + "&buyert=" + buyer["tel"] + "&buyerm=" + buyer["mail"];

		for(i=0; i<passengers.length; i++)
		{			post_req_str += "&psgn" + (i+1) + "=" + passengers[i]["name"] + "&psgf" + (i+1) + "=" + passengers[i]["fname"] + "&psgt" + (i+1) + "=" + passengers[i]["child"];		}

		var process_fn = function(res)
		{
			//alert('flight list: \r\n' + res);

			eval( 'var responce_data = ' + res );

			var div_inner_html = "";

			var sel_itenary_html = buildItenaryItem( bookparams["iteneries"][bookparams["orderindex"]], bookparams["orderindex"], false );

			div_inner_html += "<h1 class=\"flhdr\">Вы выполнили заказ билетов на авиарейс</h1>" + sel_itenary_html + "<br />";

			div_inner_html += "<h1 class=\"flhdr\">Шаг 4 - Окончание бронирования</h1>";

			div_inner_html += "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">" +
				"<tr><td valign=\"top\">" +
					"<span class=\"stage_hdr\">Данные о бронировании</span><br />" +
					"<table cellspacing=\"0\" cellpadding=\"1\" border=\"0\" bgcolor=\"#ff9f00\"><tr><td>" +
						"<table cellspacing=\"1\" cellpadding=\"2\" border=\"0\" width=\"300\">" +
						"<tr><td bgcolor=\"#FFFFFF\" class=\"formhdr\">PNR Идентификатор (RecLoc): </td><td bgcolor=\"#FFFFFF\">" + responce_data.order.pnr_loc + "</td></tr>" +
						"<tr><td bgcolor=\"#FFFFFF\" class=\"formhdr\">Идентификатор заказа (FIC): </td><td bgcolor=\"#FFFFFF\">" + responce_data.order.fic + "</td></tr>" +
						"<tr><td bgcolor=\"#FFFFFF\" class=\"formhdr\">PNR Идентификатор (FileAddr): </td><td bgcolor=\"#FFFFFF\">" + responce_data.order.pnr_addr + "</td></tr>" +
						//"<tr><td bgcolor=\"#FFFFFF\" class=\"formhdr\">Ключ заказа: </td><td bgcolor=\"#FFFFFF\">" + result_rulekey + "</td></tr>" +
						"<tr><td bgcolor=\"#FFFFFF\" class=\"formhdr\">Стоимость заказа: </td><td bgcolor=\"#FFFFFF\">" + responce_data.order.book_cost + " руб. </td></tr>" +
						"</table>" +
					"</td></tr></table>" +
				"</td><td valign=\"top\">" +
					"<span class=\"stage_hdr\">Пассажиры</span><br />" +
					"<table cellspacing=\"0\" cellpadding=\"1\" border=\"0\" bgcolor=\"#ff9f00\"><tr><td>" +
						"<table cellspacing=\"1\" cellpadding=\"2\" border=\"0\" width=\"300\">";

			for(i=1; i<=responce_data.order.psgrs.length; i++ )
			{
				var psgr = responce_data.order.psgrs[i-1];

				div_inner_html += "<tr><td bgcolor=\"#FFFFFF\" align=\"center\">" + i + "</td>" +
					"<td bgcolor=\"#FFFFFF\">" + psgr.name + "</td></tr>";
			}

			div_inner_html += "</table>" +
				"</td></tr></table>" +
				"</td></tr></table>";

			div_inner_html += "<div style=\"padding: 20px 10px 20px 0px;\">";

			for(i=0; i<responce_data.order.texts.length; i++ )
			{
				var t = responce_data.order.texts[i];

				div_inner_html += t + "<br />";
			}

			div_inner_html += "</div>";

			div_body.innerHTML = div_inner_html;

			hideProgress();
		};

		hideItem('flightsteps');
		showProgress();

		bookparams["stepind"] = 4;

		AJAX.SendRequest('POST', '', process_fn, encode64(post_req_str));
	}}