<!--
function add_bookmark()
{
	if (document.all)
		window.external.AddFavorite(location.href, document.title);
}

function tour_type_changed()
{
	var get_regions_page = '/get_regions/';

	var type, index;
	var form_obj = document.forms['toursearch'];
	index = form_obj.type.selectedIndex;
	if (index == -1)
		return;
	type = form_obj.type.options[index].value;
	clear_select(form_obj.region);
	if (type>0)
	{
		add_option(form_obj.region, "загрузка...", -1);
		request_frame(get_regions_page+ '?type='+type+'&rnd='+Math.random());
	}
	else
		add_option(form_obj.region, '- куда -', -1);
}

function add_option(obj, text, value)
{
	var oOption = document.createElement("OPTION");
	oOption.text = text;
	oOption.value = value;
	obj.options.add(oOption);	
}

function clear_select(obj)
{
	while (obj.options.length)
		obj.options.remove(obj.options.length-1);
}

function request_frame(url)
{
	var id = 'invisible_frame';
	if (document.layers)
	{
		var lyr = document.layers[id];
		lyr.load(url, lyr.clip.width);
	}
	else if (document.getElementById)
		document.getElementById(id).src = url;
	else if (document.all)
		document[id].location = url;
	else
		alert('Невозможно загрузить список стран.\r\nВозможно, Вы используете слишком старую версию браузера...');
}

function check_search_tour_form(form_obj, type_list)
{               
	var formindex = form_obj.type.selectedIndex;
	var url_index;
	do
	{
		if (formindex == -1)
			break;
		url_index = form_obj.type.options[formindex].value;
		if (typeof(type_list[url_index]) == 'undefined')
			break;
		form_obj.action = type_list[url_index];
		return true;
	} while(false);

	alert("Выберите тип туристической программы");
	return false;
}

// Валидация данных форм ********************************
function process_check(form, controls)
{
	var str, ret, ok_res = true;
	for (var i=0; i<controls.length; i++)
	{
		str = "check_" + controls[i] + "(form)";
		if (!eval(str) && ok_res)
			ok_res = false;
	}
	return ok_res;
}

function check_length(form, name, min_length, max_length, message)
{
	if ((min_length>-1 && form[name].value.length < min_length) || (max_length>-1 && form[name].value.length > max_length))
	{
		message = message.replace(/%min%/g, min_length);
		message = message.replace(/%max%/g, max_length);
		highlight_control(form[name], !message_present);
		if (!message_present)
		{
			alert(message); 
			message_present = true;
		}
		return false;
	}
	return true;
}

function reset_highlight(form, controls)
{
	var str;
	for (var i=0; i<controls.length; i++)
		unhighlight_control(form[controls[i]]);
}

function unhighlight_control(control)
{
	control.runtimeStyle["borderStyle"] = "";
	control.runtimeStyle["borderWidth"] = "";
	control.runtimeStyle["borderColor"] = "";
}

function highlight_control(control, focus)
{
	control.runtimeStyle["borderStyle"] = "solid";
	control.runtimeStyle["borderWidth"] = "2";
	control.runtimeStyle["borderColor"] = "#ff6633";

	if (focus)
		control.focus();
}

// Календарь *******************************************
var monthNames = new Array('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь');
var weekdays = new Array('П', 'В', 'С', 'Ч', 'П', 'С', 'В');
var currDate = new Date();
var calendarID = '';
var holderName = '';
var currField = null;
var curr_width = curr_height = 0;
var calendarWidth = '180';

if (document.layers)
{
	curr_width = window.innerWidth;
	curr_height = window.innerHeight;
}

function get_obj(name)
{
	if (document.getElementById)
		return document.getElementById(name);
	return document.all[name];
}

function show_calendar(layerID, name)
{
	if (calendarID == '')
	{
		currField = get_obj(name);

		re = /[0-9]{2}.?[0-9]{2}.?[0-9]{4}/i;
		if (re.test(currField.value))
			currDate = new Date(currField.value.substr(6, 4), currField.value.substr(3, 2)-1, currField.value.substr(0, 2));
		else
			currDate = new Date();
		holderName = name;
		calendarID = layerID;
		draw_calendar(layerID, name);
	}
	else
		hide_calendar();
}

