PageSourceSearch

https://www.ec-store.net/js/sws/usr/searchform.js

js ec-store.net collected 2026-09-25 18:38:51 UTC 4,617 bytes, 145 lines download raw bytes

1var ecblib = ecblib || {};
2ecblib.customize = ecblib.customize || {};
3ecblib.customize.searchform = ecblib.customize.searchform || {};
4
5jQuery(document).ready(function () {
6    var _searchform = ecblib.customize.searchform;
7
8    var category = getParam('category');
9    if (category != null){
10        category.split(",").forEach( function(value){
11            var element = jQuery("#category_" + value);
12            if (element.length != 0){
13                element.prop('checked', true);
14            }
15        });
16    } else {
17        var category_all = jQuery("#category_");
18        if (category_all != null){
19            category_all.prop('checked', true);
20        }
21    }
22    
23    var $btn_getsize = jQuery(".js-getsize");
24    $btn_getsize.off("click");
25    $btn_getsize.on("click", function (e) {
26        setSize();
27    });
28    
29    if (category != null){
30        setSize(getParam('size'));
31    } else {
32        jQuery(".block-search-param--size-title").addClass("hidden");
33        jQuery(".block-search-param--size").addClass("hidden");
34    }
35
36    jQuery(".block-search-param--reset,.block-filter--filter-param--search-button--reset").on("click", function(){
37        setSize();
38    });
39
40});
41
42function getParam(name, url) {
43    if (!url) url = window.location.href;
44    values = [];
45    name = name.replace(/[\[\]]/g, "\\$&");
46    var regex = RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)", "g");
47    var i = 0;
48    while ((results = regex.exec(url)) !== null){
49        if (!results[2]) { continue; };
50        values.push(results[2].replace(/\+/g, " "));
51        i = i + 1;
52        if (i >= 100) { break; }
53    }
54    if (values.length == 0){return '';}
55    return decodeURIComponent(values.join(','));
56}
57
58
59function setSize(size_params){
60    var category_array = [];
61    jQuery("input[name='category']:checked").each(function(index, element){
62        if (element.value != ''){
63            category_array.push(element.value);
64        }
65    });
66    var brand_array = [];
67    jQuery("input[name='brand']:checked").each(function(index, element){
68        brand_array.push(element.value);
69    });
70    var size_param_array = [];
71    if (size_params != null && size_params.length > 0 ){
72        jQuery.each(size_params.split(','), function(index, val){
73            size_param_array.push(val);
74        });
75    }
76
77    if (category_array.length == 0){
78        jQuery(".block-search-param--size-title").addClass("hidden");
79        jQuery(".block-search-param--size").addClass("hidden");
80    }
81    else{
82        jQuery(".block-search-param--size-title").removeClass("hidden");
83        jQuery(".block-search-param--size").removeClass("hidden");
84    }
85
86    jQuery.ajax({
87        async: true,
88        type: "POST",
89        url: ecblib.sys.pathroot + "/js/getsizeajax.aspx",
90        data: {
91            "category": category_array.join(','),
92            "brand": brand_array.join(',')
93        },
94        cache: false,
95        ifModified: false,
96        dataType: "json",
97        success: function (result) {
98            var size_form = jQuery(".block-search-param--size-list");
99            size_form.html('');
100            if(result.result){
101                jQuery.each(result.sizelist, function(i, e){
102                    size_form.append(createElement(e.size, contains(size_param_array, e.size)));
103                });
104                jQuery(".size_result_").html('');
105            }
106            else{
107                jQuery(".size_result_").html(result.message);
108            }
109        },
110        error: function (xhr, status, thrown) {
111            jQuery(".size_result_").html(result.message);
112            alert(ecblib.msg.size.FAILURE);
113            return false;
114        }
115    });
116
117    return true;
118
119}
120
121function createElement(value, isChecked){
122    var element_li = document.createElement('li');
123    var element_input = document.createElement('input');
124    var element_label = document.createElement('label');
125
126    element_input.setAttribute('type', 'checkbox');
127    element_input.setAttribute('name', 'size');
128    element_input.setAttribute('value', value);
129    element_input.setAttribute('id', 'size_' + value);
130    element_label.setAttribute('for', 'size_' + value);
131    if (isChecked){
132        element_input.setAttribute('checked', 'checked');
133    }
134    element_label.innerText = value;
135
136    element_li.appendChild(element_input);
137    element_li.appendChild(element_label);
138
139    return element_li;
140}
141
142function contains(array, value){
143    return jQuery.inArray(value, array) >= 0;
144}
145

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.