// JavaScript Document
var arrCurrency = new Array("р.", "$", "€");
var arrClass	= new Array("эконом", "бизнес", "первый");
var arrMonth	= new Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
var arrMonth2	= new Array("января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря");
var obj;

var trans=[];
for(var i=0x410;i<=0x44F;i++)
    trans[i]=i-0x350;
trans[0x401]=0xA8;
trans[0x451]=0xB8;
var escapeOrig=window.escape;
window.escape=function(str){
	var ret=[];
	for(var i=0;i<str.length;i++) {
		var n=str.charCodeAt(i);
	    if(typeof trans[n]!='undefined')
    		n = trans[n];
	    if (n <= 0xFF)
    		ret.push(n);
	}
	return escapeOrig(String.fromCharCode.apply(null,ret));
}
	
function getOpacity() {
  	createElement("div", "divOpacity", "100%", "100%", "black");

	var nOpacity = 0.3;
	var opacityProp = getOpacityProperty();
	var elem = document.getElementById("divOpacity");
  	if (!elem || !opacityProp) return; 
  	if (opacityProp == "filter") { // Internet Exploder 5.5+
		nOpacity *= 100;
    	var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
    	if (oAlpha) oAlpha.opacity = nOpacity;
    	else elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity=" + nOpacity + ")";
  	} else 
    	elem.style[opacityProp] = nOpacity;
}

function getOpacityProperty() {
  	if (typeof document.body.style.opacity == 'string') // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9, IE7)
    	return 'opacity';
  	else if (typeof document.body.style.MozOpacity == 'string') // Mozilla 1.6 Рё РјР»Р°РґС€Рµ, Firefox 0.8 
    	return 'MozOpacity';
  	else if (typeof document.body.style.KhtmlOpacity == 'string') // Konqueror 3.1, Safari 1.1
    	return 'KhtmlOpacity';
  	else // Internet Exploder 5.5+
    	return 'filter';
  	return false;
}

function getWait(sType) {
	if (sType == 0) {
		if (document.getElementById("divWait") == null) { 
			var sWidth = screen.width / 2 - 400;
			createElement("div", "divWait", "225px", "60px", "#efeeee");
			var sWait = document.getElementById("divWait");
			sWait.style.left = sWidth + "px";
			sWait.style.top = document.body.scrollTop + 150 + "px";
		}
	} else {
		closeElement("divWait")
	}
}

function closeElement(sID) {
	if (document.getElementById(sID)) {
		var sElement = document.getElementById(sID);
		var sBody 	 = document.getElementById('body');
		sBody.removeChild(sElement);
	}
}

function createElement(sName, sID, sWidth, sHeight, sBackColor) {
	if (document.getElementById(sID) == null) { 
		var sBody 	 = document.getElementById('body');
		var sElement = document.createElement(sName);
		sElement.id  = sID;
		sElement.style.width = sWidth;
		sElement.style.height = sHeight;
		sElement.style.backgroundColor = sBackColor;
		sElement.style.position = "absolute";
		sElement.style.zIndex = 99;
		
		sBody.appendChild(sElement);
	}
}

function ajaxChangeCountry(sType, sCityID) {
	if (sType == 1) {
		clearTable("ajaxTablePrice"); 										// Очищаем таблицу цен
		document.getElementById("mainCheckBox").disabled = true;			// Запрещаем выбор всех чекбоксов
		document.getElementById("mainCheckBox").checked = false;
		document.getElementById("divPageNav").innerHTML = "";				// Очищаем навигацию
		document.getElementById("divHref").style.display = "none";			// Скрываем панель ссылок
	} else {
		clearTable("tableDate");
	}
	var sCity = document.getElementById("ajaxCity");
	sCity.disabled = true;
	getCityList(document.getElementById("ajaxCountry").value, sType, sCityID);	// Получаем список городов
	sCity.disabled = false;
}

function ajaxChangeCity() {
	document.getElementById("divCalendar").style.display = "none";
	document.getElementById("divSearchWait").style.display = "block";
	
	var sMonth = parseInt(document.getElementById("hiddenMonth").value);
	var d = new Date();
	var Month = d.getMonth();
	
	d.setDate(1);
	d.setMonth(Month + sMonth);
	var sYear = d.getYear();
	if (sYear < 1900) { sYear += 1900 }
	
	createCalendar("tableDate", d.getMonth() + 1, sYear);
}

