Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ╔═══╦══╗╔═══╦╗░╔╦═══╦═══╦═══╦════╦═══╦═══╗
- ║╔═╗║╔╗║║╔══╣║░║║╔═╗║╔═╗║╔═╗║╔╗╔╗║╔══╩╗╔╗║
- ║║░║║╚╝╚╣╚══╣║░║║╚══╣║░╚╣║░║╠╝║║╚╣╚══╗║║║║
- ║║░║║╔═╗║╔══╣║░║╠══╗║║░╔╣╚═╝║░║║░║╔══╝║║║║
- ║╚═╝║╚═╝║║░░║╚═╝║╚═╝║╚═╝║╔═╗║░║║░║╚══╦╝╚╝║
- ╚═══╩═══╩╝░░╚═══╩═══╩═══╩╝░╚╝░╚╝░╚═══╩═══╝
- ╔╗╔╗╔╦══╦════╦╗░╔╗░░░░░░░░░░░░░░░░░░░░░░░░
- ║║║║║╠╣╠╣╔╗╔╗║║░║║░░░░░░░░░░░░░░░░░░░░░░░░
- ║║║║║║║║╚╝║║╚╣╚═╝║░░░░░░░░░░░░░░░░░░░░░░░░
- ║╚╝╚╝║║║░░║║░║╔═╗║░░░░░░░░░░░░░░░░░░░░░░░░
- ╚╗╔╗╔╬╣╠╗░║║░║║░║║░░░░░░░░░░░░░░░░░░░░░░░░
- ░╚╝╚╝╚══╝░╚╝░╚╝░╚╝░░░░░░░░░░░░░░░░░░░░░░░░
- ╔═══╦═══╦═══╦═╗░╔╦══╗╔═══╗░░░░░░░░░░░░░░░░
- ║╔═╗║╔═╗║╔═╗║║╚╗║║╔╗║║╔═╗║░░░░░░░░░░░░░░░░
- ║║░║║╚═╝║║░║║╔╗╚╝║╚╝╚╣║░║║░░░░░░░░░░░░░░░░
- ║║░║║╔╗╔╣╚═╝║║╚╗║║╔═╗║║░║║░░░░░░░░░░░░░░░░
- ║╚═╝║║║╚╣╔═╗║║░║║║╚═╝║╚═╝║░░░░░░░░░░░░░░░░
- ╚═══╩╝╚═╩╝░╚╩╝░╚═╩═══╩═══╝░░░░░░░░░░░░░░░░
- function tab(tab_name) {
- $$('.tab-selected')[0].className = 'catalog-tab';
- $("tab-" + tab_name).className += ' tab-selected';
- $$('.catalog-selected')[0].className = 'catalogItems';
- $("catalog-" + tab_name).className += ' catalog-selected';
- }
- function redraw(category_name, item_name) {
- if (category_name == "hat" || category_name == "hair") {
- item_name = (item_name == "None") ? category_name + item_name : item_name;
- $("student-avatar-" + category_name + "-img").src = "/images/avatar/" + item_name + ".png";
- } else {
- if (item_name == 'None') {
- $("student-avatar-" + category_name).style.display = 'none';
- } else {
- $("student-avatar-" + category_name).style.display = 'block';
- $("student-avatar-" + category_name).src = "/images/avatar/" + item_name + ".png";
- }
- }
- }
- function removalRedraw(category_name) {
- if (category_name == "hat" || category_name == "hair") {
- $("student-avatar-" + category_name + "-img").src = "/images/avatar/" + category_name + "None.png";
- } else {
- $("student-avatar-" + category_name).style.display = 'none';
- }
- }
- function redrawHeader(category_name, item_name) {
- var itemHeaderImage = $$("#header-avatar-" + category_name + " img")[0];
- if (itemHeaderImage != undefined) {
- itemHeaderImage.src = "/images/avatar/" + item_name + ".png";
- } else {
- var url = "/main/Avatar/action/getCategoryHeightWidth/category_name/" + category_name;
- new Ajax.Request(url,{
- method: 'get',
- onComplete: function(response) {
- var json = response.responseText.evalJSON(true);
- if (json['avatar_item_category_height'] && json['avatar_item_category_width']) {
- $("headerAvatar").insert("<div id='header-avatar-" + category_name + "'></div>");
- var imgTag = "<img src='/images/avatar/" + item_name + ".png' ";
- imgTag += "height='" + (json['avatar_item_category_height'] * 0.5) + "px' ";
- imgTag += "width='" + (json['avatar_item_category_width'] * 0.5) + "px'>";
- $("header-avatar-" + category_name).insert(imgTag);
- }
- }
- });
- }
- }
- function updateOnMouseOut(category_name, item_name) {
- var items = $$(".item-" + category_name);
- for (var i = 0; i < items.length; ++i) {
- items[i].onmouseout = function() {
- redraw(category_name, item_name);
- }
- ;
- }
- }
- function saveAvatar(category_name, item_name, item_id) {
- var url = "/main/Avatar/action/getAvatarItem/item_id/" + item_id + "/item_name/" + item_name + "/category_name/" + category_name;
- new Ajax.Request(url,{
- method: 'get'
- });
- if (category_name == "hat" || category_name == "hair") {
- updateAvatarAndCatalogFunctionCalls(category_name, item_name, item_id);
- setSelectedHatAndHair(category_name, item_name, item_id);
- }
- setCatalogStyleOnItemChange(item_name);
- redraw(category_name, item_name);
- redrawHeader(category_name, item_name);
- updateOnMouseOut(category_name, item_name);
- }
- function showConfirmPopup(item_name) {
- $("confirm-" + item_name).style.display = 'block';
- $("confirm-purchase-background").style.display = 'none';
- spendableStars = $('availableStars').innerHTML;
- if (Number(item_price) <= Number(spendableStars)) {
- $("buy-" + item_name).style.display = 'block';
- $("hasEnough-" + item_name).style.display = 'block';
- $("notEnough-" + item_name).style.display = 'none';
- $("need-stars-" + item_name).style.display = 'none';
- } else {
- $("buy-" + item_name).style.display = 'block';
- $("hasEnough-" + item_name).style.display = 'block';
- $("notEnough-" + item_name).style.display = 'none';
- $("need-stars-" + item_name).style.display = 'none';
- }
- }
- function cancelPopup(item_name) {
- $("confirm-" + item_name).style.display = 'none';
- $("confirm-purchase-background").style.display = 'none';
- }
- function purchase(category_name, item_name, item_id) {
- url = "/main/Avatar/action/getAvatarItem/item_id/" + item_id + "/item_name/" + item_name + "/category_name/" + category_name;
- spendableStars = $('availableStars').innerHTML;
- new Ajax.Request(url,{
- method: 'get',
- onComplete: function(response) {
- var json = response.responseText.evalJSON(true);
- if (json['available_stars']) {
- spendableStars = json['available_stars'];
- $('availableStars').update(json['available_stars']);
- if ($('spendableStarsTextTotal') && (parseInt(json['available_stars']) != parseInt($('spendableStarsTextTotal').innerHTML))) {
- playStarAnimation(json['available_stars']);
- } else if ($('starDisplayCount')) {
- $('starDisplayCount').update(json['available_stars']);
- }
- }
- if (json['status'] == 'succeeded') {
- redraw(category_name, item_name);
- redrawHeader(category_name, item_name);
- updateOnMouseOut(category_name, item_name);
- if (category_name == "hat" || category_name == "hair") {
- updateAvatarAndCatalogFunctionCalls(category_name, item_name, item_id);
- setSelectedHatAndHair(category_name, item_name, item_id);
- $("item-" + item_name).href = "javascript:saveAvatar('" + category_name + "', '" + item_id + "');";
- } else {
- $("item-" + item_name).href = "javascript:saveAvatar('" + category_name + "', '" + item_name + "', '" + item_id + "');";
- }
- setCatalogStyleOnItemChange(item_name);
- }
- updateConfirmDialogs(item_name);
- }
- });
- cancelPopup(item_name);
- }
- function updateConfirmDialogs(item_name) {
- var confirm_dialogs = $$(".confirm-purchase-dialog");
- for (var i = 0; i < confirm_dialogs.length; ++i) {
- var priceTag = confirm_dialogs[i].select(".confirm-buy-item p span")[0].innerHTML;
- confirm_dialogs[i].select(".confirm-purchase-dialog").innerHTML = parseInt(priceTag) - spendableStars;
- if (parseInt(priceTag) > spendableStars) {
- $$(".cancel")[i].style.display = 'block';
- $$(".buy")[i].style.display = 'block';
- }
- }
- }
- function removeItem(category_name, item_id) {
- var itemImageSelector = "student-avatar-" + category_name;
- itemImageSelector += (category_name == "hat" || category_name == "hair") ? "-img" : "";
- actualItemName = $(itemImageSelector).src;
- actualItemName = actualItemName.substr(actualItemName.lastIndexOf("/") + 1, actualItemName.length);
- actualItemName = actualItemName.substr(0, actualItemName.lastIndexOf("."));
- if (item_id) {
- url = "/main/Avatar/action/removeAvatarItem/item_id/" + item_id + "/category_name/" + category_name;
- new Ajax.Request(url,{
- method: 'get'
- });
- removalRedraw(category_name);
- redrawHeader(category_name, category_name + "None");
- updateOnMouseOut(category_name, "None");
- setSelectedItemToSaveAvatar(category_name, actualItemName, item_id);
- setSelectedItemsOwned(category_name);
- setSelectedHatAndHair(category_name, null, null);
- $("student-avatar-" + category_name + "-img").up().setAttribute('href', "#");
- }
- }
- function setSelectedHatAndHair(category_name, item_name, item_id) {
- if (category_name == "hat") {
- selectedHatAndHair.hatName = item_name;
- selectedHatAndHair.hatId = item_id;
- } else if (category_name == "hair") {
- selectedHatAndHair.hairName = item_name;
- selectedHatAndHair.hairId = item_id;
- }
- }
- function updateAvatarAndCatalogFunctionCalls(category_name, item_name, item_id) {
- // Set the avatar's hat or hair and corresponding catalog picture to removeItem on click
- $("student-avatar-" + category_name + "-img").up().setAttribute('href', "javascript:saveAvatar('" + category_name + "', '" + item_id + "');");
- $("item-" + item_name).setAttribute('href', "javascript:saveAvatar('" + category_name + "', '" + item_id + "');");
- // Set old (currently selected) item to saveAvatar on click
- setSelectedItemToSaveAvatar(category_name, null, null);
- }
- function setSelectedItemToSaveAvatar(category_name, item_name, item_id) {
- var selectedItemInfo = getSelectedItemInfo(category_name);
- item_name = (item_name) ? item_name : selectedItemInfo.item_name;
- item_id = (item_id) ? item_id : selectedItemInfo.item_id;
- if (item_name && item_id) {
- // There was a previous item
- $("item-" + item_name).href = "javascript:saveAvatar('" + category_name + "', '" + item_name + "', '" + item_id + "');";
- }
- }
- function getSelectedItemInfo(category_name) {
- if (category_name == "hat") {
- return {
- item_name: selectedHatAndHair.hatName,
- item_id: selectedHatAndHair.hatId
- };
- } else if (category_name == "hair") {
- return {
- item_name: selectedHatAndHair.hairName,
- item_id: selectedHatAndHair.hairId
- };
- } else {
- return {
- item_name: null,
- item_id: null
- };
- }
- }
- function setCatalogStyleOnItemChange(item_name) {
- $("price-tag-" + item_name).addClassName("soldItemPrice");
- $("price-tag-" + item_name).removeClassName("itemPrice");
- var allSelected = $$(".catalog-selected .selectedCatalogItem");
- for (var i = 0; i < allSelected.length; ++i) {
- allSelected[i].addClassName("ownedCatalogItem");
- allSelected[i].removeClassName("selectedCatalogItem");
- }
- $("item-" + item_name).addClassName("selectedCatalogItem");
- }
- function setSelectedItemsOwned(category_name) {
- var selector = "catalog-" + category_name;
- var allSelected = $(selector).select(".selectedCatalogItem");
- for (var i = 0; i < allSelected.length; ++i) {
- allSelected[i].addClassName("ownedCatalogItem");
- allSelected[i].removeClassName("selectedCatalogItem");
- }
- }
- function finishAvatarVisit() {
- var url = "/main/Avatar/action/finishAvatarVisit";
- new Ajax.Request(url,{
- method: 'get'
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement