$(document).ready( function() {

	//zmienne globalne
	oneMinute = 60 * 1000; // milliseconds in a minute
	oneHour = oneMinute * 60;
	oneDay = oneHour * 24;
	oneWeek = oneDay * 7;
	addItemsCost = 0;
	specialPriceDates = "";
	globalOfferId = -1;
	//do przechowywania wszystkich informacji o pokoju
	allAdminData = "";
	//no to sie nie moze zmienic, trzeba zabronic refreshy, cofania, nie wiem
	//jak ale trzeba zabezpieczyc numer rezerwacji
	gReservationNr = -1;
	var pagesCounter = 0;
	YAHOO.util.Dom.get('numberOfRooms').value = 1;
	cal = new YAHOO.example.calendar.IntervalCalendar(
			"cal1Container", {
				pages :2,
				mindate: new Date()
			});
	
	resetAll();
	
	// Correct formats for Germany: dd.mm.yyyy, dd.mm, mm.yyyy 
	cal.cfg.setProperty("DATE_FIELD_DELIMITER", "/"); 
	cal.cfg.setProperty("MDY_DAY_POSITION", 1); 
	cal.cfg.setProperty("MDY_MONTH_POSITION", 2); 
	cal.cfg.setProperty("MDY_YEAR_POSITION", 3); 
	cal.cfg.setProperty("MD_DAY_POSITION", 1); 
	cal.cfg.setProperty("MD_MONTH_POSITION", 2);    
	
	//normalnie tego nie będzie, to jest na potrzeby testów.  
	//initData("24/04/2009", "27/04/2009");
	
	//najpierw z zalozenia sprawdzam dostepnosc od daty biezacej
	YAHOO.util.Dom.get("pageStartDate").value = new Date();
	
	/*
	if (navigator.appName == "Microsoft Internet Explorer") {
				http = new ActiveXObject("Microsoft.XMLHTTP");
			} else {
				http = new XMLHttpRequest();
			}
	*/
	
	//załaduj i wyświetl dostępne typy pokojów/pokoje
	$.ajax( {
	  type :"POST",
	  url :"plugins/reservation/loadData.php",
	  data : {
		offer_id : -1
	  },
	  success : function(msg) {
	    $("#formularz").html(msg);
	    
        /**/
        $("input.room_type_id").click(function() {
            roomTypeId = $(this).val();
            roomDesc = $('#room-desc-' + roomTypeId).html();
            $('#desc').html(roomDesc);
        });
        /**/	    
	    
	  },
	  error : function(XMLHttpRequest, textStatus, errorThrown) {
	    $("#formularz").html('Przepraszamy, wystąpił błąd systemu.');
	  }
	});
	
	//załaduj dostępne oferty specjalne
	$.ajax( {
	  type :"POST",
	  url :"plugins/reservation/loadOffers.php",
	  data : {
		room_id : -1
	  }, 
	  success : function(msg) {
	    $("#offersForm").html(msg);

        $('#offersForm').find('#mycarousel').jcarousel({
            // Configuration goes here
        });
        $("li.offer").click(function() {
            offerId = $(this).attr('rel');
            offerDesc = $('#offer-desc-' + offerId).html();
            $('#desc').html(offerDesc);
        });	    
	    
	  },
	  error : function(XMLHttpRequest, textStatus,
	      errorThrown) {
	    $("#offersForm")
	        .html(
	            'Przepraszamy, wystąpił błąd systemu.');
	  }
	});
	
	$("#numberOfRooms").change(
	    function() {
	      //check if ok to fill data
	      validateData();
	    }
	);
        
    cal.changePageEvent
      .subscribe(
          function() { 
            var newDateFrom1 = cal.pages[0].getDateByCellId("cal1Container_t_0_cell0") ;
            var newDateFrom2 = cal.pages[1].getDateByCellId("cal1Container_t_1_cell0") ;
            
            if (newDateFrom1 < newDateFrom2) {
              newDateFrom = newDateFrom1;
            } else {
              newDateFrom = newDateFrom2 ;
            }
            
            YAHOO.util.Dom.get("pageStartDate").value = newDateFrom;
            
            validateData();
            
          }, cal, true);

  //zarejestruj listenera dla wyboru zakresu dat z kalendarza
  cal.selectEvent
      .subscribe(
          function() {
          var inTxt = YAHOO.util.Dom.get("in"), outTxt = YAHOO.util.Dom
              .get("out"), inDate, outDate, interval;
              
          inTxt.value = "";
          outTxt.value = "";
          var http = false;
          interval = this.getInterval();
          
          if (interval.length == 2) {
            inDate = interval[0];
            inTxt.value = 
                inDate.getDate() + "/" + (inDate.getMonth() + 1) + "/"
                + inDate.getFullYear();

            if (interval[0].getTime() != interval[1].getTime()) {
              outDate = dateAdd(interval[1], 1);
              outTxt.value = outDate.getDate()
                  + "/"
                  + (outDate.getMonth() + 1)
                  + "/"
                  + outDate.getFullYear();
                  var date = interval[1].getTime()
                      - interval[0].getTime();
                  var daysBeetween = Math.ceil(date / oneDay) + 1;
                  YAHOO.util.Dom.get('numberOfDays').value = daysBeetween;
                  
                  validateData();
            } else if (interval[0] == interval[1]){ 
            	outDate = dateAdd(interval[1], 1);
                outTxt.value = outDate.getDate()
                    + "/"
                    + (outDate.getMonth() + 1)
                    + "/"
                    + outDate.getFullYear();
                    
                	//kliknelismy jeden dzien, czyli zostajemy jedna noc
                    var daysBeetween = 1;
                    YAHOO.util.Dom.get('numberOfDays').value = daysBeetween;
                    validateData();
  			}
          }

          }
          //subscribe
          , cal, true);
				
          cal.render();
});

