Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
10582 lgm 1
function microAjax(url, callbackFunction) {
11558 lgm 2
  if (!url) {
3
    return;
4
  }
10582 lgm 5
  var postParam = (arguments[2] || "");
6
  var req = new XMLHttpRequest();
11558 lgm 7
  req.onreadystatechange = function(obj) {
8
    if (req.readyState == 4) {
9
      if (callbackFunction) {
10
        callbackFunction(req.responseText);
11
      }
10582 lgm 12
    }
11558 lgm 13
  };
14
  if (postParam !== "") {
15
    req.open("POST", url, true);
16
    req.setRequestHeader("X-Requested-With", "XMLHttpRequest");
17
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
18
  } else {
19
    req.open("GET", url, true);
20
  }
21
  req.send(postParam);
22
}
10582 lgm 23
window.addEventListener("orientationchange", function() {
11558 lgm 24
  document.getElementsByTagName("input")[0].style.display = "none";
25
  setTimeout(function() {
26
    document.getElementsByTagName("input")[0].style.display = "BLOCK";
27
  }, 100);
10582 lgm 28
}, false);
29
var last;
30
var lastmain;
11558 lgm 31
function togglesidemenu(e, a) {
10582 lgm 32
  var tapdiv = document.getElementById(a);
33
  console.log(e.target.childNodes[1]);
11558 lgm 34
  if ((last != undefined) && last != a) {
35
    last.style.display = "none";
10582 lgm 36
  }
11558 lgm 37
  if (a.style.display != "none") {
38
    a.style.display = "none";
39
    e.target.childNodes[1].innerHTML = "+";
40
  } else {
41
    a.style.display = "block";
42
    e.target.childNodes[1].innerHTML = "-";
10582 lgm 43
    last = a;
44
    lastmain = e.target;
45
  }
46
}
47
 
11558 lgm 48
var menu = document.getElementsByClassName("main-menu")[0];
49
var mask = document.getElementsByClassName("mask")[0];
50
var cnt = document.getElementsByClassName("main-wrapper")[0];
10582 lgm 51
function toggleMenu() {
11558 lgm 52
  mask.style.display = "block";
53
  cnt.style.position = "absolute";
54
  cnt.style.width = "100%";
55
  cnt.style.right = "80%";
56
  menu.style.minHeight = document.getElementsByClassName("main-wrapper")[0].scrollHeight + "px";
57
  menu.style.display = "block";
10582 lgm 58
}
59
 
60
function closeMenu() {
11558 lgm 61
  mask.style.display = "none";
62
  menu.style.display = "none";
63
  cnt.style.position = "";
64
  cnt.style.right = "";
10582 lgm 65
}
66
 
67
var span;
68
var prevspan;
69
var name;
70
var span;
11558 lgm 71
name = "";
72
span = "";
10582 lgm 73
var laste;
11558 lgm 74
function toggleHomemenu(e) {
75
  if ((laste != undefined) && (laste.nextElementSibling != e.currentTarget.nextElementSibling)) {
76
    laste.nextElementSibling.style.display = "none";
77
    laste.children[2].innerHTML = "+";
78
  }
79
  if (e.currentTarget.nextElementSibling.style.display != "block") {
80
    e.currentTarget.nextElementSibling.style.display = "block";
81
    e.currentTarget.children[2].innerHTML = "-";
82
  } else {
83
    e.currentTarget.nextElementSibling.style.display = "none";
84
    e.currentTarget.children[2].innerHTML = "+";
85
  }
86
  laste = e.currentTarget;
10582 lgm 87
}
88
 
89
function getCOOKIE(c_name) {
11558 lgm 90
  var c_start, c_end;
91
  if (document.cookie.length > 0) {
92
    c_start = document.cookie.indexOf(c_name + "=");
93
    if (c_start != -1) {
94
      c_start = c_start + c_name.length + 1;
95
      c_end = document.cookie.indexOf(";", c_start);
96
      if (c_end == -1) {
97
        c_end = document.cookie.length;
98
      }
99
      return unescape(document.cookie.substring(c_start, c_end));
100
    }
101
  }
102
  return "";
103
}
10582 lgm 104
 
11558 lgm 105
function searchList() {
106
  var search = document.getElementById("search").value;
107
  if (search.length > 0) {
108
    var url = base_url + "search?name=" + search;
109
    addCookie("shopMoreUrl", window.location.href, 1);
10582 lgm 110
    window.location.href = url;
11558 lgm 111
  } else {
112
    alert("Please enter some search term");
10582 lgm 113
  }
11558 lgm 114
}
10582 lgm 115
 
