﻿(function($)
   {$.og_online_ui =  {version: '1.0'};
   
    $.fn.og_online_ui = function(ui_props, ui_hotels, vars)
       {ui_props = $.extend({},  {_color: '', _opacity: '', _width: '', _height: '', _margin: '3px', _text_color: '', _font_size: '', _element: '', _top: '41px', 
          _endpoint: 980}, ui_props);
        ui_hotels = $.extend({},  {online_type: '', current_hotel: 1, hotels: ''}, ui_hotels);
        vars = $.extend({},  {processURL: '', processParameters: '', backResponse: '', ajaxResponse: '', textResponse: '', textTo: ''}, vars);
        $(document).ready(function()
           {$('.find-rooms').click(function()
               {var show = true;
                if ($('#check-in-date').val() == '')
                   {get.warn("Lütfen giriş tarihini seçiniz. / Please select arrival date.", 128, "ogOkOnly");
                    show = false;
                    return false;
                   }
                if ($('#check-out-date').val() == '')
                   {get.warn("Lütfen çıkış tarihini seçiniz. / Please select departure date.", 128, "ogOkOnly");
                    show = false;
                    return false;
                   }
                var checkIn = new Date(Date.parse($('#check-in-date').datepicker('getDate')));
                var dateFormatted_In = $.datepicker.formatDate('dd.mm.yy', checkIn);
                var checkOut = new Date(Date.parse($('#check-out-date').datepicker('getDate')));
                var dateFormatted_Out = $.datepicker.formatDate('dd.mm.yy', checkOut);
                var totalChildCount = 0;
                var url_childAge_parameter = '';
                var i = 1;
                $('.childage').each(function()
                   {if ($(this).val() == '')
                       {get.warn("Lütfen çocuk yaşlarını giriniz / Please insert child ages.", 128, "ogOkOnly");
                        show = false;
                        return false;
                       }
                    url_childAge_parameter = url_childAge_parameter + '&childAge_' + i + '=' + $(this).val();
                    i++;
                   });
                if ($('#adult').val() == '')
                   {get.warn("Lütfen yetişkin sayısını giriniz. / Please insert adult count.", 128, "ogOkOnly");
                    show = false;
                    return false;
                   }
                if ($('#child').val() == '')
                   {
                    $('#child').val('0');
                   }
                if (show)
                   {window.open('https://www.kirmanhotels.com/sistem/?hotelID=' + $('#fk_hotel_id').val() + '&inDate=' + dateFormatted_In + '&outDate=' + dateFormatted_Out + 
                      '&adultCount=' + $('#adult').val() + '&childrenCount=' + $('#child').val() + url_childAge_parameter, '_blank', 
                      'toolbar=yes, location=yes, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes, width=' + $(window).width() +', height=' + $(window).height() + 
                      '');
                   }
               });
           });
        var ui_engine =        
        {install: function()
           {           $('#online-background').css('opacity', 0.7);
           
            function DateAdd(timeU, byMany, dateObj)
               {var millisecond = 1;
                var second = millisecond * 1000;
                var minute = second * 60;
                var hour = minute * 60;
                var day = hour * 24;
                var year = day * 365;
                var newDate;
                var dVal = dateObj.valueOf();
                switch (timeU)
                   {case "ms": 
                        newDate = new Date(dVal + millisecond * byMany);
                        break;
                    case "s": 
                        newDate = new Date(dVal + second * byMany);
                        break;
                    case "mi": 
                        newDate = new Date(dVal + minute * byMany);
                        break;
                    case "h": 
                        newDate = new Date(dVal + hour * byMany);
                        break;
                    case "d": 
                        newDate = new Date(dVal + day * byMany);
                        break;
                    case "y": 
                        newDate = new Date(dVal + year * byMany);
                        break;
                   }
                return newDate;
               }
            $('#check-in-date').datepicker(
            {changeMonth: true, changeYear: true, closeText: 'X', dateFormat: 'dd.mm.yy', minDate: $('#hotel_default_release_date_' + 
              $('#fk_hotel_id').val()).val(), showAnim: 'slideDown', gotoCurrent: true, onSelect: function(dateText, 
              inst)
               {var date_1 = new Date($('#check-in-date').datepicker('getDate'));
                var date_2 = new Date($('#check-out-date').datepicker("getDate"));
                if ($('#check-out-date').val() !== '')
                   {var z = date_2 - date_1;
                    if (z <= 0)
                       {var x = DateAdd("d", ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val()), date_1);
                        $('#check-out-date').datepicker('setDate', x);
                       }
                    else 
                       {var x = eval (date_2.getDate()) - eval (date_1.getDate());
                        if (x <= ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val()))
                           {var x = DateAdd("d", (eval ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val())), 
                              date_1);
                            $('#check-out-date').datepicker('setDate', x);
                           }
                       }
                   }
                else 
                   {var x = DateAdd("d", ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val()), date_1);
                    $('#check-out-date').datepicker('setDate', x);
                   }
               }
           });
            $('#check-out-date').datepicker(           
            {changeMonth: true, changeYear: true, dateFormat: 'dd.mm.yy', minDate: $('#hotel_default_release_date_' + $('#fk_hotel_id').val()).val(), showAnim: 'slideDown', gotoCurrent: true, onSelect: function(dateText, 
              inst)
               {var date_1 = new Date($('#check-in-date').datepicker('getDate'));
                var date_2 = new Date($('#check-out-date').datepicker('getDate'));
                var z = date_2 - date_1;
                if ($('#check-in-date').val() !== '')
                   {if (z <= 0)
                       {var x = DateAdd("d", - 1 * ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val()), date_2);
                        $('#check-in-date').datepicker('setDate', x);
                       }
                    else 
                       {var x = eval (date_2.getDate()) - eval (date_1.getDate());
                        if (x <= ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val()))
                           {var x2 = DateAdd("d", - 1 * (eval ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val())), 
                              date_2);
                            $('#check-in-date').datepicker('setDate', x2);
                           }
                       }
                   }
                else 
                   {                   var x = DateAdd("d", - 1 * ($('#hotel_default_night_' + $('#fk_hotel_id').val()).val()), 
                      date_2);
                    $('#check-in-date').datepicker('setDate', x);
                   }
               }
           });
            $(".oNumeric").keydown(function(event)
               {if (event.keyCode == 46 || event.keyCode == 8){}
                else 
                   {if (event.keyCode < 95)
                       {if (event.keyCode < 48 || event.keyCode > 57)
                           {event.preventDefault();
                           }
                       }
                    else 
                       {if (event.keyCode < 96 || event.keyCode > 105)
                           {event.preventDefault();
                           }
                       }
                   }
               });
           }
       };
       
        setChildAges = function()
           {var count = $('#child').val();
            $('#elements').html('');
            $('#elements').append( '<ul>');
            for (i = 1;i <= count;i++)
               {$('#elements').append( '<li><input type="text" id="child_age_' + i + '" name="child_age_' + i + 
                  '" class="oNumeric childage" maxlength="2" />&nbsp;</li>');
               }
            $('#elements').append( '</ul>');
            $('#elements ul').css( {'margin-top': '-12px', 'padding': '0px'});
            $('#elements li').css( {'list-style-type': 'none', 'float': 'left', 'margin': '0px', 'padding': '0px'});
            $(".oNumeric").keydown(function(event)
               {if (event.keyCode == 46 || event.keyCode == 8){}
                else 
                   {if (event.keyCode < 95)
                       {if (event.keyCode < 48 || event.keyCode > 57)
                           {event.preventDefault();
                           }
                       }
                    else 
                       {if (event.keyCode < 96 || event.keyCode > 105)
                           {event.preventDefault();
                           }
                       }
                   }
               });
           };
        var ajax =        
        {get: function()
           {           $.post(vars.processURL, function(data)
               {               vars.ajaxResponse = data;
                vars.backResponse();
               });
            return;
           }
       };
        var text = 
        {get: function(textID)
           {vars.processURL = "online_reservation/online_reservation.asp?action=getText&id=" + textID + "";
            vars.processParameters = '';
           
            vars.backResponse = function()
               {$(vars.textTo).html(vars.ajaxResponse);
               };
            ajax.get();
           }
       };
        var get = 
        {warn: function(text, icon, button)
           {$('#prompt').append( '<div class="icon"><img src="images/prompt-icons/' + icon +'.png" /></div>');
            $('#prompt').append( '<div class="p_text">' + text + '</div>');
            $('#prompt').append( '<div class="buttons"><input type="button" onClick="closeBox();" value="Ok"/></div>');
            $('#overlay').show().animate( {opacity: 0.4}, 250, "easeout", function()
               {$('#prompt').show();
               });
           }
       };
        ui_engine.install();
       };
   })(jQuery);