//TUTAJ z INTERVAL CALENDAR


function getElementValue(formElement) {
	if (formElement.length != null)
		var type = formElement[0].type;
	if ((typeof (type) == 'undefined') || (type == 0))
		var type = formElement.type;

	switch (type) {
	case 'undefined':
		return;

	case 'radio':
		for ( var x = 0; x < formElement.length; x++)
			if (formElement[x].checked == true)
				return formElement[x].value;

	case 'select-multiple':
		var myArray = new Array();
		for ( var x = 0; x < formElement.length; x++)
			if (formElement[x].selected == true)
				myArray[myArray.length] = formElement[x].value;
		return myArray;

	case 'checkbox':
		return formElement.checked;

	default:
		return formElement.value;
	}
}

function resetValues() {
  var inTxt = YAHOO.util.Dom.get("in"), outTxt = YAHOO.util.Dom
      .get("out"), inDate, outDate, interval;

}


function showAvailableDates(dateFrom) {
  
  var rType = getElementValue(document.forms['formularz'].mode);
  var dFrom = dateFrom;
  
  var properDate = dFrom.getDate() + "/" + (dFrom.getMonth() + 1) + "/" + dFrom.getFullYear();
  var selectedNumberOfRooms = YAHOO.util.Dom.get('numberOfRooms').value;
  
  
  getSpecialPrices(1);

  $.ajax( {
    type :"POST",
    url :"plugins/reservation/loadReservations.php",
    data : {
      room_type :rType,
      date_from :properDate,
      number_of_rooms : selectedNumberOfRooms
    },
    success : function(msg) {
      if (msg == "not_enough_rooms") {
        alert('Wybrana liczba pokoi przekracza liczbę dostępną w hotelu, ustawiono na 1!?');
        resetNumberOfRooms();
        return false;
      }

      var dates = msg.split(" ");
      
      var avail;
      
      //jeżeli pokoje są niedostępne, to nic nie pokażemy
      avail = checkInterval(dates);
      
      var reservedDates;
      var selectedDates = cal.getInterval();
      
      
      for (var i = 0; i < dates.length; i++) {
        reservedDates = dates[i].replace(/-/g, ".");
        reservedDates = dates[i];
        cal.addRenderer(reservedDates, cal.renderBodyCellRestricted);
      }
      
      cal.render();
      
      if (avail == true) {
        fillData();
      }

    },
    error : function(
        XMLHttpRequest,
        textStatus, errorThrown) {
    }
  });
}

function checkInterval(dates) {
  var interval = cal.getInterval();
  var resDate;
  var l = dates.length;

  for (var i = 0; i < dates.length; i++) {
	//dla kazdej daty sposrod zarezerwowanych
	//sprawdzamy czy nie jest juz zajeta ?
    resDate = new Date(getProperDate(dates[i]));
    //alert(resDate);
    if ( (resDate >= interval[0]) && (resDate < dateAdd(interval[1], 1) )) {
      alert('Niestety pokój niedostępny w wybranym okresie');
      resetAll();
      return false;
    }
  }
  return true;
}