11558 lgm 116
function toggleOverlay(e) {
117
  if (e.currentTarget.className.indexOf("menu") != -1) {
118
    if (document.getElementsByClassName("side-menu")[0].style.display != "block") {
119
      document.getElementsByClassName("profile-overlay")[0].style.display = "none";
120
      document.getElementsByClassName("profile")[0].style.backgroundColor = "";
121
      document.getElementsByClassName("menu")[0].style.backgroundColor = "#ff7201";
122
      document.getElementsByClassName("side-menu")[0].style.display = "block";
123
      document.getElementsByClassName("mask")[0].style.display = "block";
124
      document.getElementsByClassName("mask")[0].style.minHeight = Math.max(document.getElementsByClassName('side-menu')[0].clientHeight,document.body.clientHeight) + "px";
125
      for(var i; i<document.getElementsByClassName('rec-hldr').length;i++){
126
        document.getElementsByClassName('rec-hldr')[i].style.overflowX = 'hidden';
10582 lgm 127
      }
11558 lgm 128
    } else {
129
      document.getElementsByClassName("menu")[0].style.backgroundColor = "";
130
      document.getElementsByClassName("side-menu")[0].style.display = "none";
131
      document.getElementsByClassName("mask")[0].style.display = "none";
132
      for(var i; i<document.getElementsByClassName('rec-hldr').length;i++){
133
        document.getElementsByClassName('rec-hldr')[i].style.overflowX = 'auto';
134
      }
135
    }
136
  } else {
137
    if (e.currentTarget.className.indexOf("profile") != -1) {
138
      if (document.getElementsByClassName("profile-overlay")[0].style.display != "block") {
139
        document.getElementsByClassName("side-menu")[0].style.display = "none";
140
        document.getElementsByClassName("menu")[0].style.backgroundColor = "";
141
        document.getElementsByClassName("profile")[0].style.backgroundColor = "#ff7201";
142
        document.getElementsByClassName("profile-overlay")[0].style.display = "block";
143
        document.getElementsByClassName("mask")[0].style.display = "block";
144
        document.getElementsByClassName("mask")[0].style.minHeight = Math.max(document.getElementsByClassName('side-menu')[0].clientHeight,document.body.clientHeight) + "px";
145
        for(var i; i<document.getElementsByClassName('rec-hldr').length;i++){
146
        document.getElementsByClassName('rec-hldr')[i].style.overflow = 'hidden';
147
      }
148
      } else {
149
        document.getElementsByClassName("profile")[0].style.backgroundColor = "";
150
        document.getElementsByClassName("profile-overlay")[0].style.display = "none";
151
        document.getElementsByClassName("mask")[0].style.display = "none";
152
      }
153
    } else {
154
      document.getElementsByClassName("profile")[0].style.backgroundColor = "";
155
      document.getElementsByClassName("profile-overlay")[0].style.display = "none";
156
      document.getElementsByClassName("menu")[0].style.backgroundColor = "";
157
      document.getElementsByClassName("side-menu")[0].style.display = "none";
158
      document.getElementsByClassName("mask")[0].style.display = "none";
159
    }
10582 lgm 160
  }
161
}
162
 
163
function getScrollXY() {
11558 lgm 164
  var scrOfX = 0, scrOfY = 0;
165
  if ( typeof (window.pageYOffset) == "number") {
166
    scrOfY = window.pageYOffset;
167
    scrOfX = window.pageXOffset;
168
  } else {
169
    if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
170
      scrOfY = document.body.scrollTop;
171
      scrOfX = document.body.scrollLeft;
172
    } else {
173
      if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
10582 lgm 174
        scrOfY = document.documentElement.scrollTop;
175
        scrOfX = document.documentElement.scrollLeft;
11558 lgm 176
      }
10582 lgm 177
    }
11558 lgm 178
  }
179
  return [scrOfX, scrOfY];
10582 lgm 180
}
181
 
182
function getDocHeight() {
11558 lgm 183
  var D = document;
184
  return Math.max(D.body.scrollHeight, D.documentElement.scrollHeight, D.body.offsetHeight, D.documentElement.offsetHeight, D.body.clientHeight, D.documentElement.clientHeight);
10582 lgm 185
}
186
 