function getCityList(sCID, sType, sCityID) {
	var xmlHttp, arr, response, path;
  	xmlHttp = getXmlHttp();
 
  	var httpParams = "cid=" + sCID + "&type=" + sType;
  	xmlHttp.onreadystatechange = function()  {
    	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			fillSelect("ajaxCity", response, sCityID);
    	}
  	}
 	
	if (sType == 1) { path = "../" } else { path = "" }
  	xmlHttp.open('POST', path + 'include/getcity.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams);  
}

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 fillSelect(select_id, data, sSelectID){ 
	var sLog;
	var select = document.getElementById(select_id); 
   	select.options.length = 0; 
   	if(data.length == 0) return; 
    var arrData = data.split("}"); 
    for (var i in arrData){ 
        val = arrData[i].split("{"); 
		if (parseInt(val[0]) == parseInt(sSelectID)) { sLog = true } else {sLog = false}	
        select.options[select.options.length] = new Option(val[1], val[0], false, sLog); 
    } 
} 

function ajaxGetPrice(curPage) {
	top.window.scrollTo(0, 0);
	getWait(0);
	document.getElementById("mainCheckBox").checked = false;
	var cityID = document.getElementById("ajaxCity").value; 

	if (parseInt(cityID) == 0) {
		document.getElementById("divHref").style.display = "none";			// Скрываем панель ссылок
	} else {
		document.getElementById("divHref").style.display = "block";			// Показываем панель ссылок
	}
	
	var xmlHttp, arr, response, path;
  	xmlHttp = getXmlHttp();
  	var httpParams = "city=" + cityID + "&page=" + curPage;

	xmlHttp.onreadystatechange = function()  {
   	if (xmlHttp.readyState == 4) {
   		response = xmlHttp.responseText;
		var obj = eval("(" + response + ")");
		fillTable("ajaxTablePrice", obj); 	// Заполняем таблицу
		getPageNav(obj); 					// Выводим навигацию
		SetHeightFrame('table1', 'frame1');
		getWait(1);
   	}}
 	
  	xmlHttp.open('POST', 'get_price.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams);
}

function fillTable(sID, sObj) {
	clearTable("ajaxTablePrice"); // Очищаем таблицу

	// Добавляем новые строки в соответствии с полученными данными
	var myTbl = document.getElementById("ajaxTablePrice");
	if (sObj.price.length > 0) { 
		document.getElementById("mainCheckBox").disabled = false 
	} else { 
		document.getElementById("mainCheckBox").disabled = true;
		document.getElementById("mainCheckBox").checked = false;
	}
	for (var i = 0; i < sObj.price.length; i++) {
		newRow 	= myTbl.tBodies[0].insertRow(-1);
		if (i % 2 == 0) { newRow.className = "nofill trCenter" } else { newRow.className = "fill trCenter" }
		
		newCell = newRow.insertCell(-1);
		newCell.innerHTML = "<input type='checkbox' id='ID_" + sObj.price[i].PID + "' value='" + sObj.price[i].PID + "' />";
		
		newCell = newRow.insertCell(-1);
		newCell.innerHTML = sObj.price[i].From;

		newCell = newRow.insertCell(-1);
		newCell.innerHTML = sObj.price[i].To;

		newCell = newRow.insertCell(-1);
		newCell.className = "tdPrice";
		newCell.innerHTML = "<a href='javascript:void(0)' onclick='javascript:ajaxChangePrice(" + sObj.price[i].PID + ")'> " + sObj.price[i].Price + " " + arrCurrency[sObj.price[i].Curr] + "</a>";

		newCell = newRow.insertCell(-1);
		newCell.innerHTML = arrClass[sObj.price[i].Class];

		newCell = newRow.insertCell(-1);
		if (parseInt(sObj.price[i].SPO) == 1) { 
			sSel = " checked";
			newRow.className = "trSPO";
		} else { 
			sSel = "" 
		}
		newCell.innerHTML = "<input type='radio' name='isSPO' value='" + sObj.price[i].PID + "'" + sSel + " />";

		newCell = newRow.insertCell(-1);
		newCell.className = "tdLeft";
		newCell.innerHTML = sObj.price[i].Seller;
	}
}

function clearTable(sTable) {
	var myTbl = document.getElementById(sTable);
	while (myTbl.tBodies[0].rows.length > 0) {
		myTbl.tBodies[0].deleteRow(0);
	}
}

function ajaxSearchData() {
	var sSearch = document.getElementById("divSearch");
	document.getElementById("divAdd").style.display = "none";
	document.getElementById("divChange").style.display = "none";
	if (sSearch.style.display == "block") {
		sSearch.style.display = "none";
	} else {
		sSearch.style.display = "block"
	}

	SetHeightFrame('table1', 'frame1');
}

function showError(sText) {
	if (document.getElementById("divError") == null) { 
		var sWidth = document.body.clientWidth / 2 - 150;
		createElement("div", "divError", "300px", "150px", "#ffffcc");
		var sError = document.getElementById("divError");
		sError.style.left = sWidth + "px";
		sError.style.top = document.body.scrollTop + 50 + "px";
		sError.innerText = sText;
	}
}

function Hide(objId, x) {
   var obj = document.getElementById(objId);
   op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
   if(op > x) {
      clearTimeout(sT);
      op -= 0.1;
      obj.style.opacity = op;
      obj.style.filter='alpha(opacity=' + op * 100 + ')';
      hT = setTimeout("Hide(" + objId + ", " + x + ")", 30);
   }
}

function ajaxAddData() {
	var sData = document.getElementById("divAdd");
	document.getElementById("divSearch").style.display = "none";
	document.getElementById("divChange").style.display = "none";
	if (sData.style.display == "block") {
		sData.style.display = "none";
	} else {
		sData.style.display = "block"
	}

	SetHeightFrame('table1', 'frame1');
}

function ajaxAddPrice() {
	var cityID	 = document.getElementById("ajaxCity").value;	// Город
	var dateFrom = document.getElementById("DateFrom").value;	// Дата начала периода
	var dateTo 	 = document.getElementById("DateTo").value;		// Дата окончания периода
	var dayMin 	 = document.getElementById("dayMin").value;		// Длительность (min)
	var dayMax 	 = document.getElementById("dayMax").value;		// Длительность (max)
	var classID	 = document.getElementById("sClass").value;		// Класс
	var sPrice	 = document.getElementById("sPrice").value;		// Стоимость
	var currID	 = document.getElementById("sCurr").value;		// Валюта
	var sSeller	 = escape(document.getElementById("sSeller").value);	// Продавец (перекодировка русских символов)
	var arrDay = new Array(0, 0, 0, 0, 0, 0, 0); 
	for (var i=1; i<=7; i++) { 
		if (document.getElementById("Day" + i).checked) { arrDay[i] = 1 }
	}

	var xmlHttp, arr, response, path;
  	xmlHttp = getXmlHttp();
 
  	var httpParams = "city=" + cityID + "&from=" + dateFrom + "&to=" + dateTo + "&min=" + dayMin + "&max=" + dayMax + "&class=" + classID + "&price=" + sPrice + "&curr=" + currID + "&seller=" + sSeller;
	for (i=1; i<=7; i++) {
		httpParams += "&day" + i + "=" + arrDay[i];
	}
	
	ajaxClearData();
  	xmlHttp.onreadystatechange = function()  {
   	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			if (parseInt(response) == 200) {
				document.getElementById("divAdd").style.display = "none";
				ajaxGetPrice();
			} else {
				alert(response);
			}
   	}}
 	
  	xmlHttp.open('POST', 'add_price.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=windows-1251');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams);  
}

