1// JavaScript Document 2var windowWidth = $(window).width(), mobileVerifyTime = parseInt("60"); 3/*jsè¯è¨å */ 4function L() { 5 var userArguments = Array.prototype.slice.call(arguments);//强è¡è½¬æ¢ææ°ç» 6 var tempArr = new Array();//ä¸´æ¶æ°ç» 7 tempArr = userArguments;// 8 var first = tempArr[0];//æ¿å°ç¬¬ä¸ä¸ªåæ° 9 tempArr.shift(); //å é¤ç¬¬ä¸ä¸ªåæ° 10 var tempstr = Language[first]; 11 if (Language && tempstr) { 12 if (tempArr.length > 0) { 13 for (var x in tempArr) { 14 tempstr = tempstr.replace('%s', tempArr[x]);//æ¿æ¢æç¹æ®å½æ° 15 } 16 } 17 } 18 return tempstr; 19} 20function is_mobile_request() { 21 var is_mobile = false; 22 if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))) { 23 if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { 24 is_mobile = true; 25 } else { 26 is_mobile = false; 27 } 28 29 } 30 return is_mobile; 31} 32//å¶ä¿ç2ä½å°æ°ï¼å¦ï¼2ï¼ä¼å¨2åé¢è¡¥ä¸00.å³2.00 33function toDecimal2(x) { 34 var f = parseFloat(x); 35 if (isNaN(f)) { 36 return false; 37 } 38 var f = Math.round(x * 100) / 100; 39 var s = f.toString(); 40 var rs = s.indexOf('.'); 41 if (rs < 0) { 42 rs = s.length; 43 s += '.'; 44 } 45 while (s.length <= rs + 2) { 46 s += '0'; 47 } 48 return s; 49} 50 51 52// ç¨ä½ sort æåºç¨ 53function sortNumber(a, b) { 54 return a - b; 55} 56 57/** 58 * å å ¥è´ç©è½¦çå¨ç»ææ 59 * @param obj $(this) 对象 60 * @param string ååç缩ç¥å¾è·¯å¾ 61 */ 62function cartFly($this, thumbImg, goodsNum) { 63 var $cartObject = $("#cart_icon"); 64 var offset = $cartObject.offset(); 65 var flyer = $('<img class="u-flyer" src="' + thumbImg + '">'); 66 flyer.fly({ 67 start: { 68 left: $this.offset().left + 20, 69 top: $this.offset().top - $(document).scrollTop() 70 }, 71 end: { 72 left: offset.left + 80, 73 top: offset.top - $(document).scrollTop(), 74 width: 0, 75 height: 0 76 }, 77 onEnd: function () { 78 // $this.css("cursor", "default").unbind('click'); 79 $cartObject.find("span").html( goodsNum); 80 $cartObject.parent("li").addClass("open").find(".cart_menu").find("dl").hide(); 81 $cartObject.parent("li").find("dl").hide(); 82 $("#msg").show().animate({width: '270px'}, 200).fadeOut(2000, '', function () { 83 $cartObject.parent("li").removeClass("open").find("dl").show(); 84 }); 85 this.destory(); 86 } 87 }); 88} 89 90/** 91 * +------------------------------------------------------------------------------------ 92 * å å ¥è´ç©è½¦æ¹æ³ 93 * +------------------------------------------------------------------------------------ 94 * 95 * @param type $this è´ç©è½¦å¯¹è±¡ 96 * @param type cartParam è´ç©è½¦åæ° 97 98 */ 99function addCart($this, cartParam) { 100 //è·åç»åçåå 101 if($('.bundle_goods_id').length>0){ 102 var bundle_info = ""; 103 $('.bundle_goods_id').each(function (e){ 104 bundle_info += $(this).val()+":::"; 105 }) 106 cartParam.bundleInfo = bundle_info; 107 //å å ¥è¿ä¸ªç»åååçæ è¯ï¼å³ ç¸åç»åæ¯ä¸ä¸ªç¬ç«çSKUï¼ä¸åç»åéè¦åå¼ 108 var cleartext = cartParam.goods_id + '_' + cartParam.bundleInfo; 109 cartParam.bundleUniqueId = btoa(cleartext); 110 } 111 112 // console.log('asdasda');return ; 113 var index = layer.load(1); 114 $.ajax({
115 type: "POST", 116 url: _ROOT_ + 'Cart/ajaxAddCart', 117 dataType: 'json', 118 data: cartParam, 119 success: function (data) { 120 layer.close(index); 121 if (data.code == 1) { 122 add_google_gtag_event('add_to_cart',cartParam); 123 add_facebook_conversion('addcart',cartParam); 124 add_yahoo_conversion('addcart',cartParam); 125 add_facebook_mkq_conversion('addcart',cartParam); 126 add_google_step_conversion(1); 127 if (cartParam.dataAction == 0) { //æ·»å è´ç©è½¦ 128 window.location.href = _ROOT_ + "Cart/index" 129 } else if (cartParam.dataAction == 1) { //ç´æ¥è´ä¹°ï¼è·³è½¬å°è´ç©è½¦ 130 if(uid == 0){ 131 layer.close(index); 132 // layer.confirm(Language['PLEASE_LOGIN_FIRST'],{btn:[Language['LOGIN_ACCOUNT'],Language['DO_NOT_LOGIN']],title:Language['LOGIN_ACCOUNT']},function (){ 133 // openLogin("/Order/add"); 134 // },function (){ 135 // window.location.href = _ROOT_ + "Order/add"; 136 // }) 137 window.location.href = _ROOT_ + "Order/add"; 138 }else { 139 window.location.href = _ROOT_ + "Order/add"; 140 } 141 } 142 } else { 143 if(data.msg){ 144 layer.alert(data.msg, {'icon': 2, title: L('PROMPT_MESSAGE'), btn: [L('DETERMINE')]}) 145 }else { 146 addCart($this, cartParam) 147 } 148 } 149 } 150 }); 151} 152 153 function pay_now(cartParam,payment_info){ 154 if($('.bundle_goods_id').length>0){ 155 var bundle_info = ""; 156 $('.bundle_goods_id').each(function (e){ 157 bundle_info += $(this).val()+":::"; 158 }) 159 cartParam.bundleInfo = bundle_info; 160 var cleartext = cartParam.goods_id + '_' + cartParam.bundleInfo; 161 cartParam.bundleUniqueId = btoa(cleartext); 162 } 163 var auto_active_code =''; 164 if($('.dct-copy').length > 0){ 165 auto_active_code = $('.dct-copy').prev().text().split(':')[1] 166 } 167 $.ajax({
168 type: "POST", 169 url: _ROOT_ + 'Cart/ajaxAddCart', 170 dataType: 'json', 171 data: cartParam, 172 success: function (data) { 173 if (data.code == 1) { 174 add_google_conversion('addcart'); 175 add_facebook_conversion('addcart',cartParam); 176 add_yahoo_conversion('addcart',cartParam); 177 add_facebook_mkq_conversion('addcart',cartParam); 178 payment_info = encodeURI(payment_info); 179 if(auto_active_code){ 180 var url_temp = _ROOT_+"order/place_order?param="+window.btoa(payment_info)+"&promoCode="+auto_active_code; 181 182 }else{ 183 var url_temp = _ROOT_+"order/place_order?param="+window.btoa(payment_info); 184 185 } 186 if($("#pc-input")?.val()){ 187 url_temp += '&promoCode='+$("#pc-input").val(); 188 } 189 window.location.href = url_temp 190 } else { 191 layer.alert(data.msg, {'icon': 2, title: L('PROMPT_MESSAGE'), btn: [L('DETERMINE')]}) 192 } 193 } 194 }); 195 } 196/*<!-- Event snippet for Add to Cart (Ads) conversion page -->*/ 197function add_google_conversion(type){ 198 if(typeof gtag !== 'undefined') 199 { 200 if(type=='addcart'){ 201 gtag('event', 'conversion', {'send_to': _AW_ADDCART_CONVERSION}); 202 } 203 if(type=='register'){ 204 gtag('event', 'conversion', {'send_to': _AW_REG_CONVERSION}); 205 } 206 } 207} 208 209function add_google_step_conversion(step){ 210 if(typeof ga !== 'undefined' && _LANG_ == 'it') 211 { 212 ga('require', 'ec'); 213 214 ga('ec:setAction', 'checkout', { // Transaction details are provided in an actionFieldObject. 215 'step':step, 216 'affiliation': 'xp-pen', // Affiliation (string).s 217 }); 218 219 ga('send', 'pageview'); // Send transaction data with initial pageview. 220 221 } 222} 223 224function add_facebook_conversion(type,data){ 225 if(typeof fbq !== 'undefined') 226 { 227 if(type=='addcart'){ 228 fbq('track', 'AddToCart', 229 { 230 content_ids:data.goodsId, 231 content_type:"product", 232 contents: [{'id': data.goodsId, 'quantity': data.goodsNum}] 233 } 234 ); 235 } 236 } 237} 238 239function add_yahoo_conversion(type,data){ 240 if(typeof dotp !== 'undefined') 241 { 242 if(type=='addcart') { 243 dotq.push( 244 { 245 'projectId': '10000', 246 'properties': { 247 'pixelId': '10092007', 248 'qstrings': { 249 'et': 'custom', 250 'ea': 'AddToCart', 251 'product_id': data.goodsId 252 } 253 } 254 } ); 255 } 256 } 257 258} 259 260function add_facebook_mkq_conversion(type,data){ 261 if(typeof mkq !== 'undefined') 262 { 263 if(type=='addcart'){ 264 mkq('track', 'AddToCart', 265 { 266 content_ids:data.goodsId, 267 content_type:"product", 268 contents: [{'id': data.goodsId, 'quantity': data.goodsNum}] 269 } 270 ); 271 } 272 } 273} 274 275function add_google_gtag_event(type,data){ 276 console.log('type',type); 277 console.log('data',data); 278 if(typeof gtag !== 'undefined'){ 279 switch (type){ 280 case 'select_item': 281 gtag('event', 'select_content', { 282 "content_type": "product", 283 "items": data, 284 }); 285 break; 286 case 'view_item': 287 gtag('event', 'view_item', { 288 "content_type": "product", 289 "items": data, 290 }); 291 break; 292 case 'add_to_cart': 293 294 var goods_event_data = getSelectedGoodsSpecData(data); 295 console.log('add_to_cart',goods_event_data); 296 gtag('event', 'add_to_cart', { 297 "items": goods_event_data, 298 }); 299 break; 300 case 'purchase': 301 // in successed page noneed add 302 break; 303 case 'view_promotion': 304 $('.promotion_banner').click(function (){ 305 306 }) 307 break; 308 case 'view_cart': 309 case 'remove_from_cart': 310 case 'select_promotion': 311 case 'view_item_list': 312 case 'add_shipping_info': 313 case 'checkout_progress': 314 case 'begin_checkout': 315 case 'add_payment_info': 316 gtag('event', type, { 317 "items": data, 318 }); 319 break; 320 default: 321 var [event_name, pay_code] = type.split("@"); 322 if(event_name == 'add_payment'){ 323 gtag('event', type, { 324 "items": data, 325 }); 326 } 327 break; 328 } 329 330 331 } 332} 333
334function sendGaAddPaymentInfo(pay_code,data){ 335 try { 336 //new add view cart 337 var event_param = []; 338 event_param['payment_type'] = pay_code; 339 let total_amount = 0; 340 341 data.forEach(function (i,v){ 342 total_amount += parseFloat(v.price); 343 }) 344 event_param['value'] = total_amount; 345 event_param['currency'] = order_currency; 346 event_param['items'] = data; 347 add_google_gtag_event('add_payment_info',event_param); 348 }catch (err){ 349 console.log('err',err); 350 } 351 352} 353 354 355function getSelectedGoodsSpecData(data){ 356 try { 357 var ga_event = []; 358 let price = $("#add_cart_button").attr('data-goods-price'); 359 let goods_id = $("#add_cart_button").attr('data-goods-id'); 360 let item_name = $('.goods-info-inner>.bq_h2_new').html(); 361 let quantity = $("#goods_num").val(); 362 363 if(typeof data.bundleInfo !== 'undefined'){ 364 //has bundle_goods 365 $(".essential-list>.checkedBtn:checked").each(function (e,v){ 366 var temp_id = $(v).attr('id'); 367 var temp_name = $(v).siblings('.essential-label').find('.essential-product-name').html().match(/(.+?)\s?<br>/)?.[1]; 368 var temp_price = $(v).siblings('.bundle_sku_list').children('.bundle_goods_id').attr('data-bundle-goods-price').match(/\d+(\.\d+)?/g)?.[0]; 369 temp = { 370 'value':temp_price, 371 'item_id':temp_id, 372 'item_name':temp_name, 373 'quantity':quantity, 374 'price':temp_price, 375 }; 376 ga_event.push(temp) 377 }) 378 } 379 380 var temp = { 381 'value':price, 382 'item_id':goods_id, 383 'item_name':item_name, 384 'quantity':quantity, 385 'price':price, 386 } 387 ga_event.push(temp) 388 return ga_event; 389 }catch (err){ 390 console.log('err',err) 391 } 392 393} 394 395function sendAjaxViewCartData(){ 396 try { 397 //new add view cart 398 var cart_event_param = []; 399 $('.nav_cart_list > li').each(function (e,v){ 400 if(!$(v).is(":empty")){ 401 let price = $(v).children('.nav_cart_text').children('.nav_cart_text_price').children('.cart_pri_span1').html().match(/\d+(\.\d+)?[^<]?/g)[0]; 402 let goods_name = $(v).children('.nav_cart_text').children('.nav_cart_text_title').children('a').html(); 403 let quantity = $(v).children('.nav_cart_text').children('.nav_cart_text_price').children('.cart_pri_span1').children('.nav_price_num').html(); 404 if(typeof quantity == 'undefined'){ 405 quantity = $(v).children('.nav_cart_text').children('.nav_cart_text_price').children('.nav_price_num').html(); 406 } 407 let currency = $(v).children('.nav_cart_text').children('.nav_cart_text_title').attr('data-currency'); 408 var temp = { 409 'value':price, 410 'item_name':goods_name, 411 'quantity':quantity, 412 'price':price, 413 'currency':currency 414 } 415 cart_event_param.push(temp) 416 } 417 418 }) 419 if(cart_event_param.length>0){ 420 add_google_gtag_event('view_cart',cart_event_param); 421 } 422 }catch (err){ 423 console.log('err',err); 424 } 425 426} 427 428 429function sendViewCartData(){ 430 try { 431 //new add view cart 432 var cart_event_param = []; 433 $('.form_content_tr').each(function (e,v){ 434 if(!$(v).is(":empty")){ 435 let price = $(v).children('.product_name').children('.shop').children('.product_price').children('.shop_price').html().match(/\d+(\.\d+)?[^<]?/g)[0]; 436 let goods_name = $(v).children('.product_name').children('.shop').children('.text-single').html(); 437 let quantity = $(v).children('.product_number').children('.goods_num_text').children('.text_box').val(); 438 let currency = $(v).children('.product_name').attr('data-currency'); 439 var temp = { 440 'value':price, 441 'item_name':goods_name, 442 'quantity':quantity, 443 'price':price, 444 'currency':currency 445 } 446 cart_event_param.push(temp) 447 } 448 449 }) 450 if(cart_event_param.length>0){ 451 add_google_gtag_event('view_cart',cart_event_param); 452 } 453 }catch (err){ 454 console.log('err',err); 455 } 456 457} 458 459function sendDelCartItemData(item){ 460 try{ 461 var cart_event_param = []; 462 let price = item.find('.shop_price').html().match(/\d+(\.\d+)?[^<]?/g)[0]; 463 let goods_name = item.find('.text-single').html(); 464 let quantity = item.find('.text_box').val(); 465 let currency = item.find('.product_name').attr('data-currency'); 466 if(typeof currency === 'undefined'){ 467 currency = item.parents('.product_name').attr('data-currency'); 468 } 469 470 var temp = { 471 'value':price, 472 'item_name':goods_name, 473 'quantity':quantity, 474 'price':price, 475 'currency':currency 476 } 477 cart_event_param.push(temp) 478 if(cart_event_param.length>0){ 479 add_google_gtag_event('remove_from_cart',cart_event_param); 480 } 481 }catch (err){ 482 483 } 484 485} 486 487function returnGaOrderGoodsEvents(){ 488 var items = []; 489 if(typeof orderGoodsListData !== 'undefined' && orderGoodsListData.length>0){ 490 orderGoodsListData.forEach(function (v){ 491 let temp = { 492 "currency":v.currency, 493 "item_price":v.goodsInfo.price, 494 "item_id":v.goods_id, 495 "item_name":v.goodsInfo.goods_name, 496 "item_quantity":v.goods_num, 497 }; 498 items.push(temp); 499 }) 500 } 501 return items; 502} 503 504function sendGaBeginCheckout(){ 505 try { 506 var event_param = []; 507 $(".goods-info-content").each(function (e,v) { 508 if(typeof $(v).attr('data-mobile-goods-div') === 'undefined' ){ 509 let temp = {
510 "currency":$(v).attr('data-currency'), 511 "item_price":$(v).find('.order-price-list').attr('data-item-price'), 512 "item_id":$(v).attr('data-goods-id'), 513 "item_name":$(v).find('.padding8>a').attr('title'), 514 "item_quantity":$(v).find('.quantity-form ').html().match(/\d+(\.\d+)?[^<]?/g)[0], 515 }; 516 event_param.push(temp); 517 } 518 }) 519 if(event_param.length>0){ 520 add_google_gtag_event('begin_checkout',event_param); 521 } 522 }catch (err){ 523 console.log('err',err) 524 } 525 526} 527function getGaGoodsInfo(){ 528 var event_param = []; 529 $(".goods-info-content").each(function (e,v) { 530 let temp = { 531 "currency":$(v).attr('data-currency'), 532 "item_price":$(v).find('.order-price-list').attr('data-item-price'), 533 "item_id":$(v).attr('data-goods-id'), 534 "item_name":$(v).find('.padding8>a').attr('title'), 535 "item_quantity":$(v).find('.quantity-form ').html().match(/\d+(\.\d+)?[^<]?/g)[0], 536 }; 537 event_param.push(temp); 538 }) 539 return event_param; 540} 541 542function sendGaAddShippingInfo(){ 543 try { 544 var event_param = []; 545 var shipping_info = JSON.parse($("#show_shipping_list").find(".active").find('.shipping_method').val()); 546 var goods_item = getGaGoodsInfo(); 547 event_param = { 548 "currency":$("#show_shipping_list").attr('data-currency'), 549 "shipping_price":$("#show_shipping_list").find(".active").find('.iuyny_1').children('.bq_5').html()?.match(/\d+(\.\d+)?[^<]?/g)?.[0]||"0", 550 "shipping_tier":shipping_info.shipping_name, 551 "goods_items":goods_item 552 }; 553 add_google_gtag_event('add_shipping_info',event_param); 554 }catch (err){ 555 console.log('err',err) 556 } 557} 558 559/* 560* ç¹å»æ¶èåå 561* @param intval goods_id ååID 562*/ 563function collect_goods(goods_id) { 564 $.ajax({
565 type: "POST", 566 dataType: "json", 567 url: _ROOT_ + "Goods/collect_goods",//+tab, 568 data: {"goods_id": goods_id}, 569 success: function (data) { 570 if (data.code == -1) { 571 login_box(data.msg); 572 } else if (data.code == 1) { 573 layer.msg(data.msg, {icon: 1}); 574 } else { 575 layer.msg(data.msg, {icon: 2}); 576 } 577 } 578 }); 579} 580 581 582//ç¨æ·ç»å½å¼¹åºæ¡ 583function login_box(tip=L("PLEASE_LOGIN_FIRST")) { 584 // ç§»å¨ç«¯è·³è½¬ä¸ä½¿ç¨å¼¹çªç»å½ 585 if (navigator.userAgent.match(/mobile/i)) { 586 window.location.href = $('#openUser').find('a').attr('href'); 587 return false; 588 } 589 if (uid == 0) { 590 $.ajax({ 591 type: 'POST', 592 url: _SSO_DOMAIN_ + '/login/is_login?lang='+_LANG_, 593 xhrFields: {withCredentials: true}, 594 crossDomain: true, 595 async: true, 596 dataType: 'json', 597 success:function(data) { 598 if (data.code == 1) { 599 600 //ç»å½ 601 $.post("/sso.login/index", data.data, function(ret) { 602 if (ret.code == 1) { 603 location.reload(); //å·æ°å½åé¡µé¢ 604 } 605 }) 606 } 607 if (data.code == 0) { 608 layer.open({ 609 title: '', 610 type: 2, 611 closeBtn: 0, //å ³éå³ä¸è§å ³éæé® 612 // scrollbar: false, // ç¶é¡µé¢ æ»å¨æ¡ ç¦æ¢ 613 area: ['460px', '700px'], 614 fix: true, //åºå® 615 shadeClose: true, //ç¹å»å¼¹å±å¤åºåå ³é 616 content: [$('#nav_accounts').find('a').attr('href')+'&iframeLogin=1', 'no'], 617 success:function(){ 618 window.addEventListener ('message', function(event) { 619 // ç»å½æå 620 if (event.data == 'login_success') { 621 layer.closeAll(); //å ³éå½åå¼¹çª 622 location.reload(); //å·æ°å½åé¡µé¢ 623 } 624 // ç»å½å¤±è´¥ 625 if (event.data == 'login_error') { 626 layer.closeAll(); //å ³éå½åå¼¹çª 627 } 628 }) 629 } 630 }) 631 } 632 } 633 }) 634 } else { 635 layer.alert(tip, {icon: 2, title: L('PROMPT_MESSAGE'), btn: ['OK']}); 636 } 637} 638 639/** 640 * æå¼ç»å½çªå£ 641 */ 642function openLogin(jumpUrl) { 643 var jumpUrl = jumpUrl !== undefined ? jumpUrl: window.location.href; 644 var url = '/login/index_pop'; 645 layer.open({ 646 type: 2, 647 shadeClose: true, //å¼å¯é®ç½©å ³é 648 title: false, 649 area: ['400px'], 650 fixed: true, 651 scrollbar: false, 652 content: url + "?ver=" + Math.random() + "&jumpUrl=" + jumpUrl, 653 success: function (layerObject, index) { 654 var sso_login = layer.getChildFrame('#sso_login', index); 655 if(sso_login){ 656 window.parent.location = sso_login.val(); 657 }else { 658 layer.style(index, { 659 height: '500px', 660 top: '18%' 661 }); 662 layer.iframeAuto(index); 663 } 664 } 665 }); 666} 667 668function getStrLength(str) { 669 var len = str.length; 670 var reLen = 0; 671 for (var i = 0; i < len; i++) { 672 if (str.charCodeAt(i) >= 0 || str.charCodeAt(i) <= 128) { 673 // å ¨è§ 674 reLen += 1; 675 } else { 676 reLen += 2; 677 } 678 } 679 return reLen; 680} 681 682//计ç®å符æ°(200个åå ï¼ç¨äºå夿¡) 683function count_str(value, total_count) { 684 var len = getStrLength(value); 685 var count = total_count - len; 686 if (count < 0) { 687 count = -count; 688 return L('HAS_MORE_THAN', '<span class="red">' + count + '</span>');//'å·²ç»è¶ è¿<span class="red">'+count+'</span>å'; 689 } else { 690 if (len < 5) { 691 count = 5 - len; 692 return L('LEAST_WORDS', '<span>' + count + '</span>');//'æå°15åï¼è¿éè¦è¾å ¥<span>'+count+'</span>å'; 693 } else { 694 count = total_count - len; 695 return L('ENTER_THE_WORD', '<span>' + count + '</span>');//'è¿å¯ä»¥è¾å ¥<span>'+count+'</span>å'; 696 } 697 } 698} 699 700/* 701 *æ£æ¥é®ç®±æ ¼å¼æ¯å¦æ£ç¡® 702*/ 703function valiate_email(email) { 704 if ($.trim(email).length != 0) { 705 reg = /^[A-Za-z0-9]+([A-Za-z0-9._+-])*@[a-z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/i; 706 if (!reg.test(email)) { 707 return false; 708 } 709 } 710 return true; 711} 712 713/* 714 *æ£æ¥çµè¯å·æ¯æ¯å¦æ£ç¡® 715*/ 716function validate_phone_number(str) { 717 if ($.trim(str).length != 0) { 718 // reg = /^1[3-9]\d{9}$/; 719 reg = /^[0-9]*$/; 720 if (!reg.test(str)) { 721 return false; 722 } 723 } 724 return true; 725} 726 727//æ¥è¯¢é®ç¼çæ£å 728function validate_zipcode(str) { 729 if ($.trim(str).length != 0) { 730 reg = /^[0-9a-zA-Z- ]+$/; 731 if (!reg.test(str)) { 732 return false; 733 } 734 } 735 return true; 736} 737 738/** 739 * [closeIframe å ³éç¶çº§iframe] 740 */ 741function closeIframe() { 742 var index = parent.layer.getFrameIndex(window.name); //è·åçªå£ç´¢å¼ 743 parent.layer.close(index); 744} 745 746/** 747 * ç»éä¸ççç¹è¿è¡é«äº® 748 * @param catid 749 */ 750function selectNavPosition(catid) { 751 $(".nav_miaodian").find("li").each(function(index, element) { 752 if($(element).attr("data-jump")==catid){ 753 $(element).addClass("ul_active"); 754 }else{ 755 $(element).removeClass("ul_active"); 756 } 757 });
758} 759 760//å®ä½ä¸é´ççç¹ 761function positionNav(catid) { 762 var top = $(".scrollspy-example div[id='" + catid + "']").offset().top; 763 $('html, body').animate({scrollTop: top-parseInt($(window).height()/5)}, 500); 764 selectNavPosition(catid); 765 return false; 766} 767 768//ä¿å伿 å¸ 769function saveCoupon(couponId, couponType, goodsId) { 770 if (parseInt(uid) == 0) { 771 login_box(L('PLEASE_LOGIN_FIRST')); 772 return false; 773 } 774 var param = {"couponId": couponId, "couponType": couponType, "goodsId": goodsId}; 775 var index = layer.load(1); 776 $.ajax({ 777 type: "POST", 778 url: _ROOT_ + 'Coupon/ajax_clip_coupons', 779 dataType: 'json', 780 data: param, 781 success: function (data) { 782 layer.close(index); 783 if (data.code == -1) { 784 login_box(data.msg); 785 } else if (data.code == 1) { 786 layer.msg(data.msg, {icon: 1}); 787 } else { 788 layer.alert(data.msg, {'icon': 2, title: L('PROMPT_MESSAGE'), btn: [L('DETERMINE')]}) 789 } 790 } 791 }); 792} 793 794 795//æå¼ä¼æ å¸çè¯¦ç» 796function openCouponDetail(couponId, couponType, goodsId) { 797 layer.open({ 798 type: 2, 799 title: "Coupon Details", 800 closeBtn: 1, 801 skin: 'layui-layer-rim', 802 anim: 0, 803 shade: [0.5,"#333"], 804 area: ['560px', "500px"], 805 content: _ROOT_ + 'Coupon/detail?couponId=' + couponId + "&couponType=" + couponType + "&goodsId=" + goodsId, 806 }); 807} 808 809//页é¢å è½½å 容 810$(function () { 811 $(document).off('click.bs.dropdown.data-api'); 812 //èªå¨å±å¼ 813 814 815 816 //ç¹å»ç¼©ç¥å¾æ¾ç¤ºå¤§å¾ 817 $(document).on("click", ".content_images .slide_box", function () { 818 var content_images = $(this).parents(".content_images"); 819 if ($(this).hasClass("current")) { 820 content_images.find(".images_box").hide("fast"); 821 content_images.find(".slide_box").removeClass("current"); 822 } else { 823 $(this).addClass("current").siblings().removeClass("current"); 824 content_images.find(".images_box").show("fast").find("img").attr("src", $(this).attr("data-src")); 825 } 826 }); 827 828 //ç¹å»å¤§å¾éèå¤§å¾ 829 $(document).on("click", ".content_images .images_box", function () { 830 var content_images = $(this).parents(".content_images"); 831 $(this).hide("fast"); 832 content_images.find(".slide_box").removeClass("current"); 833 }); 834 835 //å¿«æ·æ·»å è´ç©è½¦ 836 $(".add_cart_box_jie").click(function () { 837 var $this = $(this); 838 var thumbImg = $this.attr("data-thumb"), goodsId = $this.attr("data-goods-id"), 839 dataAction = $this.attr("data-action"); 840 var goodsNum = parseInt($("#goods_num").val()); 841 goodsNum = !isNaN(goodsNum) ? goodsNum : 1; 842 var extraInfo = get_select_extraService(); 843 844 var cartParam = { 845 goodsId: goodsId, 846 goodsNum: goodsNum, 847 thumbImg: thumbImg, 848 skuId: get_select_sku_id(), 849 extraId: extraInfo['extra_id'], 850 dataAction: dataAction, 851 distributionType: 0, 852 distributionTime: '' 853 }; 854 addCart($this, cartParam); 855 }); 856 857 //é¢å伿 å¸ 858 $(document).on("click", ".clip_coupon", function () { 859 var $this = $(this); 860 var couponType = $this.attr("data-couponType"), couponId = $this.attr("data-couponId"), 861 goodsId = $this.attr("data-goodsId"); 862 saveCoupon(couponId, couponType, goodsId); 863 }); 864 865 //å¼¹åºä¼æ å¸ä¿¡æ¯ 866 $(document).on("click", ".cart_coupon_open", function () { 867 var data_tumb = $(this).attr("data-tumb"), data_condition = $(this).attr("data-condition"), 868 data_save = $(this).attr("data-save"); 869 var html = '<div class="coupon_open_boxs">\ 870 <div class="img"><img src="' + data_tumb + '" border="0" width="60"></div>\ 871 <div class="coupon_open_info">\ 872 <h3>' + data_save + '</h3>\ 873 <div class="user_condition">' + data_condition + ' </div>\ 874 <a href="#">Terms and Conditions </a>\ 875 <span class="Checkout">(Discount at Checkout)</span>\ 876 </div>\ 877 </div>'; 878 layer.tips(html, $(this), { 879 tips: [3, '#F5F5F5'], 880 time: 0, 881 area: ['380px', 'auto'], 882 closeBtn: 1 883 }); 884 }) 885 886 //ä¼åä¸å¿å·¦ä¾§çæå 887 $('.userMenu .menuTitle').click(function () { 888 var $ul = $(this).parents(".span").find('ul'); 889 if ($ul.is(":hidden")) { 890 $ul.show(); 891 } else { 892 $ul.hide(); 893 } 894 });
895 var scroll_width = $(window).width(); 896 $(window).resize(function () { 897 scroll_width = $(window).width(); 898 }) 899 var start_height = $(document).scrollTop(); 900 var navigation_height = $('#navbar_header_height').outerHeight(); 901 /* js代ç */ 902 $(window).on('scroll', function () { 903 // 夿æ¾ç¤ºè¿æ¯éèæé® 904 if ($(this).scrollTop() >= $(this).height()/3) { 905 $('#backTop').fadeIn('slow'); 906 } else { 907 $('#backTop').fadeOut('slow'); 908 } 909 //å¯¼èªæ çæ¾ç¤ºéè 910 911 var end_height = $(this).scrollTop(); 912 if(end_height > start_height && scroll_width > 992) { 913 // $('.store_nav_top_box').hide() 914 // $('.store_nav_bottom').addClass('fix_top') 915 // if(scroll_width < 800){ 916 // $('.mao_2').css('top',50) 917 // }else { 918 // $('.mao_2').css('top',0) 919 // } 920 }else if(end_height == 0){ 921 // $('.store_nav_top_box').show() 922 // $('.store_nav_bottom').removeClass('fix_top') 923 // if(scroll_width < 992 && scroll_width > 480){ 924 // $('.mao_2').css('top',75) 925 // }else if(scroll_width <= 480) { 926 // $('.mao_2').css('top',56) 927 // }else { 928 // $('.mao_2').css('top',150) 929 // } 930 } 931 // start_height = $(this).scrollTop(); 932 }); 933 var scrollTopTimer = null; 934 $('#backTop').click(function () { 935 // clearInterval(scrollTopTimer); 936 // scrollTopTimer = setInterval(function () { 937 // var top = document.body.scrollTop || document.documentElement.scrollTop; 938 // var speed = top / 4; 939 // if (document.body.scrollTop != 0) { 940 // document.body.scrollTop -= speed; 941 // } else { 942 // document.documentElement.scrollTop -= speed; 943 // } 944 // if (top <= 0) { 945 // clearInterval(scrollTopTimer); 946 // } 947 // }, 30); 948 $('html,body').animate({scrollTop:0},500) 949 }); 950 951}) 952 953// user个人ä¸å¿é®ç½©å±/ä¾§è¾¹å¯¼èªæ§å¶ My_order_control 954$(function() { 955 $(".My_order_control").click(function() { 956 $(".My_order_options").slideToggle();//ä¾§è¾¹å¯¼èªæ¾ç¤º/éè 957 $(".yy_store_Mask").toggle(); //é®ç½©å±æ¾ç¤º/éè忢 958 $(document.body).toggleClass("html-body-overflow"); //æ»å¨æ¡ç¦ç¨/å¼å¯åæ¢ 959 }) 960}) 961function scr992() { 962 if(document.body){ 963 let clientWidth = document.body.clientWidth;//è·åçªå£å®½åº¦ 964 if (clientWidth > 975) { 965 $(".yy_store_Mask").hide(); //é®ç½©å±éè 966 $(".My_order_options").show(); //ä¾§è¾¹å¯¼èªæ¾ç¤º 967 } else { 968 $(".My_order_options").hide(); //侧边导èªéè 969 } 970 } 971} 972scr992(); 973$(window).resize(function() { 974 scr992(); 975}); 976// My_order_control end 977 978/** 979 * æ£æ¥å¯ç æ¡æ¯å¦æ£ç¡® 980 **/ 981 982function validate_password(str) { 983 if ($.trim(str).length != 0) { 984 reg = /^(?=.*[A-Za-z~`!@#$%^&*()_+.=,-[\]<>/'":;|\\{}])(?=.*\d)[A-Za-z\d~`!@#$%^&*()_+.=,-[\]<>/'":;|\\{}]{6,18}$/; 985 if (!reg.test(str)) { 986 return false; 987 } 988 } 989 return true; 990} 991 992function pageSearch(key,list_class) { 993 let cards = document.querySelectorAll('.'+list_class) 994 let search_query = $('#'+key).val(); 995 for (var i = 0; i < cards.length; i++) { 996 if(cards[i].textContent.toLowerCase() 997 .includes(search_query.toLowerCase())) { 998 $(cards[i]).show(); 999 } else { 1000 $(cards[i]).hide(); 1001 } 1002 } 1003} 1004$(function () { 1005 var s_title = $(".currency-select-box .select_box span"); 1006 var s_select = $(".currency-select-box .select_box li"); 1007 s_title.click(function (e) { 1008 1009 1010 if($(this).hasClass('span_aa')){ 1011 $(this).removeClass("span_aa"); 1012 1013 $(this).next("ul").hide(); 1014 }else{ 1015 $(this).addClass("span_aa"); 1016 1017 $(this).next("ul").show(); 1018 } 1019 1020 e.stopPropagation(); 1021 1022 });
1023 1024 s_select.click(function () { 1025 1026 var s_text = $(this).html(); 1027 1028 var s_title_2 = $(this).parent('ul').prev("span"); 1029 1030 $(".currency-select-box .select_box span").html(s_text).removeClass("span_aa"); 1031 1032 $(this).parent('ul').hide(); 1033 1034 }); 1035 1036 $(document).click(function () { 1037 1038 s_title.removeClass("span_aa"); 1039 1040 $(".currency-select-box .select_box ul").hide(); 1041 1042 }); 1043}); 1044function reddit_checkout(data) { 1045 try { 1046 let reddit_data = { 1047 customEventName: 'InitiateCheckout', 1048 itemCount: data.itemCount, 1049 value: data.value, 1050 currency: data.currency, 1051 conversionId: 'CHECKOUT_'+new Date().getTime(), 1052 } 1053 let products = []; 1054 data.items.forEach(function (i, v) { 1055 let product = { 1056 id: i.item_spu_id, 1057 name: i.item_spu_name, 1058 } 1059 products.push(product); 1060 }) 1061 reddit_data.products = products; 1062 add_reddit_ads( 'InitiateCheckout', reddit_data); 1063 } catch (e) { 1064 console.log('reddit error', e.message); 1065 } 1066} 1067function reddit_add_cart(data) { 1068 try { 1069 let reddit_data = { 1070 itemCount: data.itemCount, 1071 value: data.value, 1072 currency: data.currency, 1073 conversionId : 'ADD_CART_'+new Date().getTime(), 1074 } 1075 let products = []; 1076 data.items.forEach(function (i, v) { 1077 let product = { 1078 id: i.item_spu_id, 1079 name: i.item_spu_name, 1080 } 1081 products.push(product); 1082 }) 1083 reddit_data.products = products; 1084 add_reddit_ads( 'AddToCart', reddit_data); 1085 } catch (e) { 1086 console.log('reddit error', e.message); 1087 } 1088} 1089function reddit_add_payment_info(data) { 1090 try { 1091 let reddit_data = { 1092 customEventName: 'AddPaymentInfo', 1093 itemCount: data.itemCount, 1094 value: data.value, 1095 currency: data.currency, 1096 conversionId: data.conversionId, 1097 } 1098 let products = []; 1099 data.items.forEach(function (v, i) { 1100 products.push({ 1101 id: v.goodsInfo.id, 1102 name: v.goodsInfo.goods_name, 1103 }); 1104 }) 1105 reddit_data.products = products; 1106 add_reddit_ads('AddPaymentInfo', reddit_data); 1107 }catch (err) { 1108 console.log('err', err.message); 1109 } 1110} 1111function add_reddit_ads(type,data){ 1112 try{ 1113 console.log('reddit',type,data); 1114 if (typeof _LANG_ == 'undefined' || _LANG_ !== 'en') return; 1115 if (typeof rdt === 'undefined') return; 1116 switch (type){ 1117 case 'AddToCart': 1118 case 'Purchase': 1119 rdt('track', type, data); 1120 break; 1121 case 'AddPaymentInfo': 1122 case 'InitiateCheckout': 1123 rdt('track', 'Custom', data); 1124 break; 1125 default: 1126 break; 1127 } 1128 }catch (e){ 1129 console.log('reddit error',e.message); 1130 } 1131}
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.