﻿function ValidateControlHotels() {
    
       if (!CheckDatesHotels())
          return false;
       if (document.getElementById("inputDestination").value=="") {
        alert('נא לבחור יעד');
        return false;
       }
          
       if (document.getElementById("hdnDest")!=null)
       {
       document.getElementById("hdnDest").value = document.getElementById("inputDestination").value;
       }
       if (document.getElementById("hdnFrom")!=null)
       {
       document.getElementById("hdnFrom").value = document.getElementById("fdtH1").value;
       }
       if (document.getElementById("hdnTo")!=null)
       {
       document.getElementById("hdnTo").value = document.getElementById("fdtH2").value;
       }
       return true;   
    }
     function OpenCalendar(obj,dmin){
         //event.cancelBubble=true;
            SC(document.getElementById(obj),dmin);
        }
        function OpenCalendar2(divObj, obj, dmin) {
            //event.cancelBubble=true;
            divObj.className = 'sefdatvdbon'
            SC(document.getElementById(obj), dmin);
        }

        function UnMarkDiv(_id) {
            document.getElementById(_id).className = 'sefdatvd'
        }
                  
    var maxRooms = 3 ;

//Original function
/*function RenderRooms()
{
  var kidsInRoomValue;
  for ( var i=2 ; i<=maxRooms ; i++ )
  {
      document.getElementById("room"+i).style.display="none";     
  }
  var howManyRoomsToDisplay = document.getElementById("ddlNumOfRooms").value;
 
  for( var j=1 ; j<=howManyRoomsToDisplay ; j++)
  {
      document.getElementById("room" + j).style.display = "";
      if (document.getElementById("ddlChild" + j)) {
          
        kidsInRoomValue = document.getElementById("ddlChild" + j).value;
        RenderChildrenSection( j, kidsInRoomValue);
      }
      
  }
}*/

function RenderRooms() {
    for (var i = 2; i <= maxRooms; i++) {
        document.getElementById("room" + i).style.display = "none";
    }
    var howManyRoomsToDisplay = document.getElementById("ddlNumOfRooms").value;

    for (var j = 1; j <= howManyRoomsToDisplay; j++) {
        document.getElementById("room" + j).style.display = "";
        RenderSingleChildForSingleRoom(j);

    }
}

function RenderSingleChildForSingleRoom(roomId) {
    var kidsInRoomValue;

    if (document.getElementById("ddlChild" + roomId)) {

        kidsInRoomValue = document.getElementById("ddlChild" + roomId).value;
        RenderChildrenSection(roomId, kidsInRoomValue);
        }

}

function readCookie(name) {
	    var nameEQ = name + "=";
	    var ca = document.cookie.split(';');
	    for(var i=0;i < ca.length;i++) {
		    var c = ca[i];
		    while (c.charAt(0)==' ') c = c.substring(1,c.length);
		    if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length,c.length));
	    }
	    return null;
    }
     function eraseCookie(name) {
    createCookie(name,"",-1);
}
function RenderChildrenSection(tableIndex , sumOfKids) {
  
      switch(Number(sumOfKids))
      {
        case 0:
            if (document.getElementById("lblFirstChild" +tableIndex))
                window.document.getElementById("lblFirstChild" +tableIndex).innerHTML = "&nbsp;";
            if (document.getElementById("ddlFirstAge" + tableIndex + "Div"))
                window.document.getElementById("ddlFirstAge" + tableIndex + "Div").style.display = "none";
            else
                window.document.getElementById("ddlFirstAge" + tableIndex).style.display = "none";
            if (document.getElementById("lblSecondChild" +tableIndex))
                window.document.getElementById("lblSecondChild" +tableIndex).innerHTML = "&nbsp;";
            if (document.getElementById("ddlSecondAge" + tableIndex + "Div"))
                window.document.getElementById("ddlSecondAge" + tableIndex + "Div").style.display = "none";
            else
                window.document.getElementById("ddlSecondAge" + tableIndex).style.display = "none";
                break;

        case 1:
            if (document.getElementById("lblFirstChild" + tableIndex))
                window.document.getElementById("lblFirstChild" +tableIndex).innerHTML = "גיל ילד 1";
            if (document.getElementById("ddlFirstAge" + tableIndex + "Div"))
                    window.document.getElementById("ddlFirstAge" + tableIndex + "Div").style.display = "";
            else
                window.document.getElementById("ddlFirstAge" + tableIndex).style.display = "";
            if (document.getElementById("lblSecondChild" + tableIndex))
                window.document.getElementById("lblSecondChild" +tableIndex).innerHTML = "&nbsp;";
            if (document.getElementById("ddlSecondAge" + tableIndex + "Div"))
                    window.document.getElementById("ddlSecondAge" + tableIndex + "Div").style.display = "none";
            else
                window.document.getElementById("ddlSecondAge" + tableIndex).style.display = "none";
                break;

            case 2:

                if (document.getElementById("lblFirstChild" + tableIndex))
                    window.document.getElementById("lblFirstChild" + tableIndex).innerHTML = "גיל ילד 1";
                if (document.getElementById("ddlFirstAge" + tableIndex + "Div"))
                    window.document.getElementById("ddlFirstAge" + tableIndex + "Div").style.display = "";
                else
                    window.document.getElementById("ddlFirstAge" + tableIndex).style.display = "";
                if (document.getElementById("lblSecondChild" + tableIndex))
                    window.document.getElementById("lblSecondChild" + tableIndex).innerHTML = "גיל ילד 2";
                if (document.getElementById("ddlSecondAge" + tableIndex + "Div"))
                    window.document.getElementById("ddlSecondAge" + tableIndex + "Div").style.display = "";
                else
                    window.document.getElementById("ddlSecondAge" + tableIndex).style.display = "";
                break;
       }
}

