	if (prefix == undefined)
	{
		var prefix = '';
	}
	$(function() {
		if ($('#'+prefix+'mnIn') && $('#'+prefix+'mnOut'))
		{
			var bb72Host = (("https:" == document.location.protocol) ? "https://www." : "http://www.");
			var sdp = new Date();		
			$('#'+prefix+'mnIn').after("<input type='hidden' id='datepicker'/><span id='img_dpicker' class='NbPrI-calendar'></span>");
			$('#'+prefix+'mnOut').after("<input type='hidden' id='datepicker2'/><span id='img_dpicker2' class='NbPrI-calendar'></span>");
			var curYear = sdp.getFullYear();
			var datep = $("#datepicker");
			var datep2 = $("#datepicker2");
			$('#'+prefix+'dtOut, #'+prefix+'mnOut, #'+prefix+'dtIn, #'+prefix+'mnIn').change(function (){countNights()});
			if (typeof (lang) == "undefined" || lang == false || lang == '')
			{
				var lang = 'en';
			}
			if (lang.toLowerCase() == 'en')
			{
				$.datepicker.regional['en'] = {
				closeText: 'Close',
				prevText: '&#x3c;Prev',
				nextText: 'Next&#x3e;',
				currentText: 'Today',
				monthNames: ['January','February','March','April','May','June',
				'July','August','September','October','November','December'],
				monthNamesShort: ['Jan','Feb','Mar','Apr','May','Jun',
				'Jul','Aug','Sep','Oct','Nov','Dec'],
				dayNames: ['Sunday','Monday','Monday','Wednesday','Thursday','Friday','Saturday'],
				dayNamesShort: ['Sun','Mo','Tue','Wed','Thu','Fri','Sat'],
				dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
				dateFormat: 'dd.mm.yy', firstDay: 1,
				isRTL: false};
				$.datepicker.setDefaults($.datepicker.regional['en']);
			}
			var ret = datep.datepicker({ 
			maxDate: new Date((curYear+1), sdp.getMonth(), parseInt(sdp.getDate())-1),
			minDate: new Date(curYear, sdp.getMonth(), parseInt(sdp.getDate())),
			/*showOn: 'button',
			buttonImage: bb72Host+'bb72.com/api/hotels/v2/style/default/images/calendar2.gif', 
			buttonImageOnly: true, 
			buttonText: 'Календарь', */
			onSelect: function(dateText, inst) { 
				$('#'+prefix+'dtIn')[0].options.selectedIndex = (parseInt(inst.currentDay)-1);
				$('#'+prefix+'mnIn')[0].options.selectedIndex = parseInt(inst.currentMonth);
				curYear = parseInt(inst.selectedYear);
				changeDateIn();		
				countNights();
			},
			showButtonPanel: true,
			//onClose: function(dateText, inst) { 
				//$('#loader_cal1').toggleClass("showLoadCal");	
			//},
			beforeShow: function(input) { 
				//$('#loader_cal1').toggleClass("showLoadCal");
				var dtIn1 = parseInt($('#'+prefix+'dtIn').val());
				var mnIn1 = parseInt($('#'+prefix+'mnIn').val())-1;		
				var dtIn2 = parseInt($('#'+prefix+'dtIn').val());
				var mnIn2 = parseInt($('#'+prefix+'mnIn').val());
				var dateStart = new Date (sdp.getFullYear(), (mnIn2-1), dtIn2, 23, 59, 59, 999);
				var dateEnd = new Date (sdp.getFullYear(), sdp.getMonth(), sdp.getDate());
				var tmpCurDate;
				if (dateEnd > dateStart)
				{
					curYear = sdp.getFullYear()+1;				
				}
				else
				{
					curYear = sdp.getFullYear();
				}			
				datep.datepicker('setDate',new Date(curYear, mnIn1, dtIn1));
				}
			});		
			datep2.datepicker({
			minDate: new Date(curYear, sdp.getMonth(), (parseInt(sdp.getDate())+2)),
			/*showOn: 'button',
			buttonImage: bb72Host+'bb72.com/api/hotels/v2/style/default/images/calendar2.gif', 
			buttonImageOnly: true, 
			buttonText: 'Календарь', */
			onSelect: function(dateText, inst) { 
				$('#'+prefix+'dtOut')[0].options.selectedIndex = (parseInt(inst.currentDay)-1);
				$('#'+prefix+'mnOut')[0].options.selectedIndex = parseInt(inst.currentMonth);	
				countNights();			
			},
			//onClose: function(dateText, inst) { 
				//$('#loader_cal2').toggleClass("showLoadCal"); 
			//},
			showButtonPanel: true,
			beforeShow: function(input) { 
				//$('#loader_cal2').toggleClass("showLoadCal");
				var tmp_nights = parseInt($('#nights').val());
				var dtIn1 = parseInt($('#'+prefix+'dtIn').val());
				var mnIn1 = parseInt($('#'+prefix+'mnIn').val())-1;
				var dtOut1 = parseInt($('#'+prefix+'dtOut').val());
				var mnOut1 = parseInt($('#'+prefix+'mnOut').val())-1;
				var dateStart = new Date (sdp.getFullYear(), mnIn1, dtIn1, 23, 59, 59, 999);
				var dateEnd = new Date (sdp.getFullYear(), sdp.getMonth(), sdp.getDate());
				var tmpCurDate;
				if (dateEnd > dateStart)
				{
					curYear = sdp.getFullYear()+1;
				}
				else
				{
					curYear = sdp.getFullYear();
				}
				datep2.datepicker('option', 'minDate', new Date(curYear, mnIn1, dtIn1+1)); 
				datep2.datepicker('option', 'maxDate', new Date(curYear, mnIn1, dtIn1+30)); 
				datep2.datepicker('setDate',new Date(curYear, mnOut1, dtOut1));
				}
			});
			
			$('#img_dpicker').click(function () {
			
				$("#datepicker").datepicker( 'show' );
			});		
			
			$('#img_dpicker2').click(function () {
				$("#datepicker2").datepicker( 'show' );
			});
		}
		
		/*
		function show_props(obj) 
		{
			var result = "";
			//obj = obj;
			for (var i in obj) 
			{
				//typeof today == 'object'
				result += i + " = " + obj[i] + " TYPE: "+(typeof obj[i])+"\n";
				//if (typeof obj[i] == 'object')
				//{
				//result += show_props(obj[i]);
				//}	
			}
			//window.write(result);
			document.open();
			document.write("<textarea name='dsadas' style='width: 100%; height:50%;'>"+result+"</textarea>");
			document.close();
		}
		*/
		
		function countNights ()
		{
			var dtIn2 = parseInt($('#'+prefix+'dtOut').val());
			var mnIn2 = parseInt($('#'+prefix+'mnOut').val());
			var dtOut2 = parseInt($('#'+prefix+'dtIn').val());
			var mnOut2 = parseInt($('#'+prefix+'mnIn').val());			
			var futureYear = parseInt(curYear);
			if (mnOut2 > mnIn2)
			{
				futureYear = parseInt(futureYear)+1
			}
			var dateStart = new Date (parseInt(futureYear), (mnIn2-1), dtIn2);
			var dateEnd = new Date (parseInt(curYear), (mnOut2-1), dtOut2)
			var allN =  Math.round(((parseInt(dateStart-dateEnd) / 1000) / 86400));
			if (allN >= 31)
			{
				if (lang.toLowerCase() == 'ru')
				{
					alert ('Внимание: максимальный период, на который можно забронировать отель, 30 дней.');
				}
				else
				{
					alert ('Note: the maximum period for which you can book a hotel for 30 days.');
				}
			}
			if(allN < 0 || allN == 0)
			{
				if (lang.toLowerCase() == 'ru')
				{
					alert ('Внимание: Вы установили день выезда меньше чем день заезда.');				
				}
				else
				{						
					alert ('Warning: You set the day of departure is less than the day of arrival.');
				}
				allN = 0;
			}
			var dateStart = new Date (sdp.getFullYear(), (mnOut2-1), dtOut2, 23, 59, 59, 999);
			var dateEnd = new Date (sdp.getFullYear(), sdp.getMonth(), sdp.getDate());
			var tmpCurDate;
			
			if (dateEnd > dateStart)
			{
				curYear = (sdp.getFullYear()+1);
				$('#res_year').text(curYear+' г');
				$('#res_year').animate({opacity: 1}, 500);
				$('#res_year').animate({opacity: 0}, 2500);		
			}
			$('#all_nights').text('Ночей: '+(parseInt(allN)));	
		}
	}
	);
