jQuery(document).ready(function(){
    jQuery.each(["FROM", "TO", "A1FROM", "A1TO", "A2FROM", "A2TO"], function(topIndex, topValue) {
        if (jQuery('#DatePicker' + topValue).length)
        {
            jQuery('#DatePickerValue' + topValue).datepicker({
                showOn: 'button',
                buttonImage: '/images/calendar.gif',
                dateFormat: 'yy-mm-dd',
                minDate: new Date(),
                monthNames: monthNames,
                dayNamesMin: dayNamesMin,
                firstDay: 1,
                onClose: function (date) {
                    var type = this.id.replace('DatePickerValue', '');
                    var obj = jQuery('#DatePicker' + type);
                    obj.find('select:eq(0)').val(date.substring(8,10));
                    obj.find('select:eq(1)').val(date.substring(5,7));
                    obj.find('select:eq(2)').val(date.substring(0,4));
                },
                beforeShow: function (date) {
                    var type = this.id.replace('DatePickerValue', '');
                    if (type.indexOf('FROM') >= 0)
                    {
                        var toPicker = jQuery('#DatePickerValue' + type.replace('FROM', 'TO'));
                        var now = new Date();
                        if (toPicker.datepicker('getDate') > now)
                        {
                            jQuery(this).datepicker('option', 'maxDate', toPicker.datepicker('getDate'));
                        }
                    }
                    else if (type.indexOf('TO') >= 0)
                    {
                        var fromPicker = jQuery('#DatePickerValue' + type.replace('TO', 'FROM'));
                        jQuery(this).datepicker('option', 'minDate', fromPicker.datepicker('getDate'));
                    }
                }
            });

            jQuery('#DatePicker' + topValue + ' select').bind("change", function(e) {
                var day = jQuery(this).parent().find('select:eq(0)');
                var month = jQuery(this).parent().find('select:eq(1)');
                var year = jQuery(this).parent().find('select:eq(2)');

                if (day.val() && month.val() && year.val())
                {
                    jQuery('#DatePickerValue' + topValue).val(year.val() + "-" + month.val() + "-" + day.val());
                }
            });

        }
    });
});