function RenderChildren(tableIndex)
{
    if (document.getElementById("ddlChild" + tableIndex))
    {
      var sumOfKids = window.document.getElementById("ddlChild" + tableIndex).value ; 
      RenderChildrenSection(tableIndex, sumOfKids);
    }
}

function openHotelDestinationDialog(_height,_width) {
    var ret = new Array();
    var url = DestinationUrl;
    var DName = "divHotelDest";
    var ifrmName = "ifrmHotelDest";
    try {
        if (ge(DName).style.display == "none") {
            with (ge(ifrmName)) {
                if (BrowserCode() == "IE") {
                    ge(ifrmName).onreadystatechange = function() { if (ge(ifrmName).readyState == "complete") ge(DName).style.display = ""; }
                    ge(ifrmName).allowTransparency = "true";



                }
                else {
                    ge(DName).style.display = "block";
                    ge(DName).style.right = "0px";
                }
                src = url + "?code=''";
                if (typeof (_height) == 'undefined')
                    height = 394;
                else
                    height = _height;
                if (typeof (_width) == 'undefined')
                    width = 344;
                else
                    width = _width;


            }
        }
    }
    catch (e)
            { }
    finally
            { }
}

        function openHotelDestinationDialog2(_objDiv) {
            var ret = new Array();
            var url = DestinationUrl;
            var DName = "divHotelDest";
            var ifrmName = "ifrmHotelDest";
            try {


                if (ge(DName).style.display == "none") {
                    with (ge(ifrmName)) {
                        if (BrowserCode() == "IE") {
                            ge(ifrmName).onreadystatechange = function() {
                                if (ge(ifrmName).readyState == "complete") ge(DName).style.display = "";
                                ge(ifrmName).allowTransparency = "true";
                                _objDiv.className = 'sefdatvdbon';
                            }
                        }
                        else {
                            ge(DName).style.display = "block";
                            _objDiv.className = 'sefdatvdbon';
                        }

                        src = url + "?objid=" + _objDiv.id;

                        height = 366;
                        width = 510;
                    }
                }
            }
            catch (e)
            { }
            finally
            { }
        }

      
      
      



function CheckDatesHotels()
{
   var _fromdateStr = document.getElementById("fdtH1").value;
   var _todateStr =document.getElementById("fdtH2").value;
   if (_fromdateStr == "" || _todateStr == "")
   {
        alert("נא לבחור תאריכי כניסה ויציאה");
        return false;
    }

    var _fromDate = parseDate2(_fromdateStr);
   var _toDate  = parseDate2(_todateStr);
   if (_fromDate == "NaN" || _todateStr == "NaN" || _fromDate =="Invalid Date" || _toDate == "Invalid Date")
   {
       alert("נא לבחור תאריכי כניסה ויציאה");
       return false;
   }
   else
   {
    if (_toDate <= _fromDate)
   {
        alert("תאריך היציאה חייב להיות לאחר תאריך הכניסה");
        return false;
    } 
    else {
        if (days_between(_fromDate, _toDate) > 30) {
            alert("לא ניתן לבצע הזמנה של מעל 30 יום");
            return false;
        }
        }
    
    }
   
   return true;

}

