﻿(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);

		var ui_engine = {
			install: function () {
				$('#online-background').css('opacity', 0.7);
				$('#check-in-date').datepicker({
					changeMonth: true,
					changeYear: true,
					closeText: 'X',
					firstDay:1,
					mandatory:true,
					minDate: 0,
					maxDate:'+2y',
					dateFormat: 'dd.mm.yy',
					showAnim: 'slideDown',
					gotoCurrent: true,
					onSelect: function() {
						var date_1 = new Date($('#check-in-date').datepicker('getDate'));

						if ( $('#check-out-date').val().length ) {
							var date_2 = new Date($('#check-out-date').datepicker('getDate'));

							if ( date_1 > date_2 ) {
								date_2.setTime(date_1.getTime() + (1000 * 60 * 60 * 24));
								$('#check-out-date').datepicker('setDate', date_2);
							}
						} else {
							var date_2 = new Date(date_1.getTime() + (1000 * 60 * 60 * 24));
							$('#check-out-date').datepicker('setDate', date_2);
						}

						$('#iso-checkin').val(date_1.getFullYear() + '-' + (date_1.getMonth()+1) + '-' + date_1.getDate());
						$('#iso-checkout').val(date_2.getFullYear() + '-' + (date_2.getMonth()+1) + '-' + date_2.getDate());
					}
				});

				$('#check-out-date').datepicker({
					changeMonth: true,
					changeYear: true,
					closeText: 'X',
					firstDay:1,
					mandatory:true,
					minDate: 0,
					maxDate:'+2y',
					dateFormat: 'dd.mm.yy',
					showAnim: 'slideDown',
					gotoCurrent: true,
					onSelect: function() {
						var date_2 = new Date($('#check-out-date').datepicker('getDate'));

						if ( $('#check-in-date').val().length ) {
							var date_1 = new Date($('#check-in-date').datepicker('getDate'));

							if ( date_2 < date_1 ) {
								date_1.setTime(date_2.getTime() - (1000 * 60 * 60 * 24));
								$('#check-in-date').datepicker('setDate', date_1);
							}
						} else {
							var date_1 = new Date(date_2.getTime() + (1000 * 60 * 60 * 24));
							$('#check-in-date').datepicker('setDate', date_1);
						}

						$('#iso-checkin').val(date_1.getFullYear() + '-' + (date_1.getMonth()+1) + '-' + date_1.getDate());
						$('#iso-checkout').val(date_2.getFullYear() + '-' + (date_2.getMonth()+1) + '-' + date_2.getDate());
					}
				});
			}
		};

		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);