function ajaxClearData() {
	document.getElementById("DateFrom").value 	= "";
	document.getElementById("DateTo").value		= "";
	document.getElementById("dayMin").value		= 7;
	document.getElementById("dayMax").value		= 15;
	document.getElementById("sClass").value		= 0;
	document.getElementById("sPrice").value		= "";
	document.getElementById("sCurr").value		= 2;
	document.getElementById("sSeller").value	= "";
	for (var i=1; i<=7; i++) { 
		document.getElementById("Day" + i).checked = false;
	}
}

function changeDayMin() {
	var dayMin = document.getElementById("dayMin");
	var dayMax = document.getElementById("dayMax");

	if (dayMin.value == 0) {
		dayMax.value = 0;
		dayMax.disabled = true;
	} else {
		if (dayMax.disabled == true) { dayMax.disabled = false }
		if (parseInt(dayMax.value) <= parseInt(dayMin.value)) { 
			dayMax.value = parseInt(dayMin.value)
		}
	}
}

function CheckPrice() {
	var sCheck = document.getElementById("mainCheckBox").checked;
	if (sCheck == true) { sBool = true } else { sBool = false }
	for (i=0; i<document.all.length; i++) {
		if ((document.all[i].type == "checkbox") && (document.all[i].id.substr(0,3) != "Day")) { document.all[i].checked = sBool }
	}
}