function days_between(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)

    // Convert back to days and return
    return Math.round(difference_ms / ONE_DAY)

}


function parseDate2(date)
  {
     var d = new String(date);
     var slash = d.indexOf("/");
     var day = d.substr(0, slash);
     //alert(day);
     d = d.substr(slash+1, d.length-slash-1);
     slash = d.indexOf("/");
     var month = d.substr(0, slash);
     month = parseInt(month, 10) - 1;
     //alert(month);
     d = d.substr(slash+1, d.length-slash-1);
     var year = d;     
     //alert(year);
     var dateObj = new Date();
     dateObj.setFullYear(year, month, day);
    // alert(dateObj);
     return dateObj;
  }
  
  
  /*  client functions (hotel_se) */
  
   var COOKIE_DESTINATION = "HotelDestination";
   var COOKIE_DESTINATIONNAME = "HotelDestinationName";
   var COOKIE_FROMDATE = "HotelFromDate";
   var COOKIE_TODATE = "HotelToDate"

   var COOKIE_ROOMS_COUNT = "HotelRoomsCount"
   var COOKIE_ADULT_COUNT = "HotelAdultCount"
   var COOKIE_CHILD_COUNT = "HotelChildCount"
   var COOKIE_FIRSTCHILD_AGE = "HotelFirstChildAge"
   var COOKIE_SECONDCHILD_AGE = "HotelSecondChildAge"
   var COOKIE_STARS = "HotelStars"
   var COOKIE_MAXPRICE = "HotelMaxPrice"
   
   var COOKIE_HOTEL_EXPIRE_DAYS    = "1"
  
  function LoadHControl()
  {
    setHotelDropDowns();
    LoadHotelValuesFromCookie();
  }
  
  function setHotelDropDowns() {
    setRoom(1);
    if (document.getElementById("ddlNumOfRooms")!=null) {
        setRoom(2);
        setRoom(3);
        if (document.getElementById("ddlNumOfRooms").length == 5) {
            setRoom(4);
            setRoom(5);
        }
    }
  }
  
  function setRoom(_roomId) {
    ClearSelectControl("ddlAdults" + _roomId);
     Setddl(1, 4, "ddlAdults" + _roomId);
    document.getElementById("ddlAdults" + _roomId).selectedIndex=0;
    
    if (document.getElementById("ddlChild"+ _roomId))
    {
        ClearSelectControl("ddlChild" + _roomId);
        ClearSelectControl("ddlFirstAge" + _roomId);
        ClearSelectControl("ddlSecondAge" + _roomId);
        Setddl(0, 2, "ddlChild" + _roomId);
        InsertOptionsToSelectControl("ddlFirstAge" + _roomId, "", "0","0-1" );
        InsertOptionsToSelectControl("ddlSecondAge" + _roomId, "",  "0","0-1");
        Setddl(1, 11, "ddlFirstAge" + _roomId);
        Setddl(1, 11, "ddlSecondAge" + _roomId);
        document.getElementById("ddlChild" + _roomId).selectedIndex=0;
        document.getElementById("ddlFirstAge" + _roomId).value="11";
        document.getElementById("ddlSecondAge" + _roomId).value="11";
    }
   
   
  }
  
  function Setddl(_fromNumber, _toNumber, _name)
  {
        for (i=_fromNumber;i<=_toNumber;i++ )
        {
            InsertOptionsToSelectControl(_name, "", i, i);
        } 
    }

    function LoadHotelValuesFromCookie() {
    
         if (readCookie(COOKIE_DESTINATION) == null)
            document.getElementById("inputDestination").value="NYC";
        else
            document.getElementById("inputDestination").value = readCookie(COOKIE_DESTINATION);
            
        if (readCookie(COOKIE_DESTINATIONNAME) == null)
            document.getElementById("txtDestination").value="ניו יורק";
        else
            document.getElementById("txtDestination").value = readCookie(COOKIE_DESTINATIONNAME);
            
         if (readCookie(COOKIE_FROMDATE)!= null)
//            document.getElementById("fdtH1").value="";
//        else
            document.getElementById("fdtH1").value = readCookie(COOKIE_FROMDATE);
            
        if (readCookie(COOKIE_TODATE) != null)
//            document.getElementById("fdtH2").value="";
//        else
            document.getElementById("fdtH2").value = readCookie(COOKIE_TODATE);
            
        if (document.getElementById("ddlStarRating")!=null && readCookie(COOKIE_STARS) != null) {
            document.getElementById("ddlStarRating").value = readCookie(COOKIE_STARS);
        }
        if (document.getElementById("ddlPriceLimit")!=null && readCookie(COOKIE_MAXPRICE) != null) {
            document.getElementById("ddlPriceLimit").value = readCookie(COOKIE_MAXPRICE);
        }

       if (document.getElementById("ddlNumOfRooms")!=null && readCookie(COOKIE_ROOMS_COUNT) != null) {
            document.getElementById("ddlNumOfRooms").value = readCookie(COOKIE_ROOMS_COUNT);
            GetHotelRoomsCookies(parseInt(document.getElementById("ddlNumOfRooms").value,10));
        } else{
        GetHotelRoomsCookies(1);
        if (document.getElementById("ddlNumOfRooms")) {
            var howManyRoomsToDisplay = document.getElementById("ddlNumOfRooms").value;
            //alert(howManyRoomsToDisplay);
            var howManyChildren = document.getElementById("ddlChild1").value

            if (howManyRoomsToDisplay > 1)
                document.getElementById("ddlAdults1").value = "1"
            else if (howManyChildren == 0)
                document.getElementById("ddlAdults1").value = "2"
        }
        }
    }
    
    function GetHotelRoomsCookies(_roomNum) {
        for ( var i=1 ; i<=_roomNum; i++ )
        {
            if (readCookie(COOKIE_ADULT_COUNT + i) == null)
                document.getElementById("ddlAdults" + i).options[1].selected = true;
            else
                document.getElementById("ddlAdults" + i).value = readCookie(COOKIE_ADULT_COUNT + i);
                if (document.getElementById("ddlChild" + i))
                {
            if (readCookie(COOKIE_CHILD_COUNT + i) == null)
                document.getElementById("ddlChild" + i).options[0].selected = true;
            else
                document.getElementById("ddlChild" + i).value = readCookie(COOKIE_CHILD_COUNT + i);                        
                
            if (readCookie(COOKIE_FIRSTCHILD_AGE + i) != null)
                document.getElementById("ddlFirstAge" + i).value = readCookie(COOKIE_FIRSTCHILD_AGE + i);                
            if (readCookie(COOKIE_SECONDCHILD_AGE + i) != null)
                document.getElementById("ddlSecondAge" + i).value = readCookie(COOKIE_SECONDCHILD_AGE + i);
                }
        }
    }
    function createCookie(name,value,days) {
    if (days) {
	    var date = new Date();
	    date.setTime(date.getTime()+(days*24*60*60*1000));
	    var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+escape(value)+expires+"; path=/";
}
    function SetHotelCookies()
    {
        eraseCookie(COOKIE_DESTINATION);
        if (document.getElementById("inputDestination")!=null) {
            createCookie(COOKIE_DESTINATION, document.getElementById("inputDestination").value, COOKIE_HOTEL_EXPIRE_DAYS);
        }
        
        eraseCookie(COOKIE_DESTINATIONNAME);
        if (document.getElementById("txtDestination")!=null) {
            createCookie(COOKIE_DESTINATIONNAME, document.getElementById("txtDestination").value, COOKIE_HOTEL_EXPIRE_DAYS);
        }
        
        eraseCookie(COOKIE_FROMDATE);
        createCookie(COOKIE_FROMDATE, document.getElementById("fdtH1").value, COOKIE_HOTEL_EXPIRE_DAYS);
         
        eraseCookie(COOKIE_TODATE);
        createCookie(COOKIE_TODATE, document.getElementById("fdtH2").value, COOKIE_HOTEL_EXPIRE_DAYS);
        
        eraseCookie(COOKIE_STARS);
        if (document.getElementById("ddlStarRating")!=null) {
            createCookie(COOKIE_STARS, document.getElementById("ddlStarRating").value, COOKIE_HOTEL_EXPIRE_DAYS);
        }
        eraseCookie(COOKIE_MAXPRICE);
        if (document.getElementById("ddlPriceLimit")!=null) {
            createCookie(COOKIE_MAXPRICE, document.getElementById("ddlPriceLimit").value, COOKIE_HOTEL_EXPIRE_DAYS);
        }
        
        eraseCookie(COOKIE_ROOMS_COUNT);
        if (document.getElementById("ddlNumOfRooms")!=null) {
            createCookie(COOKIE_ROOMS_COUNT, document.getElementById("ddlNumOfRooms").value, COOKIE_HOTEL_EXPIRE_DAYS);
            SetRoomsCookies(parseInt(document.getElementById("ddlNumOfRooms").value, 10));
        } else{
            SetRoomsCookies(1);
        }
    }
    
    function SetRoomsCookies(_roomsNum) {
        for ( var i=1 ; i<=_roomsNum; i++ )
        {
            eraseCookie(COOKIE_ADULT_COUNT + i);
            createCookie(COOKIE_ADULT_COUNT + i, document.getElementById("ddlAdults" + i).value, COOKIE_HOTEL_EXPIRE_DAYS);
            eraseCookie(COOKIE_CHILD_COUNT + i);
            if (document.getElementById("ddlChild" + i))
            {
            createCookie(COOKIE_CHILD_COUNT + i, document.getElementById("ddlChild" + i).value, COOKIE_HOTEL_EXPIRE_DAYS);
            eraseCookie(COOKIE_FIRSTCHILD_AGE + i);
            if (parseInt(document.getElementById("ddlChild" + i).value,10) > 0) {
               createCookie(COOKIE_FIRSTCHILD_AGE + i, document.getElementById("ddlFirstAge" + i).value, COOKIE_HOTEL_EXPIRE_DAYS);
            }
            eraseCookie(COOKIE_SECONDCHILD_AGE + i);
            if (parseInt(document.getElementById("ddlSecondAge" + i).value,10) > 1) {
               createCookie(COOKIE_SECONDCHILD_AGE + i, document.getElementById("ddlSecondAge" + i).value, COOKIE_HOTEL_EXPIRE_DAYS);
            }
            }
        }
    }

    function GoToHotelDetailsResults(_baseurl, _hid, _name) {


        var _isValid = ValidateControlHotels();

        if (_isValid) {

            SetHotelCookies();
            window.location.href = _baseurl + "hotels/h" + _hid + "/" + _name + ".aspx?idate=" + document.getElementById("fdtH1").value + "&odate=" + document.getElementById("fdtH2").value + GetRooms();
        }
    }
    
     function GoToHotelResults(_BaseUrl){

  
         var _isValid = ValidateControlHotels();
       
        if (_isValid) {
   
            SetHotelCookies();
            var _redirectUrl = _BaseUrl + "resources/services/loading_search.aspx?page=../../hotels/results.aspx";
            _redirectUrl = _redirectUrl +  "&dport=" + document.getElementById("inputDestination").value + "&idate=" + document.getElementById("fdtH1").value + "&odate=" + document.getElementById("fdtH2").value +GetRooms();
            if (document.getElementById("ddlStarRating")!=null) {
              if (document.getElementById("ddlStarRating").value!="0")
                _redirectUrl = _redirectUrl +  "&hrating=" + document.getElementById("ddlStarRating").value;
            }
            if (document.getElementById("ddlPriceLimit")!=null) {
              if (document.getElementById("ddlPriceLimit").value!="0")
                _redirectUrl = _redirectUrl +  "&mprice=" + document.getElementById("ddlPriceLimit").value;
        }
       
            window.location.href = _redirectUrl;
        }    
    }

    function GetRooms() {
        var _redirectUrl;
        if (document.getElementById("ddlNumOfRooms")!=null) {
            _redirectUrl = '&rms=' + document.getElementById("ddlNumOfRooms").value
            for ( var i=1 ; i<=parseInt(document.getElementById("ddlNumOfRooms").value,10); i++ )
            {
                _redirectUrl = _redirectUrl + GetRoom(i);
            }
        
        } else {
            _redirectUrl = '&rms=1' + GetRoom(1);
        }
        return _redirectUrl;
    }
    
    function GetRoom(_roomId) {
        var _redirectUrl = "&adt" + _roomId + "=" + document.getElementById("ddlAdults" + _roomId).value;
        if (document.getElementById("ddlChild" + _roomId))
        {
            if (document.getElementById("ddlChild" + _roomId).value!="0")
            {
                 _redirectUrl = _redirectUrl + "&chd" + _roomId + "=" + document.getElementById("ddlChild" + _roomId).value + "&cha" + _roomId + "=" + document.getElementById("ddlFirstAge" + _roomId).value;
                 if (document.getElementById("ddlChild" + _roomId).value=="2")
                 {
                  _redirectUrl = _redirectUrl + "&chb" + _roomId + "=" + document.getElementById("ddlSecondAge" + _roomId).value;
                 }
            }
        }
        return _redirectUrl;
    }
