1var braapf_convert_numeric_to_date, 2braapf_init_datepicker, 3braapf_datepicker_same, 4braapf_convert_date_to_numeric, 5braapf_grab_single_datepicker; 6(function ($){ 7 braapf_convert_numeric_to_date = function(numeric, format) { 8 numeric = numeric+""; 9 var year = numeric.substring(0, 4); 10 var year2 = numeric.substring(2, 4); 11 var month = numeric.substring(4, 6); 12 var day = numeric.substring(6, 8); 13 var result_date = format+""; 14 result_date = result_date.replace('yy', year); 15 result_date = result_date.replace('y', year2); 16 result_date = result_date.replace('mm', month); 17 result_date = result_date.replace('dd', day); 18 return result_date; 19 } 20 function braapf_jqui_getDate( element, format ) { 21 var date; 22 try { 23 date = $.datepicker.parseDate( format, element.value ); 24 } catch( error ) { 25 date = null; 26 } 27 return date; 28 } 29 braapf_init_datepicker = function () { 30 $(".bapf_datepick:not(.bapf_datepick_ready)").each(function() { 31 if( ! jQuery('.bapfdpapcss').length ) { 32 jQuery('body').append('<div class="bapfdpapcss '+$(this).data('template')+'"></div>'); 33 } 34 var taxonomy = $(this).data('taxonomy'); 35 var $mainElement = $(this).find('.bapf_date_all'); 36 var dateFormat = $mainElement.data('dateformat'); 37 var minDate = braapf_convert_numeric_to_date($mainElement.data('min'), dateFormat); 38 var maxDate = braapf_convert_numeric_to_date($mainElement.data('max'), dateFormat); 39 var startDate = braapf_convert_numeric_to_date($mainElement.data('start'), dateFormat); 40 var endDate = braapf_convert_numeric_to_date($mainElement.data('end'), dateFormat); 41 var datepicker_data = { 42 dateFormat: dateFormat, 43 minDate: minDate, 44 maxDate: maxDate, 45 changeMonth: $mainElement.data('changemonth'), 46 changeYear: $mainElement.data('changeyear'), 47 beforeShow: function(textbox, instance){ 48 $('.bapfdpapcss').append($('#ui-datepicker-div')); 49 } 50 }; 51 $(this).find('.bapf_date_from input').val(startDate); 52 datepicker_data.minDate = minDate; 53 datepicker_data.maxDate = endDate; 54 datepicker_data = berocket_apply_filters('jqui_datepicker_data', datepicker_data, 'from', $(this).find('.bapf_date_from input')); 55 $(this).find('.bapf_date_from input').datepicker(datepicker_data).on( "change", function() { 56 $('.bapf_datepick.bapf_datepick_ready[data-taxonomy="'+taxonomy+'"]').find('.bapf_date_to input').datepicker( "option", "minDate", braapf_jqui_getDate( this, dateFormat ) ); 57 braapf_datepicker_same(taxonomy, [$mainElement.find('.bapf_date_from input').val(), $mainElement.find('.bapf_date_to input').val()]); 58 var filter_changed_element = { 59 element:'#'+$(this).closest('.bapf_sfilter').attr('id'), 60 parent: 0, 61 find: '.bapf_body' 62 }; 63 berocket_apply_filters('filter_changed_element', filter_changed_element, $(this)); 64 berocket_do_action('update_products', 'filter', $(this)); 65 }); 66 $(this).find('.bapf_date_to input').val(endDate); 67 datepicker_data.minDate = startDate; 68 datepicker_data.maxDate = maxDate; 69 datepicker_data = berocket_apply_filters('jqui_datepicker_data', datepicker_data, 'to', $(this).find('.bapf_date_to input')); 70 $(this).find('.bapf_date_to input').datepicker(datepicker_data).on( "change", function() { 71 $('.bapf_datepick.bapf_datepick_ready[data-taxonomy="'+taxonomy+'"]').find('.bapf_date_from input').datepicker( "option", "maxDate", braapf_jqui_getDate( this, dateFormat ) ); 72 braapf_datepicker_same(taxonomy, [$mainElement.find('.bapf_date_from input').val(), $mainElement.find('.bapf_date_to input').val()]); 73 berocket_do_action('update_products', 'filter', $(this)); 74 }); 75 $(this).addClass('bapf_datepick_ready'); 76 }); 77 } 78 braapf_datepicker_same = function (taxonomy, values) { 79 $('.bapf_datepick.bapf_datepick_ready[data-taxonomy="'+taxonomy+'"]').each(function() { 80 $(this).find('.bapf_date_from input').val(values[0]); 81 $(this).find('.bapf_date_to input').val(values[1]); 82 }); 83 } 84 braapf_convert_date_to_numeric = function (date) { 85 var year = date.getFullYear();
86 var month = date.getMonth() + 1; 87 month = month + ""; 88 if( month.length == 1 ) { 89 month = "0"+month; 90 } 91 var day = date.getDate()+""; 92 if( day.length == 1 ) { 93 day = "0"+day; 94 } 95 var numeric = year+""+month+""+day; 96 return numeric; 97 } 98 braapf_grab_single_datepicker = function(single_data, element) { 99 if( element.is('.bapf_datepick.bapf_datepick_ready') && single_data != false ) { 100 var $mainElement = element.find('.bapf_date_all'); 101 var minDate = $mainElement.data('min'); 102 var maxDate = $mainElement.data('max'); 103 var from = element.find('.bapf_date_from input').datepicker( "getDate" ); 104 from = braapf_convert_date_to_numeric(from); 105 var from_text = element.find('.bapf_date_from input').val(); 106 var to = element.find('.bapf_date_to input').datepicker( "getDate" ); 107 to = braapf_convert_date_to_numeric(to); 108 var to_text = element.find('.bapf_date_to input').val(); 109 if( from != minDate || to != maxDate ) { 110 single_data.values = [{value:from+'_'+to, html: from_text+' - '+to_text}]; 111 } 112 } 113 return single_data; 114 } 115 $(document).on('braapf_unselect braapf_unselect_all', '.bapf_datepick', function(event) { 116 var $mainElement = $(this).find('.bapf_date_all'); 117 var dateFormat = $mainElement.data('dateformat'); 118 var minDate = braapf_convert_numeric_to_date($mainElement.data('min'), dateFormat); 119 var maxDate = braapf_convert_numeric_to_date($mainElement.data('max'), dateFormat); 120 $(this).find('.bapf_date_from input').val(minDate); 121 $(this).find('.bapf_date_to input').val(maxDate); 122 }); 123 berocket_add_filter('braapf_init', braapf_init_datepicker); 124 berocket_add_filter('grab_single_filter_default', braapf_grab_single_datepicker); 125})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.