

// Zdarzenie zmiany kraju w formularzu wyszukiwania
_changeTncSearchBoxCountry = function() {
  if($('sbCountry').value == 0) return;
  var arrSbAvailableCities = Object.values(arrSbCities[$('sbCountry').value]);
  var arrFirstObj = Object.values(arrSbCities[$('sbCountry').value].first);
  var arrNormalObj = Object.values(arrSbCities[$('sbCountry').value].normal);
  
  if (arrFirstObj.length > 0 || arrNormalObj.length > 0) {
    
    var arrValuesSelect = new Array;
    var k =0;
    arrValuesSelect[k] = new Array('------------', '');
    k++;
    for (f = 0; f < arrFirstObj.length; f++) {
      
      arrValuesSelect[k] = new Array(arrFirstObj[f].n, arrFirstObj[f].id);
      k++;
    }
    arrValuesSelect[k] = new Array('------------', '');
    k++;
    for (f = 0; f < arrNormalObj.length; f++) {
    
      arrValuesSelect[k] = new Array(arrNormalObj[f].n, arrNormalObj[f].id);
      k++;
    }
    
    _formTncArrayToSelect('sbCity', arrValuesSelect, 0);
    
    $('sbCity').enable();
  }
  else {
    $('sbCity').disable();
  }
  
}

_getTncPeriodDate = function(dateFrom, dateTo) {
  var arrDateFrom = dateFrom.split('-');
  var startDate = new Date(arrDateFrom[0], arrDateFrom[1], arrDateFrom[2]);
  
  var arrDateTo = dateTo.split('-');
  var endDate = new Date(arrDateTo[0], arrDateTo[1], arrDateTo[2]);  
  if (Math.ceil((endDate.getTime()-startDate.getTime())/86400000) == 0 && arrDateFrom[1] != arrDateTo[1]) {
    return 1;
  }
  else {
  return Math.ceil((endDate.getTime()-startDate.getTime())/86400000);
  }
}


_changeTncSearchBoxDate = function(prefix) {
  var arrDate = $('sbDate' + prefix).value.split('-');

  if (arrDate[2] != undefined) {
  $('sbDate' + prefix + 'Day').value = arrDate[2];
  $('sbDate' + prefix + 'Month').value = arrDate[1];
  $('sbDate' + prefix + 'Year').value = arrDate[0];
  }
  
}

_changeTncSearchBoxDateReverse = function(prefix, recursion) {
  var strDate = $('sbDate' + prefix + 'Year').value + '-' + $('sbDate' + prefix + 'Month').value + '-' + $('sbDate' + prefix + 'Day').value;
  
  $('sbDate' + prefix).value = strDate;
  if (prefix == 'From' && recursion == true) { _changeTncSearchBoxDateReverse('To', false); }
  if (prefix == 'To' && recursion == true) { _changeTncSearchBoxDateReverse('From', false); }
 // TimeFrame.refreshField('sbDateFrom');
 // TimeFrame.refreshField('sbDateTo');
}

_putTncElementError = function(arrElements) {
  for (i = 0; i < arrElements.length; i++) {
    $(arrElements[i]).addClassName('tncError');
  }
}

_putTncDeleteElementError = function(arrElements) {
  for (i = 0; i < arrElements.length; i++) {
    $(arrElements[i]).removeClassName('tncError');
  }
}

_getTncNearDate = function(dayInterval) {
  var Today = new Date();
  var M = Today.getTime()+(86400000*dayInterval);
  
  var Near = new Date();
  Near.setTime(M);

  var nmonth = (Near.getMonth() + 1).toPaddedString(2);
  var nday = (Near.getDate()).toPaddedString(2);

  return Near.getFullYear() + '-' + nmonth + '-' + nday;
}



_submitTncSearchBox = function() {
  var errorFlag = false;
  // Walidacja formularza
  if (_getTncPeriodDate($('sbDateFrom').value, $('sbDateTo').value) < 1) {
    var errorFlag = true;
    _putTncElementError(new Array('lbDateFrom', 'lbDateTo'));
  }
  else {
    _putTncDeleteElementError(new Array('lbDateFrom', 'lbDateTo'));
  }
  
  if (parseInt($('sbCity').value) > 0) {
    _putTncDeleteElementError(new Array('lbCity'));
  }
  else {
    var errorFlag = true;
    _putTncElementError(new Array('lbCity'));
    
  }
  
  if (errorFlag == false) {
    Cookie.set('visitSettings', Object.toJSON($('tncSearchForm').serialize(true)), 365);
    return true;
  }
  else {
    return false; 
  }
}

_changeTncDateFrom = function(calendar) {
 _changeTncSearchBoxDate('From');
}

_changeTncDateTo = function(calendar) {

 _changeTncSearchBoxDate('To');
}

_changeTncSearchBoxPersons = function() {
  var numPersons = $('sbPersons').value;
  var arrValuesSelect = new Array;
  k=0;
  if (numPersons == 1) {
    arrValuesSelect[k] = new Array('1','1');
    k++;
  }
  if (numPersons == 2) {
    arrValuesSelect[k] = new Array('1','1');
    k++;
    arrValuesSelect[k] = new Array('2','2');
    k++;    
  }  
  if (numPersons == 3) {
    arrValuesSelect[k] = new Array('2','2');
    k++;
    arrValuesSelect[k] = new Array('3','3');
    k++;    
  } 
  if (numPersons == 4) {
    arrValuesSelect[k] = new Array('2','2');
    k++;
    arrValuesSelect[k] = new Array('3','3');
    k++;    
    arrValuesSelect[k] = new Array('4','4');
    k++;    
  }     
  _formTncArrayToSelect('sbBeds', arrValuesSelect, 0);
}