11558 lgm 187
function toggleRefine(e) {
188
  if (e.currentTarget.className.indexOf("sort") != -1) {
189
    if (document.getElementsByClassName("sort-by")[0].style.display == "none") {
190
      document.getElementsByClassName("filter")[0].style.borderTop = "none";
191
      e.currentTarget.style.borderTop = "#FF7201 solid 2px";
192
      document.getElementsByClassName("filter-by")[0].style.display = "none";
193
      document.getElementsByClassName("sort-by")[0].style.display = "block";
194
      document.getElementsByClassName("refine-mask")[0].style.minHeight = document.getElementById("appendlist").clientHeight + "px";
195
      document.getElementsByClassName("refine-mask")[0].style.display = "block";
196
    } else {
197
      e.currentTarget.style.borderTop = "none";
198
      document.getElementsByClassName("sort-by")[0].style.display = "none";
199
      document.getElementsByClassName("refine-mask")[0].style.display = "none";
10582 lgm 200
    }
11558 lgm 201
  } else {
202
    if (e.currentTarget.className.indexOf("filter") != -1) {
203
      if (document.getElementsByClassName("filter-by")[0].style.display == "none") {
204
        document.getElementsByClassName("sort")[0].style.borderTop = "none";
205
        e.currentTarget.style.borderTop = "#FF7201 solid 2px";
206
        document.getElementsByClassName("sort-by")[0].style.display = "none";
207
        document.getElementsByClassName("filter-by")[0].style.display = "block";
208
        document.getElementsByClassName("refine-mask")[0].style.minHeight = document.getElementById("appendlist").clientHeight + "px";
209
        document.getElementsByClassName("refine-mask")[0].style.display = "block";
210
      } else {
211
        e.currentTarget.style.borderTop = "none";
212
        document.getElementsByClassName("filter-by")[0].style.display = "none";
213
        document.getElementsByClassName("refine-mask")[0].style.display = "none";
214
      }
215
    } else {
216
      if (document.getElementsByClassName("refine-mask")[0].style.display == "block") {
217
        document.getElementsByClassName("sort")[0].style.borderTop = "none";
218
        document.getElementsByClassName("filter")[0].style.borderTop = "none";
219
        document.getElementsByClassName("sort-by")[0].style.display = "none";
220
        document.getElementsByClassName("filter-by")[0].style.display = "none";
221
        document.getElementsByClassName("refine-mask")[0].style.display = "none";
222
      }
10582 lgm 223
    }
224
  }
225
}
226
 
11558 lgm 227
function nouisilder_init() {
228
  var left = $($(".noUiSlider").find("a")[0]).offset().left;
229
  var right = $($(".noUiSlider").find("a")[1]).offset().left;
230
  var width = $(".noUiSlider").width();
231
  $("#exTO").css({
232
    left : ((left / width * 100) - 8) + "%"
233
  });
234
  $("#exFR").css({
235
    left : ((right / width * 100) - 12) + "%"
236
  });
10582 lgm 237
}
238
 
239
var lastev;
11558 lgm 240
function fireFilter(e) {
241
  if (e.target.className == "filter-name") {
242
    if ((lastev != undefined) && (lastev != e.target.nextElementSibling)) {
243
      lastev.style.display = "none";
244
      lastev.previousElementSibling.childNodes[1].innerHTML = "+";
10582 lgm 245
    }
11558 lgm 246
    if (e.target.nextElementSibling.style.display == "block") {
247
      e.target.nextElementSibling.style.display = "none";
248
      e.target.childNodes[1].innerHTML = "+";
249
    } else {
250
      e.target.nextElementSibling.style.display = "block";
11119 lgm 251
      var span = e.target.childNodes[1];
11558 lgm 252
      span.innerHTML = "-";
253
      scrollTo(0, e.target.offsetTop);
10582 lgm 254
    }
255
  }
11558 lgm 256
  $("#exTO").css("left", (($(".noUiSlider").find("a:nth-of-type(1)").offset().left - 40) / $(".noUiSlider").width()) * 100 + "%");
257
  $("#exFR").css("left", (($(".noUiSlider").find("a:nth-of-type(2)").offset().left - 40) / $(".noUiSlider").width()) * 100 + "%");
10582 lgm 258
  lastev = e.target.nextElementSibling;
259
}
260
 
