function add_nights(){
  var s_date = document.getElementById('arrDate').value;
  var selected = s_date.split('/');
  //var r_date = new Date(s_date);
  /*============================================*/
  var nights = document.getElementById('nights').options[document.getElementById('nights').selectedIndex].value; 
  var e_date = new Date((selected[2] * 1), ((selected[1] * 1) - 1), ((selected[0]  * 1) + (nights * 1)));
  ret_date = addNullToDate(e_date.getDate()) + '/' + addNullToDate((e_date.getMonth() * 1) + 1) + '/' + e_date.getFullYear();
  document.getElementById('depDate').value = ret_date;
  /*===================CHECK DATE=========================*/
  /*var cont = new limAX(url);
  cont.callback = function (responseTxt, responseStat) {
	  //if(responseTxt == '0')
		  //alert('Выбранные даты уже заняты для бронирования');
	  //document.getElementById('roomsByDates').innerHTML = responseTxt;
  }
  var arrDate = selected[2] + '-' + selected[1] + '-' + selected[0];
  var depDate = e_date.getFullYear() + '-' + e_date.getDate() + '-' + ((e_date.getMonth() * 1) + 1);
  cont.update('func=CheckDate&arrDate=' + arrDate + '&depDate=' + depDate, 'GET');*/
  
}

function getIndexByVal(id, val){
  var index = 0;
  var el = document.getElementById(id).options;
  for(var i = 0; i < el.length; i ++){
    if(el[i].value == val){
      index = i;
      break;
    }
  }
  return index;
}

function addNullToDate(number){ 
  number = number.toString();
  if(number.length == 1)	return '0' + number;
  else return number;
}


//url = 'http://reserve/ajax.php';
url = location.href.substring(0,location.href.lastIndexOf('/')) + '/ajax.php';