// Pokazanie kalendarza
_showTncSearchBoxCalendar = function() {
$('sbCalendar').toggle();
}

// Inicjalizacja formularza wyszukiwarki
_initTncSearchBox = function() {
  //Event.observe('tncSearchForm', 'submit', _submitTncSearchBox);
  if ($('sbCountry')) Event.observe('sbCountry', 'change', _changeTncSearchBoxCountry);
 // if ($('sbDateToInitCalendar')) Event.observe('sbDateToInitCalendar', 'click', _showTncSearchBoxCalendar);
 // if ($('sbDateFromInitCalendar')) Event.observe('sbDateFromInitCalendar', 'click', _showTncSearchBoxCalendar);

  if ($('sbDateFromDay')) Event.observe('sbDateFromDay', 'change', function(event) {_changeTncSearchBoxDateReverse('From', true);} );
  if ($('sbDateFromMonth')) Event.observe('sbDateFromMonth', 'change', function(event) {_changeTncSearchBoxDateReverse('From', true);} );
  if ($('sbDateFromYear')) Event.observe('sbDateFromYear', 'change', function(event) {_changeTncSearchBoxDateReverse('From', true);} );
  
  if ($('sbDateToDay')) Event.observe('sbDateToDay', 'change', function(event) {_changeTncSearchBoxDateReverse('To', true);} );
  if ($('sbDateToMonth')) Event.observe('sbDateToMonth', 'change', function(event) {_changeTncSearchBoxDateReverse('To', true);} );
  if ($('sbDateToYear')) Event.observe('sbDateToYear', 'change', function(event) {_changeTncSearchBoxDateReverse('To', true);} );
  if ($('sbPersons')) Event.observe('sbPersons', 'change', function(event) {_changeTncSearchBoxPersons();} );
  if($('sbDateFrom')) {
    $('sbDateFrom').value = _getTncNearDate(1);
    _changeTncSearchBoxDate('From');
  }
  if($('sbDateTo')) {
    $('sbDateTo').value = _getTncNearDate(3);
    _changeTncSearchBoxDate('To');
  }
  
  if ($('sbDateFrom')) Event.observe('sbDateFrom', 'change', function(event) { _changeTncSearchBoxDate('From'); });
  if ($('sbDateTo')) Event.observe('sbDateTo', 'change', function(event) { _changeTncSearchBoxDate('To'); });
  
 
  if ($('sbDateToInitCalendar') || $('sbDateFromInitCalendar') ) _initTncSearchBoxCalendar();
  // Zaladowanie domyslnych danych
  
  var cookieVal = false;
  if(Cookie.get('visitSettings')) { cookieVal = Cookie.get('visitSettings'); }

  if (cookieVal.length > 10) {
    cookieSettings = cookieVal.evalJSON();
   

      if(parseInt(cookieSettings.country) > 0 && $('sbCountry')) {
        $('sbCountry').value = parseInt(cookieSettings.country);
        _changeTncSearchBoxCountry();
      }
      
      if(parseInt(cookieSettings.city) > 0 && $('sbCity')) {
        $('sbCity').value = parseInt(cookieSettings.city);
      }
      
      if(parseInt(cookieSettings.type) > 0 && $('sbType')) {
        $('sbType').value = parseInt(cookieSettings.type);
      }
      
      if(cookieSettings.sbDateFrom.length == 10 && $('sbDateFrom')) {
        $('sbDateFrom').value = cookieSettings.sbDateFrom;
        _changeTncSearchBoxDate('From');
      }
      
      if(cookieSettings.sbDateTo.length == 10 && $('sbDateTo')) {
        $('sbDateTo').value = cookieSettings.sbDateTo;
        _changeTncSearchBoxDate('To');
      }
      
      if(parseInt(cookieSettings.rooms) > 0 && $('sbRooms')) {
        $('sbRooms').value = parseInt(cookieSettings.rooms);
      }
      
      if(parseInt(cookieSettings.persons) > 0 && $('sbPersons')) {
        $('sbPersons').value = parseInt(cookieSettings.persons);
        _changeTncSearchBoxPersons();
      }

      if(parseInt(cookieSettings.beds) > 0 && $('sbBeds')) {
        $('sbBeds').value = parseInt(cookieSettings.beds);
      }
      

    

    
  }
  else {
    if ($('sbCountry')) {
      $('sbCountry').value = 1;
      _changeTncSearchBoxCountry();
    }
  }

  if($('searchBoxInner')) $('searchBoxInner').style.display = 'block';
  if($('searchBoxWait')) $('searchBoxWait').hide();
  
}
_initTncSearchBoxCalendar = function() {
  /*
 // Zaladowanie kalendarza
 new Timeframe('calendars', {
        startField: 'sbDateFrom',
        endField: 'sbDateTo',
        format: '%Y-%m-%d',
        earliest: new Date() });
        */
        
}
// Zdarzenia po zaladowaniu strony
Event.observe(window, 'load', function() {
  // Inicjalizacja formularza wyszukiwarki
  _initTncSearchBox();
});

// Zaladowanie tablicy do elementu select
_formTncArrayToSelect = function(elementId, valuesArray, valueSelected) {
  $(elementId).options.length = 0;
  for (v = 0; v < valuesArray.length; v++) {
    var tmp = valuesArray[v];
  //  alert(tmp.n);
    $(elementId).options[v] = new Option(tmp[0], tmp[1]);
  }
}