Subversion Repositories SmartDukaan

Rev

Rev 11710 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
11163 lgm 1
if((document.URL.indexOf('fq') != -1) || (document.URL.indexOf('minPrice') != -1)){
2
  document.getElementsByClassName('filter')[0].className +=' filter-selected';
3
}
4
 
5
if(document.URL.indexOf('sortedBy') != -1){
6
  document.getElementsByClassName('sort')[0].className +=' selected';
7
}
10582 lgm 8
var minVal, 
9
    maxVal;
10
 
11
var ominVal = document.getElementById('minprice').innerHTML;
12
var omaxVal = document.getElementById('maxprice').innerHTML;
13
 
14
function spliturl(url)
15
{
16
 fullpath = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?"));
17
 params =fullpath.split('<?=base_url()?>');
18
 //console.log(params[1]);
19
 getparams = url.split('?');
20
 //console.log(getparams[1]);
21
 var output = new Array();
22
 output[0] = params[1]; //data controller to parameters
23
 output[1] = getparams[1];//get input
24
 output[2]=fullpath; //full url expcept get input
25
 console.log(output);
26
 return output;
27
}
28
var showmore;
29
var nextpageload = true;
30
function showMore(name)
31
  {
11325 lgm 32
 
10582 lgm 33
    var cpage =document.getElementById('page').innerHTML;
34
    var url = document.URL;
35
    if(!cpage){cpage=2;} else {cpage = parseInt(cpage) +1;}
36
      if(url.indexOf('sortedBy') != -1){
37
          var a = data[1].split('&');
38
          for(var i=0;i< a.length ;i++){
39
            if(a[i].indexOf('sortedBy') != -1){
40
              sort=a[i].split('=')[1];
41
              var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/'+sort+'/null/null';
42
            }
43
          }
44
      if(url.indexOf('fq') != -1){
45
        var filterq = new Array();
46
        var j = 0;
47
        for(var i=0;i< a.length ;i++){
48
          if(a[i].indexOf('fq') != -1){
49
            filterq[j]=a[i].split('=')[1];
50
            j++;
51
          }
52
        }
53
        filterq = filterq.join('&fq=');
54
        if(url.indexOf('minPrice') && url.indexOf('maxPrice')){
55
          var a = data[1].split('&');
56
          var price = new Array();
57
          var j=0;
58
          for(var i=0;i< a.length ;i++){
59
            if(a[i].indexOf('minPrice') != -1){
60
              price[j]=a[i].split('=')[1];
61
              j++;
62
            }
63
            if(a[i].indexOf('maxPrice') != -1){
64
              price[j]=a[i].split('=')[1];
65
              j++;
66
            }
67
          }
68
          price = price.join('&');
69
          var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/'+sort+'/'+encodeURIComponent(filterq)+'/'+price;
70
        }else{
71
          var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/'+sort+'/'+encodeURIComponent(filterq)+'/null';
72
        }
73
      }
74
      else if(url.indexOf('minPrice') != -1 && url.indexOf('maxPrice') != -1){
75
        var a = data[1].split('&');
76
        var price = new Array();
77
        var j=0;
78
        for(var i=0;i< a.length ;i++){
79
          if(a[i].indexOf('minPrice') != -1){
80
            price[j]=a[i].split('=')[1];
81
            j++;
82
          }
83
          if(a[i].indexOf('maxPrice') != -1){
84
            price[j]=a[i].split('=')[1];
85
            j++;
86
          }
87
        }
88
        price = price.join('&');
89
        var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/'+sort+'/null/'+price;
90
      }
91
    }
92
    else{
93
        if(url.indexOf('fq') != -1){
94
          var a = data[1].split('&');
95
          var filterq = new Array();
96
          var j = 0;
97
          for(var i=0;i< a.length ;i++){
98
            if(a[i].indexOf('fq') != -1){
99
              filterq[j]=a[i].split('=')[1];
100
              j++;
101
            }
102
          }
103
          filterq = filterq.join('&fq=');
104
          var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/null'+'/'+encodeURIComponent(filterq);
105
          if(url.indexOf('minPrice') != -1 && url.indexOf('maxPrice') != -1){
106
            var a = data[1].split('&');
107
            var price = new Array();
108
            var j=0;
109
            for(var i=0;i< a.length ;i++){
110
              if(a[i].indexOf('minPrice') != -1){
111
                price[j]=a[i].split('=')[1];
112
                j++;
113
              }
114
              if(a[i].indexOf('maxPrice') != -1){
115
                price[j]=a[i].split('=')[1];
116
                j++;
117
              }
118
            }
119
            price = price.join('&');
120
            var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/null'+'/'+encodeURIComponent(filterq)+'/'+price;
121
          }else{
122
            var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/null'+'/'+encodeURIComponent(filterq)+'/null';
123
          }
124
        }else if(url.indexOf('minPrice') != -1 && url.indexOf('maxPrice') != -1){
125
            var a = data[1].split('&');
126
            var price = new Array();
127
            var j=0;
128
            for(var i=0;i< a.length ;i++){
129
              if(a[i].indexOf('minPrice') != -1){
130
                price[j]=a[i].split('=')[1];
131
                j++;
132
              }
133
              if(a[i].indexOf('maxPrice') != -1){
134
                price[j]=a[i].split('=')[1];
135
                j++;
136
              }
137
            }
138
            price = price.join('&');
139
            var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/null/null/'+price;
140
        }
141
        else{
142
          var newUrl = base_url+'search/getSearchList/'+cpage+'/'+name+'/null'+'/null/null';
143
        }
144
      }
145
 
146
    microAjax(newUrl, function(res)
147
    {
11325 lgm 148
 
10582 lgm 149
      //console.log(res);
150
      if(res!='')
151
      {
152
        var appenddata =document.getElementById("appendlist");
153
        var total = document.getElementById('count').value;
154
        appenddata.innerHTML= appenddata.innerHTML +  res;
155
        document.getElementById('page').innerHTML =  cpage;
11710 lgm 156
        if(!isOperaMini){
157
          if (cpage % 3 == 0) {
158
            showmore = "block";
159
          } else {
160
            showmore = "none";
161
            document.getElementById("showmorebutton").style.display = "none";
162
          }
10582 lgm 163
        }
11184 lgm 164
        if (parseInt(total) <= parseInt(cpage)) {
10582 lgm 165
          showmore = 'none';
166
          nextpageload = false;
167
          document.getElementById("showmorebutton").style.display='none';
168
        }
169
        var str = document.URL;
170
        nextpageload = true;
171
        if(str.indexOf("page") !== -1){
172
        data = spliturl(str);
173
        newdata= data[1].split("&");
174
        var a = newdata.length;
175
        for(var i=0;i< a ;i++){
176
        if(newdata[i].indexOf('page') != -1){
177
        newdata[i]='page='+(parseInt(newdata[i].split('=')[1])+1)}
178
        }
179
        var url = data[2]+'?'+newdata.join("&");
180
        window.history.replaceState("",document.title, url);}
181
        else{
182
        window.history.replaceState("",document.title, window.location.href+"&page=2"); 
183
        }
184
      }
185
      else
186
      { 
187
        document.getElementById("showmorebutton").style.display='none';}
188
    });
189
 
190
  }