function limAX(url, callbackFunction) {
  //document.getElementById('reserve').style.cursor = 'wait';
  var self = this;
  this.updating = false;
  this.abort = function() {
    if (self.updating) {
      self.updating = false;
      self.AJAX.abort();
      self.AJAX = null;
    }
  }
  this.update = function(passData, postMethod) {
    if (self.updating) { return false; }
    self.AJAX = null;
    if (window.XMLHttpRequest) {
      self.AJAX = new XMLHttpRequest();              
    } else {
      self.AJAX = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (self.AJAX == null) {
      return false;
    } else {
      self.AJAX.onreadystatechange = function() {
        if (self.AJAX.readyState == 4) {
          self.updating = false;
          self.callback(self.AJAX.responseText, self.AJAX.status, self.AJAX.responseXML);
          self.AJAX = null;
          //document.getElementById('reserve').style.cursor = 'auto';
        }
      }
      //self.updating = new Date();
      if (/post/i.test(postMethod)) {
        //var uri = urlCall + '?' + self.updating.getTime();
        var uri = urlCall;
        self.AJAX.open("POST", uri, true);
        self.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        self.AJAX.setRequestHeader("Content-Length", passData.length);
        self.AJAX.send(passData);
      } else {
        //var uri = urlCall + '?' + passData + '&timestamp=' + (self.updating.getTime());
        var uri = urlCall + '?' + passData + '&n=' + Math.random();
        //var uri = urlCall + '?' + passData;
        //alert(uri);
        self.AJAX.open("GET", uri, true);
        self.AJAX.send(null);
      }
      return true;
    }
  }
  var urlCall = url;
  this.callback = callbackFunction || function () { };
}

function loadReserve(request){ 
  var cont = new limAX(url);
  cont.callback = function (responseTxt, responseStat) { //alert(responseTxt);
	  document.getElementById('roomsByDates').innerHTML = responseTxt;
	  //Calendar();
  }
  //alert('func=UpdateReserve&' + request);
  cont.update('func=UpdateReserve&' + request,'GET');
}

function loadFreeNumber(request){ 
  var cont = new limAX(url);
  cont.callback = function (responseTxt, responseStat) { 
	  document.getElementById('roomsByDates').innerHTML = responseTxt;
  }
  cont.update('func=loadFreeNumber&' + request,'GET');
}


/*function PrintAgeInput(){
	var kids = document.getElementById('kids').options[document.getElementById('kids').selectedIndex].value;
	var kidsAge = document.getElementById('kidsAge');
	if (kids != 0)
		document.getElementById('textKidsAge').innerHTML = 'Возраст детей';
	else
		document.getElementById('textKidsAge').innerHTML = '';
	var innerKids = '';
	for (var i = 0; i < kids; i++){
		innerKids += "<div id=\"float-left\"><div class=\"selectcontainer04\"><select id = \"k_" + i + "\" class=\"select04\" name = \"k[]\">";
		for(var j = 0; j <= 12; j++){
			innerKids += "<option value = '" + j + "'";
			if(j == 7)
				innerKids += ' selected ';
			innerKids += ">" + j + "</option>";
		}
		innerKids += "</select></div></div>";
	}
	kidsAge.innerHTML = innerKids + "<div id=\"clear\"></div>";
	//alert(kids);
}*/

function setCheckboxes(do_check) {
	  var elts     = document.getElementsByName('selected_fld[]');
	  var elts_cnt = (typeof(elts.length) != 'undefined')
	               ? elts.length
	               : 0;
	  if(elts_cnt) {
	    for(var i = 0; i < elts_cnt; i++) {
	      elts[i].checked = do_check;
	    }
	  } else {
	    elts.checked      = do_check;
	  }
	  return true;
}

function toEditFormLocations(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	var Description = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  Description = document.getElementById('Description_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('addLocation').value = htmlspecialcharsDecode(Name);
	document.getElementById('addDescription').innerHTML = htmlspecialcharsDecode(Description);
	  return true;
}

function toEditFormClass(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('Name').value = htmlspecialcharsDecode(Name);
	  return true;
}

function toEditFormHotels(permission){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	var locationsId = '';
	var Distance = '';
	var Description = '';
	var npd = 0;
	var Block = 0;
	//var ChildrenFrom = '';
	//var ChildrenTo = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  locationsId = document.getElementById('LocationsId_' + (i + 1)).innerHTML;
	    	  Distance = document.getElementById('Distance_' + (i + 1)).innerHTML;
	    	  //ChildrenFrom = document.getElementById('ChildrenFrom_' + (i + 1)).innerHTML;
	    	  //ChildrenTo = document.getElementById('ChildrenTo_' + (i + 1)).innerHTML;
	    	  Description = document.getElementById('Description_' + (i + 1)).innerHTML;
	    	  npd = document.getElementById('npd_' + (i + 1)).value;
	    	  if(permission == -1)
	    	  	Block = document.getElementById('Block_' + (i + 1)).value;
	    	  break;
	      }
	    }
	  }
	document.getElementById('addHotel').value = htmlspecialcharsDecode(Name);
	document.getElementById('addLocationId').selectedIndex = getIndexByVal('addLocationId', locationsId);
	document.getElementById('Distance').value = htmlspecialcharsDecode(Distance);
	//document.getElementById('ChildrenFrom').value = ChildrenFrom;
	//document.getElementById('ChildrenTo').value = ChildrenTo;
	document.getElementById('addDescription').innerHTML = htmlspecialcharsDecode(Description);
	if(npd == 1)
		document.getElementById('npd').checked = true;
	else
		document.getElementById('npd').checked = false;
	if(permission == -1){
		if(Block == 1)
			document.getElementById('Block').checked = true;
		else
			document.getElementById('Block').checked = false;
	}
	  return true;
}

