﻿// JScript File
function onLoadBookingPanel()
{
    FillYears();
    FillDaysStart();
}
function FillYears()
{
	var oSelect = document.getElementById("returnTimeOfDay");
	var d = new Date();
	var year_min = d.getFullYear() - 1;
	var year_max = d.getFullYear() + 1;
	var index = 0;
	for(var year_cur = year_min; year_cur <= year_max; ++year_cur)
		oSelect.options[index++] = new Option(year_cur, year_cur);
	oSelect.selectedIndex = 1;
}
function FillDaysStart()
{
	var d = new Date();
	var cur_month = d.getMonth();
	var cur_year = d.getFullYear();
	var monthSelect = document.getElementById("cbSearchDates_ddFromMonth");
	monthSelect.selectedIndex = d.getMonth();
	FillDays(cur_year,cur_month).selectedIndex = d.getDate()- 1;
}
function Month_or_Year_Changed()
{
    var cur_month = document.getElementById("cbSearchDates_ddFromMonth").selectedIndex;
    var cur_year_index = document.getElementById("returnTimeOfDay").selectedIndex;
    var d = new Date();
    var cur_year = d.getFullYear() - 1 + cur_year_index;
    FillDays(cur_year,cur_month);
}
function FillDays(cur_year,cur_month)
{
	var oSelect = document.getElementById("cbSearchDates_ddFromDay");
	//alert(oSelect.options.length);
	for(var i = oSelect.options.length-1; i>=0; --i)
	    //oSelect.remove(i);
	    oSelect.options[i] = null;
	oSelect.options.length = 0;
	//alert(oSelect.options.length);
	var count_days = 30;
	if((cur_month <= 6 && cur_month % 2 == 0) || (cur_month > 6 && cur_month % 2 != 0))
	    count_days = 31;
	else
	{
	    if(cur_month == 1)                  // february
	    {
	        if((cur_year - 2000)%4 == 0) //leap-year
	            count_days = 29;
	        else
	            count_days = 28;
	    }
	} 
	for(var day_cur = 1; day_cur <= count_days; ++day_cur)
		oSelect.options[day_cur-1] = new Option(day_cur, day_cur);
	//alert(oSelect.options.length);
	return oSelect;
}

//New functionality for first tab

var nbRooms = 0;

function rooms_Change(){
    var bookingTable = document.getElementById('bookingTable');
    if($('#rooms').val() > nbRooms){
        for(nbRooms; nbRooms < $('#rooms').val(); nbRooms++)
            appendRoom(nbRooms);
    }
    else{
        for(nbRooms; nbRooms > $('#rooms').val(); nbRooms--)
           bookingTable.deleteRow(2 + nbRooms); 
   }
}

function appendRoom(rowIndex){
    var bookingTable = document.getElementById('bookingTable');
    var tr =   bookingTable.insertRow(3+rowIndex);
    tr.className = 'BookingPagePanelTrEnd';
    tr.name = 'trData'
    var td1 = document.createElement('td');
    td1.className = 'BookingPagePanelFirstTdEnd';
    td1.style.cssText = "vertical-align: top; padding-top: 10px;";
    td1.innerHTML = strRoom + ' ' + (rowIndex +1) + ':';
    
    var td2 = document.createElement('td');
    td2.className = 'BookingPagePanelSecondTdEnd';
    td2.style.cssText = "padding-top: 7px;";
    td2.name = 'tdData';
    
    var adults = document.createElement('select');
    adults.style.cssText = 'margin-left: 10px; width: 80px;';
    adults.name = 'adults';

    for(var i = 1; i <= 9; i++) {
        var oOption = document.createElement('option');
        adults.options.add(oOption);
        oOption.innerHTML = i;
        oOption.value = i;
        if(i == 0)
            oOption.innerHTML = '';
    }
    
    td2.appendChild(adults);
    td2.innerHTML = "<div style=\"color: white; font-size: 0.9em; float: left;\">" + strAdult + ": " + td2.innerHTML + "</div>";
    
    var children = '<div style="color: white; font-size: 0.9em; float: right; margin-right: 20px;">' + strChildren + 
                   ': <select name="children" style="width: 80px;" onchange="children_Change(event)">';
    
    for(var i = 0; i <= 9; i++){
        children += '<option value="' + i + '">' + (i==0?'':i) + '</option>';
    }
    children += '</select></div><div style="clear: both;"></div>';
    td2.innerHTML += children;

    tr.appendChild(td1);
    tr.appendChild(td2);
}

function children_Change(e){
  var tdData = (e && e.target) ? e.target.parentNode.parentNode : event.srcElement.parentNode.parentNode;
  var children = tdData.childNodes[1].childNodes[1];
  var nbAgeObj = tdData.childNodes.length - 3;
  
  if(children.value > nbAgeObj) {
    for(var i = nbAgeObj; i < children.value; i++) {
      var div = document.createElement('div');
      div.style.cssText = 'margin-top: 3px; text-align: right; color: white; font-size: 0.9em; margin-right: 20px;';
      var age = document.createElement('select');
      age.style.cssText = 'width: 80px;';
      age.name = 'age';
      for(var j = 0; j <= 18; j++){
        var oOption = document.createElement('option');
        age.options.add(oOption);
        oOption.innerHTML = j;
        oOption.value = j;
        if(j == 0)
          oOption.innerHTML = '';
      }
      div.appendChild(age);
      div.innerHTML = strAge + ": " + div.innerHTML;
      tdData.appendChild(div);
    }
  } else {
    for(var i = nbAgeObj; i > children.value; i--)
      tdData.removeChild(tdData.childNodes[i+2]);
  }
}

