电话号码JS检测验证代码分享
1 2 3 4 5 6 7 8 9 10 | function XrfCheckPhoneNumber(sInputID, sDivID, sAlertID, sIsGoTop, sGoTopDistance) { var vCheck = $.trim($( "#" + sInputID).val()); var vValidChars = "1234567890 +-.()" ; if (!XrfCheckValid(sInputID, sDivID, sAlertID, 8, 50, vValidChars, sIsGoTop, sGoTopDistance)) { return false } else { XrfStatusPrompt( "OK" , sInputID, sDivID, sAlertID, "" , sIsGoTop, sGoTopDistance); return true } } |
今天给客户开发的网站 https://www.zhaohespray.com/, 添加了一个新功能,为了防止客户随意乱输入,给INPUT添加一个JS验证功能,
其他相关代码一并分享,
1 function XrfStatusPrompt(sStatus, sInputID, sDivID, sAlertID, sAlertMsg, sIsGoTop, sGoTopDistance) { 2 if (sStatus == "NG") { 3 if (sDivID != "") { 4 XrfGoScrollTop(sIsGoTop, sDivID, sGoTopDistance, sDivID, "bg-warning", "") 5 } else { 6 $("#" + sInputID).addClass("is-invalid") 7 } 8 if (sAlertID != "") { 9 $("#" + sAlertID).html(sAlertMsg) 10 } 11 return false 12 } else { 13 if (sDivID != "") { 14 $("#" + sDivID).removeClass("bg-warning") 15 } else { 16 $("#" + sInputID).removeClass("is-invalid") 17 } 18 if (sAlertID != "") { 19 $("#" + sAlertID).html("") 20 } 21 return true 22 } 23 } 24 function XrfGoScrollTop(sIsGoTop, sDivScrTopID, sDivScrTopDistance, sDivCssID, sDivCssStr, sInputFocusID) { 25 if (sDivCssID != "") { 26 $("#" + sDivCssID).addClass(sDivCssStr) 27 } 28 if ((sIsGoTop == 1) && (sDivScrTopID != "")) { 29 $("html,body").animate({ 30 scrollTop: $("#" + sDivScrTopID).offset().top - sDivScrTopDistance 31 }, 32 1000) 33 } 34 if (sInputFocusID != "") { 35 $("#" + sInputFocusID).focus() 36 } 37 } 38 function XrfUrlPointToAnchor(sIsGoTop, sGoTopDistance, sMediaMinwidth) { 39 var vCurnUrl = window.location.href; 40 if (vCurnUrl.indexOf("#", 0) > 0) { 41 vSptURL = vCurnUrl.split("#"); 42 if ((vSptURL[1] != "") && ($(window).width() >= sMediaMinwidth)) { 43 XrfGoScrollTop(sIsGoTop, vSptURL[1], sGoTopDistance, "", "", "") 44 } 45 } 46 } 47 function XrfCheckValid(sInputID, sDivID, sAlertID, sCharMin, sCharMax, sValidChars, sIsGoTop, sGoTopDistance) { 48 var vCheck = $.trim($("#" + sInputID).val()); 49 if (vCheck == "") { 50 XrfStatusPrompt("NG", sInputID, sDivID, sAlertID, "Not allow null.", sIsGoTop, sGoTopDistance); 51 return false 52 } 53 vCheck = vCheck.replace(/[\n\r]/g, " "); 54 if ((vCheck.length < sCharMin) || (vCheck.length > sCharMax)) { 55 XrfStatusPrompt("NG", sInputID, sDivID, sAlertID, "Must be " + sCharMin + "-" + sCharMax + " characters.", sIsGoTop, sGoTopDistance); 56 return false 57 } 58 if (sValidChars != "") { 59 for (i = 0; i < vCheck.length; i++) { 60 if (sValidChars.indexOf(vCheck.charAt(i).toUpperCase()) == -1) { 61 XrfStatusPrompt("NG", sInputID, sDivID, sAlertID, "Invalid character.", sIsGoTop, sGoTopDistance); 62 return false 63 } 64 } 65 } 66 XrfStatusPrompt("OK", sInputID, sDivID, sAlertID, "", sIsGoTop, sGoTopDistance); 67 return true 68 } 69 function XrfCheckEmail(sInputID, sDivID, sAlertID, sIsGoTop, sGoTopDistance) { 70 var vCheck = $.trim($("#" + sInputID).val()); 71 var vValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_@."; 72 if (!XrfCheckValid(sInputID, sDivID, sAlertID, 5, 50, vValidChars, sIsGoTop, sGoTopDistance)) { 73 return false 74 } 75 if ((vCheck == "") || (vCheck.length < 5) || (vCheck.charAt(0) == ".") || (vCheck.charAt(0) == "@") || (vCheck.indexOf("@", 0) == -1) || (vCheck.indexOf(".", 0) == -1) || (vCheck.lastIndexOf("@") == vCheck.length - 1) || (vCheck.lastIndexOf(".") == vCheck.length - 1)) { 76 XrfStatusPrompt("NG", sInputID, sDivID, sAlertID, "Invalid Email.", sIsGoTop, sGoTopDistance); 77 return false 78 } else { 79 XrfStatusPrompt("OK", sInputID, sDivID, sAlertID, "", sIsGoTop, sGoTopDistance); 80 return true 81 } 82 } 83 function XrfCheckPhoneNumber(sInputID, sDivID, sAlertID, sIsGoTop, sGoTopDistance) { 84 var vCheck = $.trim($("#" + sInputID).val()); 85 var vValidChars = "1234567890 +-.()"; 86 if (!XrfCheckValid(sInputID, sDivID, sAlertID, 8, 50, vValidChars, sIsGoTop, sGoTopDistance)) { 87 return false 88 } else { 89 XrfStatusPrompt("OK", sInputID, sDivID, sAlertID, "", sIsGoTop, sGoTopDistance); 90 return true 91 } 92 } 93 function XrfCheckOnlyEngChars(sInputID, sDivID, sAlertID, sCharMin, sCharMax, sIsGoTop, sGoTopDistance) { 94 var vValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; 95 if (!XrfCheckValid(sInputID, sDivID, sAlertID, sCharMin, sCharMax, vValidChars, sIsGoTop, sGoTopDistance)) { 96 return false 97 } 98 return true 99 } 100 function XrfAotoGoCountdown(sSecsNum, sSecsSpanID, sGotoURL) { 101 document.getElementById(sSecsSpanID).innerHTML = sSecsNum; 102 if (--sSecsNum > 0) { 103 setTimeout("XrfAotoGoCountdown(" + sSecsNum + ",'" + sSecsSpanID + "', '" + sGotoURL + "')", 1000) 104 } else { 105 window.location.href = sGotoURL 106 } 107 } 108 function XrfVerificationCode(sAct, sRtnID) { 109 var url = "/ajax/verification_code.asp?xAct=" + encodeURIComponent(sAct) + "&t=" + Math.random(); 110 $.get(url, 111 function(sMsg) { 112 if (sAct == "Refresh") { 113 $("#" + sRtnID).val(sMsg) 114 } else { 115 $("#" + sRtnID).html(sMsg) 116 } 117 }) 118 } 119 function XrfCheckVerificationCode(sInputID, sConfirmID, sDivID, sIsGoTop, sGoTopDistance) { 120 var vCheck = $.trim($("#" + sInputID).val()); 121 var vCheckConfirm = $.trim($("#" + sConfirmID).val()); 122 if ((vCheck == "") || (vCheck.length != 4) || (vCheck.toUpperCase() != vCheckConfirm.toUpperCase())) { 123 XrfStatusPrompt("NG", sInputID, sDivID, "", "", sIsGoTop, sGoTopDistance); 124 return false 125 } else { 126 XrfStatusPrompt("OK", sInputID, sDivID, "", "", sIsGoTop, sGoTopDistance); 127 return true 128 } 129 } 130 function XrfUserCountry(sAct, sScene, sRtnID, sUserCountryVal, sUserCountryRowID, sIsReload, sChooseSize) { 131 if (sAct == "Init") { 132 if (!XrfCheckOnlyEngChars("xri_UserCountry", sUserCountryRowID, "", 0, 3, 1, 100)) { 133 return false 134 } 135 sUserCountryVal = $("#xri_UserCountry").val() 136 } 137 var url = "/ajax/user_country.asp?xAct=" + encodeURIComponent(sAct) + "&sScene=" + encodeURIComponent(sScene) + "&sRtnID=" + encodeURIComponent(sRtnID) + "&sUserCountryVal=" + encodeURIComponent(sUserCountryVal) + "&sUserCountryRowID=" + encodeURIComponent(sUserCountryRowID) + "&sIsReload=" + encodeURIComponent(sIsReload) + "&sChooseSize=" + encodeURIComponent(sChooseSize) + "&t=" + Math.random(); 138 $.get(url, 139 function(sMsg) { 140 $("#" + sRtnID).html(sMsg); 141 if (sIsReload == "1") { 142 window.location.reload() 143 } 144 }) 145 } 146 function XrfMailRelaySend(sIsDisplaySending, sRtnDivID, sMailTo, sMailTName, sMailCC, sMailSort, sRefID, sRefStr) { 147 if (sIsDisplaySending == "1" && sRtnDivID != "") { 148 $("#" + sRtnDivID).html('<i class="fas fa-spinner fa-pulse fa-3x fa-fw"></i> Sending email ...') 149 } 150 var url = "/ajax/email.send.asp"; 151 $.post(url, { 152 sMailTo: sMailTo, 153 sMailTName: sMailTName, 154 sMailCC: sMailCC, 155 sMailSort: sMailSort, 156 sRefID: sRefID, 157 sRefStr: sRefStr 158 }, 159 function(sMsg) { 160 vMsg = $.trim(sMsg); 161 if (vMsg == "OK") { 162 if (sRtnDivID != "") { 163 $("#" + sRtnDivID).html('<b class="text-success">An email sent to <i>' + sMailTo + "</i> successfully. Please check.</b>") 164 } 165 XrfMailSentUpdateStatus("success", sMailTo, sMailSort, sRefID, sRefStr) 166 } else { 167 if (sRtnDivID != "" && sIsDisplaySending == "1") { 168 $("#" + sRtnDivID).html('<b class="text-danger">Delivery to the recipient <i>' + sMailTo + "</i> failed. Please contact us.</b>") 169 } 170 } 171 }) 172 } 173 function XrfMailSentUpdateStatus(sSentStatus, sMailTo, sMailSort, sRefID, sRefStr) { 174 var url = "/ajax/email_sent_update.asp?sSentStatus=" + encodeURIComponent(sSentStatus) + "&sMailSort=" + encodeURIComponent(sMailSort) + "&sRefID=" + encodeURIComponent(sRefID) + "&sRefStr=" + encodeURIComponent(sRefStr) + "&t=" + Math.random(); 175 $.post(url, { 176 sSentStatus: sSentStatus, 177 sMailTo: sMailTo, 178 sMailSort: sMailSort, 179 sRefID: sRefID, 180 sRefStr: sRefStr 181 }) 182 } 183 function XrfOrderPpecSubseProce(sAct, sUserIDreg, sOrderIDnew, sOrderIDpaid, sUserID, sUserEmail, sUserName, sUserType, sUserMyName, sUserIsLimited) { 184 var url = "/ajax/order_subse.asp"; 185 $.post(url, { 186 sAct: sAct, 187 sUserIDreg: sUserIDreg, 188 sOrderIDnew: sOrderIDnew, 189 sOrderIDpaid: sOrderIDpaid, 190 sUserID: sUserID, 191 sUserEmail: sUserEmail, 192 sUserName: sUserName, 193 sUserType: sUserType, 194 sUserMyName: sUserMyName, 195 sUserIsLimited: sUserIsLimited, 196 sScreenWidth: window.screen.width, 197 sScreenHeight: window.screen.height 198 }, 199 function(sMsg) { 200 vMsg = $.trim(sMsg); 201 if (vMsg == "OK") { 202 $("#xri_Hd_Nav_Toggle_CartQty").html("").addClass("d-none"); 203 $("#xri_Hd_Nav_CartQtyBadge").html(""); 204 $("#xri_Hd_Nav_CartQty").html("My Shopping Cart"); 205 $("#xri_Hd_Wrap_CartQty").html("") 206 } 207 }) 208 } 209 function XrfOrderDoSubseProce(sAct, sOrderIDnew) { 210 var url = "/ajax/order_subse.asp"; 211 $.post(url, { 212 sAct: sAct, 213 sOrderIDnew: sOrderIDnew, 214 sScreenWidth: window.screen.width, 215 sScreenHeight: window.screen.height 216 }, 217 function(sMsg) { 218 vMsg = $.trim(sMsg); 219 if (vMsg == "OK") { 220 XrfSiteHeader("") 221 } 222 }) 223 } 224 function XrfSchProCheckForm() { 225 if ($("#xri_ProSch_Query").val() == "") { 226 $("#xri_ProSch_Query").val($("#xri_Hd_Nav_Sch_Sentence").val()) 227 } 228 return true 229 } 230 function XrfSchProCheckFormMobi() { 231 if ($("#xri_ProSch_Query_Mobi").val() == "") { 232 $("#xri_ProSch_Query_Mobi").val($("#xri_Hd_Nav_Sch_Sentence").val()) 233 } 234 return true 235 } 236 function XrfSchProSelectSort(sDirID, sDirTitle) { 237 if (sDirID != "0") { 238 $("#xri_Hd_Nav_Sch_DirID").val(sDirID); 239 $("#xri_Hd_Nav_Sch_SelectBtnText").html(sDirTitle) 240 } 241 if (sDirID == "") { 242 $("#xri_Hd_Nav_Sch_SelectCateAll").hide() 243 } else { 244 $("#xri_Hd_Nav_Sch_SelectCateAll").show() 245 } 246 } 247 function XrfProAggregateInfo(sProID) { 248 var url = "/ajax/pro_aggregate_info.asp?ProID=" + encodeURIComponent(sProID) + "&rnd=" + Math.random(); 249 $.get(url, 250 function(sMsg) { 251 vMsg = $.trim(sMsg); 252 vSptMsg = vMsg.split("#}"); 253 if ($.trim(vSptMsg[0]) != "") { 254 $("#xri_ProDt_SoldCount_" + sProID).html($.trim(vSptMsg[0])) 255 } 256 if ($.trim(vSptMsg[1]) != "") { 257 $("#xri_ProDt_DiggCount_" + sProID).html($.trim(vSptMsg[1])) 258 } 259 if ($.trim(vSptMsg[2]) != "") { 260 $("#xri_ProDt_ReviewsCount_" + sProID).html($.trim(vSptMsg[2])); 261 $("#xri_ProDt_Tabs_ReviewsCount_" + sProID).html($.trim(vSptMsg[2])) 262 } 263 if ($.trim(vSptMsg[3]) != "") { 264 $("#xri_ProDt_ReviewsRating_" + sProID).attr("class", $.trim(vSptMsg[3])) 265 } 266 if ($.trim(vSptMsg[4]) != "") { 267 $("#xri_ProDt_Tabs_FaqQuesQty_" + sProID).html($.trim(vSptMsg[4])); 268 if (parseInt($.trim(vSptMsg[4])) > 0) { 269 $("#xri_ProDt_Tab_Li_Faqs").removeClass("d-none") 270 } 271 } 272 if ($.trim(vSptMsg[5]) != "") { 273 $("#xmi_ProDt_FaqOverview_" + sProID).html($.trim(vSptMsg[5])) 274 } 275 }) 276 } 277 function XrfProQtySubtotal(sAct, sProID, sInputID, sQtyMoq, sProPrice, sRtnDivID, sPrefixStr, sShippingRtnDivID, sIsPeriodPrice) { 278 var vQtyNewValue = Number($("#" + sInputID).val()); 279 if (sAct == "Plus") { 280 vQtyNewValue = vQtyNewValue + 1 281 } else { 282 if (sAct == "Minus") { 283 vQtyNewValue = vQtyNewValue - 1 284 } 285 } 286 if ((vQtyNewValue < sQtyMoq) || (vQtyNewValue < 1)) { 287 vQtyNewValue = sQtyMoq 288 } 289 if ((sAct == "Plus") || (sAct == "Minus")) { 290 $("#" + sInputID).val(vQtyNewValue) 291 } 292 switch (sIsPeriodPrice) { 293 case 0: 294 if ((sProPrice != "") && (sProPrice != null) && (sProPrice != 0) && (vQtyNewValue != "") && (vQtyNewValue != "0")) { 295 var vProPrice = sProPrice.replace(",", ""); 296 var url = "/ajax/pro_qty_subtotal.asp?sProPrice=" + encodeURIComponent(vProPrice) + "&sQty=" + encodeURIComponent(vQtyNewValue) + "&t=" + Math.random(); 297 $.get(url, 298 function(sMsg) { 299 $("#" + sRtnDivID).html(sPrefixStr + sMsg) 300 }) 301 } 302 break; 303 default: 304 XrfProPeriodPriceReset(sProID, vQtyNewValue, sRtnDivID, "ProDetailReset") 305 } 306 XrfProEstimateShippingCost(sProID, vQtyNewValue, sShippingRtnDivID, "") 307 } 308 function XrfProEstimateShippingCost(sProIDs, sProQtys, sRtnDivID, sIsReqPremiumDelivery) { 309 var url = "/ajax/pro_shippingcost.asp?ProIDs=" + encodeURIComponent(sProIDs) + "&ProQtys=" + encodeURIComponent(sProQtys) + "&RtnDivID=" + encodeURIComponent(sRtnDivID) + "&IsReqPremiumDelivery=" + encodeURIComponent(sIsReqPremiumDelivery) + "&t=" + Math.random(); 310 $.get(url, 311 function(sMsg) { 312 vMsg = $.trim(sMsg); 313 $("#" + sRtnDivID).html(vMsg) 314 }) 315 } 316 function XrfProDiggIt(sProID, sRtnDivID) { 317 var url = "/ajax/pro_digg_it.asp?ProID=" + encodeURIComponent(sProID) + "&rnd=" + Math.random(); 318 $.get(url, 319 function(sMsg) { 320 vMsg = $.trim(sMsg); 321 vSptMsg = vMsg.split("#}"); 322 switch ($.trim(vSptMsg[0])) { 323 case "NG": 324 $("#" + sRtnDivID).fadeOut(50).removeClass("btn-info btn-success").addClass("btn-warning").html($.trim(vSptMsg[1])).fadeIn(300); 325 break; 326 case "OK": 327 $("#" + sRtnDivID).fadeOut(50).removeClass("btn-info btn-warning").addClass("btn-success").html($.trim(vSptMsg[1])).fadeIn(300); 328 break 329 } 330 }) 331 } 332 function XrtProAddToWish(sProID, sRtnDivID) { 333 var url = "/ajax/pro_add_to_wish.asp?ProID=" + encodeURIComponent(sProID); 334 $.get(url, 335 function(sMsg) { 336 vMsg = $.trim(sMsg); 337 vSptMsg = vMsg.split("#}"); 338 switch ($.trim(vSptMsg[0])) { 339 case "NG": 340 $("#" + sRtnDivID).fadeOut(50).removeClass("btn-secondary btn-success").addClass("btn-warning").html($.trim(vSptMsg[1])).fadeIn(300); 341 break; 342 case "OK": 343 $("#" + sRtnDivID).fadeOut(50).removeClass("btn-secondary btn-warning").addClass("btn-success").html($.trim(vSptMsg[1])).fadeIn(300); 344 break 345 } 346 }) 347 } 348 function XrtProMyWish(sDispSort, sWishSort, sRtnDivID) { 349 var url = "/ajax/pro_wish.asp?sWishSort=" + encodeURIComponent(sWishSort) + "&sDispSort=" + encodeURIComponent(sDispSort) + "&t=" + Math.random(); 350 $.get(url, 351 function(sMsg) { 352 vMsg = $.trim(sMsg); 353 $("#" + sRtnDivID).html(sMsg) 354 }) 355 } 356 function XrfProPeriodPriceReset(sPeriodPriceProIDs, sPeriodPriceProQtys, sPeriodPriceDisplayIDs, sPeriodPriceStyle) { 357 var url = "/ajax/pro_period_price.asp?sPeriodPriceProIDs=" + encodeURIComponent(sPeriodPriceProIDs) + "&sPeriodPriceProQtys=" + encodeURIComponent(sPeriodPriceProQtys) + "&sPeriodPriceStyle=" + encodeURIComponent(sPeriodPriceStyle) + "&t=" + Math.random(); 358 $.get(url, 359 function(sMsg) { 360 vMsg = $.trim(sMsg); 361 vSptMsgPPP = vMsg.split("#}"); 362 vPeriPriDisp = sPeriodPriceDisplayIDs.split("|"); 363 for (i = 0; i < vSptMsgPPP.length; i++) { 364 if ($.trim(vSptMsgPPP[i]) != "") { 365 $("#" + vPeriPriDisp[i]).html($.trim(vSptMsgPPP[i])) 366 } 367 } 368 }) 369 } 370 function XrfProVariationChange(sAct, sVariationKeyword, sVariationImg, sVariationCurnItemID, sVariationItemIDs) { 371 if (sAct == "Variation") { 372 var vVariationImgStr = '<img class="img-fluid" src="' + sVariationImg + '">'; 373 $("#xri_ProDt_ProVariation_Img").addClass("easyzoom-flyout").html(vVariationImgStr); 374 $("#xri_ProDt_ProVariation_Keyword").html(sVariationKeyword) 375 } else { 376 if (sAct == "VariationClick") { 377 var vVariationImgStr = '<img class="img-fluid" src="' + sVariationImg + '">'; 378 $("#xri_ProDt_ProVariation_Img").addClass("easyzoom-flyout").html(vVariationImgStr); 379 $("#xri_ProDt_ProVariation_Keyword").html(sVariationKeyword); 380 vSptVariationItemIDs = sVariationItemIDs.split("|"); 381 for (i = 0; i < vSptVariationItemIDs.length; i++) { 382 if (vSptVariationItemIDs[i] == sVariationCurnItemID) { 383 $("#xri_ProDt_ProVariation_Item_" + vSptVariationItemIDs[i]).removeClass("xr-border-to-gray xr-hover-box-shadow-round").addClass("xr-border-gold xr-box-shadow-gold xr-bg-yellow") 384 } else { 385 $("#xri_ProDt_ProVariation_Item_" + vSptVariationItemIDs[i]).removeClass("xr-border-gold xr-box-shadow-gold xr-bg-yellow").addClass("xr-border-to-gray xr-hover-box-shadow-round") 386 } 387 } 388 } else { 389 $("#xri_ProDt_ProVariation_Img").removeClass("easyzoom-flyout").html(""); 390 $("#xri_ProDt_ProVariation_Keyword").html(sVariationKeyword) 391 } 392 } 393 } 394 function XrfProMobVariationDetails(sDivID, sMobDivID) { 395 $("#" + sMobDivID).removeClass("d-flex").addClass("d-none"); 396 $("#" + sDivID).removeClass("d-none d-sm-block"); 397 swiperProDtProVariation.update() 398 } 399 function XrfProMobMatchDetails() { 400 $("#xri_ProMatch_Row").addClass("px-1 py-2"); 401 $("label").removeClass("d-none d-sm-inline"); 402 $("#xri_ProMatch_Items").removeClass("d-none d-sm-inline"); 403 $("#xri_ProMatch_Oper_Price").removeClass("position-relative py-2 py-sm-0 xr-box-shadow-round xr-box-shadow-sm-none border-top xr-border-sm-0"); 404 $("#xri_ProMatch_Oper_Price_Arrow").remove(); 405 $("#xri_ProMatch_Oper_Btn").removeClass("d-none d-sm-inline"); 406 $("#xri_ProMatch_Oper_Price_Act").remove() 407 } 408 function XrfProMobAttsDetails() { 409 $("#xri_ProDt_Atts_hr").removeClass("d-none d-md-block"); 410 $("#xri_ProDt_Atts_Items").removeClass("d-none d-md-block"); 411 $("#xri_ProDt_Atts_Row").removeClass("xr-box-shadow-round xr-box-shadow-sm-none border xr-border-md-0 rounded xr-rounded-md-0"); 412 $("#xri_ProDt_Atts_Act").remove() 413 } 414 function XrfProRelated(sCurnProID, sRelatedProSortID, sRelatedProSchIDs, sRelatedSortHeadingTitle, sRelatedSortHeadingCss, sRtnDivID) { 415 var url = "/ajax/pro_related.asp"; 416 $.post(url, { 417 sRelatedProSortID: sRelatedProSortID, 418 sRelatedProSchIDs: sRelatedProSchIDs, 419 sRelatedSortHeadingTitle: sRelatedSortHeadingTitle, 420 sRelatedSortHeadingCss: sRelatedSortHeadingCss, 421 t: Math.random() 422 }, 423 function(sMsg) { 424 vMsg = $.trim(sMsg); 425 if (vMsg != "") { 426 $("#" + sRtnDivID).html(vMsg) 427 } 428 }) 429 } 430 function XrfProMatches(sCurnProID, sRelatedProSortID, sMatchProSchIDs, sRtnDivID) { 431 var url = "/ajax/pro_match.asp"; 432 $.post(url, { 433 ProID: sCurnProID, 434 RelatedProSortID: sRelatedProSortID, 435 MatchProSchIDs: sMatchProSchIDs, 436 t: Math.random() 437 }, 438 function(sMsg) { 439 vMsg = $.trim(sMsg); 440 if (vMsg != "") { 441 $("#" + sRtnDivID).html(vMsg) 442 } 443 }) 444 } 445 function XrfProMatchChange(sCurnProID, sAllProMatchIDs, sRtnDivID) { 446 if ($("#RelatedProID_Match_" + sCurnProID).is(":checked") == true) { 447 $("#xri_ProMatch_Img_" + sCurnProID).fadeIn(500); 448 $("#xri_ProMatch_Plus_" + sCurnProID).fadeIn(500); 449 $("#xri_ProMatch_Item_" + sCurnProID).removeClass("xr-text-lightgray xr-link-lightgray") 450 } else { 451 $("#xri_ProMatch_Img_" + sCurnProID).fadeOut(500); 452 $("#xri_ProMatch_Plus_" + sCurnProID).fadeOut(500); 453 $("#xri_ProMatch_Item_" + sCurnProID).addClass("xr-text-lightgray xr-link-lightgray") 454 } 455 var vChosenProIDs = ""; 456 var vProIDSpt = sAllProMatchIDs.split("|"); 457 for (i = 0; i < vProIDSpt.length; i++) { 458 if ($("#RelatedProID_Match_" + vProIDSpt[i]).is(":checked") == true) { 459 if (vChosenProIDs == "") { 460 vChosenProIDs = $("#RelatedProID_Match_" + vProIDSpt[i]).val(); 461 $("#xri_ProMatch_Plus_" + vProIDSpt[i]).fadeOut(10) 462 } else { 463 vChosenProIDs = vChosenProIDs + "|" + $("#RelatedProID_Match_" + vProIDSpt[i]).val(); 464 $("#xri_ProMatch_Plus_" + vProIDSpt[i]).fadeIn(500) 465 } 466 } 467 } 468 var url = "/ajax/pro_match_choose.asp?ChosenProIDs=" + encodeURIComponent(vChosenProIDs) + "&t=" + Math.random(); 469 $.get(url, 470 function(sMsg) { 471 vMsg = $.trim(sMsg); 472 $("#" + sRtnDivID).html(sMsg) 473 }) 474 } 475 function XrfProTopReviews(sProID, sRtnDivID, sDispMode) { 476 var vProTopReviews = $("#" + sRtnDivID).html(); 477 if (vProTopReviews == "") { 478 $("#" + sRtnDivID).html('<i class="fas fa-spinner fa-pulse fa-2x"></i>'); 479 var url = "/ajax/pro_reviews_top.asp?ProID=" + sProID + "&DispMode=" + sDispMode + "&t=" + Math.random(); 480 $.get(url, 481 function(sMsg) { 482 vMsg = $.trim(sMsg); 483 $("#" + sRtnDivID).html(vMsg); 484 if (sDispMode == "Overview") { 485 $("#xri_ProDt_ReviewsOverview").popover({ 486 html: true, 487 content: vMsg, 488 trigger: "hover", 489 placement: "bottom" 490 }); 491 $("#xri_ProDt_ReviewsOverview").popover("show") 492 } 493 }) 494 } 495 } 496 function XrfProMobItemDetails(sDivID, sItemTitle, sExtra) { 497 XrfModalReset(); 498 var vItemDetails = $("#" + sDivID).html(); 499 if (sItemTitle != "") { 500 $("#xri_ModalTitle").addClass("font-weight-bold text-danger mt-3 h3 mr-auto"); 501 $("#xri_ModalTitle").html(sItemTitle) 502 } else { 503 $("#xri_ModalHeader").addClass("pb-4") 504 } 505 $("#xri_ModalBody").html(vItemDetails); 506 if (sExtra != "") { 507 vSptExtra = sExtra.split("|"); 508 for (i = 0; i < vSptExtra.length; i++) { 509 vSptExtraVal = vSptExtra[i].split(","); 510 if (vSptExtraVal.length == 3) { 511 if (vSptExtraVal[1] == "add") { 512 $("#xri_ModalBody ." + vSptExtraVal[0]).addClass(vSptExtraVal[2]) 513 } else { 514 if (vSptExtraVal[1] == "remove") { 515 $("#xri_ModalBody ." + vSptExtraVal[0]).removeClass(vSptExtraVal[2]) 516 } 517 } 518 } 519 } 520 } 521 $("#xri_ModalBack").removeClass("d-none"); 522 $("#xri_ModalClose").hide(); 523 $("#xri_ModalFooter").addClass("p-1"); 524 $("#xri_Modal").addClass("w-100 h-100 m-0 p-0 bg-waring"); 525 $("#xri_ModalDialog").addClass("w-100 m-0 p-0 xr-modal-dialog-fluid"); 526 $("#xri_Modal").modal("show") 527 } 528 function XrfCheckAddToCartPara(sIsNeedPara, sInputID, sDivID, sAlertID, sAlertMsg, sIsGoTop, sGoTopDistance) { 529 if (sIsNeedPara == "1") { 530 var vCheck = $.trim($("#" + sInputID).val()); 531 if ((vCheck == "") || (vCheck == null) || (vCheck == "0")) { 532 XrfStatusPrompt("NG", sInputID, sDivID, sAlertID, sAlertMsg, sIsGoTop, sGoTopDistance); 533 return false 534 } else { 535 XrfStatusPrompt("OK", sInputID, sDivID, sAlertID, "", sIsGoTop, sGoTopDistance); 536 return true 537 } 538 } else { 539 return true 540 } 541 } 542 function XrfCheckAddToCartValues(sIsNeedPara, sInputIDs, sDivIDs, sAlertIDs, sAlertMsg, sIsGoTop, sGoTopDistance, sFormItemID) { 543 var vItemVal = "", 544 vDivID = "", 545 vAlertID = ""; 546 if (sIsNeedPara == "1") { 547 if (sInputIDs == "") { 548 return false 549 } 550 var vInputIDsSpt = sInputIDs.split("|"); 551 if (sDivIDs != "") { 552 var vDivIDsSpt = sDivIDs.split("|") 553 } 554 if (sAlertIDs != "") { 555 var vAlertIDsSpt = sAlertIDs.split("|") 556 } 557 for (var i = 0; i < vInputIDsSpt.length; i++) { 558 if (sDivIDs != "") { 559 vDivID = vDivIDsSpt[i] 560 } 561 if (sAlertIDs != "") { 562 vAlertID = vAlertIDsSpt[i] 563 } 564 if (!XrfCheckAddToCartPara(sIsNeedPara, vInputIDsSpt[i], vDivID, vAlertID, sAlertMsg, sIsGoTop, sGoTopDistance)) { 565 return false 566 } 567 if (vItemVal == "") { 568 vItemVal = $("#" + vInputIDsSpt[i]).val() 569 } else { 570 vItemVal = vItemVal + "|" + $("#" + vInputIDsSpt[i]).val() 571 } 572 } 573 $("#" + sFormItemID).val(vItemVal); 574 return true 575 } 576 return true 577 } 578 function XrfAddToCart(sProIDs, sAddMethod, sProPropertyItems, sQtyItems, sIsGoTop, sGoTopDistance) { 579 var vProPropertyVal = ""; 580 if (sProPropertyItems != "") { 581 var vProPropertyItemsSpt = sProPropertyItems.split("|"); 582 for (var i = 0; i < vProPropertyItemsSpt.length; i++) { 583 if (i > 0) { 584 vProPropertyVal = vProPropertyVal + "|" 585 } 586 if (vProPropertyItemsSpt[i] != "") { 587 var vProPropertyEachItemSpt = vProPropertyItemsSpt[i].split(","); 588 for (var j = 0; j < vProPropertyEachItemSpt.length; j++) { 589 var vProPropertyItemEleSpt = vProPropertyEachItemSpt[j].split(":"); 590 var vInputID = "", 591 vDivID = "", 592 vAlertID = ""; 593 vInputID = vProPropertyItemEleSpt[0]; 594 if (vProPropertyItemEleSpt.length > 1) { 595 vDivID = vProPropertyItemEleSpt[1] 596 } 597 if (vProPropertyItemEleSpt.length > 2) { 598 vAlertID = vProPropertyItemEleSpt[2] 599 } 600 if (!XrfCheckAddToCartPara(1, vInputID, vDivID, vAlertID, "", sIsGoTop, sGoTopDistance)) { 601 return false 602 } 603 if (j == 0) { 604 vProPropertyVal = vProPropertyVal + $.trim($("#" + vInputID).val()) 605 } else { 606 vProPropertyVal = vProPropertyVal + "," + $.trim($("#" + vInputID).val()) 607 } 608 } 609 } 610 } 611 } 612 $("#xri_AddToCart_ProPropertyItems").val(vProPropertyVal); 613 var vQtyVal = ""; 614 if (sQtyItems != "") { 615 var vQtyItemsSpt = sQtyItems.split("|"); 616 for (var i = 0; i < vQtyItemsSpt.length; i++) { 617 var vSingleQtyOptionsSpt = vQtyItemsSpt[i].split(":"); 618 var vQtyInputID = "", 619 vQtyDivID = "", 620 vQtyAlertID = ""; 621 vQtyInputID = vSingleQtyOptionsSpt[0]; 622 if (vSingleQtyOptionsSpt.length > 1) { 623 vQtyDivID = vSingleQtyOptionsSpt[1] 624 } 625 if (vSingleQtyOptionsSpt.length > 2) { 626 vQtyAlertID = vSingleQtyOptionsSpt[2] 627 } 628 if (!XrfCheckAddToCartPara(1, vQtyInputID, vQtyDivID, vQtyAlertID, "", sIsGoTop, sGoTopDistance)) { 629 return false 630 } 631 if (vQtyVal == "") { 632 vQtyVal = $.trim($("#" + vQtyInputID).val()) 633 } else { 634 vQtyVal = vQtyVal + "|" + $.trim($("#" + vQtyInputID).val()) 635 } 636 } 637 } 638 $("#xri_AddToCart_QtyItems").val(vQtyVal); 639 $("#xri_AddToCart_ProID").val(sProIDs); 640 $("#xri_AddToCart_xAct").val("Add"); 641 $("#xri_AddToCart_AddMethod").val(sAddMethod); 642 $("#xri_Form_AddToCart").submit() 643 } 644 function XrfCartShiptoCountry() { 645 if (!XrfCheckOnlyEngChars("xri_UserCountry", "xri_Row_UserCountry", "", 0, 3, 1, 100)) { 646 return false 647 } 648 $("#xri_Cart_UserCountry").val($("#xri_UserCountry").val()); 649 $("#xri_Cart_xAct").val("UpdateShiptoCountry"); 650 $("#xri_Form_ShoppingCart").submit() 651 } 652 function XrfCartCouponSet() { 653 if (!XrfCheckOnlyEngChars("xri_Cart_SetCouponCode", "", "", 2, 15, 0, 0)) { 654 return false 655 } 656 $("#xri_Cart_CouponCode").val($("#xri_Cart_SetCouponCode").val()); 657 $("#xri_Cart_xAct").val("SetCouponCode"); 658 $("#xri_Form_ShoppingCart").submit() 659 } 660 function XrfCartCouponReset() { 661 $("#xri_Row_CouponCode_Mark").addClass("d-none"); 662 $("#xri_Row_CouponCode_Apply").removeClass("d-none").addClass("d-flex").fadeIn(500) 663 } 664 function XrfCartReqPremiumDelivery() { 665 var vIsReqPremiumDelivery = 0; 666 if ($("#xri_IsReqPremiumDelivery").is(":checked") == true) { 667 vIsReqPremiumDelivery = 1 668 } 669 $("#xri_Cart_ReqPremiumDelivery").val(vIsReqPremiumDelivery); 670 $("#xri_Cart_xAct").val("UpdateReqPremiumDelivery"); 671 $("#xri_Form_ShoppingCart").submit() 672 } 673 function XrfCartProQty(sAct, sInputID, sQtyMoq, sProID, sProSku) { 674 var vQtyOriValue = Number($("#" + sInputID).val()); 675 var vQtyNewValue = vQtyOriValue; 676 if (sAct == "Plus") { 677 vQtyNewValue = vQtyOriValue + 1 678 } else { 679 if (sAct == "Minus") { 680 vQtyNewValue = vQtyOriValue - 1 681 } 682 } 683 if ((vQtyNewValue < sQtyMoq) || (vQtyNewValue < 1)) { 684 vQtyNewValue = sQtyMoq 685 } 686 $("#" + sInputID).val(vQtyNewValue); 687 $("#xri_Cart_ProID").val(sProID); 688 $("#xri_Cart_ProSku").val(sProSku); 689 $("#xri_Cart_ProQty").val(vQtyNewValue); 690 $("#xri_Cart_xAct").val("UpdateQty"); 691 $("#xri_Form_ShoppingCart").submit() 692 } 693 function XrfCartRemovePro(sProID, sProSku) { 694 if (confirm("Are your sure REMOVE this product?")) { 695 $("#xri_Cart_ProID").val(sProID); 696 $("#xri_Cart_ProSku").val(sProSku); 697 $("#xri_Cart_xAct").val("Remove"); 698 $("#xri_Form_ShoppingCart").submit() 699 } 700 } 701 function XrfCartSaveForLater(sProID, sProSku, sRtnDivID) { 702 if (confirm("Are your sure? This product will be removed from cart?")) { 703 XrtProAddToWish(sProID, sRtnDivID); 704 $("#xri_Cart_ProID").val(sProID); 705 $("#xri_Cart_ProSku").val(sProSku); 706 $("#xri_Cart_xAct").val("Remove"); 707 $("#xri_Form_ShoppingCart").submit() 708 } 709 } 710 function XrfCartProceed() { 711 if ($("#xri_UserCountry").val() == "") { 712 if (!XrfCheckOnlyEngChars("xri_UserCountry", "xri_Row_UserCountry", "", 0, 3, 1, 100)) { 713 return false 714 } 715 } 716 $("#xri_Cart_xAct").val("Submit"); 717 $("#xri_Form_ShoppingCart").submit() 718 } 719 function XrfCartPaymentMethod(sPaymentMethod) { 720 var url = "/ajax/payment_method.asp?PaymentMethod=" + encodeURIComponent(sPaymentMethod); 721 $.get(url) 722 } 723 function XrfCartProgressSwitchToAddress() { 724 $("#xri_Cart_PaymentMethod_Heading").removeClass("list-group-item-primary py-1 xr-text-l xr-text-lg-xxl").addClass("list-group-item-action list-group-item-light py-2 xr-text-m xr-text-lg-d xr-text-darkgray"); 725 $("#xri_Cart_PaymentMethod_Heading_Text").addClass("xr-text-d xr-text-lg-l"); 726 $("#xri_Cart_PaymentMethod_Heading_Status").removeClass("d-none"); 727 $("#xri_Cart_Address_Heading").removeClass("list-group-item-secondary py-2 xr-text-m xr-text-lg-d").addClass("list-group-item-primary py-1 xr-text-l xr-text-lg-xxl"); 728 $("#xri_Cart_Address_Heading_Icon").removeClass("text-secondary"); 729 $("#xri_Cart_Address_Heading_Text").removeClass("xr-text-d xr-text-lg-l"); 730 $("#xri_Cart_Address_Deatil").collapse("show"); 731 $("h1").html("Shipping Address"); 732 history.replaceState(null, null, "?xAct=Address") 733 } 734 function XrfCartGuestShipAddress() { 735 if ($("#xri_UserCountry").val() == "") { 736 if (!XrfCheckOnlyEngChars("xri_UserCountry", "xri_Row_UserCountry", "", 0, 3, 1, 100)) { 737 return false 738 } 739 } 740 if (!XrfCheckEmail("xri_CartShip_Email", "xri_Row_CartShip_Email", "", 1, 100)) { 741 return false 742 } 743 if (!XrfCheckUserMyName("xri_CartShip_FirstName", "xri_Row_CartShip_Name", "", 1, 100)) { 744 return false 745 } 746 if (!XrfCheckUserMyName("xri_CartShip_LastName", "xri_Row_CartShip_Name", "", 1, 100)) { 747 return false 748 } 749 if (!XrfCheckValid("xri_CartShip_AddressLine1", "xri_Row_CartShip_Address", "", 3, 200, "", 1, 100)) { 750 return false 751 } 752 if (!XrfCheckValid("xri_CartShip_City", "xri_Row_CartShip_City", "", 2, 200, "", 1, 100)) { 753 return false 754 } 755 if ("|UK|GB|AU|CA|FR|FX|IT|NL|SP|HK|JP|".indexOf("|" + $("#xri_UserCountry").val() + "|") == -1) { 756 if (!XrfCheckValid("xri_UserAddr_Province", "xri_Row_UserAddr_Province", "", 2, 200, "", 1, 100)) { 757 return false 758 } 759 } 760 if (!XrfCheckValid("xri_CartShip_PostalCode", "xri_Row_CartShip_PostalCode", "", 3, 20, "", 1, 100)) { 761 return false 762 } 763 if (!XrfCheckPhoneNumber("xri_CartShip_Phone", "xri_Row_CartShip_Phone", "", 1, 100)) { 764 return false 765 } 766 return true 767 } 768 function XrfCartUserShipAddress(sCurnAddrID, sAllAddrIDs) { 769 var vAddrIDSpt = sAllAddrIDs.split("|"); 770 for (i = 0; i < vAddrIDSpt.length; i++) { 771 if (sCurnAddrID == vAddrIDSpt[i]) { 772 $("#xri_Cart_UserAddress_Heading_" + vAddrIDSpt[i]).addClass("xr-border-gold"); 773 $("#xri_Cart_UserAddress_Icon_" + vAddrIDSpt[i]).removeClass("far fa-circle xr-text-lightgray").addClass("fas fa-check-circle text-success") 774 } else { 775 $("#xri_Cart_UserAddress_Heading_" + vAddrIDSpt[i]).removeClass("xr-border-gold"); 776 $("#xri_Cart_UserAddress_Icon_" + vAddrIDSpt[i]).removeClass("fas fa-check-circle text-success").addClass("far fa-circle xr-text-lightgray") 777 } 778 } 779 } 780 function XrfOrderPaymentMethod(sCurnPaymentID, sAllPaymentIDs) { 781 var vPaymentIDSpt = sAllPaymentIDs.split("|"); 782 for (i = 0; i < vPaymentIDSpt.length; i++) { 783 if (sCurnPaymentID == vPaymentIDSpt[i]) { 784 $("#xri_Order_PaymentMethod_Item_" + vPaymentIDSpt[i]).removeClass("xr-border-lightgray").addClass("xr-border-gold"); 785 $("#xri_Order_PaymentMethod_Icon_" + vPaymentIDSpt[i]).removeClass("far fa-circle xr-text-lightgray").addClass("fas fa-check-circle text-success") 786 } else { 787 $("#xri_Order_PaymentMethod_Item_" + vPaymentIDSpt[i]).removeClass("xr-border-gold").addClass("xr-border-lightgray"); 788 $("#xri_Order_PaymentMethod_Icon_" + vPaymentIDSpt[i]).removeClass("fas fa-check-circle text-success").addClass("far fa-circle xr-text-lightgray") 789 } 790 } 791 } 792 function XrfViewMoreViaBtn(sAreaIDview, sAreaIDhide) { 793 $("#" + sAreaIDview).css({ 794 "height": "auto", 795 "overflow": "visible" 796 }); 797 if (sAreaIDhide != "") { 798 $("#" + sAreaIDhide).remove() 799 } 800 } 801 function XrfOffsScroHdCart() { 802 var vOffsTop_HdWrapCart = $("#xri_Hd_Wrap_MyCart").offset().top + 80; 803 $(window).scroll(function() { 804 var vScroTop_HdWrapCart = $(this).scrollTop(); 805 if (vScroTop_HdWrapCart >= vOffsTop_HdWrapCart) { 806 $("#xri_Hd_Wrap_Logo").removeClass("d-none").addClass("d-flex"); 807 $("#xri_Hd_Wrap_MyCart").removeClass("d-none").addClass("d-flex") 808 } else { 809 if (vScroTop_HdWrapCart < vOffsTop_HdWrapCart) { 810 $("#xri_Hd_Wrap_Logo").removeClass("d-flex").addClass("d-none"); 811 $("#xri_Hd_Wrap_MyCart").removeClass("d-flex").addClass("d-none") 812 } 813 } 814 }) 815 } 816 function XrfOffsScroProDtTabs() { 817 var vOffsTop_ProDtTabs = $("#xri_ProDt_Tabs").offset().top - 105; 818 $(window).scroll(function() { 819 var vScroTop_ProDtTabs = $(this).scrollTop(); 820 if (vScroTop_ProDtTabs >= vOffsTop_ProDtTabs) { 821 $("#xri_ProDt_Tabs").removeClass("nav-tabs pl-3 pl-xl-5 xr-nav-tabs").addClass("navbar fixed-top justify-content-center xr-nav-tabs-top xr-bg-transparent-white-95 xr-box-shadow xr-animation-appear"); 822 $("#xri_ProDt_Tabs_Buy").addClass("d-md-block") 823 } else { 824 if (vScroTop_ProDtTabs < vOffsTop_ProDtTabs) { 825 $("#xri_ProDt_Tabs").removeClass("navbar fixed-top justify-content-center xr-nav-tabs-top xr-bg-transparent-white-95 xr-box-shadow xr-animation-appear").addClass("nav-tabs pl-3 pl-xl-5 xr-nav-tabs"); 826 $("#xri_ProDt_Tabs_Buy").removeClass("d-md-block") 827 } 828 } 829 }) 830 } 831 function XrfOffsScroProDtBuyBtn() { 832 var vOffsTop_ProDtBuyBtn = $("#xri_Row_ProDt_BuyBtn").offset().top + 30; 833 $(window).scroll(function() { 834 var vScroTop_ProDtBuyBtn = $(this).scrollTop(); 835 if (vScroTop_ProDtBuyBtn >= vOffsTop_ProDtBuyBtn) { 836 $("#xri_Row_ProDt_BuyBtn").removeClass("form-row mb-3 px-xl-5").addClass("row no-gutters fixed-bottom justify-content-center d-sm-none"); 837 $("#xri_Row_ProDt_BuyBtn button").addClass("rounded-0"); 838 $("#xri_Row_ProDt_BuyBtn_Now").removeClass("col-12 col-sm-5 px-4 px-sm-0 mt-2").addClass("col-5"); 839 $("#xri_Row_ProDt_BuyBtn_AddTo").removeClass("col-9 col-sm-5 pl-4 pl-sm-3 pr-sm-0 mt-3 mt-sm-2").addClass("col-5"); 840 $("#xri_Row_ProDt_BuyBtn_Wish").removeClass("col-3 col-sm-2 pl-2 pl-sm-3 pr-4 pr-sm-0 mt-3 mt-sm-2").addClass("col-2") 841 } else { 842 if (vScroTop_ProDtBuyBtn < vOffsTop_ProDtBuyBtn) { 843 $("#xri_Row_ProDt_BuyBtn").removeClass("row no-gutters fixed-bottom justify-content-center d-sm-none").addClass("form-row mb-3 px-xl-5"); 844 $("#xri_Row_ProDt_BuyBtn button").removeClass("rounded-0"); 845 $("#xri_Row_ProDt_BuyBtn_Now").removeClass("col-5").addClass("col-12 col-sm-5 px-4 px-sm-0 mt-2"); 846 $("#xri_Row_ProDt_BuyBtn_AddTo").removeClass("col-5").addClass("col-9 col-sm-5 pl-4 pl-sm-3 pr-sm-0 mt-3 mt-sm-2"); 847 $("#xri_Row_ProDt_BuyBtn_Wish").removeClass("col-2").addClass("col-3 col-sm-2 pl-2 pl-sm-3 pr-4 pr-sm-0 mt-3 mt-sm-2") 848 } 849 } 850 }) 851 } 852 function XrfSiteHeader(sPageWhere) { 853 var vFromUrl = document.referrer; 854 var vCurnUrl = window.location.href; 855 var url = "/ajax/site_header.asp?PageWhere=" + sPageWhere + "&FromUrl=" + encodeURIComponent(vFromUrl) + "&CurnUrl=" + encodeURIComponent(vCurnUrl) + "&t=" + Math.random(); 856 $.get(url, 857 function(sMsg) { 858 vMsg = $.trim(sMsg); 859 vSptMsg = vMsg.split("#}"); 860 var vNavTogCart = $.trim(vSptMsg[0]); 861 var vNavMyCartSM = $.trim(vSptMsg[1]); 862 var vNavMyCart = $.trim(vSptMsg[2]); 863 var vHdWrapCart = $.trim(vSptMsg[3]); 864 var vSignInOrNo = $.trim(vSptMsg[4]); 865 if (vNavTogCart != "") { 866 $("#xri_Hd_Nav_Toggle_CartQty").html(vNavTogCart).removeClass("d-none") 867 } 868 if (vNavMyCartSM != "") { 869 $("#xri_Hd_Nav_CartQtyBadge").html(vNavMyCartSM) 870 } 871 if (vNavMyCart != "") { 872 $("#xri_Hd_Nav_CartQty").html(vNavMyCart) 873 } 874 if (vHdWrapCart != "") { 875 $("#xri_Hd_Wrap_CartQty").html(vHdWrapCart) 876 } 877 if (vSignInOrNo != "") { 878 $("#xri_Hd_Wrap_Sign").html(vSignInOrNo) 879 } 880 }) 881 } 882 function XrfCurrencyInit(sCurrCode, sIsReload) { 883 var url = "/ajax/curr_init.asp?uCurrencyCode=" + encodeURIComponent(sCurrCode) + "&t=" + Math.random(); 884 $.get(url, 885 function(sMsg) { 886 vMsg = $.trim(sMsg); 887 vSptMsg = vMsg.split("#}"); 888 $("#xri_Hd_Wrap_CurrCode").html(vSptMsg[0]); 889 vCurrCurn = vSptMsg[1]; 890 vCurrAll = vSptMsg[2]; 891 if ((vCurrCurn != "") && (vCurrAll != "")) { 892 vSptCurrAll = vCurrAll.split("|"); 893 for (i = 0; i < vSptCurrAll.length; i++) { 894 if (vCurrCurn != vSptCurrAll[i]) { 895 var vCurrDispID = document.getElementsByName("xrn-Curr-" + vSptCurrAll[i]); 896 for (j = 0; j < vCurrDispID.length; j++) { 897 if (vCurrDispID[j].style.display != "none") { 898 vCurrDispID[j].style.display = "none" 899 } 900 } 901 } else { 902 if (vCurrCurn == vSptCurrAll[i]) { 903 var vCurrDispID = document.getElementsByName("xrn-Curr-" + vCurrCurn); 904 for (j = 0; j < vCurrDispID.length; j++) { 905 if (vCurrDispID[j].style.display != "") { 906 vCurrDispID[j].style.display = "" 907 } 908 } 909 } 910 } 911 } 912 } 913 if (sIsReload == 1) { 914 window.location.reload() 915 } 916 }) 917 } 918 function XrfImportantNotice(sPageWhere) { 919 var url = "/ajax/notice_modal.asp?PageWhere=" + encodeURIComponent(sPageWhere) + "&t=" + Math.random(); 920 $.get(url, 921 function(sMsg) { 922 var vMsg = $.trim(sMsg); 923 if (vMsg != "") { 924 var vSptMsg = vMsg.split("#}"); 925 var vNoticeShowedTimes = parseInt(vSptMsg[0]); 926 var vNoticeIsCover = parseInt(vSptMsg[1]); 927 var vNoticeIsPage = parseInt(vSptMsg[2]); 928 var vNoticeDisplayTimes = parseInt(vSptMsg[3]); 929 var vNoticeAutoCloseSec = parseInt(vSptMsg[4]); 930 var vNoticeTitle = $.trim(vSptMsg[5]); 931 var vNoticeContent = $.trim(vSptMsg[6]); 932 if ((vNoticeContent != "") && (vNoticeShowedTimes < vNoticeDisplayTimes) && ((sPageWhere == "Home") && (vNoticeIsCover = 1)) || ((sPageWhere != "Home") && (vNoticeIsPage = 1))) { 933 XrfModalReset(); 934 if (vNoticeTitle != "") { 935 $("#xri_ModalTitle").addClass("font-weight-bold text-danger"); 936 $("#xri_ModalTitle").html(vNoticeTitle) 937 } else { 938 $("#xri_ModalHeader").addClass("border-0 py-0"); 939 $("#xri_ModalBody").addClass("pb-4 px-md-4") 940 } 941 $("#xri_ModalBody").html(vNoticeContent); 942 $("#xri_ModalFooter").hide(); 943 $("#xri_Modal").modal("show"); 944 if (vNoticeAutoCloseSec > 0) { 945 setTimeout(function() { 946 $("#xri_Modal").modal("hide") 947 }, 948 vNoticeAutoCloseSec * 1000) 949 } 950 } 951 } 952 }) 953 } 954 function XrfNewsletter(sInputID, sRtnDivID) { 955 if (!XrfCheckEmail(sInputID, "", "", 0, 0)) { 956 $("#" + sInputID).addClass("is-invalid"); 957 return false 958 } 959 url = "/ajax/newsletter_check.asp"; 960 $.post(url, { 961 CheckSort: "email", 962 Email: $.trim($("#" + sInputID).val()) 963 }, 964 function(sMsg) { 965 if (sMsg != "") { 966 $("#" + sRtnDivID).html(sMsg) 967 } 968 return false 969 }); 970 return true 971 } 972 function XrfProReviewAdd(sUserID) { 973 if ((sUserID == "") || (sUserID == null)) { 974 if (!XrfCheckUserMyName("ReviewerName", "xri_rewite_rev_ReviewerName", "", 1, 80)) { 975 return false 976 } 977 if (!XrfCheckEmail("ReviewerEmail", "xri_rewite_rev_ReviewerEmail", "", 1, 80)) { 978 return false 979 } 980 } 981 if (!XrfCheckReviewDetail("ReviewDetail", "xri_rewite_rev_ReviewDetail", 1, 80)) { 982 return false 983 } 984 if (!XrfCheckVerificationCode("xri_ValidationCode", "xri_ValidationCode_Confirm", "xri_Row_VerificationCode", 1, 80)) { 985 return false 986 } 987 return true 988 } 989 function XrfCheckReviewDetail(sInputID, sDivID, sIsGoTop, sGoTopDistance) { 990 var vCheck = $.trim($("#" + sInputID).val()); 991 if ((vCheck == "") || (vCheck.length < 10)) { 992 XrfGoScrollTop(sIsGoTop, sDivID, sGoTopDistance, sDivID, "bg-warning", ""); 993 return false 994 } else { 995 if (sDivID != "") { 996 $("#" + sDivID).removeClass("bg-warning") 997 } 998 return true 999 } 1000 } 1001 function XrfUserSingIn() { 1002 if (!XrfCheckUsername("xri_Signin_Username", "xri_Row_Signin_Username", "", 3, 50, 1, 100)) { 1003 return false 1004 } 1005 if (!XrfCheckUserPwd("xri_Signin_Password", "xri_Row_Signin_Password", "", 4, 20, 1, 100)) { 1006 return false 1007 } 1008 return true 1009 } 1010 function XrfUserRegister() { 1011 if (!XrfCheckUserEmail("xri_Register_Email", "xri_Row_Register_Email", "xri_Alert_Register_Email", "xri_Verify_Register_Email", 1, 100, "Register", 0)) { 1012 return false 1013 } 1014 if ($("#xri_Verify_Register_Email").val() == "0") { 1015 XrfStatusPrompt("NG", "xri_Register_Email", "xri_Row_Register_Email", "", "", 1, 100); 1016 return false 1017 } 1018 if (!XrfCheckUserPwd("xri_Register_pwd", "xri_Row_Register_pwd", "", 6, 20, 1, 100)) { 1019 return false 1020 } 1021 if (!XrfCheckUserRePwd("xri_Register_repwd", "xri_Row_Register_repwd", "xri_Alert_Register_repwd", "xri_Register_pwd", 6, 20, 1, 100)) { 1022 return false 1023 } 1024 if (!XrfCheckUserMyName("xri_Register_uFirstName", "xri_Row_Register_uName", "", 1, 100)) { 1025 return false 1026 } 1027 if (!XrfCheckUserMyName("xri_Register_uLastName", "xri_Row_Register_uName", "", 1, 100)) { 1028 return false 1029 } 1030 if ($("#xri_UserCountry").val() == "") { 1031 if (!XrfCheckOnlyEngChars("xri_UserCountry", "xri_Row_UserCountry", "", 0, 3, 1, 100)) { 1032 return false 1033 } 1034 } 1035 if (!XrfCheckVerificationCode("xri_ValidationCode", "xri_ValidationCode_Confirm", "xri_Row_VerificationCode", 1, 100)) { 1036 return false 1037 } 1038 return true 1039 } 1040 function XrfCheckUserEmail(sInputID, sDivID, sAlertID, sValidationID, sIsGoTop, sGoTopDistance, sCheckSort, sUserID) { 1041 if (!XrfCheckEmail(sInputID, sDivID, "", sIsGoTop, sGoTopDistance)) { 1042 return false 1043 } 1044 var vCheck = $.trim($("#" + sInputID).val()); 1045 var url = "/ajax/user_check.asp"; 1046 $.post(url, { 1047 sCheckItem: "Email", 1048 sCheckValue: vCheck, 1049 sCheckSort: sCheckSort, 1050 sUserID: sUserID, 1051 t: Math.random() 1052 }, 1053 function(sMsg) { 1054 vMsg = $.trim(sMsg); 1055 vSptMsg = vMsg.split("#}"); 1056 var vMsgStatus = $.trim(vSptMsg[0]); 1057 var vMsgRemark = $.trim(vSptMsg[1]); 1058 XrfStatusPrompt(vMsgStatus, sInputID, sDivID, sAlertID, vMsgRemark, sIsGoTop, sGoTopDistance); 1059 if (vMsgStatus == "NG") { 1060 $("#" + sValidationID).val("0") 1061 } else { 1062 $("#" + sValidationID).val("1") 1063 } 1064 }); 1065 return true 1066 } 1067 function XrfCheckUserPwd(sInputID, sDivID, sAlertID, sCharMin, sCharMax, sIsGoTop, sGoTopDistance) { 1068 var vValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; 1069 if (!XrfCheckValid(sInputID, sDivID, sAlertID, sCharMin, sCharMax, vValidChars, sIsGoTop, sGoTopDistance)) { 1070 return false 1071 } 1072 return true 1073 } 1074 function XrfCheckUserRePwd(sInputID, sDivID, sAlertID, sOriInputID, sCharMin, sCharMax, sIsGoTop, sGoTopDistance) { 1075 var vValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; 1076 if (!XrfCheckValid(sInputID, sDivID, "", sCharMin, sCharMax, vValidChars, sIsGoTop, sGoTopDistance)) { 1077 return false 1078 } 1079 if ($.trim($("#" + sInputID).val()) != $.trim($("#" + sOriInputID).val())) { 1080 XrfStatusPrompt("NG", sInputID, sDivID, sAlertID, "Passwords must match.", sIsGoTop, sGoTopDistance); 1081 return false 1082 } 1083 XrfStatusPrompt("OK", sInputID, sDivID, sAlertID, "", sIsGoTop, sGoTopDistance); 1084 return true 1085 } 1086 function XrfUserPwdPlaintext(sInputID, sSwitchID) { 1087 if ($("#" + sInputID).attr("type") == "password") { 1088 $("#" + sInputID).attr("type", "text"); 1089 $("#" + sSwitchID).removeClass("fa-eye").addClass("fa-eye-slash") 1090 } else { 1091 $("#" + sInputID).attr("type", "password"); 1092 $("#" + sSwitchID).removeClass("fa-eye-slash").addClass("fa-eye") 1093 } 1094 } 1095 function XrfCheckUserMyName(sInputID, sDivID, sAlertID, sIsGoTop, sGoTopDistance) { 1096 if (!XrfCheckValid(sInputID, sDivID, sAlertID, 1, 50, "", sIsGoTop, sGoTopDistance)) { 1097 return false 1098 } 1099 return true 1100 } 1101 function XrfCheckUsername(sInputID, sDivID, sAlertID, sCharMin, sCharMax, sIsGoTop, sGoTopDistance) { 1102 var vValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_@."; 1103 if (!XrfCheckValid(sInputID, sDivID, sAlertID, sCharMin, sCharMax, vValidChars, sIsGoTop, sGoTopDistance)) { 1104 return false 1105 } 1106 return true 1107 } 1108 function XrfUserGetPassword() { 1109 if (!XrfCheckEmail("xri_GetPassword_Email", "xri_Row_GetPassword_Email", "", 1, 100)) { 1110 return false 1111 } 1112 if (!XrfCheckVerificationCode("xri_ValidationCode", "xri_ValidationCode_Confirm", "xri_Row_VerificationCode", 1, 100)) { 1113 return false 1114 } 1115 return true 1116 } 1117 function XrfUserGetOrderTracking() { 1118 if ((($.trim($("#xri_OrderTracking_TransactionID").val()) == "") && ($.trim($("#xri_OrderTracking_Email").val()) == "")) || ($.trim($("#xri_OrderTracking_TransactionID").val()) != "")) { 1119 if (!XrfCheckOnlyEngChars("xri_OrderTracking_TransactionID", "xri_Row_OrderTracking_TransactionID", "", 17, 20, 1, 100)) { 1120 return false 1121 } 1122 } 1123 if ($.trim($("#xri_OrderTracking_Email").val()) != "") { 1124 if (!XrfCheckEmail("xri_OrderTracking_Email", "xri_Row_OrderTracking_Email", "", 1, 100)) { 1125 return false 1126 } 1127 if (!XrfCheckOnlyEngChars("xri_OrderTracking_OrderSN", "xri_Row_OrderTracking_OrderSN", "", 9, 20, 1, 100)) { 1128 return false 1129 } 1130 } 1131 if (!XrfCheckVerificationCode("xri_ValidationCode", "xri_ValidationCode_Confirm", "xri_Row_VerificationCode", 1, 100)) { 1132 return false 1133 } 1134 return true 1135 } 1136 function XrfUserAddrBook(sAddrID) { 1137 $("#xri_UserAddrBook_AddrID").val(sAddrID); 1138 $("#xri_Form_UserAddrBook").submit() 1139 } 1140 function XrfUserAddrSet(sAddrID, sAddrAct) { 1141 if (sAddrAct == "Remove") { 1142 if (confirm("Are your sure REMOVE this Address?")) { 1143 $("#xri_UserAddrSet_AddrID").val(sAddrID); 1144 $("#xri_UserAddrSet_xAct").val(sAddrAct); 1145 $("#xri_Form_UserAddrSet").submit() 1146 } 1147 } else { 1148 $("#xri_UserAddrSet_AddrID").val(sAddrID); 1149 $("#xri_UserAddrSet_xAct").val(sAddrAct); 1150 $("#xri_Form_UserAddrSet").submit() 1151 } 1152 } 1153 function XrfUserAddrDetail() { 1154 if ($("#xri_UserCountry").val() == "") { 1155 if (!XrfCheckOnlyEngChars("xri_UserCountry", "xri_Row_UserAddr_UserCountry", "", 0, 3, 1, 100)) { 1156 return false 1157 } 1158 } 1159 if (!XrfCheckUserMyName("xri_UserAddr_FirstName", "xri_Row_UserAddr_Name", "", 1, 100)) { 1160 return false 1161 } 1162 if (!XrfCheckUserMyName("xri_UserAddr_LastName", "xri_Row_UserAddr_Name", "", 1, 100)) { 1163 return false 1164 } 1165 if (!XrfCheckValid("xri_UserAddr_AddressLine1", "xri_Row_UserAddr_Address", "", 3, 200, "", 1, 100)) { 1166 return false 1167 } 1168 if (!XrfCheckValid("xri_UserAddr_City", "xri_Row_UserAddr_City", "", 2, 200, "", 1, 100)) { 1169 return false 1170 } 1171 if ("|UK|GB|AU|CA|FR|FX|IT|NL|SP|HK|JP|".indexOf("|" + $("#xri_UserCountry").val() + "|") == -1) { 1172 if (!XrfCheckValid("xri_UserAddr_Province", "xri_Row_UserAddr_Province", "", 2, 200, "", 1, 100)) { 1173 return false 1174 } 1175 } 1176 if (!XrfCheckValid("xri_UserAddr_PostalCode", "xri_Row_UserAddr_PostalCode", "", 3, 10, "", 1, 100)) { 1177 return false 1178 } 1179 if (!XrfCheckPhoneNumber("xri_UserAddr_Phone", "xri_Row_UserAddr_Phone", "", 1, 100)) { 1180 return false 1181 } 1182 return true 1183 } 1184 function XrfUserOrderView(sOrderID) { 1185 $("#xri_User_OrderID").val(sOrderID); 1186 $("#xri_Form_UserOrderView").submit() 1187 } 1188 function XrfUserOrderAddComment() { 1189 if (!XrfCheckValid("xri_Order_CommentMessage", "xri_Row_Order_CommentMessage", "", 2, 2000, "", 1, 100)) { 1190 return false 1191 } 1192 return true 1193 } 1194 function XrfUserSetNewPwd() { 1195 if (!XrfCheckUserPwd("xri_UserAcct_ChangePwd_CurnPwd", "xri_Row_UserAcct_ChangePwd_CurnPwd", "", 4, 20, 1, 100)) { 1196 return false 1197 } 1198 if (!XrfCheckUserPwd("xri_UserAcct_ChangePwd_NewPwd", "xri_Row_UserAcct_ChangePwd_NewPwd", "", 6, 20, 1, 100)) { 1199 return false 1200 } 1201 if (!XrfCheckUserRePwd("xri_UserAcct_ChangePwd_NewRePwd", "xri_Row_UserAcct_ChangePwd_NewRePwd", "xri_Alert_UserAcct_ChangePwd_NewRePwd", "xri_UserAcct_ChangePwd_NewPwd", 6, 20, 1, 100)) { 1202 return false 1203 } 1204 return true 1205 } 1206 function XrfUserSetNewEmail(sUserID) { 1207 if (!XrfCheckUserPwd("xri_UserAcct_ChangeEmail_CurrentPwd", "xri_Row_UserAcct_ChangeEmail_CurrentPwd", "", 4, 20, 1, 100)) { 1208 return false 1209 } 1210 if (!XrfCheckUserEmail("xri_UserAcct_ChangeEmail_NewEmail", "xri_Row_UserAcct_ChangeEmail_NewEmail", "xri_Alert_UserAcct_ChangeEmail_NewEmail", "xri_Verify_UserAcct_ChangeEmail_NewEmail", 1, 100, "AccReset", sUserID)) { 1211 return false 1212 } 1213 if ($("#xri_Verify_UserAcct_ChangeEmail_NewEmail").val() == "0") { 1214 XrfStatusPrompt("NG", "xri_UserAcct_ChangeEmail_NewEmail", "xri_Row_UserAcct_ChangeEmail_NewEmail", "", "", 1, 100); 1215 return false 1216 } 1217 return true 1218 } 1219 function XrfUserProfile() { 1220 if (!XrfCheckUserMyName("xri_UserAcct_Profile_uFirstName", "xri_Row_UserAcct_Profile_uName", "", 1, 100)) { 1221 return false 1222 } 1223 if (!XrfCheckUserMyName("xri_UserAcct_Profile_uLastName", "xri_Row_UserAcct_Profile_uName", "", 1, 100)) { 1224 return false 1225 } 1226 if ($("#xri_UserCountry").val() == "") { 1227 if (!XrfCheckOnlyEngChars("xri_UserCountry", "xri_Row_UserAcct_Profile_UserCountry", "", 0, 3, 1, 100)) { 1228 return false 1229 } 1230 } 1231 if (!XrfCheckPhoneNumber("xri_UserAcct_Profile_uTel", "xri_Row_UserAcct_Profile_uTel", "", 1, 100)) { 1232 return false 1233 } 1234 return true 1235 } 1236 function XrfUserTicketRequest() { 1237 if (!XrfCheckValid("xri_UserMsg_Subject", "xri_Row_UserMsg_Subject", "", 5, 100, "", 1, 100)) { 1238 return false 1239 } 1240 if (!XrfCheckValid("xri_UserMsg_Question", "xri_Row_UserMsg_Question", "", 10, 2000, "", 1, 100)) { 1241 return false 1242 } 1243 return true 1244 } 1245 function XrfUserTicketOrderSNDisplay(sMasterID, sMatchValue, sDisplayID) { 1246 if ($("#" + sMasterID).val() == sMatchValue) { 1247 $("#" + sDisplayID).removeClass("d-none") 1248 } else { 1249 $("#" + sDisplayID).addClass("d-none") 1250 } 1251 } 1252 function XrfUserTicketView(sTicketID) { 1253 $("#xri_User_TicketID").val(sTicketID); 1254 $("#xri_Form_UserTicketView").submit() 1255 } 1256 function XrfUserTicketPostReply() { 1257 if (!XrfCheckValid("xri_UserMsg_ReplyDetail", "xri_Row_UserMsg_Reply", "", 3, 2000, "", 1, 100)) { 1258 return false 1259 } 1260 return true 1261 } 1262 function XrfUserReviewSet(sReviewID, sAct) { 1263 if (sAct == "Remove") { 1264 if (confirm("Are your sure REMOVE this review?")) { 1265 $("#xri_UserReviewSet_RevID").val(sReviewID); 1266 $("#xri_Form_UserReviewRemove").submit() 1267 } 1268 } else { 1269 if (sAct == "Edit") { 1270 $("#xri_UserReviewSet_RevID").val(sReviewID); 1271 $("#xri_Form_UserReviewEdit").submit() 1272 } 1273 } 1274 } 1275 function XrfUserProReviewDetail() { 1276 if (!XrfCheckValid("xri_UserReview_Detail", "xri_Row_UserReview_Detail", "", 3, 2000, "", 1, 100)) { 1277 return false 1278 } 1279 return true 1280 } 1281 function XrfUserFavoriteSet(sProID) { 1282 if (confirm("Are your sure REMOVE this product from Your Favorites?")) { 1283 $("#xri_UserFavoriteSet_ProID").val(sProID); 1284 $("#xri_Form_UserFavoriteSet").submit() 1285 } 1286 } 1287 function XrfUrlTracking() { 1288 var vCurnUrl = window.location.href; 1289 var vPreUrl = document.referrer; 1290 var url = "/ajax/url_tracking.asp?CurnUrl=" + encodeURIComponent(vCurnUrl) + "&PreUrl=" + encodeURIComponent(vPreUrl) + "&t=" + Math.random(); 1291 $.get(url) 1292 } 1293 function XrfEdmTracking() { 1294 var vCurnUrl = window.location.href; 1295 var url = "/ajax/edm_tracking.asp?CurnUrl=" + encodeURIComponent(vCurnUrl) + "&t=" + Math.random(); 1296 $.get(url) 1297 } 1298 function XrfBsCarouselTouch(sDivID) { 1299 var vTargetElement = document.getElementById(sDivID); 1300 var mc = new Hammer(vTargetElement); 1301 mc.on("panleft", 1302 function(ev) { 1303 $(vTargetElement).carousel("prev") 1304 }); 1305 mc.on("panright", 1306 function(ev) { 1307 $(vTargetElement).carousel("next") 1308 }) 1309 } 1310 function XrfFeedbackForm() { 1311 if (!XrfCheckValid("xri_Feedback_Subject", "xri_Row_Feedback_Subject", "", 5, 100, "", 1, 100)) { 1312 return false 1313 } 1314 if (!XrfCheckValid("xri_Feedback_Name", "xri_Row_Feedback_Name", "", 3, 50, "", 1, 100)) { 1315 return false 1316 } 1317 if (!XrfCheckEmail("xri_Feedback_Email", "xri_Row_Feedback_Email", "", 1, 100)) { 1318 return false 1319 } 1320 if (!XrfCheckValid("xri_Feedback_Detail", "xri_Row_Feedback_Detail", "", 10, 2000, "", 1, 100)) { 1321 return false 1322 } 1323 if (!XrfCheckVerificationCode("xri_ValidationCode", "xri_ValidationCode_Confirm", "xri_Row_VerificationCode", 1, 100)) { 1324 return false 1325 } 1326 return true 1327 } 1328 function XrfFeedbackLoginOrNot(sAct, sRtnDivIDs) { 1329 var url = "/ajax/user_basicinfo.asp?xAct=" + encodeURIComponent(sAct) + "&t=" + Math.random(); 1330 $.get(url, 1331 function(sMsg) { 1332 vMsg = $.trim(sMsg); 1333 if (vMsg != "NG") { 1334 vSptMsg = vMsg.split("#}"); 1335 vSptRtnDivID = sRtnDivIDs.split("|"); 1336 for (i = 0; i < vSptRtnDivID.length; i++) { 1337 $("#" + vSptRtnDivID[i]).val(vSptMsg[i]) 1338 } 1339 } 1340 }) 1341 } 1342 function XrfProGoTabPanel(sTabID, sPanelID) { 1343 $("#" + sTabID + ' a[href="#' + sPanelID + '"]').tab("show") 1344 } 1345 function XrfProFaqTop(sProID, sRtnDivID) { 1346 var vProTopFaqs = $("#" + sRtnDivID).html(); 1347 if ((vProTopFaqs == "") || (vProTopFaqs.indexOf("<h2") == -1)) { 1348 $("#" + sRtnDivID).html('<i class="fas fa-spinner fa-pulse fa-2x"></i>'); 1349 var url = "/questions/index.asp?ProID=" + sProID + "&DispMode=Ajax&t=" + Math.random(); 1350 $.get(url, 1351 function(sMsg) { 1352 vMsg = $.trim(sMsg); 1353 $("#" + sRtnDivID).html(vMsg) 1354 }) 1355 } 1356 } 1357 function XrfProFaqSeeMore(sDispName, sDispMode, sDispControlShowID, sDispControlHideID) { 1358 if (sDispMode == "show") { 1359 $("[name='" + sDispName + "']").removeClass("d-none"); 1360 $("#" + sDispControlShowID).removeClass("d-block").addClass("d-none"); 1361 $("#" + sDispControlHideID).removeClass("d-none") 1362 } else { 1363 $("[name='" + sDispName + "']").addClass("d-none"); 1364 $("#" + sDispControlShowID).removeClass("d-none").addClass("d-block"); 1365 $("#" + sDispControlHideID).addClass("d-none") 1366 } 1367 } 1368 function XrfProFaqQuesAdd(sUserID) { 1369 if ((sUserID == "") || (sUserID == null)) { 1370 if (!XrfCheckUserMyName("xri_Pro_FaqQueserEmail", "xri_Row_Pro_FaqQueserEmail", "", 1, 100)) { 1371 return false 1372 } 1373 if (!XrfCheckEmail("xri_Pro_FaqQueserEmail", "xri_Row_Pro_FaqQueserEmail", "", 1, 100)) { 1374 return false 1375 } 1376 } 1377 if (!XrfCheckValid("xri_Pro_FaqQuesSubject", "xri_Row_Pro_FaqQuesSubject", "", 3, 200, "", 1, 100)) { 1378 return false 1379 } 1380 if (!XrfCheckVerificationCode("xri_ValidationCode", "xri_ValidationCode_Confirm", "xri_Row_VerificationCode", 1, 80)) { 1381 return false 1382 } 1383 $("#xri_Submit_Pro_FaqQues").attr("disabled", true); 1384 return true 1385 } 1386 function XrfProFaqAnswAdd() { 1387 if (!XrfCheckValid("xri_Pro_FaqQuesSubject", "xri_Row_Pro_FaqQuesSubject", "", 3, 1000, "", 1, 100)) { 1388 return false 1389 } 1390 if (!XrfCheckVerificationCode("xri_ValidationCode", "xri_ValidationCode_Confirm", "xri_Row_VerificationCode", 1, 80)) { 1391 return false 1392 } 1393 $("#xri_Submit_Pro_FaqAnsw").attr("disabled", true); 1394 return true 1395 } 1396 function XrfProFaqVote(sProFaqQuesID, sProFaqAnswID, sHelpfulOrNot, sVoteResultID, sRtnDivID) { 1397 var url = "/ajax/pro_faq_vote.asp?ProFaqQuesID=" + encodeURIComponent(sProFaqQuesID) + "&ProFaqAnswID=" + encodeURIComponent(sProFaqAnswID) + "&HelpfulOrNot=" + encodeURIComponent(sHelpfulOrNot) + "&t=" + Math.random(); 1398 $.get(url, 1399 function(sMsg) { 1400 vMsg = $.trim(sMsg); 1401 vSptMsg = vMsg.split("#}"); 1402 switch ($.trim(vSptMsg[0])) { 1403 case "NG": 1404 break; 1405 case "OK": 1406 $("#" + sVoteResultID).html($.trim(vSptMsg[1])).fadeIn(500); 1407 break 1408 } 1409 if (sProFaqAnswID != 0) { 1410 $("#" + sRtnDivID).html($.trim(vSptMsg[2])).fadeIn(500) 1411 } 1412 }) 1413 } 1414 $(function() { 1415 $('[data-toggle="tooltip"]').tooltip(); 1416 $('[data-toggle="popover"]').popover() 1417 }); 1418 function XrfModalReset() { 1419 $("#xri_Modal").modal("hide"); 1420 var vModalBox = '<div id="xri_Modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="xri_ModalTitle" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false"><div id="xri_ModalDialog" class="modal-dialog modal-dialog-centered modal-lg" role="document"><div id="xri_ModalContent" class="modal-content"><div id="xri_ModalHeader" class="modal-header"><div id="xri_ModalBack" class="xr-absolute-top-left px-3 py-2 xr-cursor-pointer xr-text-gray xr-text-hover-readdark d-none" data-dismiss="modal"><i class="fas fa-chevron-left"></i> <span id="xri_ModalBackText">Back</span></div><div id="xri_ModalTitle" class="modal-title"></div><button id="xri_ModalClose" type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div><div id="xri_ModalBody" class="modal-body"></div><div id="xri_ModalFooter" class="modal-footer justify-content-center"><button type="button" class="btn btn-sm btn-light float-right xr-text-darkgray" data-dismiss="modal"><i class="fas fa-times"></i> Close</button></div></div></div></div>'; 1421 $("#xri_ModalBox").html(vModalBox) 1422 } 1423 function XrfModalCartChooseCountry() { 1424 XrfModalReset(); 1425 var vStr_ModalBody_SelectCountry = $("#xri_CartChooseShipToCountry").html(); 1426 vStr_ModalBody_SelectCountry = vStr_ModalBody_SelectCountry.replace(/Ship to/i, "<b>Choose your country or region to estimate shipping</b>"); 1427 vStr_ModalBody_SelectCountry = vStr_ModalBody_SelectCountry.replace(/xri_UserCountry/g, "xri_UserCountry_Modal"); 1428 vStr_ModalBody_SelectCountry = vStr_ModalBody_SelectCountry.replace(' onchange=""javascript:XrfCartShiptoCountry();""', ""); 1429 var vStr_ModalFooter_SelectCountry = "<button type=\"button\" class=\"btn btn-info btn-lg px-lg-5\" onClick=\"javascript:XrfCheckValid('xri_UserCountry_Modal', 'xri_ModalBody', '', '', 0, 3, 0, 0); if ($('#xri_UserCountry_Modal').val()!=''){$('#xri_UserCountry').val($('#xri_UserCountry_Modal').val()); XrfCartShiptoCountry(); $('#xri_Modal').modal('hide');}\">Submit & Continue</button>"; 1430 $("#xri_ModalBody").html(vStr_ModalBody_SelectCountry); 1431 $("#xri_ModalFooter").html(vStr_ModalFooter_SelectCountry); 1432 $("#xri_ModalFooter").addClass("justify-content-center"); 1433 $("#xri_ModalDialog").removeClass("modal-lg"); 1434 $("#xri_UserCountry_Modal").removeClass("xr-width-md-auto"); 1435 $("#xri_Modal").modal({ 1436 show: true, 1437 backdrop: "static" 1438 }) 1439 } 1440 function XrfProPayLaterMessaging(sProID, sPriceVIP, sRtnDivID) { 1441 var url = "/ajax/pro_pp_paylater.asp?ProID=" + encodeURIComponent(sProID) + "&PriceVIP=" + encodeURIComponent(sPriceVIP) + "&t=" + Math.random(); 1442 $.get(url, 1443 function(sMsg) { 1444 vMsg = $.trim(sMsg); 1445 if (vMsg != "") { 1446 vSptMsg = vMsg.split("#}"); 1447 vInnRtn_Country = $.trim(vSptMsg[0]); 1448 vInnRtn_CurrencyCode = $.trim(vSptMsg[1]); 1449 vInnRtn_ProPrice = $.trim(vSptMsg[2]); 1450 vInnRtn_PPClientID = $.trim(vSptMsg[3]); 1451 var vProDtPayLM = '<div class="form-row mt-1"><div class="col-lg-2"></div><div class="col-12 col-lg-10"><div data-pp-message data-pp-amount="' + vInnRtn_ProPrice + '" data-pp-buyerCountry="' + vInnRtn_Country + '" data-pp-placement="product"></div></div></div>'; 1452 $("#" + sRtnDivID).html(vProDtPayLM); 1453 var vPlmScriptUrl = "https://www.paypal.com/sdk/js?client-id=" + vInnRtn_PPClientID + "¤cy=" + vInnRtn_CurrencyCode + "&components=messages"; 1454 var vPlmScript = document.createElement("script"); 1455 vPlmScript.setAttribute("src", vPlmScriptUrl); 1456 document.head.appendChild(vPlmScript) 1457 } 1458 }) 1459 } 1460 function XrfUserProvince(sUserCountry, sRtnID, sUserProvinceVal) { 1461 var url = "/ajax/user_province.asp?UserCountry=" + encodeURIComponent(sUserCountry) + "&UserProvinceVal=" + encodeURIComponent(sUserProvinceVal) + "&t=" + Math.random(); 1462 $.get(url, 1463 function(sMsg) { 1464 $("#" + sRtnID).html($.trim(sMsg)) 1465 }) 1466 };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?