343 lines
11 KiB
JavaScript
343 lines
11 KiB
JavaScript
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 = ("<p style=\"text-align: center; vertical-align: middle;line-height: 170px;\">No furniture selected</p>");
|
|
document.getElementById("canvas-small").innerHTML = ("<p style=\"text-align: center; vertical-align: middle;line-height: 75px;\">No selection</p>");
|
|
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";
|
|
}
|
|
}
|
|
|
|
} |