(function ($) {

/**
 * Front_Datepicker
 * @constructor jQuery
 * 
 * Takes an argument:
 * DatePickerOBJ.Day			- Piked day
 * DatePickerOBJ.Month			- Piked month
 * DatePickerOBJ.Year			- Piked year
 * DatePickerOBJ.min_Day		- Min day constraint
 * DatePickerOBJ.min_Month		- Min month constraint
 * DatePickerOBJ.min_Year		- Min year constraint
 * DatePickerOBJ.max_Day		- Max day constraint
 * DatePickerOBJ.max_Month		- Max month constraint
 * DatePickerOBJ.max_Year		- Max year constraint
 * DatePickerOBJ.componentId	- DOM id for object
 */
//$("#datepicker").datepicker({});
$.widget('ui.Front_Datepicker', $.extend({}, $.ui.Component.prototype, {
	type: 'Front_Datepicker',
	_init: function () {

		var self = this

		$.ui.Component.prototype._init.call(this); // chain parent constructor

		DP = DatePickerOBJ
		
		var minD = new Date(DP.min_Year, DP.min_Month - 1, DP.min_Day)
		var maxD = new Date(DP.max_Year, DP.max_Month -1, DP.max_Day)
		var cur_day = new Date(DP.Year, DP.Month -1, DP.Day);

		var btn = $('#'+DP.componentId+'_btn')
		var calendar = $('#'+DP.componentId)

		setTimeout(function(){
//			debugger;
			$.datepicker.setDefaults(
				$.datepicker.regional['ru']
//			{
////				currentDate : cur_day,
////				regional: 'ru'
//			}
			)
			calendar.datepicker(
			{
				onSelect: function(dateText) {
					path = location.langbase + location.request_arr[0] + "/";
					if(undefined !== location.request_arr[1]) {path += location.request_arr[1] + "/";}
					path += this.value;
					if(path.charAt(0) != "/")
					{
						path = "/" + path;
					}
					window.location = path;
				},
				beforeShow: function(){
					btn.addClass('slideDown')
				},
				onClose: function(){
					setTimeout(function(){
							btn.removeClass('slideDown')
						}, 300)
				},
				dateFormat: 'yy-mm-dd',
				minDate: minD,
				maxDate: maxD,
				currentDate : cur_day,
				showAnim: 'slideDown'//,
//				prevText: "<",
//				nextText: ">"
			})
//			alert(cur_day)
		},1000)
		btn.click(function(ev){
			ev.preventDefault()
			if(btn.hasClass('slideDown')){
				calendar.datepicker("hide")
			} else {
				calendar.datepicker("show")
			}
		})
		
	}
}));

}).require('Component')(jQuery);
