Subversion Repositories SmartDukaan

Rev

Rev 11006 | Go to most recent revision | Details | Last modification | View Log | RSS feed

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