function getPageNav(sObj) {
	var divNav		= document.getElementById("divPageNav");
	var pageCount 	= sObj.record[0].allpage;
	var pageCur 	= sObj.record[0].curpage;
	var hrefSetSPO  = document.getElementById("hrefSetSPO");
	var hrefDelSPO  = document.getElementById("hrefDelSPO");
	
	document.getElementById("cpage").value = pageCur;
	
	hrefSetSPO.href = "javascript:ajaxSetSPO(0, " + pageCur + ")";
	hrefDelSPO.href = "javascript:ajaxSetSPO(1, " + pageCur + ")";
	
	divNav.innerHTML = "";
	for (i=1; i<=pageCount; i++) {
		if (i == pageCur) { sClass = "SelectPage" } else { sClass = "noSelectPage" } 
		
		divNav.innerHTML += "<a href='javascript:void(0)' onclick='javascript:ajaxGetPrice(" + i + ")' class='" + sClass + "'>&nbsp;&nbsp;" + i + "&nbsp;&nbsp;</a>";
	}
}

function ajaxDeleteData() {
	var sParam = "";
	if (confirm("Удалить выбранные записи?") == true) {
		
		for (i=0; i<document.all.length; i++) {
			if ((document.all[i].type == "checkbox") && (document.all[i].id.substr(0,3) != "Day") && (document.all[i].id.substr(0,3) != "mai")) { 
				if (document.all[i].checked) {
					sParam += "pid=" + document.all[i].value + "&";
				}
			}
		}
		if (sParam.length > 1) {
			var xmlHttp, arr, response, path;
		  	xmlHttp = getXmlHttp();
		 
		  	var httpParams = sParam;
		  	xmlHttp.onreadystatechange = function()  {
		   	if (xmlHttp.readyState == 4) {
	      		response = xmlHttp.responseText;
				if (parseInt(response) == 200) {
					ajaxGetPrice();
//					alert("Записи успешно удалены!");
				} else {
					alert(response);
				}
		   	}}
		 	
		  	xmlHttp.open('POST', 'delete_price.asp', true);
		  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
		  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
		  	xmlHttp.setRequestHeader('Connection','close');
		
		  	xmlHttp.send(httpParams); 			
		} else {
			alert("Не выбраны элементы для удаления!");
		}
	}
}

