(function($) {

$.datepicker = {

	table: 'roomrate',
	idfield: 'roomrate_id',
	sortby: 'roomrate_roomgrade_id',
	sortdir: 'asc',
	
	
	//public methods
	
/* --------------------------------------------------------------------------------------------------------------------------------- */

	_init: function(){
	
	$.datepicker._initSingleDatePicker();
	//$.datepicker._initMultiDatePicker();
	
	},
	
	// private methods



	
/* --------------------------------------------------------------------------------------------------------------------------------- */
	

/* --------------------------------------------------------------------------------------------------------------------------------- */

_initSingleDatePicker: function(){
	
	var now = new Date();
	
	// - init single date pickers
	
	var single_datepickers = $("span[name=single]");
	single_datepickers.each(function(){
	var update_fld = $(this).prev();
	
	var picker = $(this)
	$(this).DatePicker({
	flat: false, // - is calendar always on screen
	format:'d/m/Y',
	date: update_fld.val(), // - the highlighted dates to display
	current: now,
	starts: 1,
	position: 'b',
	onRender: function(date) {
		return {
			disabled: (date.valueOf() < update_fld.val()),
			disabled: (date.valueOf() < now.valueOf()),
			className: date.valueOf() == now.valueOf() ? 'datepickerSpecial' : false
		}
	},


	onChange: function(formated, dates){
		update_fld.val(formated);
		picker.DatePickerHide()
		update_fld.removeClass('active');
		if(picker.hasClass('update')){
			var updateElm = picker.attr("title");
			
			var updatePicker = $('input[name='+updateElm+']').next();
			//console.log(dates);
			
			//var nextDay = new Date();
			var prevDay = new Date();
			var day = dates.getDate();
			var month = dates.getMonth();
			var year = dates.getFullYear();
			
			var nextDay = new Date(year, month, (day+1));
			var prevDay = new Date(year, month, (day-1));
		
			//nextDay.setDate(dates.getDate() + 1);
			//console.log(nextDay);
			//prevDay.setDate(dates.getDate() - 1);
			
			var y=nextDay.getFullYear();
			var m=nextDay.getMonth()+1;
			
			var d=nextDay.getDate();
			
			var py=prevDay.getFullYear();
			var pm=prevDay.getMonth()+1;
			var pd=prevDay.getDate();
			
			var dStr = String(d);
			var pdStr = String(pd);
			if(dStr.length==1) dStr = "0"+dStr ;
			if(pdStr.length==1) pdStr = "0"+pdStr ;
			var mStr = String(m);
			var pmStr = String(pm);
			if(mStr.length==1) mStr = "0"+mStr ;
			if(pmStr.length==1) pmStr = "0"+pmStr ;
				var nextDay_format = dStr+'/'+mStr+'/'+y;
				var prevDay_format = pdStr+'/'+pmStr+'/'+py;
		
		if(updateElm=="arrival_date" && formated <= $('input[name='+updateElm+']').val()){
			$('input[name='+updateElm+']').val(prevDay_format);
			$(updatePicker).DatePickerSetDate(prevDay_format, true);
		} else{
			
		}
		if(updateElm=="departure_date"){
		//$(updatePicker).val(nextDay_format);
			$('input[name='+updateElm+']').val(nextDay_format);
			$(updatePicker).DatePickerSetDate(nextDay_format, true);
		
		}
			
		
						   }
		},
	onHide: function(){
		update_fld.removeClass('active');
	}
		});
	
	update_fld.click(function(){
							 
	if($(this).hasClass('active')){
		
	} else {
	
	picker.DatePickerShow()
$(this).addClass('active');
		
	
	}
	});	
	});

},


/* --------------------------------------------------------------------------------------------------------------------------------- */

/* - eyecon.ro datepicker */

_initMultiDatePicker: function(elm,selected_dates){
	
	if(selected_dates.length > 2){
	selected_dates = selected_dates.split(',');
	} else{
		var selected_dates = Array();
	}
	
	var update_fld = $('input[name='+elm+']');
	var now = new Date();
	var picker = update_fld.next('span[name=multiple]');
	
	
	$(picker).DatePicker({
	flat: false, // - is calendar always on screen
	format:'d/m/Y', // format of year
	date: selected_dates, // - the highlighted dates to display
	current: now, //the current date
	starts: 1,
	position: 't',
	mode: 'multiple',
	onBeforeShow: function(){
		update_fld.DatePickerSetDate(now, true); //the date to highlight on show
	},
	onChange: function(formated, dates){
		update_fld.val(formated);
	},
	onHide: function(){
		update_fld.removeClass('active');
	}

});
	
update_fld.click(function(){
	if($(this).hasClass('active')){
	$(this).removeClass('active');
	picker.DatePickerHide();
		} else {
	$(this).addClass('active')
	picker.DatePickerShow()
	}
	});	




}

/* --------------------------------------------------------------------------------------------------------------------------------- */
}

// Shortcut functions
jDatePicker = function(){

	$.datepicker._init();
};



})(jQuery);