function submitAccommodation(form){
    var pr = "";
    var tdDataCol = $("td[@name='tdData']");
    for(var a = 0; a <= tdDataCol.length - 1; a++){
        var nbAdults = tdDataCol[a].childNodes[0].childNodes[1].value;
        for(var i = 3; i <= tdDataCol[a].childNodes.length - 1; i++){
            pr = tdDataCol[a].childNodes[i].childNodes[1].value + "c" + pr; 
        }
        pr = "r" + nbAdults + "a" + pr;
    }
	
	var dateV  = document.getElementById('inDateA').value;
	while(dateV.indexOf("-")!=-1) dateV=dateV.replace("-","/");
	var date = new Date(dateV);
	
	var form = document.onlineBooking;
	if (form.elements['class'][1].checked  || form.elements['class'][2].checked) {
		var today = new Date();
		var oneDay=1000*60*60*24
		var difference = Math.ceil((date.getTime()-today.getTime())/(oneDay));
		if (difference == 0) {
			alert(errormessage);return false;	
		} else if (difference == 1) {
			alert(errormessage);return false;	
		} else if (difference == 2) {
			alert(errormessage);return false;	
		}
	}
	
    pr = pr.substring(1, pr.length - 1);
    while( (pr.indexOf('ar') + pr.indexOf('cr') ) >= 0)
        pr = pr.replace('ar','r').replace('cr','r');
    
    $('#pr').val(pr);
    if(pr == '' || pr == '0') {
        return false;
	} else {
    	
		return true;
	}
}

function submitAccommodationBigBookingPanel(form){
    var pr = "";
    var tdDataCol = $("td[@name='tdData']");
    for(var a = 0; a <= tdDataCol.length - 1; a++){
        var nbAdults = tdDataCol[a].childNodes[0].childNodes[1].value;
        for(var i = 3; i <= tdDataCol[a].childNodes.length - 1; i++){
            pr = tdDataCol[a].childNodes[i].childNodes[1].value + "c" + pr; 
        }
        pr = "r" + nbAdults + "a" + pr;
    }
	
	var dateV  = document.getElementById('inDateA').value;
	while(dateV.indexOf("-")!=-1) dateV=dateV.replace("-","/");
	var date = new Date(dateV);
	var nights = new Number(document.getElementById('nightsA').value);
	
	var form = document.onlineBooking;
	if (form.elements['class'][1].checked  || form.elements['class'][2].checked) {
		var today = new Date();
		var oneDay=1000*60*60*24
		var difference = Math.ceil((date.getTime()-today.getTime())/(oneDay));
		if (difference == 0) {
			alert(errormessage);return false;	
		} else if (difference == 1) {
			alert(errormessage);return false;	
		} else if (difference == 2) {
			alert(errormessage);return false;	
		}
	}
	
	date.setDate(date.getDate() + nights);
    $('#outDateA').val(date.getFullYear() + '-' + padStr(date.getMonth() + 1) + '-' + padStr(date.getDate()));
	
    pr = pr.substring(1, pr.length - 1);
    while( (pr.indexOf('ar') + pr.indexOf('cr') ) >= 0)
        pr = pr.replace('ar','r').replace('cr','r');
    
    $('#pr').val(pr);
    if(pr == '' || pr == '0') {
        return false;
	} else {
    	
		return true;
	}
}

function padStr(s) {
    var r = new String(s);
    return r.length == 1 ? "0" + r : r ;
}

$(document).ready(function() {
  var now = new Date();
  calendar.addDisabledDates(null, formatDate(now,"yyyy-MM-dd") );
  var request= new Array();
  if (location.search){
	var vals=location.search.substr(1).split("&");

	for (var i in vals) {
	  vals[i] = vals[i].replace(/\+/g, " ").split("=");
	  request[unescape(vals[i][0])] = unescape(vals[i][1]);
	}
  }
  
  if(request["datefrom"])
	$("#inDateA").val(request["datefrom"]);
  if(request["dateto"])
	$("#outDateA").val(request["dateto"]);
  if(request["rooms"])
	$('#rooms').val(request["rooms"]);
  if(request["class"]){
	switch(request["class"]) {
	  case "-1": $("input[@name=class]").each(function(){this.checked=true;}); break;
	  default: $("input[@name=class]").each(function(){ if(this.value==request["class"])this.checked=true;else this.checked=false; });
	}
  }
  rooms_Change();
  if(request["pr"]){
	var nbAdults = request["pr"].split("r");
	var adultsSelect = $("select[@name=adults]");
	for(var i = 0; i < nbAdults.length; i++){
	  if(adultsSelect[i])
		adultsSelect[i].value = nbAdults[i];
	}
  }
});
