﻿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 ;

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 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))
                document.getElementById("lblFirstChild" + tableIndex).innerHTML = "&nbsp;";
            ShowHideChildAge("ddlFirstAge" + tableIndex, "none");
            if (document.getElementById("lblSecondChild" + tableIndex))
                document.getElementById("lblSecondChild" + tableIndex).innerHTML = "&nbsp;";
            ShowHideChildAge("ddlSecondAge" + tableIndex, "none");
            break;

          case 1:
            if (document.getElementById("lblFirstChild" + tableIndex))
                document.getElementById("lblFirstChild" +tableIndex).innerHTML = "גיל ילד 1";
            ShowHideChildAge("ddlFirstAge" + tableIndex, "");
            if (document.getElementById("lblSecondChild" + tableIndex))
                document.getElementById("lblSecondChild" +tableIndex).innerHTML = "&nbsp;";
            ShowHideChildAge("ddlSecondAge" + tableIndex, "none");
            break;

          case 2:
            if (document.getElementById("lblFirstChild" + tableIndex))
                document.getElementById("lblFirstChild"+tableIndex).innerHTML = "גיל ילד 1";
            ShowHideChildAge("ddlFirstAge" + tableIndex, "");
            if (document.getElementById("lblSecondChild" + tableIndex))
                document.getElementById("lblSecondChild"+tableIndex).innerHTML = "גיל ילד 2";
            ShowHideChildAge("ddlSecondAge" + tableIndex, "");
            break;
       }
}

function ShowHideChildAge(_ctlname, _action) {
    var _childage = document.getElementById(_ctlname);
    _childage.style.display = _action;
    _childage.parentNode.style.display = _action;
}

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";
    _height = 434;
    _width = 342;
    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 = 434;
                else
                    height = _height;
                if (typeof (width) == 'undefined')
                    width = 342;
                else
                    width = _width;
              
                height = 404;
                width = 341;
                allowTransparency = "true";           
    

            }
        }
    }
    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 = 434;
                        width = 342;
                        allowTransparency = "true";
                    }
                }
            }
            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);
       
    }
  }
  
  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 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;
    }