function toEditFormRooms(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var rooms_typeId = '';
	var Beds = '';
	var ExtraBeds = '';
	var Number = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Number = document.getElementById('Number_' + (i + 1)).innerHTML;
	    	  rooms_typeId = document.getElementById('rooms_typeId_' + (i + 1)).innerHTML;
	    	  Beds = document.getElementById('Beds_' + (i + 1)).innerHTML;
	    	  ExtraBeds = document.getElementById('ExtraBeds_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('Number').value = htmlspecialcharsDecode(Number);
	document.getElementById('addTypeRoomId').selectedIndex = getIndexByVal('addTypeRoomId', rooms_typeId);
	document.getElementById('Beds').value = htmlspecialcharsDecode(Beds);
	document.getElementById('ExtraBeds').value = htmlspecialcharsDecode(ExtraBeds);
	  return true;
}

function toEditFormPrice(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var typeRoomId = '';
	var TypeOfPlaceId = '';
	var ChildrenDiscount = '';
	var Mon = '';
	var Tue = '';
	var Wed = '';
	var Thu = '';
	var Fri = '';
	var Sat = '';
	var Sun = '';
	var packetsId = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  typeRoomId = document.getElementById('typeRoomId_' + (i + 1)).innerHTML;
	    	  TypeOfPlaceId = document.getElementById('TypeOfPlaceId_' + (i + 1)).innerHTML;
	    	  packetsId = document.getElementById('packetsId_' + (i + 1)).innerHTML;
	    	  ChildrenDiscount = document.getElementById('ChildrenDiscount_' + (i + 1)).innerHTML;
	    	  Mon = document.getElementById('Mon_' + (i + 1)).innerHTML;
	    	  Tue = document.getElementById('Tue_' + (i + 1)).innerHTML;
	    	  Wed = document.getElementById('Wed_' + (i + 1)).innerHTML;
	    	  Thu = document.getElementById('Thu_' + (i + 1)).innerHTML;
	    	  Fri = document.getElementById('Fri_' + (i + 1)).innerHTML;
	    	  Sat = document.getElementById('Sat_' + (i + 1)).innerHTML;
	    	  Sun = document.getElementById('Sun_' + (i + 1)).innerHTML;
	    	  packetsId = document.getElementById('packetsId_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('typeRoomId').selectedIndex = getIndexByVal('typeRoomId', typeRoomId);
	document.getElementById('TypeOfPlaceId').selectedIndex = getIndexByVal('TypeOfPlaceId', TypeOfPlaceId);
	document.getElementById('packetsId').selectedIndex = getIndexByVal('packetsId', packetsId);
	document.getElementById('ChildrenDiscount').value = htmlspecialcharsDecode(ChildrenDiscount);
	document.getElementById('Mon').value = htmlspecialcharsDecode(Mon);
	document.getElementById('Tue').value = htmlspecialcharsDecode(Tue);
	document.getElementById('Wed').value = htmlspecialcharsDecode(Wed);
	document.getElementById('Thu').value = htmlspecialcharsDecode(Thu);
	document.getElementById('Fri').value = htmlspecialcharsDecode(Fri);
	document.getElementById('Sat').value = htmlspecialcharsDecode(Sat);
	document.getElementById('Sun').value = htmlspecialcharsDecode(Sun);
	document.getElementById('packetsId').selectedIndex = getIndexByVal('packetsId', packetsId);
	showPacket(TypeOfPlaceId);
	  return true;
}

function toEditFormRoomsType(DontUseNPD){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	var Description = '';
	var RoomsCount = '';
	var classId = '';
	//if(DontUseNPD)
		//var CountFree = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  Description = document.getElementById('Description_' + (i + 1)).innerHTML;
	    	  RoomsCount = document.getElementById('RoomsCount_' + (i + 1)).innerHTML;
	    	  classId = document.getElementById('classId_' + (i + 1)).innerHTML;
	    	  //if(DontUseNPD)
	    		//  CountFree = document.getElementById('CountFree_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('typeRoom').value = htmlspecialcharsDecode(Name);
	document.getElementById('Description').innerHTML = htmlspecialcharsDecode(Description);
	document.getElementById('RoomsCount').value = RoomsCount;
	document.getElementById('classId').selectedIndex = getIndexByVal('classId', classId);
	//if(DontUseNPD)
		//document.getElementById('CountFree').value = CountFree;
	  return true;
}

function toEditFormPeriods(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	var DateFrom = '';
	var DateTo = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  DateFrom = document.getElementById('DateFrom_' + (i + 1)).innerHTML;
	    	  DateTo = document.getElementById('DateTo_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('namePeriod').value = htmlspecialcharsDecode(Name);
	document.getElementById('DateFrom').value = htmlspecialcharsDecode(DateFrom);
	document.getElementById('DateTo').value = htmlspecialcharsDecode(DateTo);
	  return true;
}

function toEditFormNights(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var DateFrom = '';
	var DateTo = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  DateFrom = document.getElementById('DateFrom_' + (i + 1)).innerHTML;
	    	  DateTo = document.getElementById('DateTo_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('DateFrom').value = htmlspecialcharsDecode(DateFrom);
	document.getElementById('DateTo').value = htmlspecialcharsDecode(DateTo);
	  return true;
}

function toEditFormUsers(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var login = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  login = document.getElementById('login_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('login').value = htmlspecialcharsDecode(login);
	  return true;
}

function toEditFormRole(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var usersId = '';
	var hotelsId = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  usersId = document.getElementById('usersId_' + (i + 1)).innerHTML;
	    	  hotelsId = document.getElementById('hotelsId_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('usersId').selectedIndex = getIndexByVal('usersId', usersId);
	document.getElementById('hotelsId').selectedIndex = getIndexByVal('hotelsId', hotelsId);
	  return true;
}

function toEditFormPackets(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('packetName').value = htmlspecialcharsDecode(Name);
	  return true;
}

function toEditFormDistance(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	//var FromD = '';
	var ToD = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  //FromD = document.getElementById('FromD_' + (i + 1)).innerHTML;
	    	  ToD = document.getElementById('ToD_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('Name').value = htmlspecialcharsDecode(Name);
	//document.getElementById('FromD').value = htmlspecialcharsDecode(FromD);
	document.getElementById('ToD').value = htmlspecialcharsDecode(ToD);
	  return true;
}

function toEditFormServices(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var Name = '';
	var services_typeId = '';
	var Count = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  Name = document.getElementById('Name_' + (i + 1)).innerHTML;
	    	  services_typeId = document.getElementById('services_typeId_' + (i + 1)).innerHTML;
	    	  Count = document.getElementById('Count_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('Name').value = htmlspecialcharsDecode(Name);
	document.getElementById('services_typeId').selectedIndex = getIndexByVal('services_typeId', services_typeId);
	document.getElementById('Count').value = htmlspecialcharsDecode(Count);
	  return true;
}

function toEditFormInvoice(){
	var elts     = document.getElementsByName('selected_fld[]');
	var elts_cnt = (typeof(elts.length) != 'undefined')
	             ? elts.length
	             : 0;
	var invoiceId = '';
	var rooms_resId = '';
	if(elts_cnt) {
		for(var i = 0; i < elts_cnt; i++) {
	      if(elts[i].checked)	{
	    	  invoiceId = document.getElementById('invoiceId_' + (i + 1)).innerHTML;
	    	  rooms_resId = document.getElementById('rooms_resId_' + (i + 1)).innerHTML;
	    	  break;
	      }
	    }
	  }
	document.getElementById('invoiceId').value = htmlspecialcharsDecode(invoiceId);
	document.getElementById('rooms_resId').value = htmlspecialcharsDecode(rooms_resId);
	  return true;
}

function htmlspecialcharsDecode(string) {  
    string = string.toString();   
    // Always encode  
    string = string.replace(/&amp;/g, '&');  
    string = string.replace(/&lt;/g, '<');  
    string = string.replace(/&gt;/g, '>');  
      
    // Encode depending on quote_style  
   /* if (quote_style == 'ENT_QUOTES') {  
        string = string.replace("\"", /"/g);  
        string = string.replace("'", /'/g);  
    } else if (quote_style != 'ENT_NOQUOTES') {  
        // All other cases (ENT_COMPAT, default, but not ENT_NOQUOTES)  
        string = string.replace("\"", /"/g);  
    }*/  
    //alert(string);
    return string;  
} 

function sortNumber(a, b){
	return a - b;
}

function unique(a) {
	tmp = new Array(0);
	for(i=0;i<a.length;i++){
		if(!contains(tmp, a[i])){
			tmp.length+=1;
			tmp[tmp.length-1]=a[i];
		}
	}
	return tmp;
}

function contains(a, e) {
	for(j=0;j<a.length;j++)if(a[j]==e)return true;
	return false;
}


/*function loadHotel(locationHotel, selected_val, selected_distance){ 
	var s_location = -1; 
	var objSel = document.getElementById('hotel');
	//distance = new Array();
	clearSelect(objSel);
	objSel.options[objSel.options.length] = new Option('Все', -1);
	//var i = 0;
	for(locationId in locationHotel){
		if((locationId == parseInt(s_location)) || (parseInt(s_location) == -1)){
			for(hotelId in locationHotel[locationId]['hotel']){
				objSel.options[objSel.options.length] = new Option(locationHotel[locationId]['hotel'][hotelId], hotelId);
				//distance[i] = parseInt(locationHotel[locationId]['distance'][hotelId], 10);
				//i ++;
				if(selected_val == hotelId){
					objSel.options[(objSel.options.length - 1)].setAttribute('selected', 'true'); 
				}
			}
		}
	}
	*/
	/*================CREATE DISTANCE==========*/
	/*var objSelD = document.getElementById('distance');
	clearSelect(objSelD);
	objSelD.options[objSelD.options.length] = new Option('Все', -1);
	distance.sort(sortNumber);
	distance = unique(distance);
	for(i in distance){
		objSelD.options[objSelD.options.length] = new Option('до ' + distance[i], distance[i]);
		if(selected_distance == distance[i])
			objSelD.options[(objSelD.options.length - 1)].setAttribute('selected', 'true');
	}*//*
}*/

/*function sortDist(distance_arr){
		
}*/
	
function loadHotelByDist(locationHotel, selected_val){ 
	var distance = document.getElementById('distance').options[document.getElementById('distance').selectedIndex].value;
	var objSel = document.getElementById('hotel');
	clearSelect(objSel);
	objSel.options[objSel.options.length] = new Option('Все', -1);
	var i = 0;
	for(hotel in locationHotel){
		if(parseInt(locationHotel[hotel]['distance'], 10) <= parseInt(distance, 10) || parseInt(distance, 10) == -1){
			objSel.options[objSel.options.length] = new Option(hotel, locationHotel[hotel]['hotelId']);
			i ++;
			if(selected_val == locationHotel[hotel]['hotelId']){
				objSel.options[(objSel.options.length - 1)].setAttribute('selected', 'true'); 
			}
		}
	}
}

function clearSelect(oListbox){
  for (var i=oListbox.options.length-1; i >= 0; i--){
      oListbox.remove(i);
  }
}

function checkPeriodDate(){
	var DateFrom = document.getElementById('DateFrom').value;
	var DateTo = document.getElementById('DateTo').value;
	var s_DateFrom = DateFrom.split('-');
	var s_DateTo = DateTo.split('-');
	var p_DateFrom = Date.parse(s_DateFrom[1] + '/' + s_DateFrom[2] + '/' + s_DateFrom[0]); 
	var p_DateTo = Date.parse(s_DateTo[1] + '/' + s_DateTo[2] + '/' + s_DateTo[0]);
	if (p_DateTo < p_DateFrom){
		alert('Дата окончания периода не может быть меньшей даты начала периода');
		document.getElementById('DateTo').value = DateFrom;
	}
}

function checkOrderPeriodDate(){
	var DateFrom = document.getElementById('DateFrom').value;
	var DateTo = document.getElementById('DateTo').value;
	var s_DateFrom = DateFrom.split('.');
	var s_DateTo = DateTo.split('.');
	var p_DateFrom = Date.parse(s_DateFrom[1] + '/' + s_DateFrom[0] + '/' + s_DateFrom[2]); 
	var p_DateTo = Date.parse(s_DateTo[1] + '/' + s_DateTo[0] + '/' + s_DateTo[2]);
	if (p_DateTo < p_DateFrom){
		alert('Дата окончания периода не может быть меньшей даты начала периода');
		document.getElementById('DateTo').value = DateFrom;
	}
}

function DelFromBasket(resNo){
	document.delRooms.resNo.value = resNo;
	document.delRooms.submit();
}

function UploadPhoto(loc, id){
	link='uploadphoto.php?location='+loc+'&id='+id;
	c = window.open(link, "uploadphoto", "width=800,height=600,status=no,toolbar=no,menubar=no,scrollbars=yes");
	c.focus();
}

function DelPhoto(filename){
	document.photo.delphoto.value = filename;
	document.photo.submit();
}

function Viewer(loc, id){
	link='pages/viewer.php?location='+loc+'&id='+id;
	v = window.open(link, "viewer", "width=1004,height=750,status=no,toolbar=no,menubar=no,scrollbars=yes");
	v.focus();
}

function showPacket(TypeOfPlaceId){
	if(TypeOfPlaceId == 0)
		document.getElementById('packetsIdBlock').style.display = 'inline';
	else
		document.getElementById('packetsIdBlock').style.display = 'none';
}

function OpenRes(r_id, r_date, res_id, roomType, lineId){
	link='roomres.php?r_id='+r_id+'&r_date='+r_date;
	if(res_id != 0) link += '&res_id='+res_id;
	if(roomType != 0) link += '&roomType='+roomType;
	link += '&lineId='+lineId;
	var num = Math.random();
	num = Math.round(num*100000);
	link += '&num='+num;
	r = window.open(link, "roomres", "width=800,height=450,status=yes,toolbar=no,menubar=no,scrollbars=yes");
	//r.onblur = function() {r.focus();};
	r.focus();
}

function GuestData(id){
	link='guestdata.php?guestsId=' + id;
	g = window.open(link, "guestdata", "width=600,height=300,status=no,toolbar=no,menubar=no,scrollbars=yes");
	g.focus();
}

function PaymentLog(id){
	link='paymentlog.php?invoiceId=' + id;
	p = window.open(link, "paymentlog", "width=600,height=300,status=no,toolbar=no,menubar=no,scrollbars=yes");
	p.focus();
}

function loadGuestInfo(){ 
	var guestsId = document.getElementById('guestsId').options[document.getElementById('guestsId').selectedIndex].value;
	if(guestsId != -1){
		  var cont = new limAX(url);
		  cont.callback = function (responseTxt, responseStat) { //alert(responseTxt);
		  rT = responseTxt.split('#|||#');
		  for(key in rT){
			  if(rT[key] == '')	continue;
			  else{
				  guestInfo = rT[key].split('===>>>');
				  if((guestInfo[0] == 'Phone') || (guestInfo[0] == 'Email') || (guestInfo[0] == 'FIO')){/* || guestInfo[0] == 'Address'*/
					  document.getElementById(guestInfo[0]).value = guestInfo[1];
				  }
					  
			  }
		  }
			  //document.getElementById('roomsByDates').innerHTML = responseTxt;
		  }
		  cont.update('func=loadGuestInfo&guestsId=' + guestsId,'GET');
	}
	else{
		document.getElementById('Phone').value = '';
		document.getElementById('Email').value = '';
		document.getElementById('FIO').value = '';
		//document.getElementById('Address').value = '';
	}
}

function checkCountPeople(){
	var kids = document.getElementById('kids').options[document.getElementById('kids').selectedIndex].value;
	var adults = document.getElementById('adults').options[document.getElementById('adults').selectedIndex].value;
	var Beds = document.getElementById('Beds').value;
	var ExtraBeds = document.getElementById('ExtraBeds').value;
	if((parseInt(Beds, 10) + parseInt(ExtraBeds, 10)) < (parseInt(kids, 10) + parseInt(adults, 10))){
		alert('Количество поселяемых превышает количество мест');
		document.getElementById('kids').selectedIndex = 0;
		document.getElementById('adults').selectedIndex = 0;
	}
}

function countPrice(){
	var cont = new limAX(url);
	cont.callback = function (responseTxt, responseStat) { 
		//document.getElementById('price').value = responseTxt;
		rT = responseTxt.split('|||');
		if(rT[0] == ''){
			document.getElementById('price').value = rT[1];
			document.getElementById('addRes').disabled = false;
		}
		else{
			alert(rT[0]);
			document.getElementById('price').value = rT[1];
			document.getElementById('addRes').disabled = true;
		}
	}
	var kids = document.getElementById('kids').options[document.getElementById('kids').selectedIndex].value;
	var adults = document.getElementById('adults').options[document.getElementById('adults').selectedIndex].value;
	var Beds = document.getElementById('Beds').value;
	var ExtraBeds = document.getElementById('ExtraBeds').value;
	var arrDate = document.getElementById('arrDate').value;
	var depDate = document.getElementById('depDate').value;
	var r_typeId = document.getElementById('r_typeId').value;
	var hotelId = document.getElementById('hotelId').value;
	cont.update('func=countPrice&kids=' + kids + '&adults=' + adults + '&Beds=' + Beds + '&ExtraBeds=' + ExtraBeds + '&arrDate=' + arrDate + '&depDate=' + depDate + '&r_typeId=' + r_typeId + '&hotelId=' + hotelId,'GET');
}

tmpColor = new Array(3);
function highLightOn(d_id, r_id){
	var color = '#FFB9B9';
	tmpColor[0] = document.getElementById(d_id).style.backgroundColor;
	tmpColor[1] = document.getElementById(r_id).style.backgroundColor;
	tmpColor[2] = document.getElementById(d_id+'|'+r_id).style.backgroundColor;
	document.getElementById(d_id).style.backgroundColor = color;
	document.getElementById('b'+d_id).style.backgroundColor = color;
	document.getElementById(r_id).style.backgroundColor = color;
	document.getElementById(d_id+'|'+r_id).style.backgroundColor = color;
}

function highLightOff(d_id, r_id){
	//alert(d_id + ', ' + r_id + ', ' + d_color + ', ' + r_color + ', ' + entry_color);
	document.getElementById(d_id).style.backgroundColor = tmpColor[0];
	document.getElementById('b'+d_id).style.backgroundColor = tmpColor[0];
	document.getElementById(r_id).style.backgroundColor = tmpColor[1];
	document.getElementById(d_id+'|'+r_id).style.backgroundColor = tmpColor[2];
}

function makeReserve(){ //alert('reserve');
	var page = window.opener.document.getElementById('page').value; 
	var cont = new limAX(url);
	cont.callback = function (responseTxt, responseStat) { //alert(responseTxt);
		window.close();
		//window.location.reload(true);
		if(page == 'invoice')
			window.opener.document.getElementById('Show').click();
		else if(page == 'orders' || page == 'roomsbydates')
			window.opener.document.getElementById('roomsByDates').innerHTML = responseTxt;
	}	
	var hotel = window.opener.document.getElementById('hotel').value
	var startDay = window.opener.document.getElementById('startDate').value;
	var form = document.getElementById('ResCard');
	var request = '';
	for(index = 0;  index < form.elements.length; index ++){
		request += '&' + form.elements[index].name + '=' + encodeURIComponent(form.elements[index].value);
	}
	//alert(request);
	var uri = 'func=makeReserve_' + page + '&startDate=' + startDay + '&hotel=' + hotel + request;
	cont.update(uri,'GET');
	//cont.update('func=makeReserve_' + page + '&startDate=' + startDay + '&hotel=' + hotel + request,'GET');
}

function IsFree(){
	
	var cont = new limAX(url);
	cont.callback = function (responseTxt, responseStat) { 
		if(responseTxt != ''){
			alert(responseTxt);
			//document.getElementById('roomId').selectedIndex = getIndexByVal('roomId', roomId);
			document.getElementById('addRes').disabled = true;
		} else
			document.getElementById('addRes').disabled = false;
	}
	var arrDate = document.getElementById('arrDate').value;
	var depDate = document.getElementById('depDate').value;
	var roomId = document.getElementById('roomId').options[document.getElementById('roomId').selectedIndex].value;
	var rooms_resId = document.getElementById('rooms_resId').value;
	cont.update('func=IsFree&arrDate=' + arrDate + '&depDate=' + depDate + '&roomId=' + roomId + '&rooms_resId=' + rooms_resId,'GET');
}

function loadPacket(selected_val){ 
	var objSel = document.getElementById('nights');
	clearSelect(objSel);
	var startDay = document.getElementById('arrDate').value;
	var cont = new limAX(url);
	cont.callback = function (responseTxt, responseStat) { 
		rt = responseTxt.split('#');
		if(rt[0] == '1'){
			var opt = rt[1].split('/');
			for (ind in opt){
				objSel.options[objSel.options.length] = new Option(opt[ind], opt[ind]);
				if(selected_val == opt[ind]){
					objSel.options[(objSel.options.length - 1)].setAttribute('selected', 'true');
				}
			}
		}
		else if(rt[0] == '2'){
			document.getElementById('arrDate').value = rt[1];
			loadPacket(selected_val);
		}
		
		/*=================ADD NIGHT===========================*/
		var s_date = startDay;
		var selected = s_date.split('/'); 
		var nights = selected_val;
		//var nights = document.getElementById('nights').options[document.getElementById('nights').selectedIndex].value; 
		var e_date = new Date((selected[2] * 1), ((selected[1] * 1) - 1), ((selected[0]  * 1) + (nights * 1)));
		ret_date = addNullToDate(e_date.getDate()) + '/' + addNullToDate((e_date.getMonth() * 1) + 1) + '/' + e_date.getFullYear();
		document.getElementById('depDate').value = ret_date;
		/*=============================================*/
	}
	cont.update('func=loadPacket&startDay=' + startDay, 'GET')
}

function showInput(id){
	document.getElementById('freeNDiv_' + id).style.display = 'none';
	document.getElementById('freeNInp_' + id).style.display = 'inline';
	document.getElementById('freeNInp_' + id).value = document.getElementById('freeNDiv_' + id).innerHTML;
	document.getElementById('freeNInp_' + id).focus();
}

function insertFreeN(id){
	idArr = id.split('|');
	var AccDate = idArr[0];
	var rooms_typeId = idArr[1];
	var CountFree = document.getElementById('freeNInp_' + id).value;
	var hotelsId = document.getElementById('hotel').value;
	if(isNumber(CountFree) || (CountFree == '')){
		var cont = new limAX(url);
		cont.callback = function (responseTxt, responseStat) { //alert(responseTxt);
			document.getElementById('freeNInp_' + id).style.display = 'none';
			document.getElementById('freeNDiv_' + id).style.display = 'inline';
			document.getElementById('freeNDiv_' + id).innerHTML = CountFree;
		}
		cont.update('func=insertFreeN&hotelsId=' + hotelsId + '&rooms_typeId=' + rooms_typeId + '&AccDate=' + AccDate + '&CountFree=' + CountFree, 'GET');
	}
	else{
		alert ('Разрешен ввод только целых чисел');
		document.getElementById('freeNInp_' + id).style.display = 'none';
		document.getElementById('freeNDiv_' + id).style.display = 'inline';
		//document.getElementById('freeNInp_' + id).focus();
	}
}

function isNumber(string) {
	if ((string.search(/^[0-9]+$/) != -1) && string.length != 0){
		return true;
	}
	else{
		return false;
	}
}

function importData(index){
	var Nights = window.opener.document.getElementById('Nights_' + index).innerHTML;
	var Adults = window.opener.document.getElementById('Adults_' + index).innerHTML;
	var Kids = window.opener.document.getElementById('Kids_' + index).innerHTML;
	var guestsId = window.opener.document.getElementById('guestsId_' + index).innerHTML;
	document.getElementById('nights').selectedIndex = getIndexByVal('nights', Nights);//getIndexByVal(id, val)
	document.getElementById('adults').selectedIndex = getIndexByVal('adults', Adults);
	document.getElementById('kids').selectedIndex = getIndexByVal('kids', Kids);
	document.getElementById('guestsId').selectedIndex = getIndexByVal('guestsId', guestsId);
}

//var response = false;

function formsOrder(){
	var ValidTo = prompt("Срок действия счета, банковских дней: ", "2");
	var page = window.opener.document.getElementById('page').value;
	if(ValidTo){
		var cont = new limAX(url);
		cont.callback = function (responseTxt, responseStat) {
			//alert(responseTxt);
			rT = responseTxt.split('---!!!---');
			//alert(rT[0]);
			window.location.reload(true);
			if((page == 'orders') || (page == 'invoice'))
				window.opener.document.getElementById('Show').click();
			else if(page == 'roomsbydates')
				window.opener.document.getElementById('roomsByDates').innerHTML = rT[1];
			if(confirm(rT[0] + "\nЗакрыть Карточку Бронирования?"))
				window.close();
			//response = true;
		}
		//var price = document.getElementById('price').value;
		//var hotelId = document.getElementById('hotelId').value;
		//var guestsId = document.getElementById('guestsId').options[document.getElementById('guestsId').selectedIndex].value;
		//var rooms_resId = document.getElementById('rooms_resId').value;
		//cont.update('func=formOrder&price=' + price + '&guestsId=' + guestsId + '&rooms_resId=' + rooms_resId + '&hotelId=' + hotelId + '&ValidTo=' + ValidTo,'GET');
		var startDay = window.opener.document.getElementById('startDate').value;
		var form = document.getElementById('ResCard');
		var request = '';
		//for(index = 0;  index < form.elements.length; index ++){
		//	request += '&' + form.elements[index].name + '=' + form.elements[index].value;
		//}
		//cont.update('func=formOrder' + request + '&ValidTo=' + ValidTo + '&page=' + page + '&startDay=' + startDay,'GET');
		for(index = 0;  index < form.elements.length; index ++){
			request += '&' + form.elements[index].name + '=' + encodeURIComponent(form.elements[index].value);
		}
		var uri = 'func=formOrder' + request + '&ValidTo=' + ValidTo + '&page=' + page + '&startDay=' + startDay;
		cont.update(uri,'GET');
	}
}

function ComparePrices(){
	var cont = new limAX(url);
	cont.callback = function (responseTxt, responseStat) {
		//alert(responseTxt);
		if(responseTxt != ''){
			if(confirm('Изменилась сумма по карточке бронирования. Переформировать счет?')){
				formsOrder();
				//setTimeout(window.close, 200);
			} else
				makeReserve();
		}else
			makeReserve();
	}
	var rooms_resId = document.getElementById('rooms_resId').value;
	var price = document.getElementById('price').value;
	cont.update('func=ComparePrices&rooms_resId=' + rooms_resId + '&price=' + price, 'GET');
}

function showsOrder(rooms_resId){
	link='printOrder.php?rooms_resId=' + rooms_resId + '&what=show';
	p = window.open(link, "showsorder", "width=600,height=300,status=no,toolbar=no,menubar=no,scrollbars=yes");
}

function sendInvoice(rooms_resId){
	link='sendInvoice.php?rooms_resId=' + rooms_resId;
	p = window.open(link, "sendinvoice", "width=600,height=300,status=no,toolbar=no,menubar=no,scrollbars=yes");
}

function setCookie(name, value) {
    var valueEscaped = escape(value);
    var expiresDate = new Date();
    expiresDate.setTime(expiresDate.getTime() + 365 * 24 * 60 * 60 * 1000); // срок - 1 год, но его можно изменить
    var expires = expiresDate.toGMTString();
    var newCookie = name + "=" + valueEscaped + "; path=/; expires=" + expires;
    if (valueEscaped.length <= 4000) document.cookie = newCookie + ";";
}

function getClientWidth()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function loadRoomsByDate(hotelId, startDay){
	window.opener.location.href = "index.php?page=hotel&subpage=roomsbydates&hotel=" + hotelId + '&startDay=' + startDay;
}