function getSpecialPrices(roomId) {

  var rType = getElementValue(document.forms['formularz'].mode);
  var dFrom = new Date(YAHOO.util.Dom.get("pageStartDate").value);
  var properDateFrom = dFrom.getDate() + "/" + (dFrom.getMonth() + 1) + "/" + dFrom.getFullYear();

  var offer_id;
  offer_id = getOfferId();  
    
  $.ajax( {
    type :"POST",
    url :"plugins/reservation/checkPrices.php",
    data : {
      room_id : rType,
      date_from : properDateFrom,
      offer_id : offer_id
    },

    success : function(msg) {
      var dates = msg.split(" ");
      var specialDates;
      var allSpecialDates = "";
      specialPriceDates = dates; 
      cal.render();
    },
    async : false,
    error : function(
        XMLHttpRequest,
        textStatus, errorThrown) {
        //brakuje obslugi bledu
    }
  });  
}

//chyba musze zrezygnowac z tego
function getNumberOfRooms() {

  var rType = getElementValue(document.forms['formularz'].mode);
    
  $.ajax( {
    type :"POST",
    url :"plugins/reservation/getNumberOfRooms.php",
    data : {
      room_type : rType
    },
    success : function(msg) {
      YAHOO.util.Dom.get('totalNumberOfRooms').value = msg;
    },
    error : function(
        XMLHttpRequest,
        textStatus, errorThrown) {
        YAHOO.util.Dom.get('test3').value = "Wystąpił błąd!";
    }
  });  
}

function resetNumberOfRooms() {
  YAHOO.util.Dom.get('numberOfRooms').value = 1;
}

function validateData() {
  var rType;

  if ( typeof($(".room_type_id:checked").val()) == "undefined") {
    return;
  } else {
    rType = getElementValue(document.forms['formularz'].mode);
  }
  
  showAvailableDates(new Date(YAHOO.util.Dom.get("pageStartDate").value));
  
  var interval;
  interval = cal.getInterval();
  
  if (interval != "") {
    var date = dateAdd(interval[1], 1).getTime()
        - interval[0].getTime();
    var daysBeetween = Math.ceil(date / oneDay);
  }
  
  var dFrom = new Date();
  
  var properDate = dFrom.getDate() +  (dFrom.getMonth() + 1) + "/" + dFrom.getFullYear();
  
  var selectedNumberOfRooms = YAHOO.util.Dom.get('numberOfRooms').value;
  
  cal.render();
}

function resetAll()
{
  cal.resetInterval();
  YAHOO.util.Dom.get('in').value = ""; 
  YAHOO.util.Dom.get('out').value = "";
  YAHOO.util.Dom.get('unitPrice').value = "";
  YAHOO.util.Dom.get('totalPrice').value = "";
  YAHOO.util.Dom.get('numberOfDays').value = "";
  YAHOO.util.Dom.get('reservationTotalCost').value = "";
  YAHOO.util.Dom.get('numberOfRooms').value = 1;
  cal.render();
  //showAvailableDates();
}

function initData(arrival, numOfNights) {
  
  var arrivalDate = new Date(getProperDateDash(arrival));
  var departureDate = dateAdd(arrivalDate, numOfNights);
  
  //nie zaznaczamy dnia wyjazdu
  cal.cfg.setProperty("selected",getProperDateFromJSDate(arrivalDate) + "-" + getProperDateFromJSDate(dateAdd(departureDate, -1)),false);
  //to jest niebezpieczna proba ingerencji w wewnetrzny stan kalendarza
  cal._iState = 2;
  
  var interval = cal.getInterval();
  
  var date = interval[1].getTime() + oneDay - interval[0].getTime();
  var daysBeetween = Math.ceil(date / oneDay);
  YAHOO.util.Dom.get('numberOfDays').value = daysBeetween;

  var inTxt = YAHOO.util.Dom.get("in");
  var outTxt = YAHOO.util.Dom.get("out");
  inTxt.value = arrivalDate.getDate() + "/" + (arrivalDate.getMonth() + 1) + "/" + arrivalDate.getFullYear();
  outTxt.value = departureDate.getDate() + "/" + (departureDate.getMonth() + 1) + "/" + departureDate.getFullYear();
  
  var dFrom = new Date(YAHOO.util.Dom.get("pageStartDate").value);
  
  //to juz bylo wczesniej jakby cos
  cal.render(); 
  validateData();
}

function getProperDate(srcDate) {
  var dateFields = srcDate.split("/");
  var properDate = dateFields[1] + "/" + dateFields[0] + "/" + dateFields[2];
  return properDate;
}