function hide_calendar()
{
	if (calendarID != '')
		hide_layer(calendarID);
	currField = null;
	update_calendar_pos();
	calendarID = '';
}

function hide_layer(layerID)
{
	if (document.layers)
		document.layers[layerID].visibility = 'hide';
	else if (document.getElementById)
		document.getElementById(layerID).style.visibility = 'hidden';
	else
		document.all[layerID].style.visibility = 'hidden';
}

function setDate(daySet, monthSet, yearSet)
{
	if (currField)
		currField.value = zeroFill(daySet) + "-" + zeroFill(monthSet+1) + "-" + yearSet;
	hide_calendar();
}

function zeroFill(number)
{
	var s = new String("00"+number);
	return s.substr(s.length-2,2);
}

function draw_calendar(layerID, ancName, showYear, showMonth)
{
	var i;
	var month = new Date();
	if (showMonth != null)
		month.setMonth(showMonth, 1);
	else
		month.setMonth(currDate.getMonth());
	if (showYear != null)
		month.setYear(showYear);
	else
		month.setYear(currDate.getFullYear());
	var thisMonth = month.getMonth();
	var nextMonth = (thisMonth==11) ? 0 : thisMonth+1;
	var prevMonth = (thisMonth==0) ? 11 : thisMonth-1;
	var thisYear = month.getFullYear();
	var nextYear = (thisMonth==11) ? thisYear+1 : thisYear;
	var prevYear = (thisMonth==0) ? thisYear-1 : thisYear;
	var isThisMonth = (month.getFullYear()==currDate.getFullYear() && month.getMonth()==currDate.getMonth()) ? true : false;

	var calendarHTML = '';
	
	// main table
	calendarHTML = '<table cellpadding="0" cellspacing="0" border="0" width="'+calendarWidth+'">';
	calendarHTML += '<tr><td><img src="/i/calendar/lt.gif" width="4" height="4"></td><td background="/i/calendar/bg-top.gif"><img src="/i/x.gif" width="1" height="4"></td><td><img src="/i/calendar/rt.gif" width="4" height="4"></td></tr>';
	calendarHTML += '<tr><td colspan="3" bgcolor="#138ed0" background="/i/calendar/bg-main.gif" style="padding: 5px 0 5px 0;" align="center">';

	// info table
	calendarHTML += '<table cellpadding="0" cellspacing="0" border="0" width="80%"><tr>';
	
	// previous
	calendarHTML += '<td style="padding-bottom:2px;"><a href="javascript:;"' +
		'onClick="draw_calendar(\'' + layerID + '\', \'' + ancName + '\', ' + prevYear + ', ' + prevMonth +
		'); return false;"><img src="/i/calendar/prev.gif" width="13" height="13" border="0"></a></td>';
	
	// month and year
	calendarHTML += '<td align="center" style="color:black; font-size:72%; padding-top: 2px; padding-bottom: 3px;" nowrap="nowrap"><b>' + monthNames[month.getMonth()] + ', ' + month.getFullYear() + '</b></td>';
	
	// next
	calendarHTML += '<td align="right"><a href="javascript:;" onClick="draw_calendar(\'' +
		layerID + '\', \'' + ancName + '\', ' + nextYear + ', ' +
		nextMonth + '); return false;"><img src="/i/calendar/next.gif" width="13" height="13" border="0"></a></td></tr>' +
		'<tr><td colspan="3" align="center">';

	calendarHTML += '</td></tr></table>';

	// calendar table
	calendarHTML += '<table cellpadding="0" cellspacing="0" border="0">';
	// appending day initials
	calendarHTML += '<tr align="right">';
	calendarHTML += '<td><img src="/i/x.gif" width="15" height="1"></td>';
	for (i=0; i<weekdays.length; i++)
		calendarHTML += '<td class="cdtd">' + weekdays[i] + '</td>'
	calendarHTML += '<td><img src="/i/x.gif" width="15" height="1"></td>';
	calendarHTML += '</tr>';

	// days in prev month
	var prevMonthDate = new Date(thisYear, thisMonth, 0, 0, 0, 0);
	var daysInPrevMonth = prevMonthDate.getDate();

	// first day of the month
	month.setDate(1);
	var daysToStart = (month.getDay()==0) ? 7 : month.getDay();

	isFirstRow = true;
	// drawing the calendar
	for (i=1; i<33; i++)
	{
		month.setDate(i);
		if (month.getMonth()!=thisMonth)
			break;

		if (isFirstRow==1)
		{
			isFirstRow = false;
			if (i>1)
				calendarHTML += '<tr><td colspan="9"><img src="/i/calendar/sep.gif" width="100%" height="2"></td></tr>';

			calendarHTML += '<tr align="right">';
			calendarHTML += '<td><br></td>';
	
			if (i==1)
			{
				for (var j=daysToStart-2; j>=0; j--)
					calendarHTML += '<td class="cdt">'+(daysInPrevMonth-j)+'</td>';
			}
		}

		if (isThisMonth && currDate.getDate()==i)
			calendarHTML += '<td class="cdt" style="color:white;" bgcolor="#ff9900"><b><a href="javascript:;" onclick="setDate(' + i + ', ' + thisMonth + ', ' + thisYear + '); return false;">' + i + '</a></b></td>';
		else
			calendarHTML += '<td class="cdt"><a href="javascript:;" onclick="setDate(' + i + ', ' + thisMonth + ', ' + thisYear + '); return false;">' + i + '</a></td>';
		if (month.getDay()==0)
		{
			calendarHTML += '<td><br></td></tr>';
			isFirstRow = true;
		}
	}

	// drawing empty cells if any
	if (month.getDay()>1)
	{
		var finalDay = (month.getDay()==0) ? 7 : month.getDay();
		var daysToEnd = 8-finalDay;
		for (i=0; i<daysToEnd; i++)
			calendarHTML += '<td class="cdt">'+(i+1)+'</td>';
		calendarHTML += '<td><br></td>';
	}

	// the end of the tables
	calendarHTML += '</tr></table>';
	calendarHTML += '</td></tr>';
	calendarHTML += '<tr><td width="1%"><img src="/i/calendar/lb.gif" width="4" height="9"></td><td width="98%" background="/i/calendar/bg-bottom.gif"><img src="/i/x.gif" width="1" height="9"></td><td width="1%"><img src="/i/calendar/rb.gif" width="4" height="9"></td></tr>';
	calendarHTML += '</table>';

	// write calendar
	if (document.layers)
	{
		document.layers[layerID].document.open();
		document.layers[layerID].document.write(calendarHTML);
		document.layers[layerID].document.close();
	}
	else if (document.getElementById)
	{
		var el = document.getElementById(layerID);
		el.innerHTML = calendarHTML;
	}
	else
	{
		var el = document.all[layerID];
		el.innerHTML = calendarHTML;
	}

    // set position
	update_calendar_pos();

    // make visible
	if (document.layers)
		document.layers[layerID].visibility = 'show';
	else if (document.getElementById)
		el.style.visibility = 'visible';
	else
		el.style.visibility = 'visible';
}

