// *** *** Client side DbJsBasket functions - MyBasket Page // *** Copyright Roy Henderson(henderson.roy@gmail.com) 2012, All Rights Reserved. String.prototype.repeat = function (num) { if (num <= 0) { return new Array(1).join(this) } return new Array(num + 1).join(this); } function MyBasketCapatalizeChar(str, intLocation) { var strOut = str; var intLength = strOut.lenght; if (intLength == 0) { return ''; } if (intLocation > intLength) { return strOut; } if (intLocation == 0) { strOut = strOut.toUpperCase().charAt(intLocation) + strOut.substring(intLocation + 1); } else { strOut = strOut.substring(0, intLocation) + strOut.toUpperCase().charAt(intLocation) + strOut.substring(intLocation + 1); } return strOut; } function MyBasketCapatalizeAllWords(str, bitMac) { var strOut = ''; var intStart = 0; var pieces = str.split(" "); for (var i = 0; i < pieces.length; i++) { var j = pieces[i].charAt(0).toUpperCase(); pieces[i] = j + pieces[i].substr(1); } strOut = pieces.join(" "); if (bitMac == true) { intStart = strOut.indexOf(' Mc'); if (intStart >= 0) { strOut = MyBasketCapatalizeChar(strOut, intStart + 3); } intStart = strOut.indexOf(' Mac'); if (intStart >= 0) { strOut = MyBasketCapatalizeChar(strOut, intStart + 4); } intStart = strOut.indexOf(' Mic'); if (intStart >= 0) { strOut = MyBasketCapatalizeChar(strOut, intStart + 4); } intStart = strOut.indexOf(' Fitz'); if (intStart >= 0) { strOut = MyBasketCapatalizeChar(strOut, intStart + 5); } intStart = strOut.indexOf(" O'"); if (intStart >= 0) { strOut = MyBasketCapatalizeChar(strOut, intStart + 3); } } return strOut; } function MyBasketStringToNumber(strText, dblDefault) { var dblOut = dblDefault; try { dblOut = parseFloat(strText) } catch (e) { dblOut = dblDefault } if (isNaN(dblOut)) { dblOut = dblDefault } return dblOut } function MyBasketOnClickQtyIncDec(intLineNumber, strdblChangeBy) { var dblOut = 1; dblOut = MyBasketStringToNumber(document.getElementById('idLineQty' + intLineNumber).value, 1); dblOut = dblOut + strdblChangeBy; if (dblOut <= 0) { dblOut = 1 } document.getElementById('idLineQty' + intLineNumber).value = dblOut; // Add item to bulk batch objMainSiteBasket.UpdateQuantityItem_AddToRemoveFrom_Bulk(intLineNumber, dblOut, true); MyBasketQtyDirty(intLineNumber, true); } function MyBasketOnChangeQty(intLineNumber) { var dblOut = 1; dblOut = MyBasketStringToNumber(document.getElementById('idLineQty' + intLineNumber).value, 1); if (dblOut <= 0) { dblOut = 1 } document.getElementById('idLineQty' + intLineNumber).value = dblOut; // Add item to bulk batch objMainSiteBasket.UpdateQuantityItem_AddToRemoveFrom_Bulk(intLineNumber, dblOut, true); MyBasketQtyDirty(intLineNumber, true); } function MyBasketQtyDirty(intLineNumber, bitDirty) { if (bitDirty == true) { document.getElementById('idLineQty' + intLineNumber).style.backgroundColor = "#f3f3f3"; document.getElementById('idUpdateQtyBTN').className = "MyBasketUpdateQtyBTNVisible"; document.getElementById('idUpdateCancelLinkBTN').style.visibility = "visible"; } else { document.getElementById('idLineQtyDirty' + intLineNumber).value = 0; document.getElementById('idLineQty' + intLineNumber).style.backgroundColor = "#ffffff"; } } // End of MyBasketQtyDirty function MyBasketOnClickQtyUpdate() { // Disable button document.getElementById('idUpdateQtyBTN').className = "MyBasketUpdateQtyBTNHidden"; var intTotalNumberOfLines = MyBasketStringToNumber(document.getElementById('idTotalNumberOfItemsShown').value, 0); if (intTotalNumberOfLines == 0) { return '' } // Send bulk batch objMainSiteBasket.UpdateQuantityItem_SendBulk('/MyBasket'); } // End of MyBasketOnClickQtyUpdate function MyBasketOnClickPromotionalCode() { var strPromotionalCode = prompt("Please enter your Promotional Code.\n\ne.g. 1234-5678-09 or WinterOffer.", ""); if (strPromotionalCode == null || strPromotionalCode == "") { alert('Please complete your code'); return ''; } objMainSiteBasket.AddPromotionalCode(strPromotionalCode, '/MyBasket'); return ''; } // End of MyBasketOnClickPromotionalCode function MyBasketRemoveDirty(intLineNumber, bitDirty) { if (bitDirty == true) { document.getElementById('idUpdateDeletionsBTN').className = "MyBasketUpdateDeleteItemBTNVisible"; document.getElementById('idLineItem0' + intLineNumber).className = "MyBasketStrikeTotals"; document.getElementById('idLineItem1' + intLineNumber).className = "MyBasketStrikeLine"; //document.getElementById('idLineItem2' + intLineNumber).className = "MyBasketStrikeLine"; // Input line document.getElementById('idLineItem3' + intLineNumber).className = "MyBasketStrikeLine"; document.getElementById('idLineItem4' + intLineNumber).className = "MyBasketStrikeLine"; document.getElementById('idLineItem5' + intLineNumber).className = "MyBasketStrikeLine"; document.getElementById('idLineQty' + intLineNumber).className = "MyBasketQtyChangeInputStrike"; document.getElementById('idFooterTaxTotal').className = "MyBasketStrikeTotals"; document.getElementById('idFooterGrandTotal').className = "MyBasketStrikeTotals"; document.getElementById('idUpdateCancelLinkBTN').style.visibility = "visible"; } else { } } // End ofMyBasketRemoveDirty function MyBasketOnClickRemoveItem(intLineNumber, strStatus) { // Add item to bulk batch objMainSiteBasket.RemoveItem_AddToRemoveFrom_Bulk(intLineNumber, true); MyBasketRemoveDirty(intLineNumber, true); } function MyBasketOnClickRemoveUpdate() { // Disable button document.getElementById('idUpdateDeletionsBTN').className = "MyBasketUpdateDeleteItemBTNHidden"; var intTotalNumberOfLines = MyBasketStringToNumber(document.getElementById('idTotalNumberOfItemsShown').value, 0); if (intTotalNumberOfLines == 0) { return '' } // Send bulk batch objMainSiteBasket.RemoveItem_SendBulk('/MyBasket'); } function MyBasketOnClickRemovedItemUnRemove(intLineNumber) { // Add item to bulk batch objMainSiteBasket.UnRemoveItem(intLineNumber, '/MyBasket'); } function MyBasketOnClickRemovedItemDelete(intLineNumber) { // Add item to bulk batch objMainSiteBasket.DeleteItem(intLineNumber, '/MyBasket'); } function MyBasketSelectAPostageOptionFromBasketStoreCode(intItemsUniqueCodeNumber) { // Add item to bulk batch objMainSiteBasket.SelectOptionlItem_FindAndChangeDelivery(intItemsUniqueCodeNumber, '/MyBasket'); } function MyBasketOnClickPostageOptionSelectRegion(strRegionCode) { // Make the item list visible // options - // // // // // // // document.getElementById('idUKM').style.visibility = 'collapse'; document.getElementById('idSCO').style.visibility = 'collapse'; document.getElementById('idNOI').style.visibility = 'collapse'; document.getElementById('idROI').style.visibility = 'collapse'; document.getElementById('idCEU').style.visibility = 'collapse'; document.getElementById('idROW').style.visibility = 'collapse'; document.getElementById('idUKM').style.display = 'none'; document.getElementById('idSCO').style.display = 'none'; document.getElementById('idNOI').style.display = 'none'; document.getElementById('idROI').style.display = 'none'; document.getElementById('idCEU').style.display = 'none'; document.getElementById('idROW').style.display = 'none'; if (strRegionCode != 'NOT') { document.getElementById('id' + strRegionCode).style.visibility = 'visible'; document.getElementById('id' + strRegionCode).style.display = 'inline'; } document.getElementById('idDeliveryDropDownSelect').value = strRegionCode; } function MyBasketInitPostageOptionSelectRegion(intItemsUniqueCodeNumber, intFOC) { strRegionCode = 'NOT'; switch (intItemsUniqueCodeNumber) { case 1000000: strRegionCode = 'NOT'; break; case 1000001: strRegionCode = 'UKM'; break; case 1000002: strRegionCode = 'UKM'; break; case 1000003: strRegionCode = 'UKM'; break; case 1000004: strRegionCode = 'UKM'; break; case 1000005: strRegionCode = 'UKM'; break; case 1000006: strRegionCode = 'UKM'; break; case 1000007: strRegionCode = 'UKM'; break; case 1000008: strRegionCode = 'UKM'; break; case 1000009: strRegionCode = 'SCO'; break; case 1000010: strRegionCode = 'SCO'; break; case 1000011: strRegionCode = 'NOI'; break; case 1000012: strRegionCode = 'ROI'; break; case 1000013: strRegionCode = 'CEU'; break; case 1000014: strRegionCode = 'ROW'; break; case 1000015: strRegionCode = 'NOI'; break; case 1000016: strRegionCode = 'ROI'; break; case 1000017: strRegionCode = 'CEU'; break; case 1000018: strRegionCode = 'ROW'; break; case 1000019: strRegionCode = 'UKM'; break; default: strRegionCode = 'NOT'; } MyBasketOnClickPostageOptionSelectRegion(strRegionCode); // Check Option Radio button - checked="checked" try { if (intItemsUniqueCodeNumber > 1000000) { document.getElementById('idDeliveryRadio' + intItemsUniqueCodeNumber).checked = "checked"; } } catch (e) { } try { if (intFOC > 0) { // id="idDeliveryFOC1000014" style="visibility: collapse;" document.getElementById('idDeliveryFOC1000019').style.visibility = "visible"; document.getElementById('idDeliveryFOC1000010').style.visibility = "visible"; document.getElementById('idDeliveryFOC1000011').style.visibility = "visible"; document.getElementById('idDeliveryFOC1000012').style.visibility = "visible"; document.getElementById('idDeliveryFOC1000013').style.visibility = "visible"; document.getElementById('idDeliveryFOC1000014').style.visibility = "visible"; } } catch (e) { } } function MyBasketTestCode() { objMainSiteBasket.AddRecentlyViewedItem(57, ''); } function MyBasketTestCode1() { objMainSiteBasket.AddRecentlyViewedItem(67, ''); } function MyBasketTestCode2() { objMainSiteBasket.AddRecentlyViewedItem(70, ''); } function MyBasketTestCode3() { objMainSiteBasket.AddRecentlyViewedItem(163, ''); } function MyBasket_BlockDeleteButton(strId,bitApplyBlock) { if (bitApplyBlock == true) { $(strId).hide(); } } function MyBasket_BlockQuantityPlusMinusButtons(strId,bitApplyBlock) { if (bitApplyBlock == true) { $(strId).prop("onclick", null); $(strId).hide(); } } function MyBasket_BlockQuantityInputBox(strId,bitApplyBlock) { if (bitApplyBlock == true) { $(strId).prop('disabled', true); $(strId).css({ 'border': 'none transparent' }); $(strId).css({ 'background-color': '#FFFFFF' }); } }