function getProperDateDash(srcDate) {
  var dateFields = srcDate.split("-");
  var properDate = dateFields[1] + "/" + dateFields[0] + "/" + dateFields[2];
  return properDate;
}

function getProperDateFromJSDate(jsDate) {   
	var retDate = jsDate.getDate() + "/" + (jsDate.getMonth() + 1) + "/" + jsDate.getFullYear();
	return retDate;
}

/*
function getProperDateFromJSDate(jsDate) {
  //var month = 
  var retDate = jsDate.getDate() +  (jsDate.getMonth() + 1) + "/" + jsDate.getFullYear();
  return retDate;
}
*/

function fillData() {
  var interval;
  interval = cal.getInterval();
  
  if (interval == "") {
    return;
  }

  var checkInD = interval[0];
  var checkOutD = dateAdd(interval[1], 1);
  
  var date = checkOutD.getTime() - checkInD.getTime();
  
  var properDateFrom = checkInD.getDate() + "/"  + (checkInD.getMonth() + 1) + "/" + checkInD.getFullYear();
  var properDateTo = checkOutD.getDate() + "/"  + (checkOutD.getMonth() + 1) + "/" + checkOutD.getFullYear();
  
  var daysBeetween = Math.ceil(date / oneDay);
  
  var rType = getElementValue(document.forms['formularz'].mode);
  var numberOfRooms = YAHOO.util.Dom.get('numberOfRooms').value;   
  
  var offer_id;
  offer_id = getOfferId();
  

  $.ajax(
  {
	  type :"POST",
	  url :"plugins/reservation/getRoomPrice.php",
	  async: false,
	  data:
	    {
	      room_id :rType,
	      checkIn : properDateFrom,
	      checkOut : properDateTo,
	      numberOfDays : daysBeetween,
	      offer_id : offer_id
	    },
	    success : function(msg)
	    {
	    	YAHOO.util.Dom.get('totalPrice').value = msg * numberOfRooms;
	    	YAHOO.util.Dom.get('roomTotalCost').value = msg * numberOfRooms;
	    },
	    error : function(
	        XMLHttpRequest,
	        textStatus, errorThrown) {
	      $("#totalPrice")
	          .html(
	              'Przepraszamy, wysąpił błąd systemu.');
	    }
  });  
};

function reserveRooms()
{
  var numberOfRooms = YAHOO.util.Dom.get('numberOfRooms').value;  
  var rType;
  
  if ( typeof($(".room_type_id:checked").val()) == "undefined")
  {
    alert('Nie wybrano typu pokoju');
    return;
  }
  else
  {
    rType = getElementValue(document.forms['formularz'].mode);
  }
  
  var interval = cal.getInterval();
  var checkIn = getProperDateFromJSDate(interval[0]);
  var checkOut = getProperDateFromJSDate(dateAdd(interval[1], 1));

  //----------------------------------------------------------
  // modified 25.07.2010 Manis #62
  // totalPrice is on current currency we must calculate value in PLN to save in admin based on exchangeRate form NBP
  var calculatePrice = parseFloat(YAHOO.util.Dom.get('totalPrice').value) * parseFloat($("#exchangeRate").val());
  var totalPrice = Math.round(calculatePrice);
  //----------------------------------------------------------

  $.ajax(
  {
    type: "POST",
    url: "plugins/reservation/makeReservation.php",
    data:
    {
      checkIn:			checkIn,
      checkOut: 		checkOut,
      roomTypeId:		rType,
      totalPrice:		totalPrice,
      advance:			50,
      numberOfRooms:	numberOfRooms,
      numberOfGuests:	YAHOO.util.Dom.get('numberOfGuests').value,
      offerId:			globalOfferId
    },
    success: function(msg)
    {
      gReservationNr = msg;
    }
  });
}

//załaduj dodatki do pokoi
function loadSpecialItems()
{
	//załaduj dostępne oferty specjalne
    $.ajax(
    {
    	type :"POST",
        url :"plugins/reservation/loadItems.php",
        data : {},
        success : function(msg)
        {
        	$("#itemsForm").html(msg);
        },
        error : function(XMLHttpRequest, textStatus, errorThrown)
        {
        	$("#itemsForm").html('Przepraszamy, wystąpił błąd systemu. Jeżeli dokonano wpłaty, prosimy o kontant.');
        }
    });
}

