﻿function tagsShowHide() { if (MMM && MMM.Departments.Women) { var mouseX = MMM.mouseX; var mouseY = MMM.mouseY; var _tags = $("#MixMatchMe_Women_Tag_Manager"); var _bb = $("#mmm_blackbox"); if (((mouseX > _bb.offset().left) && ((mouseX - _bb.offset().left) < _bb.width())) && ((mouseY > _bb.offset().top) && ((mouseY - _bb.offset().top) < _bb.height()))) { MMM.Departments.Women.showModelTags(); } else { MMM.Departments.Women.hideModelTags(); } } } var constSmallModelTO = 10000; var smallModelLoadTime = 0; var StopFinalizeSmallModels = true; var SmallModelToArray = []; function HidePlaceHolder(num) { $("#f_placeholderO" + num.toString()).css("opacity", 0); $("#f_placeholderO" + num.toString()).css("visibility", "hidden"); $("#f_placeholderO" + num.toString()).css("z-index", 2); } function ShowPlaceHolder(num) { var ip = 1; for (ip = 1; ip <= num; ip++) { $("#f_placeholderO" + ip.toString()).css("opacity", 1); $("#f_placeholderO" + ip.toString()).css("visibility", "visible"); $("#f_placeholderO" + ip.toString()).css("z-index", 2); } } function GetOutfitItems() { return MMM.Departments.Women.getModelDetail("id"); } function AddClothes_f(category, src, url, price, sale, brand, id, imgid, top_l_s, param2, param3, prodCode, prodColour, tagName, toggle, seasonName) { if (MMM.Departments.Women.modelReady) { if (document.getElementById("iTagSave").src != siteimagebase + "saveto.png") { document.getElementById("iTagSave").src = siteimagebase + "saveto.png"; document.getElementById("textSave").innerHTML = "Save"; } if (readCookie("MixMatchMe_admin") == "True") { } else { } var gd = new mmmGarmentDetail(); gd.setDetails(category, src, url, price, sale, brand, id, imgid, top_l_s, param2, param3, prodCode, prodColour, tagName, toggle, seasonName); ResetAddOutfit(); MMM.Departments.Women.addGarment(gd); } } function ShowModel(type) { if (type == "Women") { ready = 1; Bob = 4; hiddenBob = 3; PreloadReset_f(); } else { Bob = 2; hiddenBob = 1; } } function mmmBeginRequest(sender, args) { StopFinalizeSmallModels = true; if (sender._postBackSettings.sourceElement.id != "UpdatePanelSave" && sender._postBackSettings.sourceElement.id != "ibsignup") { if (_topPage == 0) { _subpage = 0; loadingtimout = window.setTimeout("if (_subpage == 0){ document.getElementById('imgProducts_Loading').style.visibility = 'visible';}", 500); if (topPos != 0) { if (topPos < 70) { document.getElementById("imgProducts_Loading").style.top = "290px"; } else { document.getElementById("imgProducts_Loading").style.top = (290 - 70 + topPos) + "px"; } } else { document.getElementById("imgProducts_Loading").style.top = "290px"; } document.getElementById("divProducts_Loading").style.zIndex = "15"; $("#divProducts_Loading").fadeTo("fast", 0.5); } } } function EntryHeightSEO() { var pg_height = $("#divProducts_Loading").height(); if (pg_height > 787) { document.getElementById("img_pgHeight").style.height = (pg_height - 825) + 175 + "px"; document.getElementById("imgSignupLoad").style.top = (pg_height - 825) + 933 + "px"; } else { document.getElementById("img_pgHeight").style.height = "76px"; document.getElementById("imgSignupLoad").style.top = "840px"; } } function mmmEndRequest(sender, args) { ClearTimeoutForWebservice(); var pg_height = $("#divProducts_Loading").height(); if (pg_height > 787) { document.getElementById("img_pgHeight").style.height = (pg_height - 825) + 175 + "px"; document.getElementById("imgSignupLoad").style.top = (pg_height - 825) + 933 + "px"; } else { document.getElementById("img_pgHeight").style.height = "76px"; document.getElementById("imgSignupLoad").style.top = "840px"; } if (_topPage == 0) { _subpage = 1; window.clearTimeout("loadingtimout"); $("#divProducts_Loading").css("opacity", 0); document.getElementById("imgProducts_Loading").style.top = "0px"; if (_subpage == 1) { document.getElementById("divProducts_Loading").style.zIndex = "-1"; document.getElementById("imgProducts_Loading").style.visibility = "hidden"; } else { } } } function ClearTimeoutForWebservice() { window.clearTimeout(loadingtimout1); $("#divProducts_Loading").css("opacity", 0); document.getElementById("divProducts_Loading").style.zIndex = "-1"; document.getElementById("imgProducts_Loading").style.visibility = "hidden"; } function ClearSmallOutfits(andPlaceholder) { smallModelLoadTime = 0; StopFinalizeSmallModels = false; if ((document.getElementById("f_OutfitO1").style.visibility == "visible") || ($("#f_placeholderO1").css("opacity") == 1)) { var ip = 1; for (ip = 1; ip <= _smalloutfitCount; ip++) { try { window.clearTimeout(SmallModelToArray[ip]); document.getElementById("f_OutfitO" + ip.toString()).style.visibility = "hidden"; if ((andPlaceholder == 1) && ($("#f_placeholderO" + ip).css("opacity") == 1)) { HidePlaceHolder(ip); } window["f_DressesLoadedO" + ip] = 1; window["f_SkinLoadedO" + ip] = 1; window["f_JewellryLoadedO" + ip] = 1; window["f_JewellryArmLoadedO" + ip] = 1; window["f_JewellryEarLoadedO" + ip] = 1; window["f_SunglassesLoadedO" + ip] = 1; window["f_ShoesLoadedO" + ip] = 1; window["f_TightsLoadedO" + ip] = 1; window["f_JeansLoadedO" + ip] = 1; window["f_TopsLoadedO" + ip] = 1; window["f_KnitwearLoadedO" + ip] = 1; window["f_ShortsLoadedO" + ip] = 1; window["f_SkirtsLoadedO" + ip] = 1; window["f_JacketsCoatsLoadedO" + ip] = 1; window["f_JacketsCoatsBackLoadedO" + ip] = 1; window["f_BagsLoadedO" + ip] = 1; window["f_BagsBackLoadedO" + ip] = 1; window["f_BeltsLoadedO" + ip] = 1; window["f_SwimwearBottomLoadedO" + ip] = 1; window["f_SwimwearTopLoadedO" + ip] = 1; window["f_SwimwearFullLoadedO" + ip] = 1; window["f_ShirtsLoadedO" + ip] = 1; window["f_ShirtsCollarLoadedO" + ip] = 1; window["f_ScarvesLoadedO" + ip] = 1; window["f_JumpsuitsLoadedO" + ip] = 1; window["f_WalletLoadedO" + ip] = 1; window["f_WatchLoadedO" + ip] = 1; window["f_SocksLoadedO" + ip] = 1; window["f_RingLoadedO" + ip] = 1; window["f_HatLoadedO" + ip] = 1; document.getElementById("f_DressesO" + ip.toString()).src = ""; document.getElementById("f_JewellryO" + ip.toString()).src = ""; document.getElementById("f_JewellryArmO" + ip.toString()).src = ""; document.getElementById("f_JewellryEarO" + ip.toString()).src = ""; document.getElementById("f_SunglassesO" + ip.toString()).src = ""; document.getElementById("f_ShoesO" + ip.toString()).src = ""; document.getElementById("f_TightsO" + ip.toString()).src = ""; document.getElementById("f_JeansO" + ip.toString()).src = ""; document.getElementById("f_TopsO" + ip.toString()).src = ""; document.getElementById("f_KnitwearO" + ip.toString()).src = ""; document.getElementById("f_ShortsO" + ip.toString()).src = ""; document.getElementById("f_SkirtsO" + ip.toString()).src = ""; document.getElementById("f_JacketsCoatsO" + ip.toString()).src = ""; document.getElementById("f_JacketsCoatsBackO" + ip.toString()).src = ""; document.getElementById("f_BagsO" + ip.toString()).src = ""; document.getElementById("f_BagsBackO" + ip.toString()).src = ""; document.getElementById("f_BeltsO" + ip.toString()).src = ""; document.getElementById("f_SwimwearBottomO" + ip.toString()).src = ""; document.getElementById("f_SwimwearTopO" + ip.toString()).src = ""; document.getElementById("f_SwimwearFullO" + ip.toString()).src = ""; document.getElementById("f_ShirtsO" + ip.toString()).src = ""; document.getElementById("f_ShirtsCollarO" + ip.toString()).src = ""; document.getElementById("f_ScarvesO" + ip.toString()).src = ""; document.getElementById("f_RingO" + ip.toString()).src = ""; document.getElementById("f_WalletO" + ip.toString()).src = ""; document.getElementById("f_WatchO" + ip.toString()).src = ""; document.getElementById("f_SocksO" + ip.toString()).src = ""; document.getElementById("f_HatO" + ip.toString()).src = ""; document.getElementById("f_JumpsuitsO" + ip.toString()).src = ""; document.getElementById("f_SkinO" + ip.toString()).src = ""; document.getElementById("f_DressesO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_JewellryO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_JewellryArmO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_JewellryEarO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_SunglassesO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_ShoesO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_TightsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_JeansO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_TopsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_KnitwearO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_ShortsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_SkirtsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_JacketsCoatsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_JacketsCoatsBackO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_BagsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_BagsBackO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_BeltsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_SwimwearBottomO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_SwimwearTopO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_SwimwearFullO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_ShirtsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_ShirtsCollarO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_ScarvesO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_RingO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_WalletO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_WatchO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_SocksO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_HatO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_JumpsuitsO" + ip.toString()).src = sitebase + "spacer.gif"; document.getElementById("f_SkinO" + ip.toString()).src = sitebase + "spacer.gif"; } catch (err) { } } } } function FinalizeSmall_f(num) { try { if (window["f_DressesLoaded" + num] == 1 && window["f_JewellryLoaded" + num] == 1 && window["f_JewellryArmLoaded" + num] == 1 && window["f_JewellryEarLoaded" + num] == 1 && window["f_SunglassesLoaded" + num] == 1 && window["f_ShoesLoaded" + num] == 1 && window["f_TightsLoaded" + num] == 1 && window["f_JeansLoaded" + num] == 1 && window["f_TopsLoaded" + num] == 1 && window["f_KnitwearLoaded" + num] == 1 && window["f_ShortsLoaded" + num] == 1 && window["f_SkirtsLoaded" + num] == 1 && window["f_JacketsCoatsLoaded" + num] == 1 && window["f_JacketsCoatsBackLoaded" + num] == 1 && window["f_BagsLoaded" + num] == 1 && window["f_BagsBackLoaded" + num] == 1 && window["f_BeltsLoaded" + num] == 1 && window["f_SwimwearBottomLoaded" + num] == 1 && window["f_SwimwearTopLoaded" + num] == 1 && window["f_SwimwearFullLoaded" + num] == 1 && window["f_ShirtsLoaded" + num] == 1 && window["f_ShirtsCollarLoaded" + num] == 1 && window["f_ScarvesLoaded" + num] == 1 && window["f_JumpsuitsLoaded" + num] == 1 && window["f_WalletLoaded" + num] == 1 && window["f_WatchLoaded" + num] == 1 && window["f_SocksLoaded" + num] == 1 && window["f_HatLoaded" + num] == 1 && window["f_RingLoaded" + num] == 1 && window["f_SkinLoaded" + num] == 1) { document.getElementById("f_Outfit" + num).style.visibility = "visible"; $("#f_placeholder" + num).fadeTo("fast", 0, function () { $("#f_placeholder" + num).css("visibility", "hidden"); }); } else { SmallModelToArray[parseInt(num.replace("O", ""))] = window.setTimeout("FinalizeSmall_f('" + num + "');", 50); } } catch (err) { } } function reset() { var lModel; ResetAddOutfit(); MMM.Departments.Women.loadOutfit(null); } function mmmLog() { } function mmmLogStr(msg) { } function ClearSplash() { StopFinalizeSmallModels = true; if (_topPage == 1) { $("#divStart").fadeTo("slow", 0.5, function () { if (_topPage == 1) { document.getElementById("imgMainSpin").style.visibility = "visible"; } }); } } function ClearSplash_do() { var doRecall = false; if (MMM) { if (MMM.Departments.Women.modelReady) { if (_topPage == 1) { _topPage = 0; document.getElementById("divStart").style.visibility = "hidden"; document.getElementById("imgMainSpin").style.visibility = "hidden"; document.getElementById("imgSignupLoad").style.top = "934px"; document.getElementById("pgHeight").innerHTML = "<img height='680px' width='1px' src='spacer.gif' />"; document.getElementById("bob3").style.visibility = "visible"; } } else { doRecall = true; } } else { doRecall = true; } if (doRecall) { doRecall = false; window.setTimeout("ClearSplash_do();", 50); } } function f_CalculateTotal() { try { if (MMM) { var total = MMM.Departments.Women.getTotal(); var _bag = document.getElementById("btnBag1"); _bag.style.visibility = "hidden"; switch (_marketId) { case 3: _bag.innerHTML = "<span>" + _addOutfitToBagText + ": " + total.toFixed(0) + " " + _currency + "</span>"; break; case 4: _bag.innerHTML = "<span>" + _addOutfitToBagText + ": " + _currency + " " + total.toFixed(0) + "</span>"; break; default: _bag.innerHTML = "<span>" + _addOutfitToBagText + ": " + _currency + total.toFixed(0) + "</span>"; } _bag.style.visibility = "visible"; } } catch (err) { } } function pageLoad() { _loadCount += 1; if (_loadCount > 1) { _gaq.push(["mmm._trackPageview"]); } if (_loadCount == 1) { $.cookie("Navigate", "No"); $("#imgOutfitLoading5").css("opacity", 0); PreLoadImage("saved"); } else { if (_loadCount == 2) { $.cookie("Navigate", "Yes"); } } if (MMM) { MMM.Departments.Women.linkTagsToDOM(); MMM.Departments.Women.tagsVisible = false; tagsShowHide(); MMM.modelPosManager.tags = document.getElementById("MixMatchMe_Women_Tag_Manager"); MMM.modelPosManager.setTagsPosition(); MMM.Departments.Women.setSize(); } } function f_UpdateSponsoredLinks() { if (MMM) { MMM.Departments.Women.linkTagsToDOM(); MMM.Departments.Women.setModelTags(); f_CalculateTotal(); } } function SetDetailId(id) { if (MMM) { MMM.Departments.Women.setClickedID(id); document.getElementById(_DetailProductId).value = id; } } function TagSetDetailId(cmdName) { if (MMM) { MMM.Departments.Women.setClickedID(MMM.Departments.Women.garments[cmdName].id); document.getElementById(_DetailProductId).value = MMM.Departments.Women.garments[cmdName].id; } } function ItemLoaded_f(category, num) { if (MMM) { MMM.Departments.Women.ImageLoaded(category, num); } if (category + num == category + hiddenBob) { if (document.getElementById(category + num).src != sitebase + "spacerR.png") { try { switch (category) { case "Dresses": f_DressesLoaded = 1; break; case "Jewellry": f_JewellryLoaded = 1; break; case "JewellryArm": f_JewellryArmLoaded = 1; break; case "JewellryEar": f_JewellryEarLoaded = 1; break; case "Ring": f_RingLoaded = 1; break; case "Hat": f_HatLoaded = 1; break; case "Sunglasses": f_SunglassesLoaded = 1; break; case "Shoes": f_ShoesLoaded = 1; break; case "Tights": f_TightsLoaded = 1; break; case "Jeans": f_JeansLoaded = 1; break; case "Tops": f_TopsLoaded = 1; break; case "Knitwear": f_KnitwearLoaded = 1; break; case "Shorts": f_ShortsLoaded = 1; break; case "Skirts": f_SkirtsLoaded = 1; break; case "JacketsCoats": f_JacketsCoatsLoaded = 1; break; case "JacketsCoatsBack": f_JacketsCoatsBackLoaded = 1; break; case "Bags": f_BagsLoaded = 1; break; case "BagsBack": f_BagsBackLoaded = 1; break; case "Belts": f_BeltsLoaded = 1; break; case "SwimwearBottom": f_SwimwearBottomLoaded = 1; break; case "SwimwearTop": f_SwimwearTopLoaded = 1; break; case "SwimwearFull": f_SwimwearFullLoaded = 1; break; case "Shirts": f_ShirtsLoaded = 1; break; case "ShirtsCollar": f_ShirtsCollarLoaded = 1; break; case "Scarves": f_ScarvesLoaded = 1; break; case "Jumpsuits": f_JumpsuitsLoaded = 1; break; case "Skin": f_SkinLoaded = 1; break; default: } } catch (err) { } } } } function LoadOutfit_f(outfit, keepDressMeUpImage) { if (!MMM || !MMM.Departments.Women) { return; } var outfitGarments = {}; for (i = 0; i < outfit.length; i++) { var gd = new mmmGarmentDetail(); gd.setDetails(outfit[i][0], outfit[i][1], outfit[i][2], outfit[i][3], outfit[i][4], outfit[i][5], outfit[i][6], outfit[i][7], outfit[i][8], outfit[i][9], outfit[i][10], outfit[i][11], outfit[i][12], outfit[i][13], false, outfit[i][15]); outfitGarments[gd.category] = gd; } MMM.Departments.Women.loadOutfit(outfitGarments, keepDressMeUpImage); } function f_ShowSponsoredLinks() { } function f_HideSponsoredLinks() { } function ShowSponsoredLinks() { if (!MMM || !MMM.Departments.Women) { return; } f_ShowSponsoredLinks(); } function getCurrentModelIndex() { if (!MMM || !MMM.Departments.Women) { return ""; } return MMM.Departments.Women.getModelIndex(); } function RemoveItem_f(item, itemnum) { if (readCookie("MixMatchMe_admin") == "True") { } else { } if (document.getElementById('iTagSave').src != siteimagebase + 'saveto.png') { document.getElementById('iTagSave').src = siteimagebase + 'saveto.png'; document.getElementById('textSave').innerHTML = "Save"; } ResetAddOutfit(); MMM.Departments.Women.removeGarment(item); } function DressModelWithOutfitSmall_f(category, dressCategory, version, imgid, num, param2, zindex, season) { var modelIndex = ""; switch (category) { case "Dresses": window["f_DressesLoaded" + num] = 0; window["f_SkinLoaded" + num] = 0; modelIndex = "_" + getCurrentModelIndex(); document.getElementById("f_Skin" + num).src = pathbaseOutfit + season + "/SmallOutfit/0" + modelIndex + ".png"; modelIndex = ""; break; case "Jewellry": window["f_JewellryLoaded" + num] = 0; break; case "JewellryArm": window["f_JewellryArmLoaded" + num] = 0; break; case "JewellryEar": window["f_JewellryEarLoaded" + num] = 0; break; case "Ring": window["f_RingLoaded" + num] = 0; break; case "Hat": window["f_HatLoaded" + num] = 0; break; case "Sunglasses": window["f_SunglassesLoaded" + num] = 0; break; case "Shoes": window["f_ShoesLoaded" + num] = 0; break; case "Socks": window["f_SocksLoaded" + num] = 0; break; case "Tights": window["f_TightsLoaded" + num] = 0; break; case "Jeans": window["f_JeansLoaded" + num] = 0; break; case "Tops": window["f_TopsLoaded" + num] = 0; window["f_SkinLoaded" + num] = 0; modelIndex = "_" + getCurrentModelIndex(); document.getElementById("f_Skin" + num).src = pathbaseOutfit + season + "/SmallOutfit/0" + modelIndex + ".png"; modelIndex = ""; break; case "Knitwear": window["f_KnitwearLoaded" + num] = 0; break; case "Shorts": window["f_ShortsLoaded" + num] = 0; break; case "Skirts": window["f_SkirtsLoaded" + num] = 0; break; case "JacketsCoats": window["f_JacketsCoatsLoaded" + num] = 0; break; case "JacketsCoatsBack": window["f_JacketsCoatsBackLoaded" + num] = 0; break; case "Bags": window["f_BagsLoaded" + num] = 0; break; case "BagsBack": window["f_BagsbackLoaded" + num] = 0; break; case "Belts": window["f_BeltsLoaded" + num] = 0; break; case "Wallet": window["f_WalletLoaded" + num] = 0; break; case "Watch": window["f_WatchLoaded" + num] = 0; break; case "SwimwearBottom": window["f_SwimwearBottomLoaded" + num] = 0; break; case "SwimwearTop": window["f_SwimwearTopLoaded" + num] = 0; break; case "SwimwearFull": window["f_SwimwearFullLoaded" + num] = 0; break; case "Shirts": window["f_ShirtsLoaded" + num] = 0; window["f_ShirtsCollarLoaded" + num] = 0; document.getElementById("f_" + category + "Collar" + num).src = pathbaseOutfit + season + "/SmallOutfit/" + imgid + "-c.png"; break; case "ShirtsCollar": window["f_ShirtsCollarLoaded" + num] = 0; break; case "Scarves": window["f_ScarvesLoaded" + num] = 0; break; case "Jumpsuits": window["f_JumpsuitsLoaded" + num] = 0; break; } if (zindex != "") { document.getElementById("f_" + category + num).style.zIndex = zindex; } if (version != "") { version = "-" + version; document.getElementById("f_" + category + num).src = pathbaseOutfit + season + "/SmallOutfit/" + imgid + modelIndex + version + ".png"; } else { document.getElementById("f_" + category + num).src = pathbaseOutfit + season + "/SmallOutfit/" + imgid + modelIndex + ".png"; } } function mmmShoppingBag(cookie_name) { this.items = {}; if (cookie_name && (cookie_name != "")) { this.cookieName = cookie_name; } else { this.cookieName = ""; } this.useCookie = (this.cookieName != ""); this.loading = true; this.loadFromCookie(); this.loading = false; } mmmShoppingBag.prototype.loadFromCookie = function () { var cVal; if (this.useCookie == "") { return; } this.removeAllItems(); cVal = $.cookie(this.cookieName); if (cVal && (cVal != "")) { this.addItems(cVal); } }; mmmShoppingBag.prototype.saveToCookie = function () { if (this.useCookie) { $.cookie(this.cookieName, this.getItems(), { expires: 1 }); } }; mmmShoppingBag.prototype.getItemCount = function () { var count = 0; var lItemID = ""; for (lItemID in this.items) { if (this.items.hasOwnProperty(lItemID)) { count++; } } return count; }; mmmShoppingBag.prototype.addItems = function (itemIDs) { if (itemIDs && (itemIDs != "")) { var lIDs = itemIDs.split(","); for (var i = 0; i < lIDs.length; i++) { var lID = $.trim(lIDs[i]); this.addItem(lID); } } }; mmmShoppingBag.prototype.addItem = function (itemID) { if (itemID == "") { return; } if (!this.items.hasOwnProperty(itemID)) { this.items[itemID] = itemID; if (!this.loading) { this.saveChange(); } } }; mmmShoppingBag.prototype.removeItem = function (itemID) { if (this.items.hasOwnProperty(itemID)) { delete this.items[itemID]; this.saveChange(); } }; mmmShoppingBag.prototype.removeAllItems = function () { for (var lItemID in this.items) { if (this.items.hasOwnProperty(lItemID)) { this.removeItem(lItemID); } } }; mmmShoppingBag.prototype.getItems = function () { var lResult = ""; var lItemID; for (lItemID in this.items) { if (this.items.hasOwnProperty(lItemID)) { if (lResult != "") { lResult = lResult + ","; } lResult = lResult + this.items[lItemID]; } } return lResult; }; mmmShoppingBag.prototype.containsItem = function (itemID) { var lRes = false; lRes = this.items.hasOwnProperty(itemID); return lRes; }; mmmShoppingBag.prototype.saveChange = function () { this.saveToCookie(); this.onChange(); }; mmmShoppingBag.prototype.onChange = function () { }; function mmmGetArrayAsDelimitedString(delim, itemPrefix, items) { if (!(items instanceof Array)) { throw "mmmGetArrayAsDelimitedString: Param 'arrayItems' is not a valid array"; } var res = ""; var i; for (i = 0; i < items.length; i++) { if (i > 0) { res += delim; } res += itemPrefix + items[i]; } return res; } function mmmGetArrayAsDelimitedStringWithColour(delim, itemPrefix, productCode, colourCode) { if (!(productCode instanceof Array)) { throw "mmmGetArrayAsDelimitedStringWithColour: Param 'arrayItems' is not a valid array"; } var res = ""; var i; for (i = 0; i < productCode.length; i++) { if (i > 0) { res += delim; } res += itemPrefix + productCode[i] + colourCode[i]; } return res; } function mmmFormatProductCodes(prefix, itemPrefix, delim, items) { var str = prefix + mmmGetArrayAsDelimitedString(delim, itemPrefix, items); return str; } function mmmFormatProductColourCodes(prefix, itemPrefix, delim, productCode, colourCode) { var str = prefix + mmmGetArrayAsDelimitedStringWithColour(delim, itemPrefix, productCode, colourCode); return str; } function mmmInitObject(objectToInit, settings) { if (!objectToInit || !settings) { return; } for (var _prop in settings) { if (settings.hasOwnProperty(_prop) && objectToInit.hasOwnProperty(_prop)) { objectToInit[_prop] = settings[_prop]; } } } function mmmModelTagItem(category) { var i, x = 0; if ((category == "")) { throw "mmmModel_InvalidDepName"; } this.name = category; this.tag = null; this.link = null; this.price = null; this.params = null; this.linkToDOM(); if (this.tag) { } else { throw "mmmTag: tag invalid"; } } mmmModelTagItem.prototype.linkToDOM = function () { var i = 0; this.tag = document.getElementById("MixMatchMe_Women_Tags_Item_" + this.name); this.link = document.getElementById("tagLink_" + this.name); this.price = document.getElementById("tagPrice_" + this.name); this.params = document.getElementById("Params_" + this.name); if (!this.tag || !this.link || !this.price) { throw String.format("Unable to link '{0}' tag to DOM" + this.name); } }; mmmModelTagItem.prototype.setDetails = function (details) { var i; if (details.price == 0) { this.clearDetails(); } else { $(this.link).html(details.tagName); $(this.params).val(details.id + "," + details.categoryId + "," + details.subCategoryId); if (details.sale != "Y") { switch (_marketId) { case 3: $(this.price).html(details.price.replace(".", ",") + " " + _currency); break; case 4: $(this.price).html(_currency + " " + details.price.replace(".", ",")); break; default: $(this.price).html(_currency + details.price); } } else { switch (_marketId) { case 3: $(this.price).html("<font color=red>" + details.price + " " + _currency + "</font>"); break; case 4: $(this.price).html("<font color=red>" + _currency + " " + details.price + "</font>"); break; default: $(this.price).html("<font color=red>" + _currency + details.price + "</font>"); } } $(this.tag).show(); } }; mmmModelTagItem.prototype.clearDetails = function () { $(this.tag).hide(); $(this.params).val = ""; this.link.innerHTML = ""; this.price.innerHTML = ""; }; function outfitLayer(model, layerName, layerID) { this.defaultSrc = ""; if ((layerID == "") || (!model)) { throw "outfitLayer_InvalidImageID"; } this.img = document.getElementById(layerID); if ((this.img !== null)) { this.parentModel = model; this.name = layerName; this.basePath = ""; this.imgExt = ".png"; this.imgBlank = "spacer"; this.useModelIndex = false; this.useModelIndexOnWL = false; this.ignoreModelIndexOne = false; this.modelIndex = ""; this.productDetails = { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, seasonName: "", categoryId: 0, subCategoryId: 0 }; this.options = { "Default": "" }; this.loaded = false; this.neverClear = false; this.onGetImageFolder = function () { }; this.isStatic = false; this.hasTag = true; this.isClear = true; this.imgID = ""; this.isActive = false; this.activeOption = "Default"; this.length = "Default"; this.style = ""; this.style2 = ""; this.fadeState = "none"; this.params = {}; this.posStart = $(this.img).offset(); this.dom = this.img; } else { return null; } } outfitLayer.prototype.imageLoaded = function () { if (this.img.src == sitebase + "spacerR.png") { return; } this.loaded = true; }; outfitLayer.prototype.addOption = function (optionID, optionValue) { this.options[optionID] = optionValue; }; outfitLayer.prototype.deleteOption = function (optionID) { if (this.options.hasOwnProperty(optionID)) { delete this.options[optionID]; } }; outfitLayer.prototype.clearOptions = function () { for (var lOptionID in this.options) { if (lOptionID != "Default") { delete this.options[lOptionID]; } } }; outfitLayer.prototype.setProduct = function (prodID, prodDetails) { if ((prodID == "") || (!prodDetails)) { throw "outfitLayer.prototype.setProduct_InvalidProdID"; } this.imgID = prodID; this.isActive = true; this.isClear = false; this.activeOption = "Default"; for (var lDetail in prodDetails) { if (this.productDetails.hasOwnProperty(lDetail)) { this.productDetails[lDetail] = prodDetails[lDetail]; } } }; outfitLayer.prototype.setActiveOption = function (optionID) { if (this.options.hasOwnProperty(optionID)) { this.activeOption = optionID; } else { throw "outfitLayer_useOption_UnregisteredProperty"; } }; outfitLayer.prototype.clear = function () { if (!this.neverClear && (this.imgID != "")) { this.imgID = ""; this.isActive = false; this.isClear = true; this.length = "Default"; this.setActiveOption("Default"); this.style = ""; for (var lDetail in this.productDetails) { if (this.productDetails.hasOwnProperty(lDetail)) { this.productDetails[lDetail] = ""; } } for (var lParam in this.params) { if (this.params.hasOwnProperty(lParam)) { if ((lParam == "topStyle") || (lParam == "style")) { this.params[lParam] = ""; } else { this.params[lParam] = false; } } } } }; outfitLayer.prototype.activate = function () { var lNewSrc = this.ImageSrc(); if (lNewSrc.indexOf("spacer.png") >= 0) { this.img.style.visibility = "hidden"; } else { this.img.style.visibility = "visible"; } if (!this.isStatic && (this.img.src != lNewSrc)) { this.img.src = ""; this.loaded = false; this.img.src = ""; this.img.src = lNewSrc; } else { this.loaded = true; } }; outfitLayer.prototype.ImageSrc = function () { var image; var season = this.productDetails.seasonName; if (this.imgID) { image = this.basePath + ((season == "") ? "" : (season + "/")) + this.parentModel.getImageFolder() + this.imgID + this.options[this.activeOption] + this.getModelIndex() + this.imgExt; } else { image = this.basePath + "Standard/" + this.imgBlank + this.imgExt; } return image; }; outfitLayer.prototype.toDebugString = function () { return "outfitLayer: Name=" + this.name + " Img=" + this.img.id; }; outfitLayer.prototype.Show = function () { this.img.style.visibility = "visible"; }; outfitLayer.prototype.Hide = function () { this.img.style.visibility = "hidden"; }; outfitLayer.prototype.onLoad = function (layer) { this.onLoad(this); }; outfitLayer.prototype.onLog = function (logType, logMessage) { this.onLog(logType, logMessage); }; outfitLayer.prototype.asStateString = function (tabs) { return "Layer: " + this.name + "\t Img=" + this.basePath + this.imgID + this.options[this.activeOption] + this.imgExt + "\t isActive: " + this.isActive + "\t activeOption: " + this.activeOption; }; outfitLayer.prototype.isLoaded = function () { return this.loaded || this.isStatic; }; outfitLayer.prototype.clone = function (layerToClone) { var lParam; var lParams; if ((this.name != layerToClone.name) || this.isStatic) { return; } this.basePath = layerToClone.basePath; if (!layerToClone.isClear) { this.setProduct(layerToClone.imgID, layerToClone.productDetails); this.activeOption = layerToClone.activeOption; this.length = layerToClone.length; this.style = layerToClone.style; this.style2 = layerToClone.style2; this.img.style.zIndex = layerToClone.img.style.zIndex; lParams = layerToClone.params; for (lParam in lParams) { if (lParams.hasOwnProperty(lParam)) { this.params[lParam] = lParams[lParam]; } } } else { this.clear(); } this.activate(); }; outfitLayer.prototype.setZIndex = function (z) { this.img.style.zIndex = z; }; outfitLayer.prototype.getZIndex = function () { return this.img.style.zIndex; }; outfitLayer.prototype.getVersion = function () { return this.options[this.activeOption]; }; outfitLayer.prototype.setModelIndex = function (modelIndex) { this.modelIndex = modelIndex; }; outfitLayer.prototype.getModelIndex = function () { if ((this.useModelIndex) && (this.modelIndex != "")) { if ((this.ignoreModelIndexOne && (this.modelIndex == 1)) || (this.parentModel.isWhiteLabel && !this.useModelIndexOnWL)) { return ""; } else { return "_" + this.modelIndex; } } else { return ""; } }; function mmmModel(modelName, modelIndex, modelID) { if (modelID == "") { throw "mmmModel_InvalidDivID"; } this.modelDiv = document.getElementById(modelID); if (this.modelDiv !== null) { this._this = this; this.name = modelName; this.index = modelIndex; this.layers = {}; this.isActive = false; this.isCurrent = false; this.imageFolder = "Standard"; this.isWhiteLabel = false; this.posStart = $(this.modelDiv).offset(); this.dom = this.modelDiv; } else { throw "mmmModel_NotFound"; } } mmmModel.prototype.handlerGetImageFolder = function () { return this.imageFolder; }; mmmModel.prototype.defaultCreateLayers = function (catLayers) { if ((!catLayers) || (catLayers.length <= 0)) { throw "mmmModel.createLayers_InvalidCatLayer"; } else { for (var i = 0; i < catLayers.length; i++) { this.addLayer(catLayers[i], catLayers[i] + this.id); } } }; mmmModel.prototype.autoCreateLayers = function () { var i; var lChildNode; var lNumChildNodes; var lLayerName = ""; var lIndex; lNumChildNodes = this.modelDiv.childNodes.length; if (lNumChildNodes == 0) { throw "mmmModel.prototype.autoCreateLayers - No Child Nodes"; } for (i = 0; i < lNumChildNodes; i++) { lChildNode = this.modelDiv.childNodes[i]; lLayerName = new String(lChildNode.id); lIndex = lLayerName.search(this.index); if (lIndex < 1) { continue; } else { this.addLayer(lLayerName.substring(0, lIndex), lLayerName); } } }; mmmModel.prototype.addLayer = function (layerName, layerID) { var aLayer = new outfitLayer(this, layerName, layerID); aLayer.onGetImageFolder = this.handlerGetImageFolder; this.layers[layerName] = aLayer; }; mmmModel.prototype.hideAllLayers = function () { var x; var aLayer; for (x in this.layers) { if (this.layers.hasOwnProperty(x)) { aLayer = this.layers[x]; if (aLayer !== null) { aLayer.Hide(); } } } }; mmmModel.prototype.show = function () { $(this.modelDiv).css("opacity", 1); }; mmmModel.prototype.hide = function () { $(this.modelDiv).css("opacity", 0); }; mmmModel.prototype.onAllLayersLoaded = function (model) { this.onAllLayersLoaded(this); }; mmmModel.prototype.onLog = function (logType, logMessage) { this.onLog(logType, logMessage); }; mmmModel.prototype.toDebugString = function () { var x; var aLayer; var aDebugString; aDebugString = "mmmModel: Name=" + this.name + " Div=" + this.modelDiv.id + "\n"; for (x in this.layers) { if (this.layers.hasOwnProperty(x)) { aLayer = this.layers[x]; if ((aLayer !== null)) { aDebugString += "\t" + aLayer.toDebugString() + "\n"; } } } }; mmmModel.prototype.asStateString = function (tabs) { var lResStr; lResStr = "Model: " + this.name; for (var lLayer in this.layers) { if (this.layers.hasOwnProperty(lLayer)) { lResStr = tabs + lResStr + "\n\t" + tabs + this.layers[lLayer].asStateString(tabs + "\t"); } } return lResStr; }; mmmModel.prototype.activate = function () { for (var layer in this.layers) { if (this.layers.hasOwnProperty(layer)) { this.layers[layer].activate(); } } }; mmmModel.prototype.isLoaded = function () { for (var layer in this.layers) { if (this.layers.hasOwnProperty(layer)) { if (!this.layers[layer].isLoaded()) { return false; } } } return true; }; mmmModel.prototype.clone = function (modelToClone) { if (this === modelToClone) { alert("the same"); } var _model = $(modelToClone.modelDiv); $(this.modelDiv).css({ "width": _model.width(), "height": _model.height(), "left": _model.position().left }); this.imageFolder = modelToClone.imageFolder; for (var layer in this.layers) { if (this.layers.hasOwnProperty(layer)) { this.layers[layer].clone(modelToClone.layers[layer]); } } }; mmmModel.prototype.clearLayers = function () { for (var layer in this.layers) { if (this.layers.hasOwnProperty(layer)) { this.layers[layer].clear(); } } }; mmmModel.prototype.sendToBack = function () { this.modelDiv.style.zIndex = "5"; }; mmmModel.prototype.bringToFront = function () { this.modelDiv.style.zIndex = "7"; }; mmmModel.prototype.getImageFolder = function () { if (this.imageFolder != "") { return this.imageFolder + "/"; } else { return ""; } }; function mmmGarmentDetail() { this.category = ""; this.categoryId = ""; this.subCategoryId = ""; this.price = ""; this.sale = ""; this.brand = ""; this.id = ""; this.imgid = ""; this.top_l_s = ""; this.param2 = ""; this.param3 = ""; this.prodCode = ""; this.prodColour = ""; this.tagName = ""; this.toggle = false; this.flag = false; this.seasonName = ""; } mmmGarmentDetail.prototype.setDetails = function (category, categoryId, subCategoryId, price, sale, brand, id, imgid, top_l_s, param2, param3, prodCode, prodColour, tagName, toggle, seasonName) { this.category = category; this.categoryId = categoryId; this.subCategoryId = subCategoryId; this.price = price; this.sale = sale; this.brand = brand; this.id = id; this.imgid = imgid; this.top_l_s = top_l_s; this.param2 = param2; this.param3 = param3; this.prodCode = prodCode; this.prodColour = prodColour; this.tagName = tagName; this.toggle = toggle; this.flag = false; this.seasonName = seasonName; }; function isModelLoaded(dep) { var lDep = MMM.Departments[dep]; if (!lDep) { return; } var lModel = lDep.getModel(false); if (lModel.isLoaded()) { lDep.timeoutLoad = 0; lDep.onModelLoaded(); lDep.switchModels(); lDep.setModelTags(true); f_CalculateTotal(); LikeOutfit(); lDep.modelLoading = false; $("#imgOutfitLoading2").css("visibility", "hidden"); if (lDep.dressUpCountDown > 0) { lDep.dressUpCountDown--; } if ($("#divImgOutfitLoading").css("visibility") == "visible") { window.setTimeout("$('#divImgOutfitLoading').css('visibility', 'hidden'); $('#imgOutfitLoading').css('visibility', 'hidden');", 1000); } } else { if (lDep.timeoutLoad < 10000) { lDep.timeoutLoad += 50; window.setTimeout("isModelLoaded('" + lDep.name + "');", 50); } else { lDep.timeoutLoad = 0; lDep.timeoutModel(); } } } function showLoadingImage(dep) { var lDep = MMM.Departments[dep]; if (!lDep) { return; } if (lDep.modelLoading) { $("#imgOutfitLoading2").css("visibility", "visible"); } } function doCloneModels(dep) { var lDep = MMM.Departments[dep]; if (!lDep) { return; } lDep.cloneModels(); } function mmmDepartment(depName, depID, depCategories, depDefaultCreate) { if ((depName == "")) { throw "mmmModel_InvalidDepName"; } else { this.name = depName; this.size = 1; this.isActive = false; this.modelReady = true; this.modelLoading = false; this.tagsVisible = false; this.tagsShowOnLoad = false; this.modelIndex = 1; this.clickedID = ""; this.timeoutLoad = 0; this.currency = ""; this.zoom = 100; this.clearDressMeUp = true; this.isWhiteLabel = false; this.onModelLoaded = function () { }; this.onSetModelTags = function () { }; this.onActivateModel = function () { }; this.tagsEnabled = false; this.dressUpCountDown = 2; this.mouseMoveOnTagTimer = null; this.mouseEnteredTags = false; this.mouseLeftTags = false; if (depDefaultCreate == "default") { this.defaultCreate(depCategories); } else { if (depDefaultCreate == "auto") { this.autoCreate(); } } this.garments = {}; this.tags = {}; this.models.bob3.bringToFront(); this.models.bob4.sendToBack(); this.models.bob3.show(); this.models.bob4.hide(); this.models.bob3.isActive = true; this.models.bob4.isActive = false; this.modelTagsDisable(); this.deactivate(); this.activate(); } } mmmDepartment.prototype.defaultCreate = function (depCategories) { var lModel; var lModelName; this.models = {}; for (var i = 3; i <= 4; i++) { lModelName = "Bob" + i; lModel = addModel(lModelName, i); lModel.defaultCreateLayers(depCategories); } }; mmmDepartment.prototype.autoCreate = function () { var lModel; var lModelName; if (typeof this.models == "undefined") { this.models = {}; } for (var i = 3; i <= 4; i++) { lModelName = "bob" + i; lModel = this.addModel(lModelName, i); lModel.autoCreateLayers(); } }; mmmDepartment.prototype.modelMouseEnter = function () { this.showModelTags(); }; mmmDepartment.prototype.modelMouseLeave = function () { this.hideModelTags(); }; mmmDepartment.prototype.addModel = function (modelName, modelID) { var model; model = new mmmModel(modelName, modelID, modelName); this.models[modelName] = model; return this.models[modelName]; }; mmmDepartment.prototype.getModel = function (active) { var lModelObj; var lResModel; var lModel; for (lModel in this.models) { if (this.models.hasOwnProperty(lModel)) { if (lModel != "") { lModelObj = this.models[lModel]; if ((active === undefined) || (lModelObj.isActive == active)) { lResModel = lModelObj; break; } } } } if (!lResModel) { lResModel = lModelObj; } return lResModel; }; mmmDepartment.prototype.getModelByActive = function (active) { var lModelObj; var lResModel; var lModel; for (lModel in this.models) { if (this.models.hasOwnProperty(lModel)) { if (lModel != "") { lModelObj = this.models[lModel]; if ((active === undefined) || (lModelObj.isActive == active)) { lResModel = lModelObj; } } } } if (!lResModel) { lResModel = lModelObj; } return lResModel; }; mmmDepartment.prototype.timeoutModel = function () { this.modelLoading = false; $("#imgOutfitLoading2").css("visibility", "hidden"); if ($("#divImgOutfitLoading").css("visibility") == "visible") { $("#divImgOutfitLoading").css("visibility", "hidden"); $("#imgOutfitLoading").css("visibility", "hidden"); } this.modelReady = true; }; mmmDepartment.prototype.switchModels = function () { var lModel, lModelObj, lInactiveModel, lActiveModel; for (lModel in this.models) { if (this.models.hasOwnProperty(lModel)) { if (lModel != "") { lModelObj = this.models[lModel]; if (!lModelObj.isActive) { lInactiveModel = lModelObj; } else { if (lModelObj.isActive) { lActiveModel = lModelObj; } } } } } lActiveModel.isActive = false; lInactiveModel.isActive = true; if (lInactiveModel) { lInactiveModel.show(); } if (lActiveModel) { $(lActiveModel.modelDiv).fadeTo("fast", 0, function () { MMM.Departments.Women.cloneModels(); MMM.Departments.Women.modelReady = true; if (MMM.Departments.Women.tagsShowOnLoad) { MMM.Departments.Women.showModelTags(); } }); } }; mmmDepartment.prototype.onLog = function (logType, logMessage) { this.onLog(logType, logMessage); }; mmmDepartment.prototype.toDebugString = function () { var aModel; var aDebugString; var x; aDebugString = "mmmDepartment: Name=" + this.name + "\n"; for (x in this.models) { if (this.models.hasOwnProperty(x)) { aModel = this.model[x]; if ((aModel !== null)) { aDebugString += "\t" + aModel.toDebugString() + "\n"; } } } return aDebugString; }; mmmDepartment.prototype.ImageLoaded = function (category, num) { var lModel = this.getModel(false); if (lModel && lModel.layers.hasOwnProperty(category)) { lModel.layers[category].imageLoaded(); } }; mmmDepartment.prototype.cleanGarmentList = function (model) { var gd_str; var gd; if (!model) { return; } for (gd_str in this.garments) { if (this.garments.hasOwnProperty(gd_str)) { gd = this.garments[gd_str]; gd.flag = false; if (model.layers.hasOwnProperty(gd.category)) { if (model.layers[gd.category].isClear) { delete this.garments[gd.category]; } } } } }; mmmDepartment.prototype.loadOutfit = function (garmentList, keepDressMeUpImage) { var gd; var gd_str; this.garments = {}; var model = this.getModel(false); if (!this.modelReady) { return; } model.clearLayers(); var hiddenModel = MMM.Departments.Women.getModel(false); var modelLayers = hiddenModel.layers; var lBody = modelLayers.Body; lBody.setProduct("Body_f", { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": "2012_Spring" }); if (garmentList !== null) { this.garments = garmentList; for (gd_str in garmentList) { if (garmentList.hasOwnProperty(gd_str)) { gd = garmentList[gd_str]; this.garments[gd.category] = gd; try { this.addGarmentToModel(gd.category, gd.categoryId, gd.subCategoryId, gd.price, gd.sale, gd.brand, gd.id, gd.imgid, gd.top_l_s, gd.param2, gd.param3, gd.prodCode, gd.prodColour, gd.tagName, gd.seasonName); } catch (err) { alert(err); } } } } else { this.hideModelTags(); this.garments = {}; } this.activateModel(model); if (!keepDressMeUpImage) { if (this.clearDressMeUp) { $("#divDressMeUp").css("visibility", "hidden"); $("#imgDressMeUp").css("visibility", "hidden"); this.modelTagsEnable(); } } else { $("#divDressMeUp").css("visibility", "visible"); $("#imgDressMeUp").css("visibility", "visible"); } }; mmmDepartment.prototype.addGarment = function (garmentDetails) { var gd; var detail; var model; model = this.getModel(false); if (garmentDetails.hasOwnProperty("category")) { if (this.clearDressMeUp && ($("#divDressMeUp").css("visibility") == "visible")) { $("#divDressMeUp").css("visibility", "hidden"); $("#imgDressMeUp").css("visibility", "hidden"); this.modelTagsEnable(); } if (this.garments.hasOwnProperty(garmentDetails.category) && garmentDetails.toggle && (this.garments[garmentDetails.category].imgid == garmentDetails.imgid)) { this.removeGarment(garmentDetails.category); } else { this.garments[garmentDetails.category] = new mmmGarmentDetail(); gd = this.garments[garmentDetails.category]; for (detail in gd) { if (gd.hasOwnProperty(detail)) { gd[detail] = garmentDetails[detail] || ""; } } Log(gd.id); this.addGarmentToModel(gd.category, gd.categoryId, gd.subCategoryId, gd.price, gd.sale, gd.brand, gd.id, gd.imgid, gd.top_l_s, gd.param2, gd.param3, gd.prodCode, gd.prodColour, gd.tagName, gd.seasonName); this.cleanGarmentList(model); this.activateModel(model); } } else { return; } }; mmmDepartment.prototype.removeGarment = function (category) { var aDebugString; var gd_str; if (!this.garments.hasOwnProperty(category)) { return; } this.deletingGarment = true; delete this.garments[category]; if (this.getGarmentCount() == 0) { this.hideModelTags(); } model = this.getModel(false); model.clearLayers(); for (gd_str in this.garments) { if (this.garments.hasOwnProperty(gd_str)) { var gd = this.garments[gd_str]; this.addGarmentToModel(gd.category, gd.categoryId, gd.subCategoryId, gd.price, gd.sale, gd.brand, gd.id, gd.imgid, gd.top_l_s, gd.param2, gd.param3, gd.prodCode, gd.prodColour, gd.tagName, gd.seasonName); } } this.activateModel(model); }; mmmDepartment.prototype.activateModel = function (model) { this.onActivateModel(); this.getModel(false).sendToBack(); this.getModel(true).bringToFront(); this.timeoutLoad = 0; model.activate(); this.modelReady = false; this.modelLoading = true; this.waitLoad = window.setTimeout("showLoadingImage('" + this.name + "');", 500); this.waitLoad = window.setTimeout("isModelLoaded('" + this.name + "');", 50); }; mmmDepartment.prototype.addGarmentToModel = function (category, categoryId, subCategoryId, price, sale, brand, id, imgid, top_l_s, param2, param3, prodCode, prodColour, tagName, seasonName) { function ResolveTopLongShort() { switch (top_l_s) { case "s": return "Short"; case "l": return "Long"; default: return "Default"; } } function doTopLongShort() { var len = "Default"; if ((lKnitwear.length == "Short") || (lJacketsCoats.length == "Short")) { len = "Short"; } if ((lKnitwear.length == "Long") || (lJacketsCoats.length == "Long")) { len = "Long"; } return len; } function GetShirtTopOption() { if (lShirts.activeOption == "Default") { return lTops.activeOption; } else { return lShirts.activeOption; } } function GetDressSkirtShortJSOption() { if (lDresses.activeOption != "Default") { return lDresses.activeOption; } if (lSkirts.activeOption != "Default") { return lSkirts.activeOption; } if (lShorts.activeOption != "Default") { return lShorts.activeOption; } if (lJumpsuits.activeOption != "Default") { return lJumpsuits.activeOption; } } function GetTrouserStyle(style) { if (style == "s") { return "Skinny"; } else { return "Default"; } } function GetTopStyle(style) { var res = (style.indexOf("s") != -1) ? "Short" : "Default"; return res; } function GetShoeStyle(style) { if (style == "s") { return "Shoe"; } else { return "Boot"; } } function tuckIn() { var res; if ((lTops.params.mustTuckIn) || (lShirts.params.mustTuckIn)) { res = true; } else { if ((lTops.params.mustTuckOut) || (lShirts.params.mustTuckOut)) { res = false; } else { res = (lSkirts.params.tuckIn) || (lJeans.params.tuckIn) || (lShorts.params.tuckIn); } } return res; } function DressShirtOrTop(ShirtOrTop) { if (lBelts.isActive) { if (lKnitwear.isActive) { ShirtOrTop.setActiveOption("BeltIn"); } else { ShirtOrTop.setActiveOption("Belt"); } ShirtOrTop.setZIndex("5"); } else { if (lKnitwear.isActive || (lJacketsCoats.length != "Default")) { if (tuckIn()) { ShirtOrTop.setActiveOption("BeltIn"); } else { ShirtOrTop.setActiveOption("In"); } } else { if (tuckIn()) { if (lJeans.isActive || lSkirts.isActive || lShorts.isActive) { ShirtOrTop.setActiveOption("BeltIn"); } else { ShirtOrTop.setActiveOption("Default"); } } else { ShirtOrTop.setActiveOption("Default"); } } if (tuckIn()) { ShirtOrTop.setZIndex("3"); } else { ShirtOrTop.setZIndex("5"); } } } function DressDressesOrJumpsuit(DressOrJS) { if ((lKnitwear.isActive || lJacketsCoats.isActive)) { if (lBelts.isActive) { DressOrJS.setActiveOption("Long"); } else { DressOrJS.setActiveOption(lLength); } } else { if (lBelts.isActive) { DressOrJS.setActiveOption("LongBelt"); } else { DressOrJS.setActiveOption("Default"); } } } function clearDresses() { lDresses.clear(); if (lDresses.params.hasCollar) { lShirtsCollar.clear(); } } var lDetails = {}; lDetails.price = price; lDetails.id = id; lDetails.categoryId = categoryId; lDetails.subCategoryId = subCategoryId; lDetails.prodCode = prodCode; lDetails.sale = sale; lDetails.prodColour = prodColour; lDetails.tagName = tagName; lDetails.seasonName = seasonName; var categoryHiddenBob = document.getElementById(category + hiddenBob); var hiddenModel = MMM.Departments.Women.getModel(false); var modelLayers = hiddenModel.layers; var catLayer = modelLayers[category]; var ShirtTopOption = false; var lLength = "Default"; var lSkin = modelLayers.Skin; var lTops = modelLayers.Tops; var lShirts = modelLayers.Shirts; var lShirtsCollar = modelLayers.ShirtsCollar; var lSkirts = modelLayers.Skirts; var lShorts = modelLayers.Shorts; var lBelts = modelLayers.Belts; var lJeans = modelLayers.Jeans; var lDresses = modelLayers.Dresses; var lKnitwear = modelLayers.Knitwear; var lKnitwearHood = modelLayers.KnitwearHood; var lJacketsCoats = modelLayers.JacketsCoats; var lJacketsCoatsBack = modelLayers.JacketsCoatsBack; var lJacketsCoatsCollar = modelLayers.JacketsCoatsCollar; var lSwimwearFull = modelLayers.SwimwearFull; var lSwimwearTop = modelLayers.SwimwearTop; var lSwimwearBottom = modelLayers.SwimwearBottom; var lJumpsuits = modelLayers.Jumpsuits; var lShoes = modelLayers.Shoes; var lWallet = modelLayers.Wallet; var lWatch = modelLayers.Watch; var lHat = modelLayers.Hat; var lHatWhite = modelLayers.HatWhite; var lBags = modelLayers.Bags; var lBagsBack = modelLayers.BagsBack; var lTights = modelLayers.Tights; catLayer.setProduct(imgid, lDetails); catLayer.length = ResolveTopLongShort(); switch (category) { case "Dresses": lDresses.params.topStyle = GetTopStyle(param3); lDresses.params.hasCollar = (param2 == "c"); lDresses.params.mustSwapWithJeans = (param3.indexOf("o") != -1); lDresses.params.mustLeaveOnWithShortsSkirts = (param3.indexOf("l") != -1); break; case "Jumpsuits": lJumpsuits.params.topStyle = GetTopStyle(param3); break; case "Jeans": lJeans.params.tuckIn = (param2 == "i"); lJeans.params.isSkinny = (param3 == "s"); break; case "Tights": lTights.params.isWide = (param2 == "w"); break; case "Skirts": lSkirts.params.tuckIn = (param2 == "i"); break; case "Shorts": lShorts.params.tuckIn = (param2 == "i"); break; case "Tops": lTops.params.mustTuckIn = (param2 == "i"); lTops.params.mustTuckOut = (param2 == "o"); lTops.params.topStyle = GetTopStyle(param3); break; case "Shirts": lShirts.params.mustTuckIn = (param2 == "i"); lShirts.params.mustTuckOut = (param2 == "o"); lShirts.params.topStyle = GetTopStyle(param3); break; case "Knitwear": lKnitwear.params.hasHood = (param2 == "h"); lKnitwear.params.hasPollarNeck = (param3 == "p"); break; case "JacketsCoats": lJacketsCoats.params.hasBack = (param2 != ""); lJacketsCoats.params.hasCollar = (param3 == "c"); break; case "Shoes": lShoes.params.style = GetShoeStyle(param2); break; case "Bags": lBags.params.hasBack = (param3 != ""); lBags.params.isShoulder = (param2 == "s"); break; case "Belts": break; case "SwimwearBottom": break; case "SwimwearTop": break; case "SwimwearFull": break; default: } switch (category) { case "Dresses": lTops.clear(); lJumpsuits.clear(); lShirts.clear(); lShirtsCollar.clear(); if (!lDresses.params.mustLeaveOnWithShortsSkirts) { lSkirts.clear(); lShorts.clear(); } if (lDresses.params.mustSwapWithJeans) { lJeans.clear(); } break; case "Jumpsuits": clearDresses(); lTops.clear(); lShirts.clear(); lShirtsCollar.clear(); lSkirts.clear(); lJeans.clear(); lShorts.clear(); lJeans.clear(); break; case "SwimwearBottom": lSwimwearFull.clear(); break; case "SwimwearTop": lSwimwearFull.clear(); break; case "SwimwearFull": lSwimwearTop.clear(); lSwimwearBottom.clear(); break; case "Jeans": lShorts.clear(); lJumpsuits.clear(); lSkirts.clear(); if (lDresses.params.mustSwapWithJeans) { clearDresses(); } if (lTights.params.isWide) { lTights.clear(); } break; case "Tights": if (lTights.params.isWide) { lJeans.clear(); } break; case "Tops": clearDresses(); lShirts.clear(); lShirtsCollar.clear(); lJumpsuits.clear(); break; case "Shirts": clearDresses(); lJumpsuits.clear(); lTops.clear(); break; case "Shorts": if (!lDresses.params.mustLeaveOnWithShortsSkirts) { clearDresses(); } lJeans.clear(); lSkirts.clear(); lJumpsuits.clear(); break; case "Skirts": if (!lDresses.params.mustLeaveOnWithShortsSkirts) { clearDresses(); } lJeans.clear(); lShorts.clear(); lJumpsuits.clear(); break; case "Knitwear": break; case "JacketsCoats": break; case "Belts": break; case "Shoes": break; default: } lLength = doTopLongShort(); var lAboveTuckIn = (lTops.params.mustTuckIn) || (lShirts.params.mustTuckIn); var lBelowTuckIn = (lSkirts.params.tuckIn) || (lJeans.params.tuckIn) || (lShorts.params.tuckIn); if (lDresses.isActive) { DressDressesOrJumpsuit(lDresses); } if (lJumpsuits.isActive) { DressDressesOrJumpsuit(lJumpsuits); } if (lTops.isActive) { DressShirtOrTop(lTops); } if (lShirts.isActive) { DressShirtOrTop(lShirts); lShirtsCollar.setProduct(lShirts.imgID, { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": seasonName }); if (lKnitwear.params.hasPollarNeck) { lShirtsCollar.setZIndex("-1"); } else { lShirtsCollar.setZIndex("8"); } } if (lDresses.isActive && lDresses.params.hasCollar) { lShirtsCollar.setProduct(lDresses.imgID, { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": seasonName }); if (lKnitwear.params.hasPollarNeck) { lShirtsCollar.setZIndex("-1"); } else { lShirtsCollar.setZIndex("8"); } } if (lKnitwear.isActive) { if (lJacketsCoats.isClear && lKnitwear.params.hasHood) { lKnitwearHood.setProduct(lKnitwear.imgID, { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": seasonName }); } else { lKnitwearHood.clear(); } } if (lSwimwearBottom.isActive) { lSwimwearBottom.setActiveOption("Default"); } if (lWatch.isActive) { if ((lTops.isActive && (lTops.params.topStyle == "Short")) || (lShirts.isActive && (lShirts.params.topStyle == "Short")) || (lDresses.isActive && (lDresses.params.topStyle == "Short"))) { lWatch.setZIndex("5"); } else { lWatch.setZIndex("3"); } } if (lJacketsCoats.isActive) { if (lJacketsCoats.params.hasCollar) { lJacketsCoatsCollar.setProduct(lJacketsCoats.imgID, { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": seasonName }); lJacketsCoatsCollar.setActiveOption("Default"); } else { lJacketsCoatsCollar.clear(); } if (lJacketsCoats.params.hasBack) { lJacketsCoatsBack.setProduct(lJacketsCoats.imgID, { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": seasonName }); lJacketsCoatsBack.setActiveOption("Default"); } else { lJacketsCoatsBack.clear(); } } if (!lShorts.isClear) { if (lBelts.isActive || (lLength == "Long")) { lShorts.setActiveOption("Long"); } else { lShorts.setActiveOption("Default"); } } if (lSkirts.isActive) { if (lBelts.isActive || (lLength == "Long")) { lSkirts.setActiveOption("Long"); } else { lSkirts.setActiveOption("Default"); } } if (lShoes.isActive) { if (lJeans.params.isSkinny && (lShoes.params.style == "Boot")) { lShoes.setZIndex("3"); } else { lShoes.setZIndex("2"); } } if (lTights.isActive) { if (lTights.params.isWide && (lShoes.params.style == "Shoe")) { lTights.setZIndex("3"); } else { lTights.setZIndex("1"); } } if (lBags.isActive) { if (lBags.params.hasBack) { lBagsBack.setProduct(lBags.imgID, { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": seasonName }); lBagsBack.setActiveOption("Default"); } else { lBagsBack.clear(); } } if (lDresses.isActive || lJumpsuits.isActive || lTops.isActive) { lSkin.setProduct("0_" + this.modelIndex, { price: 0, id: 0, prodCode: 0, sale: 0, prodColour: 0, tagName: 0, "seasonName": seasonName }); } else { lSkin.clear(); } }; mmmDepartment.prototype.createTags = function () { var lLayers; var tag; var lLayerName; lLayers = this.getModel().layers; for (lLayerName in lLayers) { if (lLayers.hasOwnProperty(lLayerName)) { if (lLayers[lLayerName].hasTag) { try { tag = new mmmModelTagItem(lLayerName); } catch (err) { tag = null; mmmLog("[TAG][ERROR] %s - %s", lLayerName, err); } if (tag) { this.tags[lLayerName] = tag; } } else { } } } this.clearModelTags(); }; mmmDepartment.prototype.setModelTags = function (state) { var model = this.getModel(true); var layerobj; for (var layer in model.layers) { if (model.layers.hasOwnProperty(layer)) { layerobj = model.layers[layer]; if (this.tags[layer]) { if (layerobj.isStatic || layerobj.isClear) { this.tags[layer].clearDetails(); } else { this.tags[layer].setDetails(layerobj.productDetails); } } } } if (this.onSetModelTags) { this.onSetModelTags(state); } }; mmmDepartment.prototype.clearModelTags = function () { var model = this.getModel(); for (var layer in model.layers) { if (model.layers.hasOwnProperty(layer)) { if (this.tags[layer]) { this.tags[layer].clearDetails(); } } } }; mmmDepartment.prototype.setSize = function (size) { if (size) { this.size = size; } }; mmmDepartment.prototype.modelTagsEnable = function () { this.modelTagsEnabled = true; this.tagsEnabled = true; }; mmmDepartment.prototype.modelTagsDisable = function () { this.modelTagsEnabled = false; this.tagsEnabled = false; }; mmmDepartment.prototype.showModelTags = function () { if (!this.modelReady) { if (!this.tagsShowOnLoad) { this.tagsShowOnLoad = true; } } else { this.tagsShowOnLoad = false; if (!this.tagsVisible && (this.getGarmentCount() > 0)) { this.tagsVisible = true; if (this.tagsEnabled) { var _tags = $("#MixMatchMe_Women_Tag_Manager"); _tags.css("visibility", "visible"); } } } }; mmmDepartment.prototype.hideModelTags = function () { if (this.tagsShowOnLoad) { this.tagsShowOnLoad = false; } if (!this.modelReady) { return; } if (this.tagsVisible) { this.tagsVisible = false; var _tags = $("#MixMatchMe_Women_Tag_Manager"); _tags.css("visibility", "hidden"); } }; mmmDepartment.prototype.linkTagsToDOM = function () { for (var tag in this.tags) { if (this.tags.hasOwnProperty(tag)) { if (this.tags[tag]) { this.tags[tag].linkToDOM(); } } } }; mmmDepartment.prototype.setModelIndex = function (index) { var layer; var layerObj; this.modelIndex = index; var model = this.getModel(true); for (layer in model.layers) { if (model.layers.hasOwnProperty(layer)) { layerObj = model.layers[layer]; if (layerObj) { layerObj.setModelIndex(index); } } } model = this.getModel(false); for (layer in model.layers) { if (model.layers.hasOwnProperty(layer)) { layerObj = model.layers[layer]; if (layerObj) { layerObj.setModelIndex(index); } } } }; mmmDepartment.prototype.setClickedID = function (val) { this.clickedID = val; }; mmmDepartment.prototype.getTotal = function () { var resTotal = 0; for (var gd_str in this.garments) { if (this.garments.hasOwnProperty(gd_str)) { var gd = this.garments[gd_str]; resTotal += parseFloat(gd.price); } } return resTotal; }; mmmDepartment.prototype.activate = function () { this.getModel(true).show(); this.getModel(false).hide(); this.models.bob3.modelDiv.style.visibility = "visible"; this.models.bob4.modelDiv.style.visibility = "visible"; this.isActive = true; }; mmmDepartment.prototype.deactivate = function () { this.models.bob3.modelDiv.style.visibility = "hidden"; this.models.bob4.modelDiv.style.visibility = "hidden"; this.isActive = false; }; mmmDepartment.prototype.getGarments = function () { return this.garments; }; mmmDepartment.prototype.getModelIndex = function () { return this.modelIndex; }; mmmDepartment.prototype.getGarmentDetail = function (property1, property2, delimiterNoComma) { var lResult = ""; var lItem; if (property2 == "") { for (lItem in this.garments) { if (lResult != "") { lResult = lResult + ","; } lResult = lResult + this.garments[lItem][property1]; } } else { for (lItem in this.garments) { if (lResult != "") { lResult = lResult + ","; } lResult = lResult + this.garments[lItem][property1] + delimiterNoComma + this.garments[lItem][property2]; } } return lResult; }; mmmDepartment.prototype.getModelDetail = function (property) { var lResult = ""; var lLayer; var lLayerObj; var lFirstLoopDone = false; var lLayers = this.getModel(true).layers; for (lLayer in lLayers) { if (lLayers.hasOwnProperty(lLayer)) { lLayerObj = lLayers[lLayer]; if (lLayerObj.isActive && lLayerObj.hasTag) { if (lFirstLoopDone) { lResult = lResult + ","; } else { lFirstLoopDone = true; } switch (property) { case "version": lResult = lResult + lLayerObj.getVersion(); break; case "zIndex": lResult = lResult + lLayerObj.getZIndex(); break; case "id": lResult = lResult + lLayerObj.productDetails.id; break; case "category": lResult = lResult + lLayerObj.name; break; } } } } return lResult; }; mmmDepartment.prototype.getModelDetailOrdered = function () { var lResult = ""; var lLayer; var lLayerObj; var lFirstLoopDone = false; var lLayers = this.getModel(true).layers; for (var i = 0; i < 20; i++) { for (lLayer in lLayers) { if (lLayers.hasOwnProperty(lLayer)) { lLayerObj = lLayers[lLayer]; if (lLayerObj.isActive && lLayerObj.hasTag) { if (lLayerObj.getZIndex() == i.toString()) { if (lFirstLoopDone) { lResult += ","; } else { lFirstLoopDone = true; } lResult += lLayerObj.imgID + lLayerObj.options[lLayerObj.activeOption]; } } } } } return lResult; }; mmmDepartment.prototype.cloneModels = function () { this.getModel(false).clone(this.getModel(true)); }; mmmDepartment.prototype.getGarmentCount = function () { var gd_str, gd, model, count; model = this.getModel(true); count = 0; for (gd_str in this.garments) { if (this.garments.hasOwnProperty(gd_str)) { gd = this.garments[gd_str]; gd.flag = false; if (model.layers.hasOwnProperty(gd.category)) { if (!model.layers[gd.category].isClear) { count++; } } } } return count; }; mmmDepartment.prototype.setZoom = function (zoom) { var _zoom; var model = this.getModel(false); if (this.zoom == zoom) { return; } this.zoom = zoom; if (zoom == 100) { _zoom = "Standard"; } else { _zoom = zoom.toString(); } model.imageFolder = _zoom; this.activateModel(model); }; mmmDepartment.prototype.getZoom = function (zoom) { return this.zoom; }; mmmDepartment.prototype.setWhiteLabel = function (isWhiteLabel) { var lModelObj; var lModel; this.isWhiteLabel = isWhiteLabel; for (lModel in this.models) { if (this.models.hasOwnProperty(lModel)) { if (lModel != "") { this.models[lModel].isWhiteLabel = isWhiteLabel; } } } }; var MMM; function CreateMMM() { var lModelName; var lModel; var lLayerName; var lLayer; var lLocLayers; MMM = {}; MMM.mouseX = 0; MMM.mouseY = 0; MMM.Departments = {}; MMM.Departments.Women = new mmmDepartment("Women", "PlaceHolder", null, "auto"); if (MMM && MMM.Departments.Women) { var lWomen = MMM.Departments.Women; for (lModelName in lWomen.models) { if (lWomen.models.hasOwnProperty(lModelName)) { lModel = lWomen.models[lModelName]; for (lLayerName in lModel.layers) { if (lModel.layers.hasOwnProperty(lLayerName)) { lLayer = lModel.layers[lLayerName]; lLayer.basePath = pathbase; lLayer.clearOptions(); lLayer.clear(); } } lLocLayers = lModel.layers; lLocLayers.Body.neverClear = true; lLocLayers.Body.hasTag = false; lLocLayers.Skin.hasTag = false; lLocLayers.HatWhite.hasTag = false; lLocLayers.ShirtsCollar.hasTag = false; lLocLayers.KnitwearHood.hasTag = false; lLocLayers.JacketsCoatsBack.hasTag = false; lLocLayers.JacketsCoatsCollar.hasTag = false; lLocLayers.Body.useModelIndex = true; lLocLayers.Body.useModelIndexOnWL = true; lLocLayers.Body.ignoreModelIndexOne = true; lLocLayers.Knitwear.useModelIndex = true; lLocLayers.Hat.useModelIndex = true; lLocLayers.HatWhite.useModelIndex = true; lLocLayers.Scarves.useModelIndex = true; lLocLayers.JewellryEar.useModelIndex = true; lLocLayers.JacketsCoats.useModelIndex = true; lLocLayers.JacketsCoatsCollar.useModelIndex = true; lLocLayers.Sunglasses.useModelIndex = true; lLocLayers.Dresses.params.topStyle = ""; lLocLayers.Jumpsuits.params.topStyle = ""; lLocLayers.Knitwear.params.hasHood = false; lLocLayers.Knitwear.params.hasPollarNeck = false; lLocLayers.JacketsCoats.params.hasCollar = false; lLocLayers.JacketsCoats.params.hasBack = false; lLocLayers.Jeans.params.isSkinny = false; lLocLayers.Jeans.params.tuckIn = false; lLocLayers.Bags.params.isShoulder = false; lLocLayers.BagsBack.hasTag = false; lLocLayers.Skirts.params.tuckIn = false; lLocLayers.Skirts.params.useLongVersion = false; lLocLayers.Tops.params.mustTuckIn = false; lLocLayers.Tops.params.topStyle = ""; lLocLayers.Shirts.params.topStyle = ""; lLocLayers.Shirts.params.mustTuckIn = false; lLocLayers.Shoes.params.style = ""; lLocLayers.Dresses.addOption("Short", "-s"); lLocLayers.Dresses.addOption("Long", "-l"); lLocLayers.Dresses.addOption("Belt", "-b"); lLocLayers.Dresses.addOption("ShortBelt", "-sb"); lLocLayers.Dresses.addOption("LongBelt", "-lb"); lLocLayers.Jumpsuits.addOption("Short", "-s"); lLocLayers.Jumpsuits.addOption("Long", "-l"); lLocLayers.Jumpsuits.addOption("Belt", "-b"); lLocLayers.Jumpsuits.addOption("ShortBelt", "-sb"); lLocLayers.Jumpsuits.addOption("LongBelt", "-lb"); lLocLayers.Jeans.addOption("In", "-i"); lLocLayers.Shirts.addOption("In", "-i"); lLocLayers.Shirts.addOption("Belt", "-b"); lLocLayers.Shirts.addOption("BeltIn", "-bi"); lLocLayers.ShirtsCollar.addOption("Default", "-c"); lLocLayers.Shorts.addOption("In", "-i"); lLocLayers.Shorts.addOption("Long", "-l"); lLocLayers.Shorts.addOption("One", "-1"); lLocLayers.Skirts.addOption("Long", "-l"); lLocLayers.Knitwear.addOption("Belt", "-b"); lLocLayers.Knitwear.addOption("Belt_In", "-bi"); lLocLayers.KnitwearHood.addOption("Default", "-h"); lLocLayers.SwimwearBottom.addOption("In", "-i"); lLocLayers.Tops.addOption("In", "-i"); lLocLayers.Tops.addOption("Belt", "-b"); lLocLayers.Tops.addOption("BeltIn", "-bi"); lLocLayers.JacketsCoatsBack.addOption("Default", "-b"); lLocLayers.JacketsCoatsCollar.addOption("Default", "-c"); lLocLayers.HatWhite.addOption("Default", "_w"); lLocLayers.BagsBack.addOption("Default", "-b"); } } lWomen.createTags(); lWomen.setModelIndex("2"); } } function mmmModelPosManager(middle, blackbox, models, tags, dep, header, settings, initHeight, adjWidth) { var _models, _blackbox, _tags; this.state = "top"; this.middle = middle; this.blackbox = blackbox; this.models = models; this.tags = tags; this.dep = dep; this.header = header; this.initialHeight = initHeight; this.adjustWidth = adjWidth; this.absoluteLeft = 740; this.fixedLeft = 951.5; this.widthOfApp = 1000; this.footerHeight = 90; this.sizesAvailable = [50, 75, 100]; this.percOfModelCovered = 0; this.zoom = 100; _blackbox = $(this.blackbox); this.absoluteLeft = parseFloat(_blackbox.css("left")); this.headerHeight = _blackbox.offset().top - parseFloat(_blackbox.css("marginTop").replace(/auto/, 0)); this.absoluteTop = parseFloat(_blackbox.css("top")); this.blackboxDefaultDims = { width: _blackbox.width(), height: _blackbox.height() }; _models = $(this.models); this.modelsDefaultDims = { width: _models.width(), height: _models.height() }; this.marginTop = parseFloat(_models.css("top")); this.marginBottom = 90; mmmInitObject(this, settings); this.tags.style.position = "absolute"; this.header.style.position = "absolute"; this.header.style.visibility = "visible"; if (!($.browser.msie && ($.browser.version < 7))) { this.adjustAllToWindowResize(window); this.adjustToWindowScroll(window); } else { this.setTagsPosition(); } } mmmModelPosManager.prototype.adjustToWindowScroll = function (param) { var _window = $(window); var _blackbox; var _scrolledAmount = _window.scrollTop(); this.setFixedLeft(); if (_scrolledAmount < this.headerHeight) { if (_scrolledAmount === 0) { this.setState("top"); } else { this.setState("top"); } } else { _divFooterTop = $("#divFooter").offset().top; _blackbox = $(this.blackbox); if ((_divFooterTop - _scrolledAmount) < _blackbox.height()) { this.setState("bottom"); } else { this.setState("middle"); } } this.setPositionLeft(); }; mmmModelPosManager.prototype.adjustPositionToWindowResize = function (param) { this.setFixedLeft(); this.setPositionLeft(); }; mmmModelPosManager.prototype.adjustAllToWindowResize = function (param) { var _window = $(window); this.setFixedLeft(); this.setPositionLeft(); var perc = (((_window.height() * 100) + 1) / this.blackboxDefaultDims.height); perc += this.percOfModelCovered; this.setSize(perc); }; mmmModelPosManager.prototype.setPositionLeft = function () { var _blackbox = $(this.blackbox); var _tags = $(this.tags); var _header = $(this.header); if (this.fixedLeft < 0) { this.fixedLeft = this.absoluteLeft; } if (_blackbox.css("position") == "fixed") { _blackbox.css("left", this.fixedLeft); _tags.css("left", this.fixedLeft + ((_blackbox.width() - _tags.width()) / 2)); _header.css("left", this.fixedLeft); } }; mmmModelPosManager.prototype.setFixedLeft = function () { var _window = $(window); var _scrollLeft = _window.scrollLeft(); var _windowWidth = _window.width(); var _middle = $(this.middle); this.fixedLeft = ((_windowWidth - this.widthOfApp) / 2) + this.absoluteLeft - _scrollLeft + this.adjustWidth; }; mmmModelPosManager.prototype.setState = function (state) { var _blackbox = $(this.blackbox); var _tags = $(this.tags); var _header = $(this.header); if (this.state != state) { switch (state) { case "top": _blackbox.css({ "position": "absolute", "top": this.absoluteTop, "left": this.absoluteLeft }); this.header.style.position = "absolute"; _header.css({ "top": this.absoluteTop, "left": this.absoluteLeft }); break; case "middle": _blackbox.css({ "position": "fixed", "top": 0, "left": this.fixedLeft }); this.header.style.position = "fixed"; _header.css({ "top": 0, "left": this.fixedLeft }); break; case "bottom": var topForBottom = $("#divFooter").offset().top - _blackbox.height() - this.headerHeight + 17; _blackbox.css({ "position": "absolute", "top": topForBottom, "left": this.absoluteLeft }); this.header.style.position = "absolute"; _header.css({ "top": topForBottom, "left": this.absoluteLeft }); break; default: break; } this.state = state; this.setTagsPosition(); } }; mmmModelPosManager.prototype.setTagsPosition = function (state) { var _blackbox = $(this.blackbox); var _tags = $(this.tags); var _height = _tags.height(); if (_height == 0) { _height = this.initialHeight; } var _top = ((_blackbox.height() - _height) / 2) - 35; var _width = (_blackbox.width() - _tags.width()) / 2; var boxHeight; boxHeight = $("#Content").height(); $("#leftH").height(boxHeight); $("#rightH").height(boxHeight); switch (this.state) { case "top": this.tags.style.position = "absolute"; _tags.css({ "top": (this.absoluteTop + _top), "left": (this.absoluteLeft + _width) }); break; case "middle": this.tags.style.position = "fixed"; _tags.css({ "top": _top, "left": (this.fixedLeft + _width) }); break; case "bottom": var topForBottom = $("#divFooter").offset().top - _blackbox.height() - this.headerHeight; this.tags.style.position = "absolute"; _tags.css("left", (this.absoluteLeft + _width)); _tags.css("top", (topForBottom + _top)); break; default: break; } _tags.height(boxHeight + 22); }; mmmModelPosManager.prototype.handlerDepModelLoaded = function (zoom) { var newModelWidth, newModelHeight, newModelLeft, _models, _blackbox, _dressUp; var duTop, duLeft; var _model; _models = $(this.models); _blackbox = $(this.blackbox); _model = $(this.dep.getModel(false).modelDiv); newModelWidth = (this.modelsDefaultDims.width * zoom) / 100; newModelHeight = (this.modelsDefaultDims.height * zoom) / 100; newModelLeft = (this.blackboxDefaultDims.width - newModelWidth) / 2; if (this.zoom == 75) { newModelWidth = 194; } _model.css({ "width": newModelWidth, "height": newModelHeight, "left": newModelLeft }); _model.find("img").css({ "width": newModelWidth, "height": newModelHeight }); switch (this.zoom) { case 50: _blackbox.height($("#mmm_header").height() + newModelHeight); break; case 75: _blackbox.height($("#mmm_header").height() + newModelHeight); break; case 100: _blackbox.height($("#mmm_header").height() + newModelHeight); break; } _dressUp = $("#divDressMeUp"); duTop = ((newModelHeight - _dressUp.height()) / 2) - 50; duLeft = ((this.modelsDefaultDims.width - _dressUp.width()) / 2) + 5; _dressUp.css({ "top": duTop, "left": duLeft }); this.adjustToWindowScroll(window); this.adjustAllToWindowResize(window); }; mmmModelPosManager.prototype.setSize = function (size) { var _size; if ((size < 0)) { return false; } _size = this.sizesAvailable[0]; for (var i = 1; i < this.sizesAvailable.length; i++) { if (size < this.sizesAvailable[i]) { _size = this.sizesAvailable[i - 1]; break; } else { if (size >= this.sizesAvailable[i]) { _size = this.sizesAvailable[i]; } } } this.zoom = _size; this.dep.setZoom(_size); }; var scroll_top; var mmm_blackbox; var mmm_flag = false; var mmm_resize_timeout = 0; var mmm_loadoutfit = true; function disp_each() { }