11710 lgm 191
var isOperaMini = (navigator.userAgent.indexOf('Opera Mini') > -1);
192
if(isOperaMini){
11719 lgm 193
  total = document.getElementById('count').value;
194
    cpage = document.getElementById('page').innerHTML;
195
    if (parseInt(total) <= parseInt(cpage)) {
196
        document.getElementById("showmorebutton").style.display = "none";
197
    }else{
198
        document.getElementById("showmorebutton").style.display = "block";
199
    }
11710 lgm 200
}
10582 lgm 201
var startscroll = 0;
202
document.addEventListener("scroll", function (event) {
11006 lgm 203
  var x = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;
10582 lgm 204
      var maxY = document.documentElement.scrollHeight - document.documentElement.clientHeight;
205
        // when user reaches end of the page
206
 
207
        if(x>startscroll)
208
        {
209
          startscroll = x;
210
        }
211
        else if(maxY==x)
212
        {
213
            startscroll=0;
214
            window.scrollTo(0,0);
215
            return false;
216
        }
217
        else
218
        {
219
 
220
          return false;
221
        }
222
    if (getDocHeight() <= getScrollXY()[1] + window.innerHeight + 300) {
11325 lgm 223
 
10582 lgm 224
      if(((document.getElementById('page').innerHTML%3) != 0) && nextpageload==true){
11325 lgm 225
 
10582 lgm 226
        //console.log(x);
227
        //console.log(getScrollXY()[1] + window.innerHeight + 300);
228
        total = document.getElementById('count').value;
229
        cpage = document.getElementById('page').innerHTML;
230
        nextpageload=false;
231
        data = spliturl(document.URL);
232
        var a = data[1].split('&');
233
          for(var i=0;i< a.length ;i++){
234
            if(a[i].indexOf('q') != -1){
235
              newdata=a[i].split('=');
236
              break;
237
            }
238
          }
11184 lgm 239
          if(parseInt(total) <= parseInt(cpage)) {
10582 lgm 240
            showmore = 'none';
241
            nextpageload = false;
242
          }else{
243
          showMore(decodeURIComponent(newdata[1]));}
244
        }
245
      else{
246
        if(showmore === 'block'){
247
          document.getElementById('showmorebutton').style.display = 'block';
248
        }     
249
      }
250
    }
251
});
252
function toggleListview(e){
253
 
254
  var a = document.getElementsByClassName('pd-list-hldr')[0];
255
  if(a.className == 'pd-list-hldr clearfix'){
256
  a.className += ' grid';
257
  e.currentTarget.className = 'list-icon';
258
  }else{
259
    a.className = 'pd-list-hldr clearfix';
260
    e.currentTarget.className = '';
261
  }
262
 
263
}
264
 
265
function fireSort(e){
11325 lgm 266
 
10582 lgm 267
  var attrval = e.target.getAttribute('data-val');
268
  //var path = window.location.pathname;
269
  var path = document.URL;
270
  if(path.indexOf('fq') != -1){
271
    if(path.indexOf('sortedBy') == -1){
272
    window.location = document.URL.split('?')[0]+'?sortedBy='+attrval+'&'+document.URL.split('?').pop();
273
    }else{
274
      var npath = document.URL.split('?')[1].split('&');
275
      npath.slice(1);
276
      window.location = document.URL.split('?')[0]+'?sortedBy='+attrval+'&' +npath.slice(1).join('&');;
277
    }
278
  }else{
279
  var val = path.split("&sortedBy=")[0];
280
  //var npath = path.split('?')[0];
281
  window.location = val+'&sortedBy='+attrval;
282
  }
283
}
284
 
285
var fq = new Array();
286
var i=0;
287
 
288
function filter(e){
11325 lgm 289
 
10582 lgm 290
  var id = e.currentTarget;
291
  var key = id.getAttribute('data-key');
292
  var value = id.getAttribute('data-value');
293
 
294
  if(e.currentTarget.className != 'opt selected'){
295
    e.currentTarget.className += ' selected' ;
296
    fq[i] = (key+':'+value);
297
    i++;
298
  }else{
299
    e.currentTarget.className = 'opt';
300
    var ind = fq.indexOf(key+':'+value);
301
    fq.splice(ind,1);
302
  }
303
  e.stopPropagation();
304
}
305
 