//dodaj dodatki do rezerwacji
function addSpecialItems() {
  var valArray = $('input:checkbox').serializeArray(); 
  var checkedList = "";
  jQuery.each(valArray, function(i, field){
    checkedList += field.value + ",";
  });
  
  if (checkedList != "") {
    $.ajax( {
      type :"POST",
      url :"plugins/reservation/addItemsToRes.php",
      data : {
        checkedList : checkedList,
        reservationId : gReservationNr
      },
      success : function(msg) {
      },
      error : function(XMLHttpRequest, textStatus,
          errorThrown) {
      }
    });
  } 
}

function updateSummary()
{
	$("#roomTotalCost").val($("#totalPrice").val());
	$("#itemsTotalCost").val(addItemsCost);
	$("#reservationTotalCost").val($("#roomTotalCost").val());
}

//mam nadzieje, ze to tutaj przekaze id odpowiedniego
//itemu
function updateItemsCost(checkbox)
{
  var tmpCost;
  var itemId = $(checkbox).val();
  $.ajax( {
    type :"POST",
    url :"plugins/reservation/getItemPrice.php",
    data : {
      itemId : itemId,
      numberOfDays : YAHOO.util.Dom.get('numberOfDays').value,
      numberOfGuests : YAHOO.util.Dom.get('numberOfGuests').value
    },
    success : function(msg) {
      tmpCost = parseFloat(msg);
      tmpCost = tmpCost * parseFloat(YAHOO.util.Dom.get('numberOfRooms').value);
      var op = $(checkbox).attr("checked");
      
      var addItemsCost = parseFloat($("#itemsTotalCost").val());
      if (op == true) {
        addItemsCost = addItemsCost + tmpCost;
      } else {
        addItemsCost = addItemsCost - tmpCost;
      }
      
      $("#itemsTotalCost").val(addItemsCost);
      var resTotalCost = parseFloat($("#totalPrice").val()) + parseFloat($("#itemsTotalCost").val());
      $("#reservationTotalCost").val(resTotalCost);     
      
    },
    error : function(XMLHttpRequest, textStatus,
        errorThrown) {
    }
  }); 
}

function updateAdditionalInfo()
{
  var clientName = $("#name").val();
  var clientSurname = $("#surname").val();
  var street = $('#street').val();
  var postalCode = $("#postalCode").val();
  var city = $("#city").val();
  var country = "PL";
  var phoneNr = $("#phoneNr").val();
  var email = $("#email").val();
  var reservationId = gReservationNr;
  var addInfo = $("#additionalInfo").val();
  var smoking = $("#isSmoking").val();

  //----------------------------------------------------------
  // modified 25.07.2010 Manis #62
  // itemsPrice is on current currency we must calculate value in PLN to save in admin based on exchangeRate form NBP
  var calculateItemsPrice = parseFloat($("#itemsTotalCost").val()) * parseFloat($("#exchangeRate").val());
  var itemsPrice = Math.round(calculateItemsPrice);
  //----------------------------------------------------------

  $.ajax( {
    type :"POST",
    url :"plugins/reservation/updateResInfo.php",
    data : {
      reservationId : reservationId,
      itemsPrice : itemsPrice,
      name : clientName,
      surname : clientSurname,
      street : street,
      postalCode : postalCode,
      city : city,
      country : country,
      phoneNr : phoneNr,
      email : email,
      additionalInfo : addInfo,
      smoking : smoking
    },
    success : function(msg) {

    },
    error : function(XMLHttpRequest, textStatus,
        errorThrown) {
    }
  });
}

function updateReservation() {
  addSpecialItems();
  updateAdditionalInfo();
}

function datesEqual(date1, date2) {

  if (date1.getDate() != date2.getDate()) {
    return false;
  }

  if (date1.getFullYear() != date2.getFullYear()) {
    return false;
  }
  if (date1.getMonth() != date2.getMonth()){
    return false;
  }
  return true;
  
}

function loadOffersForRoom(room_id) {
	//załaduj dostępne oferty specjalne
    $.ajax( {
      type :"POST",
      url :"plugins/reservation/loadOffers.php",
      data : {
    		room_id : room_id
    	}, 
      success : function(msg) {
        $("#offersForm").html(msg);
        globalOfferId = -1;

        $('#offersForm').find('#mycarousel').jcarousel({
            // Configuration goes here
        });
        $("li.offer").click(function() {
            offerId = $(this).attr('rel');
            offerDesc = $('#offer-desc-' + offerId).html();
            $('#desc').html(offerDesc);
        });	        
        
        setOffersBackgrounds();
    	
    	
      },
      error : function(XMLHttpRequest, textStatus,
          errorThrown) {
        $("#offersForm")
            .html(
                'Przepraszamy, wystąpił błąd systemu.');
      }
    });
}