11558 lgm 261
if (document.getElementsByClassName("mobile-re")[0]) {
262
  var mb = document.getElementsByClassName("mobile-re")[0];
263
  var dt = document.getElementsByClassName("dth-re")[0];
264
  mb.addEventListener("click", toggle);
265
  dt.addEventListener("click", toggle);
10582 lgm 266
}
11558 lgm 267
function toggle() {
268
  if (document.getElementById("error").style.display == "block") {
269
    document.getElementById("error").style.display = "none";
270
  }
271
  var cl = document.getElementsByClassName("selected")[0].className.replace(/\bselected\b/, "");
272
  var ak = this.className.indexOf("dth-re");
273
  if (ak == -1) {
10582 lgm 274
    document.getElementsByClassName(cl)[0].className = cl;
11558 lgm 275
    this.className += " selected";
276
    document.getElementsByClassName("dth-recharge")[0].style.display = "none";
277
    document.getElementsByClassName("mobile-recharge")[0].style.display = "block";
278
    localStorage.setItem("rechargeValue", "1");
279
  } else {
10582 lgm 280
    document.getElementsByClassName(cl)[0].className = cl;
11558 lgm 281
    this.className += " selected";
282
    document.getElementsByClassName("mobile-recharge")[0].style.display = "none";
283
    document.getElementsByClassName("dth-recharge")[0].style.display = "block";
284
    localStorage.setItem("rechargeValue", "2");
10582 lgm 285
  }
286
}
11558 lgm 287
 
288
function changeRecharge(value) {
289
  if (value == 1) {
290
    if ( typeof _gaq != "undefined" && _gaq != null) {
291
      _gaq.push(["_trackEvent", "Recharge", "Recharge Type", "Mobile"]);
10953 lgm 292
    }
10582 lgm 293
  }
11558 lgm 294
  if (value == 2) {
295
    if ( typeof _gaq != "undefined" && _gaq != null) {
296
      _gaq.push(["_trackEvent", "Recharge", "Recharge Type", "DTH"]);
10953 lgm 297
    }
10582 lgm 298
  }
10674 lgm 299
  localStorage.setItem("rechargeValue", value);
10582 lgm 300
}
11558 lgm 301
 
302
function changeCaptcha() {
303
  var url = base_url + "checkout/changeCaptcha";
304
  microAjax(url, function(res) {
305
    if (res != "") {
306
      data = JSON.parse(res);
307
      if (document.getElementById("captcha").style.display == "none") {
308
        document.getElementById("captcha").style.display = "block";
309
      }
310
      if (document.getElementById("clickCaptcha").style.display == "none") {
311
        document.getElementById("clickCaptcha").style.display = "block";
312
      }
313
      if (document.getElementById("captcha_response_box").style.display == "none") {
314
        document.getElementById("captcha_response_box").style.display = "block";
315
      }
316
      document.getElementById("captcha").innerHTML = '<img src="data:image/png;base64,' + data.imagedata + '"/>';
317
    } else {
318
      return false;
319
    }
320
  });
10582 lgm 321
}
11558 lgm 322
 
323
function removeScript(value) {
324
  var newValue = value.replace(/(<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>)|(<style\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/style>)|(<\?[a-z]*(\s[^>]*)?\?(>|$)|<!\[[a-z]*\[|\]\]>|<!DOCTYPE[^>]*?(>|$)|<!--[\s\S]*?(-->|$)|<[a-z?!\/]([a-z0-9_:.])*(\s[^>]*)?(>|$))/gi, "");
10674 lgm 325
  var originalLength = value.length;
326
  var newLength = newValue.length;
11558 lgm 327
  if (originalLength == newLength) {
10674 lgm 328
    return true;
11558 lgm 329
  } else {
10674 lgm 330
    return false;
331
  }
332
}
11194 lgm 333
 
11558 lgm 334
function showAns(e) {
335
  if (e.currentTarget.getAttribute("data-status") == "contracted") {
336
    e.currentTarget.setAttribute("data-status", "expanded");
337
    if (e.currentTarget.nextElementSibling.style.display == "none") {
338
      e.currentTarget.nextElementSibling.style.display = "block";
11130 lgm 339
    }
11558 lgm 340
  } else {
341
    if (e.currentTarget.getAttribute("data-status") == "expanded") {
342
      e.currentTarget.setAttribute("data-status", "contracted");
343
      if (e.currentTarget.nextElementSibling.style.display == "block") {
344
        e.currentTarget.nextElementSibling.style.display = "none";
345
      }
11130 lgm 346
    }
347
  }
11677 lgm 348
}
349