306
function applyFilter(e){
11325 lgm 307
 
10582 lgm 308
  minVal = document.getElementById('exTO').innerHTML;
309
  maxVal = document.getElementById('exFR').innerHTML;
310
  if(items.length > 0){
311
    for(j=0;j<items.length;j++){
312
      if(document.getElementById(items[j]).className == 'opt selected'){
313
        var name = document.getElementById(items[j]);
314
        name = name.getAttribute('data-key')+':'+name.getAttribute('data-value');
315
        fq[i] = name;
316
        i++;
317
      }
318
    }
319
  }
320
  if(fq.length > 0){
321
    var filters = fq.join('&fq=');
322
    var url = document.URL;
323
    if(url.indexOf('sortedBy') != -1){
324
      var url = spliturl(url);
325
      url = url[1];
326
      url = url.split('&');
327
      for(i=0;i<url.length;i++){
328
        if(url[i].indexOf('q') != -1){
329
          var query = url[i];
330
          break;
331
        }
332
      }
333
      for(i=0;i<url.length;i++){
334
        if(url[i].indexOf('sortedBy') != -1){
335
          var sort = url[i];
336
          if((ominVal != minVal) || (omaxVal != maxVal)){
337
            var newUrl = base_url+'search?'+sort+'&'+query+'&minPrice='+minVal+'&maxPrice='+maxVal ;
338
          }else{
339
             var newUrl = base_url+'search?'+sort+'&'+query;
340
          }
341
        }
342
      }
343
       newUrl = newUrl+'&fq='+filters;
344
    }
345
    else{
346
      url = spliturl(url);
347
      query = url[1];
348
      if((ominVal != minVal) || (omaxVal != maxVal)){
349
            var newUrl = base_url+'search?'+sort+'&'+query+'&minPrice='+minVal+'&maxPrice='+maxVal+'&fq='+encodeURIComponent(filters);
350
          }else{
351
             var newUrl = base_url+'search?'+query+'&fq='+encodeURIComponent(filters);
352
          }
353
    }
354
    window.location.href = newUrl;
355
  }else{ 
356
    if((ominVal != minVal) || (omaxVal != maxVal)){
357
      var url = document.URL;
358
      var query = spliturl(url);
359
      query = query[1];
360
      query = query.split('&');
361
      for(i=0;i<query.length;i++){
362
        if(query[i].indexOf('q') != -1){
363
          query = query[i];
364
          break;
365
          }
366
        }
367
      if(url.indexOf('sortedBy') != -1){
368
        var url = spliturl(url);
369
        var sort = url[1];
370
        sort = sort.split('&');
371
        sort = sort[0];
372
        var newUrl = url[2]+'?'+sort+'&'+query+'&minPrice='+minVal+'&maxPrice='+maxVal;
373
      }else{
374
        var url = spliturl(url);
375
        var sort = url[1];
376
        var newUrl = url[2]+'?'+query+'&minPrice='+minVal+'&maxPrice='+maxVal;
377
      }
378
    }
379
    else{
380
      newUrl = document.URL;
381
     }
382
    window.location.href = newUrl;
383
  }
384
  e.stopPropagation();
385
 
386
}
387
 
388
function clearfilter(e){
11325 lgm 389
 
10582 lgm 390
  if(items.length>0){
391
    items.length = 0;
392
   }
393
  var selected = document.getElementsByClassName('selected');
394
  if(selected.length >0){
395
    for (var i = 0; i < selected.length;) {
396
      selected[i].setAttribute('class','');
397
    }
398
    var url = document.URL;
399
    url = spliturl(url);
400
    if(url[1].indexOf('sortedBy') == -1){
401
      var a = url[1].split('&');
402
      for(var i=0;i< a.length ;i++){
403
        if(a[i].indexOf('q') != -1){
404
          q=a[i];
405
          break;
406
        }
407
      }
408
      window.location.href = url[2]+'?'+q;
409
    }
410
    else if(url[1].indexOf('sortedBy') != -1){
411
      var a = url[1].split('&');
412
      for(var i=0;i< a.length ;i++){
413
        if(a[i].indexOf('sortedBy') != -1){
414
          sort=a[i];
415
        }
416
      }
417
      for(var i=0;i< a.length ;i++){
418
        if(a[i].indexOf('q') != -1){
419
          q=a[i];
420
          break;
421
        }
422
      }
423
      window.location.href = url[2]+'?'+q+'&'+sort;
424
    }
425
  }
426
  e.stopPropagation();
427
}
428
 
429