function loadRoomsForOffer() {

	  var offer_id;
	  offer_id = getOfferId();
	  //jeżeli nie wybrano oferty to nic nie robimy
	  if (offer_id == -1) {
		  return;
	  }
	  
      $.ajax( {
          type :"POST",
          url :"plugins/reservation/loadData.php",
          data : {
    	  	offer_id : offer_id
      	  },
          success : function(msg) {
            $("#formularz").html(msg);                                    
          },
          error : function(XMLHttpRequest, textStatus, errorThrown) {
            $("#formularz").html('Przepraszamy, wystąpił błąd systemu.');
          }
        });
	  
/*	  
	  $.ajax( {
	    type :"POST",
	    url :"plugins/reservation/getRoomsForOffer.php",
	    data : {
	      offer_id : offer_id
	    },
	    success : function(msg) {
	      alert("Pokoje dostępne w danej ofercie: " + msg);
	    },
	    error : function(XMLHttpRequest, textStatus,
	        errorThrown) {
	    }
	  });
*/	  
}

function offerClicked() {
	validateData();
}

function roomClicked() {
	var rType;
	
	if ( typeof($(".room_type_id:checked").val()) == "undefined") {
	  return;
	} else {
	  rType = getElementValue(document.forms['formularz'].mode);
	}
	
	globalOfferId = -1;
	loadOffersForRoom(rType);
	showRoomDescForRoomTypeOnClick(rType);
	validateData();	
}

function getOfferId() {
	  if(globalOfferId != -1) {
		  return globalOfferId;
	  } else {
		  offer_id = -1;
	  }
	  
	  return offer_id;
}

function dateAdd(date, numOfDays) {
	var d = new Date(date.getTime() + numOfDays * oneDay); 
	return d;
}

function showRoomDescForRoomTypeOnClick(roomTypeId) {
	//roomTypeId = $(this).val();
    roomDesc = $('#room-desc-' + roomTypeId).html();
    $('#desc').html(roomDesc);
}

function showOfferDescForOfferTypeOnClick(offerId) {
	//offerId = $(this).attr('rel');
	offerDesc = $('#offer-desc-' + offerId).html();
	$('#desc').html(offerDesc);
}

function UncheckOffers() {

	var inputEl = document.getElementsByName('offer');
	var liEl = document.getElementsByClassName('offer');

	for( i=0; i<liEl.length; i++ ) {
		inputEl.item(i).checked=0;
		liEl.item(i).style.backgroundColor='transparent';
	}
}

function setOffersBackgrounds() {
	var liEl = document.getElementsByClassName('offer');
	var inputEl = document.getElementsByName('offer');
	for( i=0; i<liEl.length; i++ ) {
		if(inputEl.item(i).checked == 0) {
			liEl.item(i).style.backgroundColor='transparent';
		} else {
			liEl.item(i).style.backgroundColor='#BDD8F2';
		}
	}
}

function CheckUncheckOffers(offerId) {
	var obj = document.getElementById('check-' + offerId);
	var inputEl = document.getElementsByName('offer');
	var liEl = document.getElementsByClassName('offer');
	
	//zmienna globalna przechowujaca id oferty    	
	globalOfferId = obj.value;
	if( obj.checked ) {
		//el.checked=0; 
		obj.checked=0;
		globalOfferId = -1;
		document.getElementById('li-offer-' + offerId).style.backgroundColor='transparent';
	} else {
		for( i=0; i<liEl.length; i++ ) {
			inputEl.item(i).checked=0;
			liEl.item(i).style.backgroundColor='transparent';
		}
		obj.checked=1;
		globalOfferId = obj.value;
		document.getElementById('li-offer-' + offerId).style.backgroundColor='#BDD8F2';
	}
	showOfferDescForOfferTypeOnClick(offerId);
	offerClicked();
}

function dealWithReservation() {
	if (gReservationNr != -1) {
	  $.ajax( {
	      type :"POST",
	      url :"plugins/reservation/undoReservation.php",
	      data : {
		  	reservationId : gReservationNr
	  	  },
	      success : function(msg) {
	  		gReservationNr = -1;
	      },
	      error : function(XMLHttpRequest, textStatus, errorThrown) {
	        $("#formularz").html('Przepraszamy, wystąpił błąd systemu.');
	      }
	  });
	  resetAll();
				
	}
}