/* 
 * Convierte los típicos campos select de fechas en campos input con opción de calendario.
 * Asume que los select están dentro de un div que contiene también un label.
 * Por defecto, se cogen los div de clase 'date', pero se puede especificar con la opción
 * 'divClass'. Se puede utilizar el resto de opciones de jQuery DatePicker.
 */
jQuery.fn.datepickerForm = function( options )
{
	var defaults =
	{
		dateFormat: 'yy-mm-dd',
		firstDay: 1,
		changeFirstDay: false,
    	showOn: "both",
		divClass: 'date',
    	buttonImage: "/img/calendar_16.png",
    	buttonImageOnly: true,
		showButtonPanel: true
	};

	jQuery.extend( defaults, options );

	return this.each( function()
	{
		var $divs = jQuery( 'div.' + defaults.divClass, jQuery( this ));
		$divs.each( function()
		{
			var $this = jQuery( this );
			var $label = jQuery( 'label', $this );
			var id = $label.attr( 'for' );
			var nueva_id = id.replace( 'Month', '' );

			var day = jQuery( '#' +  id.replace( 'Month', 'Day' )).val();
			var month = jQuery( '#' + id ).val();
			var year = jQuery( '#' + id.replace( 'Month', 'Year' )).val();
			var date = new Date();
			date.setFullYear( year, parseInt( month, 10 ) - 1, day );

			$label.attr( 'for', nueva_id );
			var name = jQuery( '#' + id ).attr( 'name' );
			name = name.replace( '[month]', '' );

			$this.html( $label );
			jQuery( '<input type="text" />' )
				.attr({ id: nueva_id, name: name })
				.datepicker( jQuery.extend( {}, jQuery.datepicker.regional["es"], defaults ))
				.datepicker( 'setDate', date )
				.insertAfter( $label );
		});
	});
}

/*
 * Convierte los inputs de la clase especificada en un datepicker.
 */
jQuery.fn.dateInputsForm = function( options )
{
	var defaults =
	{
		dateFormat: 'yy-mm-dd',
		firstDay: 1,
		changeFirstDay: false,
    	showOn: "both",
		divClass: 'date',
    	buttonImage: "/img/calendar_16.png",
    	buttonImageOnly: true,
		showButtonPanel: true
	};

	jQuery.extend( defaults, options );

	return this.each( function()
	{
		jQuery( 'div.' + defaults.divClass + ' input', jQuery( this ))
			.datepicker( jQuery.extend( {}, jQuery.datepicker.regional["es"], defaults ))

	});
}