/**
 * centrik_datepicker()
 * @note adds a datepicker to each element classed date and datetime
 */

jQuery.centrik_datepicker = {
	handle :  function() {
		this.addpicker();
	},
	addpicker : function() {
		//add a datepicker to each input element of type date/datetime
		//jquery UI datepicker
		var config = {
			showOn : 'focus',
			closeAtTop : true,
			closeText : 'x',
			dateFormat : CENTRIK_LOCALE_CLIENT_DATE_FORMAT,
			altFormat : CENTRIK_LOCALE_CLIENT_DATE_FORMAT_STAMP,
			nextText : 'next',
			prevText : 'prev',
			navigationAsDateFormat : false,
			rangeSelect : false,
			gotoCurrent : true,
			showAnim : 'show',
			duration : 'fast',
			numberOfMonths : 2,
			constrainInput : true
			/**
			,onSelect : function(date) {
				console.log('select');
			},
			onClose : function(date, dp) {
				console.log('close');
			}
			**/
		};
		$('input.datetime,input.date').datepicker(config);
		this.addcal();
	},
	addcal : function() {
		var elems = $('form input.datetime,form input.date');
		var i=0;
		if(elems.length > 0) {
			//create a base helper input 'frame'
			var i;
			for(i = 0;i<elems.length;i++) {
				//transfer the current date value to the frame
				
				var input = document.createElement('input');
				$(input).attr('type','hidden');
				$(input).attr('value', $(elems[i]).attr('value'));
				$(input).attr('name', $(elems[i]).attr('name'));
				$(input).attr('id', $(elems[i]).attr('id') + '_alt');
				
				//reset name, hidden field takes the new name
				//this is now just a dummy
				$(elems[i]).attr('name', '');
				try {
					var pd = $.datepicker.parseDate(CENTRIK_LOCALE_CLIENT_DATE_FORMAT_STAMP, $(elems[i]).attr('value'));
					var d = $.datepicker.formatDate(CENTRIK_LOCALE_CLIENT_DATE_FORMAT, pd);
					$(elems[i]).attr('value', d);
				} catch (e) {}
				
				$(elems[i]).datepicker('option','altField', '#' + $(input).attr('id'));
				$(elems[i]).before(input);
				
				//create the picker image
				var img = document.createElement('img');
				$(img).attr('width','16');
				$(img).attr('height','16');
				$(img).attr('class','date');
				$(img).attr('src', CENTRIK_INSTALL_BASEPATH + '/asset/ui/16x16/calendar-picker.png');
				$(img).click(function() { $(this).prev().focus() });
				$(elems[i]).after(img);
			}
		}
	}
};
$(document).ready( function() { jQuery.centrik_datepicker.handle();});