function ajaxSetSPO(sType, sPage) {
	var PID = 0;
	var CityID 	= document.getElementById("ajaxCity").value;
	var xmlHttp, arr, response, path;
  	xmlHttp = getXmlHttp();
 
 	if (parseInt(sType) == 0) {
	 	for (i=0; i<document.all.length; i++) {
			if (document.all[i].type == "radio") { 
				if (document.all[i].checked) {
					PID = document.all[i].value;
				}
			}
		}
	} else {
		PID = 0;
	}
		
  	var httpParams = "pid=" + PID + "&city=" + CityID;
  	xmlHttp.onreadystatechange = function()  {
   	if (xmlHttp.readyState == 4) {
     	response = xmlHttp.responseText;
		if (parseInt(response) == 200) {
			ajaxGetPrice(sPage);
		} else {
			alert(response);
		}
   	}}
 	
  	xmlHttp.open('POST', 'set_price.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams); 			
}

function ajaxSetFilter() {
	top.window.scrollTo(0, 0);
	getWait(0);
	document.getElementById("mainCheckBox").checked = false;
	var cityID 	= document.getElementById("ajaxCity").value; 
	var date1 	= document.getElementById("DateFrom1").value; 
	var date2 	= document.getElementById("DateFrom2").value; 

	if (parseInt(cityID) == 0) {
		document.getElementById("divHref").style.display = "none";			// Скрываем панель ссылок
	} else {
		document.getElementById("divHref").style.display = "block";			// Показываем панель ссылок
	}
	
	var xmlHttp, arr, response, path;
  	xmlHttp = getXmlHttp();
  	var httpParams = "city=" + cityID + "&page=1&from=" + date1 + "&to=" + date2;

  	xmlHttp.onreadystatechange = function()  {
   	if (xmlHttp.readyState == 4) {
   		response = xmlHttp.responseText;
		var obj = eval("(" + response + ")");
		fillTable("ajaxTablePrice", obj); 	// Заполняем таблицу
		getPageNav(obj); 					// Выводим навигацию
		SetHeightFrame('table1', 'frame1');
		getWait(1);
   	}}
 	
  	xmlHttp.open('POST', 'get_price.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams);
}

function ajaxClearFilter() {
	document.getElementById("DateFrom1").value = "";
	document.getElementById("DateFrom2").value = "";
	ajaxGetPrice(1);
	document.getElementById("divSearch").style.display = "none";
}

function ajaxChangePrice(sID) {
	document.getElementById("divSearch").style.display = "none";
	document.getElementById("divAdd").style.display = "none";
	var sChange = document.getElementById("divChange");
	if (sChange.style.display == "block") {
		sChange.style.display = "none"
	} else {
		sChange.style.display = "block"
	}
	if (sID != 0) {	document.getElementById("ID_" + sID).checked = true }
	top.window.scrollTo(0, 0);
	SetHeightFrame('table1', 'frame1');
}

function ajaxSaveChange() {
	document.getElementById("divChange").style.display = "none";
	var sParam = "";
	for (i=0; i<document.all.length; i++) {
		if ((document.all[i].type == "checkbox") && (document.all[i].id.substr(0,3) != "Day") && (document.all[i].id.substr(0,3) != "mai")) { 
			if (document.all[i].checked) {
				sParam += "pid=" + document.all[i].value + "&";
			}
		}
	}
	if (sParam.length > 1) {
		var newPrice 	= document.getElementById("newPrice").value;
		var newCurr 	= document.getElementById("newCurr").value;

		var xmlHttp, response;
	  	xmlHttp = getXmlHttp();
	 
	  	var httpParams = sParam + "price=" + newPrice + "&curr=" + newCurr;
	  	xmlHttp.onreadystatechange = function()  {
	   	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			if (parseInt(response) == 200) {
				ajaxGetPrice(parseInt(document.getElementById("cpage").value));
			} else {
				alert(response);
			}
	   	}}
	 	
	  	xmlHttp.open('POST', 'change_price.asp', true);
	  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
	  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
	  	xmlHttp.setRequestHeader('Connection','close');
	
	  	xmlHttp.send(httpParams); 			
	} else {
		alert("Не выбраны элементы для обновления!");
	}
}

function ajaxSorted(sID) {
	var sCountry = document.getElementById("tdCountry");
	var sCity 	 = document.getElementById("tdCity");
	var sPrice 	 = document.getElementById("tdPrice");
	var sWait 	 = document.getElementById("tableWait");
	
	document.getElementById("divView").style.display = "none";
	
	sCountry.className 	= "";
	sCity.className 	= "";
	sPrice.className 	= "";
	
	// Очищаем таблицу
	clearTable("ajaxTableCharter");

	sWait.style.display = "block";
	
	switch (sID) {
		case "Country":
			sCountry.className 	= "tdSorted";
			break;

		case "Price":
			sPrice.className = "tdSorted";
			break;

		case "City":
			sCity.className = "tdSorted";
			break;

	}

	var xmlHttp, response;
  	xmlHttp = getXmlHttp();
  	var httpParams = "sorted=" + sID;
  	xmlHttp.onreadystatechange = function()  {
    	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			var obj = eval("(" + response + ")");
			ajaxGetActualCharter(obj);
    	} else {
		
		}
  	}
 	
  	xmlHttp.open('POST', 'include/get_actual_charter.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams); 

}

function ajaxGetActualCharter(sObj) {
	var CityID, CID;
	var sWait 	 = document.getElementById("tableWait");
	
	// Добавляем новые строки в соответствии с полученными данными
	var myTbl = document.getElementById("ajaxTableCharter");

	for (var i = 0; i < sObj.charter.length; i++) {
		newRow 	= myTbl.tBodies[0].insertRow(-1);
		if (i % 2 == 0) { newRow.className = "fill" } else { newRow.className = "nofill" }
		
		if (parseInt(sObj.charter[i].SPO) == 1) {
			newRow.className = "trSPO";
		}
		newRow.id = "TR_" + sObj.charter[i].PID;
		
		newCell = newRow.insertCell(-1);
		newCell.innerHTML = sObj.charter[i].Country;
		
		newCell = newRow.insertCell(-1);
		newCell.innerHTML = sObj.charter[i].City;

		newCell = newRow.insertCell(-1);
		newCell.innerHTML = sObj.charter[i].Price + " " + arrCurrency[sObj.charter[i].Curr];

		newCell = newRow.insertCell(-1);
		if (parseInt(sObj.charter[i].SPO) == 1) {
			newCell.className += " tdSPO";
			newCell.innerHTML = "<img src='images/spo.gif' width='24' height='24' alt='Спецпредложение' title='Спецпредложение' />";
		}
		
		CityID 	= sObj.charter[i].CityID;
		CID 	= sObj.charter[i].CID;
		
		newCell = newRow.insertCell(-1);
//		newCell.innerHTML = "<a href='javascript:void(0)' onclick='javascript:ajaxGetSpecInfo(" + sObj.charter[i].PID + ")'>Подробнее</a>";
		newCell.innerHTML = "<a href='javascript:void(0)' onclick='javascript:ajaxSetSearch(" + CID + ", " + CityID + ", " + sObj.charter[i].Day + ", " + sObj.charter[i].Month + ", " + sObj.charter[i].Year + ")'>Подробнее</a>";
//		newCell.innerHTML = "<a href='javascript:void(0)' onclick='javascript:ajaxSetSearch(" + CID + ", " + CityID + ")'>Подробнее</a>";
	}
	sWait.style.display = "none";
}

function ajaxSetSearch(sCID, sCityID, sDay, sMonth, sYear) {
	document.getElementById("ajaxCountry").value = sCID;
	ajaxChangeCountry(0, sCityID);
	clearTable("tableCharterDay"); // Очистка таблицы
	document.getElementById("divSpecCharter").style.display = "none";
	document.getElementById("divCharterDay").style.display = "block";
	document.getElementById("tableWaitDay").style.display = "block";
	setTimeout("ajaxGetDataCharter(" + sDay + ", " + sMonth + ", " + sYear + ");ajaxChangeCity();", 1000);
	// Устанавливаем месяц на календаре
	var d = new Date();
	var Month = d.getMonth();
	document.getElementById("hiddenMonth").value = sMonth - Month - 2;
	ajaxSetMonth(1)
}

function ajaxGetSpecInfo(sID) {
	var Row 	= document.getElementById("TR_" + sID);
	var myTbl 	= document.getElementById("ajaxTableCharter");
	var sDiv 	= document.getElementById("divView");
	var Book	= document.getElementById("hrefBook");
	var oldRow 	= -1;
	
 	var left = Row.offsetLeft;
  	var top = Row.offsetTop;
  	for (var parent = Row.offsetParent; parent; parent = parent.offsetParent) {
	    left += parent.offsetLeft;
    	top += parent.offsetTop;
  	}

	sDiv.style.left = (left + 200) + "px";
	sDiv.style.top = (top - 10) + "px";
	sDiv.style.display = "block";
	Book.href = "default.asp?module=book&type=offer&pid=" + sID;
		
	var xmlHttp, response;
  	xmlHttp = getXmlHttp();
  	var httpParams = "id=" + sID;
  	xmlHttp.onreadystatechange = function()  {
    	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			var obj = eval("(" + response + ")");
			ajaxGetActualCharterInfo(obj);
    	} else {
		
		}
  	}
 	
  	xmlHttp.open('POST', 'include/get_actual_charter_info.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams); 
}

function ajaxCloseSpecInfo() {
	document.getElementById("divView").style.display = "none";
}

function ajaxGetActualCharterInfo(sObj) {
	var sFrom 	= sObj.info[0].From;
	var sTo 	= sObj.info[0].To;
	var sPrice 	= sObj.info[0].Price + " " + arrCurrency[sObj.info[0].Curr];
	var sClass 	= arrClass[sObj.info[0].Class];
	
	document.getElementById("spanFrom").innerHTML 	= sFrom;
	document.getElementById("spanTo").innerHTML 	= sTo;
	document.getElementById("spanPrice").innerHTML 	= sPrice;
	document.getElementById("spanClass").innerHTML 	= sClass;
}

function ajaxTransfer(sURL, sParam, objType) {
	var xmlHttp, response, sRet;
	sRet = true;
  	xmlHttp = getXmlHttp();
  	xmlHttp.onreadystatechange = function()  {
    	if (xmlHttp.readyState == 4) {
			response = xmlHttp.responseText;
			if (objType == 1) {	obj = eval("(" + response + ")") }
			sRet = true;
			return true;
		}
  	}
 	
  	xmlHttp.open('POST', sURL, true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', sParam.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(sParam); 
	return obj;
}

function ajaxSetMonthInit() {
	var sMonth 	= document.getElementById("divMonth");
	var sHidden	= document.getElementById("hiddenMonth");

	sHidden.value = "0";
	var d = new Date();
	var sYear = d.getYear().toString();
	sMonth.innerHTML = arrMonth[d.getMonth()] + ", " + sYear.substr(sYear.length - 2, sYear.length);
	
	clearTable("tableDate");
}

function ajaxSetMonth(Delta) {
	var d = new Date();
	var Month = d.getMonth();
	var sHidden	= parseInt(document.getElementById("hiddenMonth").value);
	var sMonth 	= document.getElementById("divMonth");	
	
	sHidden = sHidden + Delta;
	if (sHidden < 0) { sHidden = 0 }
	if (sHidden > 12 ) { sHidden = 12 }
	document.getElementById("hiddenMonth").value = sHidden;
	d.setDate(1);
	d.setMonth(Month + sHidden);
	var sYear = d.getYear().toString();
	sYear = sYear.substr(sYear.length - 2, sYear.length);
	sMonth.innerHTML = arrMonth[d.getMonth()] + ", " + sYear;
	
	var sCity = parseInt(document.getElementById("ajaxCity").value);
	if (sCity != 0) {
		// Получаем даты
		ajaxChangeCity();
	}
}

function createCalendar(sID, sMonth, sYear) {
	dd = new Date();
	if (sMonth == 0) { sMonth = dd.getMonth() }
	if (sYear == 0) { sYear = dd.getYear() }

	var myTbl 	= document.getElementById(sID);
	var cityID 	= document.getElementById("ajaxCity").value;
	clearTable(sID); // Очищаем таблицу

	var dd = new Date(sYear, sMonth, 0);
	var lastDay = dd.getDate(); // Получаем количество днец месяца
	
	dd.setDate(dd.getDate() - lastDay);
	var dayWeek = dd.getDay(); // Получаем день недели первого дня месяца

	var sDay = 1;
	var sLog = false;

	var xmlHttp, response;
  	xmlHttp = getXmlHttp();
  	var httpParams = "month=" + sMonth + "&year=" + sYear + "&city=" + cityID;
  	xmlHttp.onreadystatechange = function()  {
    	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			var obj = eval("(" + response + ")");

			while (sDay <= lastDay) {
				newRow 	= myTbl.tBodies[0].insertRow(-1);
				for (i=0; i<=6; i++) {
					newCell = newRow.insertCell(-1);
					if (i == 6) { newCell.className = "noBorder" }
					if ((dayWeek == i) && (sLog == false)) { sLog = true }
					
					if (sLog) {
						if (sDay <= lastDay) { 
							var sLog2 = false
							for (var j = 0; j < obj.month.length; j++) {
								if (parseInt(obj.month[j].Day) == sDay) {
									sLog2 = true
								}
							}
							if (sLog2) {
								newCell.className += " tdSelectDay";
								newCell.innerHTML = "<a href='javascript:void(0)' onclick='javascript:ajaxGetDataCharter(" + sDay + ", " + sMonth + ", " + sYear + ")'>" + sDay + "</a>";
							} else {
								newCell.innerHTML = sDay 
							}
						}
						sDay += 1;
					}
				}
			}
			document.getElementById("divCalendar").style.display = "block";
			document.getElementById("divSearchWait").style.display = "none";			

		}
  	}
 	
  	xmlHttp.open('POST', 'include/get_month_info.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams); 
}

function ajaxGetDataCharter(sDay, sMonth, sYear) {
	clearTable("tableCharterDay"); // Очистка таблицы
	document.getElementById("divSpecCharter").style.display = "none";
	document.getElementById("divCharterDay").style.display = "block";
	document.getElementById("tableWaitDay").style.display = "block";
	var cityID 	= document.getElementById("ajaxCity").value;

	var xmlHttp, response;
  	xmlHttp = getXmlHttp();
	var sDate = sDay + "." + sMonth + "." + sYear;
  	var httpParams = "date=" + sDate + "&city=" + cityID;
  	xmlHttp.onreadystatechange = function()  {
    	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			var obj = eval("(" + response + ")");
			ajaxGetDataCharterFill(obj, sDay, sMonth, sYear);
    	} else {
		
		}
  	}
 	
  	xmlHttp.open('POST', 'include/get_charter_day_list.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams); 
}

function ajaxGetDataCharterFill(sObj, Day, Month, Year) {
	var sWait 	 = document.getElementById("tableWaitDay");
	var myTbl 	 = document.getElementById("tableCharterDay");
	var sCountry = document.getElementById("ajaxCountry");
	var sCity 	 = document.getElementById("ajaxCity");
	var Caption	 = document.getElementById("divCaption");
	
	document.getElementById("CityTo").innerHTML = sCity.options[sCity.selectedIndex].text;
	document.getElementById("hrefTo").href = "default.asp?module=schedule&CID=" + sCountry.value + "&CityID=" + sCity.value;

	Caption.innerHTML = sCity.options[sCity.selectedIndex].text + ", " + sCountry.options[sCountry.selectedIndex].text + ". Предложения на вылет из Москвы " + Day + " " + arrMonth2[Month - 1] + " " + Year + " г.";
	
	for (var i = 0; i < sObj.list.length; i++) {
		newRow 	= myTbl.tBodies[0].insertRow(-1);
		if (i % 2 == 0) { newRow.className = "fill" } else { newRow.className = "nofill" }
		
		if (parseInt(sObj.list[i].SPO) == 1) {
			newRow.className = "trSPO";
		}
		newCell = newRow.insertCell(-1);
		newCell.innerHTML = sObj.list[i].From;
		
		newCell = newRow.insertCell(-1);
		if (sObj.list[i].To == "") {
			newCell.innerHTML = "В одну сторону";
		} else {
			newCell.innerHTML = sObj.list[i].To;
		}

		newCell = newRow.insertCell(-1);
		if (sObj.list[i].Class != 0) { newCell.innerHTML = arrClass[sObj.list[i].Class] + " класс"  }
		
		
		newCell = newRow.insertCell(-1);
		if (parseInt(sObj.list[i].SPO) == 1) {
			newCell.className += " tdSPO";
			newCell.innerHTML = "<img src='images/spo.gif' width='24' height='24' alt='Спецпредложение' title='Спецпредложение' />";
		}
		
		newCell = newRow.insertCell(-1);
		newCell.innerHTML = sObj.list[i].Price + " " + arrCurrency[sObj.list[i].Curr];

		newCell = newRow.insertCell(-1);
		newCell.innerHTML = "<a href='default.asp?module=book&type=offer&pid=" + sObj.list[i].PID + "'>Заказать</a>";
	}
	sWait.style.display = "none";
}

function ajaxSetMinPrice() {
	var Btn = document.getElementById("btnMinPrice");
	Btn.disabled = true;

	var xmlHttp, response;
  	xmlHttp = getXmlHttp();
  	var httpParams = "";
  	xmlHttp.onreadystatechange = function()  {
    	if (xmlHttp.readyState == 4) {
      		response = xmlHttp.responseText;
			if (parseInt(response) == 200) {
				alert("Минимальные цены сформированы!");
				Btn.disabled = false;
			} else {
				alert(response);
				Btn.disabled = false;
			}
		} else {
		
		}
  	}
 	
  	xmlHttp.open('POST', 'set_min_price.asp', true);
  	xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;');
  	xmlHttp.setRequestHeader('Content-length', httpParams.length);
  	xmlHttp.setRequestHeader('Connection','close');

  	xmlHttp.send(httpParams); 
}