function pos_x(obj)
{
	var pos = obj.offsetLeft;
	while (obj.offsetParent != null)
	{
		obj = obj.offsetParent;
		pos += obj.offsetLeft;
	}
	return pos;
}

function pos_y(obj)
{
	var pos = obj.offsetTop;
	while (obj.offsetParent != null)
	{
		obj = obj.offsetParent;
		pos += obj.offsetTop;
	}
	return pos;
}

function get_calendar_pos(n)
{
	if (n==null)
	{
		this.x = 0;
		this.y = 0;
	}
	else
	{
		var obj = get_obj(n);
		this.x = pos_x(obj);
		this.y = pos_y(obj)+obj.offsetHeight+1;
	}
	return this;
}

function update_calendar_pos()
{
	var layerPos = new get_calendar_pos(currField==null ? null : holderName);

	if (document.layers)
	{
		document.layers[calendarID].left = layerPos.x;
		document.layers[calendarID].top = layerPos.y;
	}
	else if (document.getElementById)
	{
		var el = document.getElementById(calendarID);
		el.style.left = layerPos.x;
		el.style.top = layerPos.y;
	}
	else
	{
		var el = document.all[calendarID];
		el.style.left = layerPos.x;
		el.style.top = layerPos.y;
	}
}

function on_resize()
{
	if (!calendarID)
		return;
	if (document.layers)
	{
		if (window.innerWidth != curr_width || window.innerHeight != curr_height)
			location.reload();
	}
	else
		update_calendar_pos();
}

window.onresize = on_resize;
// -->