﻿var SolitaireSelectorRetailPriceSteps = new Array(0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1250, 1500, 1750, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 22500, 25000, 27500, 30000, 32500, 35000, 37500, 40000, 42500, 45000, 47500, 50000, 52500, 55000, 60000); var DiamondSelectorRetailPriceSteps = new Array(0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000, 3250, 3500, 3750, 4000, 4500, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 22500, 25000, 27500, 30000, 32500, 35000, 40000, 45000, 50000, 55000, 60000); var ColoredStoneSelectorRetailPriceSteps = new Array(0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1250, 1500, 1750, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 22500, 25000, 27500, 30000, 32500, 35000, 37500, 40000, 42500, 45000, 47500, 50000, 52500, 55000, 60000); var lpPosY = 100; $(document).ready(function () { $(".headerNavCustom").css("display", ""); $("#divGlobalNavTop").css("display", ""); SetRollovers(); var navItems = $("ul.headerNavCustom > li"); $("div", navItems).hide(); try { if (Global_TouchBrowser) { $(navItems).click(function () { if ($(this).children("div").is(":hidden")) { $(this).children("div").slideDown("fast") } else { $(this).children("div").slideUp("fast") } event.preventDefault() }) } else { $(navItems).hover(function () { $(this).children("div").slideDown("fast") }, function () { $(this).children("div").slideUp("fast") }) } } catch (Error) { $(navItems).hover(function () { $(this).children("div").slideDown("fast") }, function () { $(this).children("div").slideUp("fast") }) } $(".headerNavCustom li div").mouseover(function () { $(this).css("background-color", "#dad5cc"); if ($(this).has("a").length) { $(this).css("cursor", "pointer") } }); $(".headerNavCustom li div").mouseout(function () { $(this).css("background-color", "#f6f1e6"); if ($(this).has("a").length) { $(this).css("cursor", "default") } }); $(".headerNavCustom li div").click(function () { if ($(this).has("a").length) { window.location.href = $(this).children("a").attr("href") } }); if (navigator.appVersion.indexOf("MSIE 7") != -1) { $("div[id='divGlobalNavTop'] ul").each(function () { if ($(this).hasClass("level1")) { $(this).removeClass("level1").addClass("level1IE7") } }) } $("#divGlobalNavTop li a").each(function () { if ($(this).parent().parent().prev().text().indexOf("Our Stores") != -1) { $(this).attr("style", "border:solid 1px #bbb7b3; border-right:0; margin:-1px 0 0 -36px; width:106px;"); $(this).parent().parent().find("a:first").css("border-top", "0") } }) }); String.prototype.trim = function () { return this.replace(/^\s+|\s+$/g, "") }; String.prototype.ltrim = function () { return this.replace(/^\s+/, "") }; String.prototype.rtrim = function () { return this.replace(/\s+$/, "") }; String.prototype.startsWith = function (SearchValue) { return this.indexOf(SearchValue) === 0 }; String.prototype.endsWith = function (SearchValue) { return this.match(SearchValue + "$") == SearchValue }; $.fn.getBackgroundColorHEX = function () { var rgb = $(this).css("background-color"); rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); function hex(x) { return ("0" + parseInt(x).toString(16)).slice(-2) } try { return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]) } catch (Error) { return $(this).css("background-color") } }; function AdvanceField(CurrentField) { if ($(CurrentField).val().length == $(CurrentField).attr("maxlength")) { $("form").find("input,select").each(function () { if (parseInt($(this).attr("tabindex")) != 0) { if (parseInt($(this).attr("tabindex")) == parseInt($(CurrentField).attr("tabindex")) + 1) { $(this).focus() } } else { $(CurrentField).next("input,select").focus() } }) } } function AllowNumbersOnly(e) { var keyID = (window.event) ? event.keyCode : e.keyCode; if ((window.event && event.shiftKey) || e.shiftKey) { return false } if (keyID > 31 && (keyID < 48 || keyID > 57) && (keyID < 96 || keyID > 105) && keyID != 46) { return false } return true } function BrowserIsIE() { if (navigator.appVersion.indexOf("MSIE") != -1) { return true } else { return false } } function BrowserIsIE6() { if (navigator.appVersion.indexOf("MSIE") != -1) { var arVersion = navigator.appVersion.split("MSIE"); var version = parseFloat(arVersion[1]); if (version == 5.5 || version == 6) { return true } else { return false } } else { return false } } function BrowserIsIE7() { if (navigator.appVersion.indexOf("MSIE") != -1) { var arVersion = navigator.appVersion.split("MSIE"); var version = parseFloat(arVersion[1]); if (version == 7) { return true } else { return false } } else { return false } } function BrowserIsIE8() { if (navigator.appVersion.indexOf("MSIE") != -1) { var arVersion = navigator.appVersion.split("MSIE"); var version = parseFloat(arVersion[1]); if (version == 8) { return true } else { return false } } else { return false } } function ClearAllFields(formName) { if (formName == null || formName == "") { formName = "aspnetForm" } $("#" + formName).find(":input").each(function () { switch (this.type) { case "password": case "select-multiple": case "select-one": case "text": case "textarea": $(this).val(""); break; case "checkbox": case "radio": this.checked = false } }) } function ContactSuccess(EmailRecipient) { if (typeof (s) != "undefined") { s.eVar15 = EmailRecipient; GenerateSuccessMetric("events,eVar15", "event18", "", "o", "Contact Us (Success)") } } function EmailSuccess(Products) { GenerateSuccessMetric("events,products", "prodView,event16", Products, "o", "Product Views (Email)") } function GenerateSuccessMetric(TrackVars, TrackEvents, Products, LinkType, LinkName) { if (typeof (s) != "undefined") { if (Products != null && Products != "") { s.products = Products } if (LinkType == null || LinkType == "") { LinkType = "o" } if (LinkName == null || LinkName == "") { LinkName = "UNKNOWN" } if (TrackVars == null || TrackVars == "") { TrackVars = "None" } if (TrackEvents == null || TrackEvents == "") { TrackEvents = "None" } s.linkTrackVars = TrackVars; s.linkTrackEvents = s.events = TrackEvents; s.tl(true, LinkType, LinkName) } } function LoginSuccess() { GenerateSuccessMetric("events", "event8", "", "o", "Log In (Success)") } function FadedImageReplace(ImageID, NewImageSrc, TimeOutMS) { $("#" + ImageID).fadeOut(TimeOutMS, function () { $("#" + ImageID).attr("src", NewImageSrc); $("#" + ImageID).load(function () { $("#" + ImageID).fadeIn(TimeOutMS) }) }) } function FadedImageExchange(FirstImageID, SecondImageID, TimeOutMS) { var firstImageSrc = $("#" + FirstImageID).attr("src"); var secondImageSrc = $("#" + SecondImageID).attr("src"); var firstImageWidth = GetQueryStringValue(firstImageSrc.split("?")[1], "wid"); var firstImageHeight = GetQueryStringValue(firstImageSrc.split("?")[1], "hei"); var secondImageWidth = GetQueryStringValue(secondImageSrc.split("?")[1], "wid"); var secondImageHeight = GetQueryStringValue(secondImageSrc.split("?")[1], "hei"); $("#" + FirstImageID).fadeOut(TimeOutMS, function () { $("#" + FirstImageID).attr("src", secondImageSrc.replace("wid=" + secondImageWidth, "wid=" + firstImageWidth).replace("hei=" + secondImageHeight, "hei=" + firstImageHeight)); $("#" + FirstImageID).load(function () { $("#" + FirstImageID).fadeIn(TimeOutMS) }) }); $("#" + SecondImageID).fadeOut(TimeOutMS, function () { $("#" + SecondImageID).attr("src", firstImageSrc.replace("wid=" + firstImageWidth, "wid=" + secondImageWidth).replace("hei=" + firstImageHeight, "hei=" + secondImageHeight)); $("#" + SecondImageID).load(function () { $("#" + SecondImageID).fadeIn(TimeOutMS) }) }) } function FormattedCurrency(Amount) { if (Amount != null && Amount != "") { var dollars, cents, minus = "", delimiter = ","; var amountArray = Amount.toString().split("."); if (amountArray != null && amountArray.length > 1) { cents = amountArray[1] } dollars = parseInt(amountArray[0]); if (isNaN(dollars)) { return "" } if (dollars < 0) { minus = "-" } dollars = Math.abs(dollars).toString(); amountArray = []; while (dollars.length > 3) { var nn = dollars.substr(dollars.length - 3); amountArray.unshift(nn); dollars = dollars.substr(0, dollars.length - 3) } if (dollars.length > 0) { amountArray.unshift(dollars) } dollars = amountArray.join(delimiter); Amount = dollars + ((cents != null && cents.length > 1) ? "." + cents : ""); return minus + Amount } else { return 0 } } function GetArrayIndex(ArrayName, ArrayIndexValue) { var matchingIndex = -1; var array = eval(ArrayName); for (var arrayIndex = 0; arrayIndex < array.length; arrayIndex++) { if (array[arrayIndex].toString() == ArrayIndexValue) { matchingIndex = arrayIndex } } return matchingIndex } function GetQueryStringValue(QueryString, Key) { var queryStringValue = ""; var queryString = QueryString != null && QueryString != "" ? QueryString.split("&") : window.location.search.substring(1).split("&"); for (var key in queryString) { try { if (queryString[key].split("=")[0] == Key) { queryStringValue = queryString[key].split("=")[1]; break } } catch (Error) { } } return queryStringValue } function GetRetailPriceActualFromValue(Value, MaxRetailPrice, RetailPriceSteps, RetailPriceStepAmount, Slider, Type) { var actualAmount; var step = -1; if (Type == "LooseStone" || Type == "Diamond") { for (var i = 0; i <= DiamondSelectorRetailPriceSteps.length; i++) { if (DiamondSelectorRetailPriceSteps[i] == Value) { step = i; break } } } else { if (Type == "ColoredStone") { for (var i = 0; i <= ColoredStoneSelectorRetailPriceSteps.length; i++) { if (ColoredStoneSelectorRetailPriceSteps[i] == Value) { step = i; break } } } else { for (var i = 0; i <= SolitaireSelectorRetailPriceSteps.length; i++) { if (SolitaireSelectorRetailPriceSteps[i] == Value) { step = i; break } } } } if (step != -1) { var stepsToMultiply = RetailPriceSteps - step; if (Slider == "Max") { actualAmount = MaxRetailPrice - (RetailPriceStepAmount * stepsToMultiply) } else { actualAmount = RetailPriceStepAmount * (RetailPriceSteps - stepsToMultiply) } } else { if (Slider == "Max") { actualAmount = MaxRetailPrice } else { actualAmount = 0 } } return actualAmount } function IE6CorrectPNG() { if (BrowserIsIE6() && (document.body.filters)) { for (var i = 0; i < document.images.length; i++) { var img = document.images[i]; var imgName = img.src.toUpperCase(); if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : ""; var imgClass = (img.className) ? "class='" + img.className + "' " : ""; var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "; var imgStyle = "display:inline-block;" + img.style.cssText; if (img.align == "left") { imgStyle = "float:left;" + imgStyle } if (img.align == "right") { imgStyle = "float:right;" + imgStyle } if (img.parentElement.href) { imgStyle = "cursor:hand;" + imgStyle } var strNewHTML = "<span " + imgID + imgClass + imgTitle + ' style="width:' + img.width + "px; height:" + img.height + "px;" + imgStyle + ";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src + "', sizingMethod='scale');\"></span>"; img.outerHTML = strNewHTML; i-- } } } } function SelectAllCheckboxes(GroupName) { if ($("#lnk" + GroupName).text() == "Select All") { $("input[name='" + GroupName + "']").attr("checked", true); $("#lnk" + GroupName).text("Unselect All") } else { $("input[name='" + GroupName + "']").attr("checked", false); $("#lnk" + GroupName).text("Select All") } } function SetRollovers() { $(".rollOver").mouseover(function () { $(this).attr("src", $(this).attr("src").replace("." + $(this).attr("src").split(".")[1], "_over." + $(this).attr("src").split(".")[1])) }); $(".rollOver").mouseout(function () { $(this).attr("src", $(this).attr("src").replace("_over." + $(this).attr("src").split(".")[1], "." + $(this).attr("src").split(".")[1])) }) } function StripCurrencyCharacters(Amount) { if (Amount != null) { return Amount.replace("$", "").replace(/,/gi, "") } } function SuppressAllEvents() { window.history.forward(1); document.onkeydown = new Function("return false"); document.onkeypress = new Function("return false"); document.onkeyup = new Function("return false"); if (document.all) { document.onmousedown = SuppressAllMouseEvents; document.onmouseup = SuppressAllMouseEvents } else { if (document.layers) { window.captureEvents(Event.MOUSEDOWN) } else { document.onclick = SuppressAllMouseEvents; document.ondblclick = SuppressAllMouseEvents } } document.oncontextmenu = new Function("return false") } function SuppressAllMouseEvents(e) { if (document.all && event.button > 0) { return false } else { if (e.button > 0) { e.preventDefault(); return false } else { if (e.which > 0) { return false } } } } function SuppressEnterKey(e) { var keyID = (window.event) ? event.keyCode : e.keyCode; if (keyID == 13) { return false } } function UnsuppressEnterKey(e) { var keyID = (window.event) ? event.keyCode : e.keyCode; if (keyID == 13) { return true } } function UpdateQueryStringValue(QueryString, Key, NewValue) { var newQueryString = ""; var oldQueryString = QueryString != null && QueryString != "" ? QueryString.split("&") : window.location.search.substring(1).split("&"); for (var key in oldQueryString) { if (oldQueryString[key].split("=")[0] == Key) { if (NewValue != "") { newQueryString = newQueryString + (newQueryString != "" ? "&" : "") + oldQueryString[key].split("=")[0] + "=" + NewValue } } else { newQueryString = newQueryString + (newQueryString != "" ? "&" : "") + oldQueryString[key] } } return newQueryString } function ValidatePassword(password) { var disallowedCharacters = new Array(" ", "<", ">", "'", '"', "`", "~", "?", "/"); if (password.trim() == "") { return false } else { if (password.trim().length < 6 || password.trim().length > 12) { return false } else { for (var character in disallowedCharacters) { if (password.indexOf(disallowedCharacters[character]) != -1) { return false } } } } return true } function SetBubbleTipDefaults() { try { jQuery.bt.options.closeWhenOthersOpen = true; jQuery.bt.options.fill = "#eee"; jQuery.bt.options.padding = 5; jQuery.bt.options.shadow = true; jQuery.bt.options.shadowOffsetX = 3; jQuery.bt.options.shadowOffsetY = 3; jQuery.bt.options.shadowBlur = 5; jQuery.bt.options.shadowColor = "rgba(0,0,0,.9)"; jQuery.bt.options.shadowOverlap = false; jQuery.bt.options.noShadowOpts = { strokeStyle: "#bbb", strokeWidth: 1 }; jQuery.bt.options.spikeLength = 12; jQuery.bt.options.spikeGirth = 8; jQuery.bt.options.strokeStyle = "#bbb"; jQuery.bt.options.strokeWidth = 1; jQuery.bt.options.trigger = "none"; jQuery.bt.options.width = 300 } catch (Error) { } } function FadeOutBubbleTip(TimeOutMS, FadeTimeMS) { if (TimeOutMS == null || TimeOutMS == "") { TimeOutMS = 100 } if (FadeTimeMS == null || FadeTimeMS == "") { FadeTimeMS = 500 } setTimeout("$('.bt-wrapper').fadeOut(" + FadeTimeMS + ")", TimeOutMS) } function CloseAllBubbleTips() { $("#divBubbleTipContainer").btOff() } function EnableEmail(Element) { $(Element).fancybox({ width: 310, height: 334, hideOnContentClick: false, easingIn: "easeOutBack", easingOut: "easeInBack", scrolling: "no", titleShow: false, onStart: function () { CloseAllBubbleTips() } }); if ($("#hdnSerialized").val() == "true") { $(Element).attr("href", $(Element).attr("href") + "&XS=" + $("#hdnProductID").val()) } else { $(Element).attr("href", $(Element).attr("href") + "&X=" + $("#hdnProductID").val()) } } function DisableEmail(Element) { $(Element).unbind("fancybox") } function cmCreateManualLinkClickTag(arg1, arg2) { } var DictionaryFunctionArray = new Array("Add", "Delete", "Lookup", "KeyLookup", "Count"); function Dictionary() { this.Add = DictionaryAdd; this.Delete = DictionaryDelete; this.Lookup = DictionaryLookup; this.KeyLookup = DictionaryKeyLookup; this.Count = DictionaryCount } function DictionaryAdd() { for (var i = 0; i < DictionaryAdd.arguments.length; i += 2) { this[DictionaryAdd.arguments[i]] = DictionaryAdd.arguments[i + 1] } } function DictionaryDelete(Key) { for (var i = 0; i < DictionaryDelete.arguments.length; i++) { this[DictionaryDelete.arguments[i]] = null } } function DictionaryLookup(Key) { return (this[Key]) } function DictionaryKeyLookup(Index) { var dictionaryValue = ""; var dictionaryCounter = 0; for (var dictionaryIndex in this) { if ($.inArray(dictionaryIndex, DictionaryFunctionArray) != -1) { continue } else { if (dictionaryCounter == Index) { if ($.inArray(dictionaryIndex, DictionaryFunctionArray) == -1) { dictionaryValue = dictionaryIndex; break } } } dictionaryCounter++ } return dictionaryValue } function DictionaryCount() { var dictionaryCounter = 0; for (var dictionaryIndex in this) { if ($.inArray(dictionaryIndex, DictionaryFunctionArray) != -1) { continue } else { dictionaryCounter++ } } return dictionaryCounter };
