var MarketPlace = Class.create(); MarketPlace.A = null; MarketPlace.C = null; MarketPlace.state = 0; MarketPlace.rotation = 0; MarketPlace.FurnitureSettings = []; MarketPlace.Furniture = null; MarketPlace.B = function(D) { Dialog.setAsWaitDialog(MarketPlace.A); new Ajax.Request(habboReqPath + "/marketplace/" + D, { parameters: MarketPlace.C, onComplete: function(F, E) { Dialog.setDialogBody(MarketPlace.A, F.responseText) } }) }; MarketPlace.open = function() { MarketPlace.A = Dialog.createDialog("offer_create_form", L10N.get("create.marketplace.offer.title"), 9001, 0, -1000, MarketPlace.close); Dialog.setAsWaitDialog(MarketPlace.A); Dialog.moveDialogToCenter(MarketPlace.A); Dialog.makeDialogDraggable(MarketPlace.A); Overlay.show(); new Ajax.Request(habboReqPath + "/marketplace/offer_create_form", { onComplete: function(E, D) { Dialog.setDialogBody(MarketPlace.A, E.responseText); MarketPlace.noSelection(); } }); }; MarketPlace.remove = function(id) { MarketPlace.A = Dialog.createDialog("offer_create_form", L10N.get("confirm.remove.marketplace.offer.title"), 9001, 0, -1000, MarketPlace.close); Dialog.setAsWaitDialog(MarketPlace.A); Dialog.moveDialogToCenter(MarketPlace.A); Dialog.makeDialogDraggable(MarketPlace.A); Overlay.show(); new Ajax.Request(habboReqPath + "/marketplace/remove_offer", { parameters: { id: id }, onComplete: function(E, D) { Dialog.setDialogBody(MarketPlace.A, E.responseText); } }); }; MarketPlace.purchase = function(id) { MarketPlace.A = Dialog.createDialog("offer_create_form", L10N.get("purchase.marketplace.offer.title"), 9001, 0, -1000, MarketPlace.close); Dialog.setAsWaitDialog(MarketPlace.A); Dialog.moveDialogToCenter(MarketPlace.A); Dialog.makeDialogDraggable(MarketPlace.A); Overlay.show(); new Ajax.Request(habboReqPath + "/marketplace/purchase_item", { parameters: { id: id }, onComplete: function(E, D) { Dialog.setDialogBody(MarketPlace.A, E.responseText); } }); }; MarketPlace.purchaseItem = function(id) { MarketPlace.C = { id: id }; MarketPlace.B("purchase_confirm_item"); }; MarketPlace.confirmRemoval = function(id) { MarketPlace.C = { id: id }; MarketPlace.B("confirm_remove_offer"); }; MarketPlace.noSelection = function() { document.getElementById("canvas").innerHTML = ("
No furniture selected
"); document.getElementById("canvas-small").innerHTML = ("No selection
"); document.getElementById("canvas").style.backgroundImage = null; document.getElementById("canvas-small").style.backgroundImage = null; var btnRotate = document.getElementById("btn-rotate"); var btnToggleStates = document.getElementById("btn-toggle-status"); var btnToggles = document.getElementById("toggle-furni"); var txtPrice = document.getElementById("offer-price"); btnToggles.style.display = "none"; btnRotate.style.display = "block"; btnToggleStates.style.display = "block"; txtPrice.value = ""; MarketPlace.Furniture = null; }; MarketPlace.close = function(D) { if (!!D) { Event.stop(D) } $("offer_create_form").remove(); Overlay.hide(); MarketPlace.A = null; MarketPlace.C = null; MarketPlace.state = 0; MarketPlace.rotation = 0; MarketPlace.FurnitureSettings = []; MarketPlace.Furniture = null }; MarketPlace.rotate = function() { var new_rotation = MarketPlace.rotation + 1; if (new_rotation > MarketPlace.Furniture.allowed_rotations.length - 1) { new_rotation = 0; } console.log(new_rotation); MarketPlace.rotation = new_rotation; MarketPlace.previewItem(); }; MarketPlace.toggleState = function() { if (MarketPlace.state == 0) { MarketPlace.state = 1; } else if (MarketPlace.state == 1) { MarketPlace.state = 0; } else { MarketPlace.state = 0; } MarketPlace.previewItem(); }; MarketPlace.itemSelected = function() { var itemId = parseInt($F("item-list")); if (itemId && itemId > 0) { if (!MarketPlace.FurnitureSettings[itemId]) { new Ajax.Request(habboReqPath + "/api/item_settings/" + itemId, { onComplete: function(response) { MarketPlace.FurnitureSettings[itemId] = JSON.parse(response.responseText); MarketPlace.resetCanvas(itemId); } }); } else { MarketPlace.resetCanvas(itemId); } } else { MarketPlace.noSelection(); } }; MarketPlace.resetCanvas = function(itemId) { MarketPlace.Furniture = MarketPlace.FurnitureSettings[itemId]; MarketPlace.rotation = 0; MarketPlace.state = 0; MarketPlace.previewItem(); } MarketPlace.previewItem = function() { var itemId = parseInt($F("item-list")); var btnRotate = document.getElementById("btn-rotate"); var btnToggleStates = document.getElementById("btn-toggle-status"); if (MarketPlace.Furniture.allowed_rotations.length <= 1) { btnRotate.style.display = "none"; } else { btnRotate.style.display = "block"; } if (MarketPlace.Furniture.max_states == 0) { btnToggleStates.style.display = "none"; } else { btnToggleStates.style.display = "block"; } var btnToggles = document.getElementById("toggle-furni"); btnToggles.style.display = "block"; document.getElementById("canvas").innerHTML = ""; document.getElementById("canvas").style.backgroundImage = "url('" + furniImagerPath + "?sprite=" + MarketPlace.getSprite() + "&direction=" + MarketPlace.getRotation() + "&canvas=f3f3f3&state=" + MarketPlace.state + "&color=" + MarketPlace.getColour() + "')"; document.getElementById("canvas").style.backgroundRepeat = "no-repeat"; document.getElementById("canvas").style.backgroundPosition = "center"; document.getElementById("canvas-small").innerHTML = ""; document.getElementById("canvas-small").style.backgroundImage = "url('" + furniImagerPath + "?sprite=" + MarketPlace.getSprite() + "&direction=" + MarketPlace.getRotation() + "&canvas=f3f3f3&state=" + MarketPlace.state + "&color=" + MarketPlace.getColour() + "&small=1')"; document.getElementById("canvas-small").style.backgroundRepeat = "no-repeat"; document.getElementById("canvas-small").style.backgroundPosition = "center"; }; MarketPlace.confirm = function() { var itemId = parseInt($F("item-list")); if (itemId && itemId > 0 && MarketPlace.Furniture) { MarketPlace.C = { item: itemId, name: MarketPlace.Furniture.name, description: MarketPlace.Furniture.description, sprite: MarketPlace.getSprite(), rotation: MarketPlace.getRotation(), state: MarketPlace.state, color: MarketPlace.getColour(), price: parseInt($F("offer-price")) }; } else { MarketPlace.C = null; } MarketPlace.B("purchase_offer_confirmation"); }; MarketPlace.purchaseOffer = function() { MarketPlace.B("purchase_offer"); }; MarketPlace.refreshOffers = function() { new Ajax.Request(habboReqPath + "/marketplace/my_offers", { onComplete: function(response) { document.getElementById("tab-1-3-1-content").innerHTML = response.responseText; } }); }; MarketPlace.searchAdvanced = function() { document.getElementById("sort-by-value").value = 'false'; document.getElementById("sort-by-popularity").value = 'false'; new Ajax.Request(habboReqPath + "/marketplace/offers?preventCache="+new Date(), { parameters: MarketPlace.getSearchArguments(), onComplete: function(response) { document.getElementById("marketplace-habblet-list-container").innerHTML = response.responseText; addEventListeners(); } }); }; MarketPlace.search = function(sortBy) { document.getElementById("sort-by-value").value = 'false'; document.getElementById("sort-by-popularity").value = 'false'; document.getElementById(sortBy).value = 'true'; new Ajax.Request(habboReqPath + "/marketplace/offers?preventCache="+new Date(), { parameters: MarketPlace.getSearchArguments(), onComplete: function(response) { document.getElementById("marketplace-habblet-list-container").innerHTML = response.responseText addEventListeners(); } }); }; MarketPlace.getSearchArguments = function() { arguments = { page: $F('current-page'), sortByValue: $F('sort-by-value'), sortByPopularity: $F('sort-by-popularity'), searchName: $F('advanced-search-name'), minPrice: $F('advanced-search-min'), maxPrice: $F('advanced-search-max'), sortOrder: $F('sort-order') } return arguments } MarketPlace.page = function(pageId) { document.getElementById('current-page').value = pageId.toString(); new Ajax.Request(habboReqPath + "/marketplace/offers", { parameters: MarketPlace.getSearchArguments(), onComplete: function(response) { document.getElementById("marketplace-habblet-list-container").innerHTML = response.responseText; addEventListeners(); } }); }; MarketPlace.back = function() { Dialog.setAsWaitDialog(MarketPlace.A); new Ajax.Request(habboReqPath + "/marketplace/offer_create_form", { parameters: MarketPlace.C, onComplete: function(F, E) { Dialog.setDialogBody(MarketPlace.A, F.responseText) var itemId = parseInt($F("item-list")); if (itemId) { if (itemId > 0) { MarketPlace.previewItem(); } else { MarketPlace.noSelection(); } } else { MarketPlace.noSelection(); } } }) }; MarketPlace.getColour = function() { if (!MarketPlace.Furniture.colour) { return 0; } return MarketPlace.Furniture.colour }; MarketPlace.getRotation = function() { if (MarketPlace.Furniture.allowed_rotations.length == 1) { return MarketPlace.Furniture.allowed_rotations[0]; } return MarketPlace.Furniture.allowed_rotations[MarketPlace.rotation] }; MarketPlace.getSprite = function() { return MarketPlace.Furniture.sprite }; MarketPlace.isNumberKey = function(evt) { var charCode = (evt.which) ? evt.which : evt.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 37 && charCode != 39 && charCode != 46) return false return true }; MarketPlace.pricingVerify = function(evt) { var price = parseInt($F("offer-price")); if (price) { if (price > 100000) { document.getElementById("offer-price").value = "100000"; } if (price < 2) { document.getElementById("offer-price").value = "2"; } } }