diff --git a/INSTALL b/INSTALL index d08991608..919134fb2 100644 --- a/INSTALL +++ b/INSTALL @@ -16,6 +16,7 @@ INSTALLATION STEPS: Google it, if you don't know what it is; 4. Edit includes/classes/configuration.php (read comments). 5. Downloads icons archive from "Downloads" on GitHub.com and unpack it to "wow-icons/_images/" +6. Rename file htaccess to .htaccess for correct site work. ======================== Как установить Оружейную @@ -34,4 +35,5 @@ INSTALLATION STEPS: Если вы получаете ошибку 'MySQL Server has gone away', измените лимит запроса в конфигурационном файле сервера MySQL (my.ini (или my.cnf)). Используйте Google, если не знаете что это и как менять; 4. Отредактируйте файл includes/classes/configuration.php. -5. Скачайте архив иконок из раздела "Downloads" на GitHub.com и распакуйте в папку "wow-icons/_images/" \ No newline at end of file +5. Скачайте архив иконок из раздела "Downloads" на GitHub.com и распакуйте в папку "wow-icons/_images/" +6. Переименуйте файл htaccess в .htaccess для правильной работы сайта. \ No newline at end of file diff --git a/README b/README index b562174dd..385045108 100644 --- a/README +++ b/README @@ -16,4 +16,6 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA \ No newline at end of file + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Recommended browser: Opera 10 \ No newline at end of file diff --git a/_content/en_gb/modelConfig_strings.xml b/_content/en_gb/modelConfig_strings.xml new file mode 100644 index 000000000..2f47add06 --- /dev/null +++ b/_content/en_gb/modelConfig_strings.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_content/ru_ru/modelConfig_strings.xml b/_content/ru_ru/modelConfig_strings.xml new file mode 100644 index 000000000..9c73b4e59 --- /dev/null +++ b/_content/ru_ru/modelConfig_strings.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_css/character-select.css b/_css/character-select.css new file mode 100644 index 000000000..e0f98d068 --- /dev/null +++ b/_css/character-select.css @@ -0,0 +1,90 @@ +.pinselect {padding:5px 10px 0px 10px;background:url('../images/pin-char.gif') no-repeat;line-height:14px;min-height:90px; color:#ffb16c;float:right;width:250px;margin:40px 5px 0 10px;position:relative;z-index:20;} +.pinselect label {color:white;display:block;line-height:20px;font-weight:bold;font-size:12px; width: 250px;margin: 0 0 3px 0;} +.pinselect label input {position:relative; top:1px; left:0; background:none; margin-right:5px; } + +.charSelectTabDiv { margin: 0; padding: 0; } + +.charListIcons { width: 13px; height: 13px; display: block; float: left; margin: 2px 10px 0; background-repeat:no-repeat; } +.add_on, .add_off {position:relative; top:2px;} +.add_on { background: url('../images/icons/charselect-add.gif') 0 0; } +.add_on:hover { background-position:0 -13px; } +.add_off { background: url('../images/icons/charselect-add.gif') 0 100%; } + +.inactiveLicense { padding-right: 20px; background: url('../images/icons/alert-enabled.gif') no-repeat center right;} + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + + +.ui-tabs {padding: .2em; } +.ui-tabs-nav { padding: .2em .2em 0 .2em; position: relative; margin: 0 0 0 -2px } + +.ui-tabs-nav li { float: left; border-bottom: 0 !important; margin: 0 -2px 0px 0; padding: 0 5px 0 5px; background: url('../images/characterSelect/right-corner-off.gif') no-repeat top right; } +.ui-tabs-nav li a { color: #ffffff; display:block; text-decoration: none; margin-bottom: 0px; padding: 7px 6px 6px 12px; background: url('../images/characterSelect/left-corner-off.gif') no-repeat top left; } + +.ui-tabs-nav li.ui-tabs-selected { border-bottom: 0; background: url('../images/characterSelect/right-corner.gif') no-repeat top right; } +.ui-tabs-nav li.ui-tabs-selected a { background: url('../images/characterSelect/left-corner.gif') no-repeat top left; } + +.ui-tabs-nav > li:hover { background: url('../images/characterSelect/right-corner-over.gif') no-repeat top right;} +.ui-tabs-nav > li:hover a { background: url('../images/characterSelect/left-corner-over.gif') no-repeat top left; } + +.ui-tabs-panel { padding: 0; display: block; border: 0; background: none; } +.ui-tabs-hide { display: none !important; } + +#searchTable .list {padding:0;} +.list .full-list {padding:30px 3px 12px;} +#searchTable .list .full-list {padding:3px 0 0;} +#searchTable {margin:0; padding:0;} +.tabs {left:22px; margin:0;} + +#charList {position:static; clear:both;} +.topcharlist {height:287px; background:url(../images/select-topcharlist.gif) 0 0 no-repeat; position:relative; margin:0 0 -20px 0; top:0; left:0;} +.topcharlist h5{font:bold 14px/26px Arial, Helvetica, sans-serif; margin:0 auto; text-align:center; display: block; letter-spacing:-1px; width:260px; height:26px; color:#724503; position:relative; top:23px;} +.sel-char { } +.sel-char h1 {color:#c3830a;padding:5px 0 10px 20px !important; background:url('../images/expand-tile.jpg') repeat-x 0 0; margin:0;} +.sel-intro {min-height:1px; _height:1px;} +.sel-intro p {margin:1.6em 320px 0 25px;} +.select-charwrap {position:absolute; top:57px; left:70px; color:#fff;} +.select-char1 {background:url(../images/select-char1.jpg) 0 0 no-repeat; width:749px; height:97px; position:relative;} +.select-char1 div {margin:0; padding:0; position:absolute; left:17px; top:16px; width:600px; font:12px/1.3 Arial, Helvetica, sans-serif;} +.select-char1 .primchar-avatar {float:left; margin:0 17px 0 0;} +.select-char1 .char-realm {color:#9ddaff;} +.select-char2 .char-realm {color:#d6f039;} +.select-char1 h6 { font:bold 24px Georgia, "Times New Roman", Times, serif; color:#fff; letter-spacing:-1px; margin:0; padding:0;} +.select-char1 h6 a {color:#fff; text-decoration:none;} +.select-char1 h6 a:hover {text-decoration:underline;} +.select-char1 span {display:block;} +.select-char1 em {display:block; background:url(../images/icons/icon-guildmaster.gif) 0 0 no-repeat; width:18px; height:18px; position:absolute; top:11px; left:8px;} +.select-char1 p {margin:0; padding:0 10px; height:23px; background:#5494bd; position:absolute; top:13px; right:58px; display:block; +border-width:1px 1px 1px 1px;border-style:solid;border-color:#5494bd;-moz-border-radius-topleft:2px; -moz-border-radius-topright:2px; -moz-border-radius-bottomleft:2px; +-moz-border-radius-bottomright:2px; -webkit-border-top-right-radius:2px; -webkit-border-top-left-radius:2px; -webkit-border-bottom-left-radius:2px; +-webkit-border-bottom-right-radius:2px;} +.select-char1 p label {color:#fff; line-height:23px; margin:0; padding:0;} +.select-char1 input {position:relative; top:2px; margin:0 7px 0 0; background:none; _top:0;} + +.select-char2 {width:749px; height:31px; margin:4px 0 0;} +.select-char2 h6 {display:inline; font:12px/31px Arial, Helvetica, sans-serif; color:#fff; margin:0 0 0 15px;} +.select-char2 h6 a {color:#fff;} +.select-char2 img {vertical-align:middle; margin:0 1px 0 0; position:relative; top:6px; float:left;} + +.selSecondaryChar {background:url('../images/icons/charselect-arrow.gif') 0 0 no-repeat; width:14px; height:14px; display: inline; margin:8px 21px 0 10px; float:left;} +.selSecondaryChar:hover {background-position:0 -14px;} +.select-char1 .delChar {background: url('../images/icons/charselect-close1.gif') 0 0 no-repeat;} +.select-char2 .delChar {background: url('../images/icons/charselect-close2.gif') 0 0 no-repeat;} +.delChar {width: 13px; height: 13px; display:block; float:right; position:relative; top:10px; right:6px; font-size:1px; line-height:0;} +.delChar:hover {background-position:0 -13px;} + +.hide div div {float:left; display:inline; position:relative;} + +.noSelectedChars { padding: 10px; border-top: 2px solid #935202; background-color: #e3c574; } diff --git a/_css/character/global.css b/_css/character/global.css index 904afe965..576df8f74 100644 --- a/_css/character/global.css +++ b/_css/character/global.css @@ -1,25 +1,31 @@ @charset "utf-8"; /* global styles for all the character-related pages */ +a img { border:0; } .flash-profile{margin:0 0 0 130px;width:280px;height:120px} +.profile-wrapper .profile { font-family:Calibri, Arial; } + +.profile_header { height:106px; position:relative; } +.emptyPrefix { overflow:hidden; } + /* avatar */ -.profile-achieve img { margin: 16px 0 0 21px; } +.profile-achieve img { margin: 17px 0 0 22px; } /* char profile level */ -#leveltext {position:absolute;margin:0;padding:0;width:38px;height:38px; top: 79px; left: 40px; } -.faction-horde #leveltext { background:url('../../images/horde-gem.gif') no-repeat; } -.faction-alliance #leveltext { background:url('../../images/alliance-gem.gif') no-repeat; } -.faction-propass #leveltext { background:url('../../images/propass-gem.gif') no-repeat; } +#leveltext {position:absolute; width:37px; height:37px; top: 66px; left: 35px; font:bold 24px/36px Georgia; color:white; text-shadow:0 0 4px #000, 0 0 4px #000, 0 0 4px #000; text-align:center; } + +.header_Horde #leveltext { background:url('../../images/lvlbg_horde.png') no-repeat; } +.header_Alliance #leveltext { background:url('../../images/lvlbg_alliance.png') no-repeat; } +.header_Propass #leveltext { background:url('../../images/lvlbg_propass.png') no-repeat; } + /* points */ -.points { width: 84px; height: 23px !important; line-height: 23px !important; text-align:center; margin: 23px 0 0 10px; float: left; } -.points a, .points a:visited { padding: 0 12px 0 0 !important; font-weight: bold; font-size: 14px!important; font-family: Georgia, "Times New Roman", Times, serif; background: url('../../images/icon-charheader-achieve.gif') 100% 4px scroll no-repeat; text-decoration: none; height: 23px !important; line-height: 23px !important; } -.faction-horde .points a, .faction-horde .points a:visited { color: #FFFF00 !important; } -.faction-alliance .points a, .faction-alliance .points a:visited { color: #FFD200 !important; } -.faction-propass .points a, .faction-propass .points a:visited { color: #FFD200 !important; } +.points { position:absolute; top:60px; right:11px; } +.points a, .points a:visited { padding: 0 32px 0 0 !important; color:white; font:bold 22px Georgia; text-decoration: none; } .points a:hover { color: #FFF !important; } /* bg/forum frames links */ -#forumLinks { position: absolute; top: 110px; left: 130px; } +#forumLinks { position: absolute; top:28px; right:15px; } +#forumLinks, #forumLinks a { color:#FFD200; text-decoration:none; font-size:13px; } .banner-container{height:1px;width:1px;margin:0 auto;position:relative;z-index:80} @@ -33,42 +39,76 @@ a.realm-icon,a.battlegroup-icon{display:block;height:26px;width:40px;float:right a.realm-icon{background:url('../../images/icons/realm.gif') no-repeat 50% 0} a.battlegroup-icon{background:url('../../images/icons/battlegroup.gif') no-repeat 50% 0} .realm-info a.name{padding:3px 0 0 0;display:block} -.profile-achieve { height: 170px; width: 158px; } -.profile-right { height: 179px; float: right; width: 420px;} +.profile-achieve { width: 158px; } +.profile-right { float: right; width: 420px;} /*horde*/ -.faction-horde{background:url('../../images/profile-tile-h.jpg') repeat-x 0 0} -.faction-horde .profile-right{background:url('../../images/profile-right-h.jpg') no-repeat 100% 0;} -.faction-horde .profile-achieve{background:url('../../images/horde-banner-achieve.gif') no-repeat 0 0;} +.header_Horde, .type_Horde .profile_header {background:url('../../images/profile_bg_horde.jpg') } +.header_Horde .profile-right{background:url('../../images/profile-right-h.jpg') no-repeat 100% 0;} + /*alliance*/ -.faction-alliance{background:url('../../images/profile-tile-a.jpg') repeat-x 0 0} -.faction-alliance .profile-right{background:url('../../images/profile-right-a.jpg') no-repeat 100% 0;} -.faction-alliance .profile-achieve{background:url('../../images/alliance-banner-achieve.gif') no-repeat 0 0;} +.header_Alliance, .type_Alliance .profile_header { background:url('../../images/profile_bg_alliance.jpg') } + /*propass*/ -.faction-propass{background:url('../../images/profile-tile-p.jpg') repeat-x 0 0} -.faction-propass .profile-right{background:url('../../images/profile-right-p.jpg') no-repeat 100% 0;} -.faction-propass .profile-achieve{background:url('../../images/propass-banner-achieve.gif') no-repeat 0 0;} +.header_Propass, .type_Propass .profile_header {background:url('../../images/profile_bg_propass.jpg') } +.header_Propass .profile-right{background:url('../../images/profile-right-p.jpg') no-repeat 100% 0;} + /* guild name, char name, suffix/prefix */ -#charHeaderTxt_Dark, #charHeaderTxt_Light { position:absolute; top: 19px; left: 152px; text-align: left; } -#charHeaderTxt_Light {top: 17px; left: 150px; } -.charGuildName, .charGuildName:visited { text-decoration:none; color: #FFD200; font-size: 20px; line-height: 21px; font-weight: bold; font-family:Georgia, 'Times New Roman', Times, serif; display: block; } -.charGuildName:hover { color: #FFF; } -.charNameHeader { font-size: 24px; line-height: 25px; font-family:Georgia, 'Times New Roman', Times, serif; font-weight: bold; color: #FFFFFF; display: block; } +#charHeaderTxt_Dark, #charHeaderTxt_Light { position:absolute; top:8px; left:152px; text-align: left; } +#charHeaderTxt_Light { left: 116px; } +.charGuildName { position:absolute; top:52px; white-space:nowrap; } +.charGuildName a, .charGuildName a:visited { text-decoration:none; color: #FFD200; font-size: 20px; line-height: 21px; font-weight: bold; display: block; } +.charGuildName a:hover { color: #FFF; } +.charNameHeader { font-size: 28px; font-weight: bold; color:white; display: block; } .charLvl { font-size: 11px; line-height: 14px;color: #FFF; display: block; text-transform:uppercase; font-weight: bold;} -.prefix, .suffix { font-size: 16px; font-family:Georgia, 'Times New Roman', Times, serif; font-weight: 400; color: #FFF7D2; } +.prefix, .suffix { font-size: 15px; font-weight:normal; color:white; } .suffix { margin: 0 0 0 5px; } +.suffix.no-margin { margin:0; } +.prefix { height:18px; display:block; } .emptyPrefix { height: 10px; width: 10px; display: block } #charHeaderTxt_Dark span, #charHeaderTxt_Dark div, #charHeaderTxt_Dark a { color: #000 !important;} /* bookmark this character link */ -a#bmcLink {position:absolute;top:40px;right:45px;line-height:33px;background: #FFF url('../../images/bmc-right.gif') no-repeat 100% 0;padding:0 20px 0 0;cursor:pointer } -a#bmcLink span {display:block;float:left;background:url('../../images/bmc-left.gif') no-repeat 0 0;line-height:33px;padding:0 0 0 20px;position:relative;left:-3px} -a#bmcLink em {display:block;height:53px;width:49px;background:url('../../images/bmc-icon.gif') no-repeat 0 0;position:absolute;right:-42px;top:-10px} -.bmcEnabled {position:absolute;top:30px;right:3px;height:53px;width:52px;background:url('../../images/bmc-icon-enabled.gif') no-repeat 0 0;} -.bmcMaxed {position:absolute;top:30px;right:3px;height:53px;width:52px;background:url('../../images/bmc-icon-max.gif') no-repeat 0 0;} +a#bmcLink, .bmcEnabled, .bmcMaxed {position:absolute; top:-38px; right:3px; display:block; background:url('../../images/add_bookmark.gif') no-repeat; width:68px; height:33px; } +a#bmcLink:hover { background-position:top right; } + +.bmcEnabled { background-position:0 -33px; cursor:default; } +.bmcMaxed { background-position:0 -66px; cursor:default;} +/* New report spam icon in title bar */ +.calendar-report {height:21px;width:26px;background: transparent url(../../images/alert.gif) no-repeat;cursor:pointer;position:absolute;top:30px;right:70px;z-index:12345;} + +.header_break { background:url(../../images/header_break_bg.jpg) repeat-x; height:27px;} + +#gear-profile .rarityglow { display:block; height:100%; width:100%; background-repeat:no-repeat; background-position:8px 4px; } +#gear-profile .rarity5 { background-image:url(../../images/quality5.png); } +#gear-profile .rarity4 { background-image:url(../../images/quality4.png); } +#gear-profile .rarity3 { background-image:url(../../images/quality3.png); } +#gear-profile .rarity2 { background-image:url(../../images/quality2.png); } +#gear-profile .rarity1 { background-image:url(../../images/quality1.png); } +#gear-profile .rarity0 { background-image:url(../../images/quality0.gif); } +#gear-profile .bottomItems .rarityglow { background-position:3px 4px; } + +.gearItem span { display:block; } +.feed_icon { display:block; float:left; line-height:1px; margin-right:10px; } +.feed_icon a { background:center no-repeat; display:block; } +.td_icon { width:45px; } +.share_container { position:absolute; right:13px; top:-11px;} +.share_rss_icon, .share_fb_icon { height:31px; width:31px; display:block; float:right; } +.share_rss_icon:hover, .share_fb_icon:hover { background-position:bottom; } +.share_rss_icon { background:url(../../images/rss_icon.gif); } +.share_fb_icon { background:url(../../images/facebook_icon.gif); } +.statsOrange, .stats_rarity5 { color:#c24e00; } +.statsPurple, .stats_rarity4 { color:#5716a8; } +.statsBlue, .stats_rarity3 { color:#4473ae; } +.statsGreen, .stats_rarity2 { color:#4c9248; } +.statsWhite, .stats_rarity1, .statsGrey, .stats_rarity0 { color:#3c3c3c; } +.feed_entry .achievement { } +.ach_tooltip { float:left; margin-right:10px;} +/* New report spam icon in title bar */ +.calendar-report {height:21px;width:26px;background: transparent url(../../images/alert.gif) no-repeat;cursor:pointer;position:absolute;top:30px;right:70px;z-index:12345;} \ No newline at end of file diff --git a/_css/character/sheet.css b/_css/character/sheet.css index 02f2abefd..0f4e50c12 100644 --- a/_css/character/sheet.css +++ b/_css/character/sheet.css @@ -1,86 +1,174 @@ @charset "utf-8"; + +a img { border:0; } + +object:active, a:active{outline:none} +object:focus, a:focus{-moz-outline-style:none} + +.header_break { display:none; } +.gear_display_option { position:absolute; right:18px; top:23px; z-index:3; } +.btn_dual_tooltip { position:absolute; z-index:1; top:30px; left:30px; color:#604325; display:none; } +.btn_dual_tooltip input { position:relative; top:3px; margin-right:7px; } +.toggle_gear_detail, .toggle_gear_list { width:27px; height:29px; display:block; background:url(../../images/toggle_btns.jpg) no-repeat; float:right; } +.toggle_gear_detail:hover, .detail_active .toggle_gear_detail { background-position:0 -29px; } +.toggle_gear_list { background-position:right 0; } +.toggle_gear_list:hover { background-position:right -29px; } + +.list_active .gear_bg, .list_active .stats_drop, .detail_active .gear_list { display:none } + +.list_active .toggle_gear_detail { background-position:0 -58px; } +.list_active .toggle_gear_detail:hover { background-position:0 -87px; } +.list_active .toggle_gear_list, .list_active .toggle_gear_list:hover { background-position:right -87px; } + + /* gear */ -.profile-master2{ margin:0px;background:url('../../images/profile-bg.jpg') no-repeat 50% 0; height: 460px; width: 100%;} +.profile-master2{ margin:0px;background:url('../../images/toggle_btns.jpg)profile-bg.jpg') no-repeat 50% 0; height: 460px; width: 100%;} + +#gear-profile { width:519px; background:url(../../images/profile_bg_sheet_left.jpg) no-repeat; float:left; position:relative; left:-1px; z-index:2; } + +.gear_bg { background:url(../../images/sheet_itemsbg.jpg) no-repeat; height:585px; position:relative; z-index:2;} .gearItem { height: 55px; width: 60px; margin: 0px 0 1px 0; position: relative; background-position: 100% 4px; background-repeat:no-repeat;} .gearItem a { width: 75px; height: 60px; display: block; padding: 4px 0 0 0; position: relative; margin: 0 0 0 5px; } -.gearItem .noUpgrade:hover { background:url('../../images/icon-glass0.gif') no-repeat 11px 0 !important; } +.gearItem .noUpgrade:hover { background:url('../../images/toggle_btns.jpg)icon-glass0.gif') no-repeat 11px 0 !important; } .upgradeBox { height: 50px; width: 10px; position:relative; float: left; top: 0px;} -.leftItems { position: absolute; left: 192px; margin-top: 2px; float: left; display: block;} -.leftItems .gearItem a.gearFrame { background:url('../../images/icon-glass-left.gif') no-repeat -75px -1px; top: -1px; left: -13px; } +.leftItems { position: absolute; left:24px; top:58px; } +.leftItems .gearItem a.gearFrame { background:url('../../images/toggle_btns.jpg)icon-glass-left.gif') no-repeat -75px -1px; top: -1px; left: -13px; } .leftItems .gearItem a.gearFrame:hover { background-position: -3px 0px; } -.leftItems .upgradeBox { left: 5px; } -.leftItems .fly-horz{top:-1px;left:-86px} +.leftItems .upgradeBox { left: 5px; display:block; } +.leftItems .fly-horz{top:-1px;left:-100px} -.rightItems { position:absolute; right: 203px; float: left; display: block; margin-top: 2px; } -.rightItems .gearItem a.gearFrame { background:url('../../images/icon-glass-right.gif') no-repeat -2px -1px; top: -1px; left: 0; width: 74px; } +.rightItems { position:absolute; left:433px; top:58px;} +.rightItems .gearItem a.gearFrame { background:url('../../images/toggle_btns.jpg)icon-glass-right.gif') no-repeat -2px -1px; top: -1px; left: 0; width: 74px; } .rightItems .gearItem a.gearFrame:hover { background-position: -75px 0; } -.rightItems .gearItem .noUpgrade:hover { background:url('../../images/icon-glass0.gif') no-repeat -2px 0 !important; } +.rightItems .gearItem .noUpgrade:hover { background:url('../../images/toggle_btns.jpg)icon-glass0.gif') no-repeat -2px 0 !important; } .rightItems .upgradeBox {left: 57px; } -.rightItems .fly-horz{top:-1px; right:-96px} +.rightItems .fly-horz{top:-1px; left:60px} -.bottomItems { position:absolute; left: 344px; top: 565px; float: left; display: block; } +.bottomItems { position:absolute; left:172px; top:516px; } .bottomItems .gearItem { float: left; display: block; width: 55px; height: 60px; } -.bottomItems .gearItem a.gearFrame { height: 75px; width: 60px; background:url('../../images/icon-glass-bot.gif') no-repeat 7px 0px; top: -1px; left: -13px; padding: 0 6px 0 0;} +.bottomItems .gearItem a.gearFrame { height: 75px; width: 60px; background:url('../../images/toggle_btns.jpg)icon-glass-bot.gif') no-repeat 7px 0px; top: -1px; left: -13px; padding: 0 6px 0 0;} .bottomItems .gearItem a.gearFrame:hover { background-position: 5px -75px; } -.bottomItems .gearItem .noUpgrade:hover { background:url('../../images/icon-glass0.gif') no-repeat 5px 1px !important; } +.bottomItems .gearItem .noUpgrade:hover { background:url('../../images/toggle_btns.jpg)icon-glass0.gif') no-repeat 5px 1px !important; } .bottomItems .upgradeBox { width: 50px; height: 10px; top: 57px; left: 10px; } .bottomItems .fly-horz{top:55px;left:-10px} +.bottomItems .s_relic { background:url(../../images/relic.jpg) no-repeat 3px 4px; } -.rightItems .fly-horz,.leftItems .fly-horz,.bottomItems .fly-horz{display: none; position:absolute;width:83px;height:53px;background:url('../../images/flyout.png') no-repeat 0 0;z-index:9991;padding:8px 0 0 12px; } +.rightItems .fly-horz,.leftItems .fly-horz,.bottomItems .fly-horz{ display: none; position: absolute; width: 95px; height: 53px; background: url('../../images/toggle_btns.jpg)flyout.png') no-repeat 0 0; z-index: 9991; padding: 8px 0 0 12px; } .fly-horz a,.fly-horz a:active,.fly-horz a:visited{color:#5c4500 !important;font-family:Arial,Helvetica,sans-serif !important} .fly-horz a:hover{color:black !important;} -a.upgrd, a.upgrd:visited{ text-decoration:none !important; margin:0 !important;padding:0 0 0 25px !important;background:url('../../images/icons/upgrade.gif') no-repeat !important;position:relative !important;top:3px !important;left:0 !important;height:30px !important;width:55px !important} +a.upgrd, a.upgrd:visited{ text-decoration: none !important; margin: 0 !important; padding: 0 0 0 23px !important; background: url('../../images/toggle_btns.jpg)icons/upgrade.gif') no-repeat !important; position: relative !important; top: 6px !important; left: 0 !important; height: 30px !important; width: 55px !important; line-height: 14px; } + +/* center info of charcater sheet */ +.profileCenter { position:absolute; left:102px; top:62px; width:321px; height:444px; } +#pose_save_ok, #pose_saving { background:url(../../images/pose_save_bg.jpg); height:45px; width:224px; position:absolute; top:-48px; left:48px; display:none; } +#pose_save_ok span, #pose_saving span { display:block; padding-left:32px; text-align:center; line-height:41px; font-size:15px; font-weight:bold; color:#477d00; } +#pose_saving { background:none; } +#pose_saving span { padding:0; color:black; } +.type_Alliance #pose_saving span { color:#1C579B; } +.type_Horde #pose_saving span { color:#6F0E07; } + +#debugtxt, .pose_test { position:absolute; visibility:hidden; } -/* center info of charcater sheet */ -.profileCenter { position:absolute; left: 268px; margin-top: 6px; display: block; width: 365px; height: 396px; } -.profileCenter h4{margin:0;padding:0px 8px;color:white;text-transform:uppercase;font-size:10px} +.health_stat, .secondary_stat { position:absolute; bottom:0; position:absolute; bottom:9px; color:#613E08; font-size:13px; } +.health_stat em, .secondary_stat em { margin-left:3px; font:bold 13px Georgia; } +.health_stat { left:42px; } +.secondary_stat { right:30px; } +.health_stat em { color:#7a200d; } +.secondary_stat em { color:#0b3d70; } +.secondary_stat .rage em { color:#940900; } +.secondary_stat .energy em { color:#929000; } +.secondary_stat .runic em { color:#3096a9; } -.profileCenter .statsLeft { width: 181px; height: 249px; float: left; display: block; margin-bottom: 3px;} -.profileCenter .hp_mana_stats { margin-top: 2px; padding: 8px 0; height: 40px; } -.profileCenter .achRight { width: 181px; height: 249px; float: right; display: block; margin-bottom: 3px; } -.profileCenter .achRight .achList { font-size: 11px; line-height: 15px !important; font-weight: normal; display: block; width: 170px; color: #ffd200; text-decoration: none; margin: 0px 2px 1px 4px; padding: 1px 1px 0 1px; border-bottom: 1px solid #513e24; } -.profileCenter .achRight .achList span, .profileCenter .achRight a span { display: inline; float: right; text-decoration: none !important; color: #FFF; } -.profileCenter .achRight .achPointsLink, .profileCenter .achRight .achPointsLink:visited { text-decoration: none; display: block; color: #FFD200; font-weight: bold; margin: 8px 0 0; padding: 0 10px 0; font-size: 14px; } +.stat_drop_titles { background:url(../../images/stats_top_bg.jpg) 50%; width:476px; height:39px; margin:0 auto;} +.stat_drop_titles_int { padding:7px 8px 0; } +.stats_page_right, .stats_page_left { float:right; display:block; background-repeat:no-repeat; height:22px; width:24px; + background-image:url(../../images/stats_btns.gif) } +.stats_page_right { background-position:right top; } +.stats_page_right:hover { background-position:right bottom; } +.stats_page_left:hover { background-position:0 bottom; } +#displayLeft, #displayRight { float:left; padding-top:1px; font-size:13px; color:#611000; } +#displayLeft { width:236px; padding-left:10px; } -.achieve-bar{line-height: 14px !important; width: 170px; margin: 12px 0 6px 4px; text-align:center;color:white;padding:0;height:16px; border:1px solid black;background:url('../../images/bar-grey.gif') repeat-x;} -.achieve-bar b{height:16px;margin:0;padding:0; background:url('../../images/bar-life.gif') repeat-x; white-space: nowrap; float: left; } +.stats_holder { margin:0 auto; padding:0 22px; } +.character-stats { } +.character-stats ul { margin:0; padding:0; width:219px; } +.character-stats li { list-style:none; color:#a86f2b; border-bottom:1px dotted #a86f2b; margin:0; padding:0 0 0 4px; clear:left; overflow:hidden; line-height:15px; } +.resists {width:131px; height:189px; float:right; } +.character-stats span{ padding-left:4px; float:left;} +.character-stats i{ float:right; font:14px Georgia; color:#6d420f; padding-right:13px; margin-top:-3px;} +.character-stats .mod { color:#446d0f; } +.character-stats .moddown{ color:#ff0000; } +.stack1 em,.stack2 em,.stats1 em, .stats2 em{position:absolute;height:3px;width:3px;display:block;background-image:url('../../images/toggle_btns.jpg)pc1.gif');background-repeat:no-repeat;} +.mod{ color:#7EFF00; } + +.char-profile_stats h4 { color:#815f3e; font-size:14px; clear:both; padding:15px 0 4px 0; margin:0; } + +.char-profile_stats .statsLeft { width: 181px; height: 249px; float: left; display: block; margin-bottom: 3px;} +.char-profile_stats .hp_mana_stats { margin-top: 2px; padding: 8px 0; height: 40px; } +.char-profile_stats .achRight { width: 181px; height: 249px; float: right; display: block; margin-bottom: 3px; } +.char-profile_stats .achRight .achList { font-size: 11px; line-height: 15px !important; font-weight: normal; display: block; width: 170px; color: #ffd200; text-decoration: none; margin: 0px 2px 1px 4px; padding: 1px 1px 0 1px; border-bottom: 1px solid #513e24; } +.char-profile_stats .achRight .achList span, .profileCenter .achRight a span { display: inline; float: right; text-decoration: none !important; color: #FFF; } + +.char-profile_stats .achRight .achPointsLink, .profileCenter .achRight .achPointsLink:visited { text-decoration: none; display: block; color: #FFD200; font-weight: bold; margin: 8px 0 0; padding: 0 10px 0; font-size: 14px; } + + +.achieve-bar{line-height: 14px !important; width: 170px; margin: 12px 0 6px 4px; text-align:center;color:white;padding:0;height:16px; border:1px solid black;background:url('../../images/toggle_btns.jpg)bar-grey.gif') repeat-x;} +.achieve-bar b{height:16px;margin:0;padding:0; background:url('../../images/toggle_btns.jpg)bar-life.gif') repeat-x; white-space: nowrap; float: left; } .achieve-bar .progressTxt { position: absolute; left: 5px; top: 57px; display: inline; float: left;} + +/* Gear List */ +.gear_list { background:url(../../images/item_list_bg.jpg) no-repeat; height:712px} +.gear_list_int { padding-top:48px; } +.gear_list_table { width:100%; } +.gear_list_table td, .gear_list_table th { height:30px; white-space:nowrap; } +.gear_list_table td { text-align:center; } +.gear_list_table .glist_name { text-align:left; } +.glist_icon { width:37px; } +.gear_list_table td img { vertical-align:middle; border:1px solid #D9AB49 } +.glist_name, .glist_name span { width:218px; } +.glist_name span { display:block; overflow:hidden; text-decoration:none; white-space:nowrap } +.glist_ilvl { width:61px; } +.glist_gems { width:106px; } +.glist_ench { width:95px; } + +.glist_icon img { vertical-align:middle; } + +.enchantspell { display:block; font-weight:bold;} +.spellEnchant { cursor:default; } + /* drop down menu to change stats information */ #stats_leftDropDown, #stats_rightDropDown { background-color: #FFCC00; display: block;width: 178px;padding: 0 8px 0 4px; height: 140px; float: left; display: block; } #stats_leftDropDown { padding: 0 4px 0 8px; } -.profile-stats{background:url('../../images/profile-dd.gif') no-repeat 0 0;height:23px;width:181px;display:block;text-decoration:none;color:white !important;padding:4px 0 0 8px;margin:0 -8px 0 0} -.profile-stats:hover{background-position:0 100%;color:white} -.statsBlock { width: 178px; height: 105px; display: block; background-color:#663333; margin: 4px 0 0 0; } -.statValue { float: right; color: #FFF; } -.statLine { width: 174px; color: #FFD800; font-weight: bold; font-size: 12px; line-height: 13px; padding: 0 2px;} -.drop-stats{position:absolute;top:255px !important;left:5px;width:170px !important; margin-top: 30px;} -.drop-stats li{height:17px !important;width:100% !important;line-height:15px} + +.stats_drop { width:500px; clear:both; overflow:hidden; margin-left:15px; position:relative; z-index:1;} +.drop-stats{position:absolute; top:255px !important; left:5px; width:170px !important; margin-top: 30px; display: none; z-index: 99999;} +.drop-stats li{height:17px !important;width:100% !important;line-height:15px; list-style:none;} .drop-stats a{display:block;width:100%;padding:0 0 0 4px;color:white !important;text-decoration:none} .drop-stats .tooltip{width:170px !important} .drop-stats a img{width:21px;height:13px;margin:1px 0 0 3px;border:0} -.drop-stats a:hover{color:white;background:url('../../images/UI-Listbox-Highlight.png') no-repeat} -.stats1,.stats2{position:relative;height:96px;width:181px;margin-top:3px} +.drop-stats a:hover{color:white;background:url('../../images/toggle_btns.jpg)UI-Listbox-Highlight.png') no-repeat} + .dropdown1,.stats1{float:left} .dropdown2,.stats2{float:right} .buffs li,.debuffs li{width:21px !important;height:21px !important;padding:1px 0} .buffs li img,.debuffs li img{height:21px;width:21px;position:relative;left:0} -.debuffs li p{background:url('../../images/icons/debuff.png') no-repeat 0 0;height:24px;width:24px;position:absolute;left:-1px;top:3px;cursor:default !important} -.debuffs li p:hover{background:url('../../images/icons/debuff.png') no-repeat 0 0} +.debuffs li p{background:url('../../images/toggle_btns.jpg)icons/debuff.png') no-repeat 0 0;height:24px;width:24px;position:absolute;left:-1px;top:3px;cursor:default !important} +.debuffs li p:hover{background:url('../../images/toggle_btns.jpg)icons/debuff.png') no-repeat 0 0} .icon-holy,.icon-fire,.icon-nature,.icon-arcane,.icon-frost,.icon-shadow{height:14px;line-height:14px;padding-left:21px} -.icon-holy{background:url('../../images/icons/icon-holy.gif') 0 center no-repeat} -.icon-fire{background:url('../../images/icons/icon-fire.gif') 0 center no-repeat} -.icon-nature{background:url('../../images/icons/icon-nature.gif') 0 center no-repeat} -.icon-arcane{background:url('../../images/icons/icon-arcane.gif') 0 center no-repeat} -.icon-frost{background:url('../../images/icons/icon-frost.gif') 0 center no-repeat} -.icon-shadow{background:url('../../images/icons/icon-shadow.gif') 0 center no-repeat} +.icon-holy{background:url('../../images/toggle_btns.jpg)icons/icon-holy.gif') 0 center no-repeat} +.icon-fire{background:url('../../images/toggle_btns.jpg)icons/icon-fire.gif') 0 center no-repeat} +.icon-nature{background:url('../../images/toggle_btns.jpg)icons/icon-nature.gif') 0 center no-repeat} +.icon-arcane{background:url('../../images/toggle_btns.jpg)icons/icon-arcane.gif') 0 center no-repeat} +.icon-frost{background:url('../../images/toggle_btns.jpg)icons/icon-frost.gif') 0 center no-repeat} +.icon-shadow{background:url('../../images/toggle_btns.jpg)icons/icon-shadow.gif') 0 center no-repeat} .checkmark{vertical-align:top} .stack1,.stack2,.stack3,.stack4{width:365px;margin:0 auto;position:relative} @@ -89,19 +177,55 @@ a.upgrd, a.upgrd:visited{ text-decoration:none !important; margin:0 !important;p .stack2{height:50px} .stack3{height:132px} .stack4{height:70px} -.stack1 em,.stack2 em,.stack3 em, .achRight em, .brownBox em{position:absolute;height:3px;width:3px;display:block;background-image:url('../../images/pc1.gif') !important;background-repeat:no-repeat;} -.resists,.profs,.stack2,.stats1,.stats2, .achRight, .brownBox{background:url('../../images/cpbg.png');position:relative;cursor:default} +.stack1 em,.stack2 em,.stack3 em, .achRight em, .brownBox em{position:absolute;height:3px;width:3px;display:block;background-image:url('../../images/toggle_btns.jpg)pc1.gif') !important;background-repeat:no-repeat;} +.resists,.profs,.stack2,.stats1,.stats2, .achRight, .brownBox{ position:relative;cursor:default} + +.last_modified { color:#a98128; font-size:14px; font-style:italic; padding:15px 30px; clear:both } + +/* Right Column */ + +.char-profile_stats { width:372px; min-height:702px; background:url(../../images/profile_bg_sheet_right.jpg) no-repeat; position:relative; float:right; margin-left:-1px; z-index:1; } +.char-profile_stats_int { padding:31px 13px 0;} + +.char-profile_name, .char_feed_title { color:#104664; font-size:16px; text-transform:uppercase; border-bottom:1px solid #eac98d; padding-bottom:2px;} +.char-profile_name .desc { color:#60737e; font-size:13px; margin-left:4px } +.char-profile_name .desc span { font-family:Georgia; } + +.type_Horde .char_feed_title, .type_Horde .char-profile_name { color:#48180e; } +.type_Horde .char-profile_name .desc { color:#96351f; } + +.type_Propass .char_feed_title, .type_Propass .char-profile_name { color:#262626 } +.type_Propass .char-profile_name .desc { color:#79746d;} /* talent specs */ -.spec{width:180px;height:69px;float:left} -.spec-wrapper{padding:2px 0 0 47px; border: 1px solid #513e24; margin: 8px 3px 0px 6px;} -.activeSpecTxt { font-size: 8px; letter-spacing: 1px; padding: 0 1px; text-transform:uppercase; color: #513e24; float: left; position: relative; top: -8px; line-height: 10px; left: -42px; margin-bottom: -20px; background-color: #2e200b;} -.prof1,.prof2 { padding: 2px 0 0 35px; margin: 3px 0 0 5px; } -.profImage{position:absolute;left:15px} -.profImage img{position:relative;top:15px;width:27px;height:27px} +.spec, .prof, .item_lvl { width:330px; margin:0 auto; } +.spec h4 { padding:16px 0 10px 0;} +.spec a, .char_profession, .ilvl_entry { width:165px; height:60px; display:block; float:left; background:url(../../images/talent_btn_bg.jpg); + font-size:15px; color:black; font-variant:small-caps; text-decoration:none;} +.spec .talent_icon, .prof_icon { display:block; float:left; width:55px; height:100%; text-align:center; } +.spec .talent_icon img { vertical-align:middle; margin-top:14px; padding-left:7px; height:31px; width:31px; } +.spec .talent_name, .prof_name, .ilvl_entry { display:block; padding:14px 0 0 0px; line-height:10px; float:left; font-weight:bold; } +.spec .talent_value, .prof_value { display:block; font-family:Georgia; color:#807961; padding-left:15px; line-height:15px; font-weight:normal; } +.spec a:hover { background-position:0 -60px; } +.spec a.right_spec { background-position:right 0; } +.spec a.right_spec:hover { background-position:right -60px; } +.spec a.na_right_empty { background-position:0 -240px;} +.spec a.na_right_empty .talent_name, .no_skills { display:block; width:100%; font-size:20px; color:#D3B38C; line-height:60px; text-align:center; padding:0; } +.spec a.na_right_empty:hover { background-position:right -240px;} +.spec a.active_spec { background-position:0 -120px} +.spec a.active_spec:hover { background-position:0 -180px } +.spec a.right_spec.active_spec { background-position:right -120px} +.spec .right_spec.na_empty { background-position:right -180px} +a.right_spec.active_spec:hover { background-position:right -180px} + +.prof_bg, .itemlvl_bg { background:url(../../images/prof_bg.jpg) 50% repeat-y; clear:both; height:44px; } +.char_profession { background:none; height:28px; } +.prof_icon { padding-top:7px} +.prof_name { position:relative; padding-top:7px; } +.prof_value { position:absolute; right:-10px; } +.no_skills { line-height:44px; } .spec-wrapper h4{font-size:14px; margin: 0 4px 0 -5px; border-bottom: 1px solid #513e24; padding: 0 !important;} -#replaceTalentSpecText, #replaceTalentSpecText:visited, #replaceTalentSpecText2, #replaceTalentSpecText2:visited { color: #FFD200; text-decoration: none; } .spec-wrapper span{color:white;padding:0 0 0 3px} .spec-wrapper img{position:relative;top:5px;width:27px;height:27px} .tooltipContentSpecial, .tooltipContentSpecial span { line-height: 14px !important; } @@ -113,37 +237,23 @@ em.ptl{background-position:0 0;top:0;left:0} em.pbl{background-position:0 -3px;bottom:0;left:0} em.ptr{background-position:-3px 0;top:0;right:0} em.pbr{background-position:-3px -3px;bottom:0;right:0} -.character-stats{margin:7px 0 0 0} - -.profile-master2 ul{margin:0;padding:0;list-style:none} -.profile-master2 li{width:60px;height:55px;margin:1px;position:relative} -.resists{width:131px;height:189px;float:right} -.character-stats li{height:13px !important;width:95%;line-height:13px} -.character-stats span{color:#ffd800;padding:0 0 0 4px;float:left;} -.character-stats i{line-height:10px;font-size:10px;color:white;float:right;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif !important} - -.stack1 em,.stack2 em,.stats1 em, .stats2 em{position:absolute;height:3px;width:3px;display:block;background-image:url('../../images/pc1.gif');background-repeat:no-repeat;} -.mod{color:#7eff00 !important} -.moddown{color:#ff0000 !important} - -/* stats */ -.health-stat p,.mana-stat p,.rage-stat p,.energy-stat p,.runic-stat p{float:left;width:150px;margin:0 0 0 14px;text-align:center;color:white;padding:0;height:16px;border:1px solid black} -.health-stat p{background:url('../../images/bar-life.gif') repeat-x} -.health-stat p span,.mana-stat p span,.rage-stat p span,.energy-stat p span, .runic-stat p span{position:relative;top:-1px} -.health-stat h4,.mana-stat h4,.rage-stat h4,.energy-stat h4, .runic-stat h4{text-align:right;width:55px} -.mana-stat p,.bar-container b{background:url('../../images/bar-mana.gif') repeat-x} -.rage-stat p{background:url('../../images/bar-rage.gif') repeat-x} -.energy-stat p{background:url('../../images/bar-energy.gif') repeat-x} -.runic-stat p{background:url('../../images/bar-runic.gif') repeat-x} -.health-stat p:hover{border:1px solid #7eff00} -.mana-stat p:hover,.bar-container:hover{border:1px solid #00a8ff} -.rage-stat p:hover{border:1px solid #ff0000} -.energy-stat p:hover{border:1px solid #fcff00} -.runic-stat p:hover{border:1px solid #49c1d7} - -.bar-container{line-height: 14px !important; margin:0;padding:0;text-align:center;color:white;padding:0;height:16px;width:130px;border:1px solid black;background:url('../../images/bar-grey.gif') repeat-x; white-space: nowrap} -.bar-container b{height:16px;margin:0;padding:0;float:left} + +.itemlvl_bg { background-image:url(../../images/char_item_bg.jpg); } +.ilvl_entry { background:none; height:auto; padding:0; line-height:44px; } +.level_name { text-align:center} +.ilvl_entry span { font-family:Georgia; font-weight:normal; } + + +.character_act { padding-top:70px; } +.char_feed_title { position:relative; } + +.feed_entry { font-size:13px; padding:6px 10px 6px; line-height:15px; background:url(../../images/char_act_border.gif) bottom no-repeat; overflow:hidden; } +.feed_entry.last_entry { background:none; } +.feed_entry .timestamp {color:#8f7344; font-size:11px; } +a.more_char_act { display:block; margin-top:27px; padding:3px; text-align:center; border:1px solid #DCB75C; text-decoration:none; + background: url(../../images/profile_bg_sheet_right.jpg) -18px -440px; } +a.more_char_act:hover { background-position:-18px -210px; } /* deco-frame table */ /*...........................................................*/ .bonus-stats{width:80%;margin:0 auto 10px;position:relative} @@ -152,48 +262,95 @@ em.pbr{background-position:-3px -3px;bottom:0;right:0} .deco-frame thead td,.deco-frame tfoot td{height:9px;width:12px} .deco-frame tfoot td.sb b{height:9px;width:1px;position:relative} .deco-frame td.sl b,.deco-frame td.sr b{width:12px;display:block;height:1px;position:relative} -.deco-frame thead td.sl{background:url('../../images/df-tl.gif') no-repeat 0 0 !important} -.deco-frame thead td.sr{background:url('../../images/df-tr.gif') no-repeat 0 0 !important} -.deco-frame .st{background:url('../../images/df-t.gif') repeat-x 0 0 !important} -.deco-frame tbody td.sl{background:url('../../images/df-l.gif') repeat-y 0 0 !important;vertical-align:middle !important} -.deco-frame tbody td.sr{background:url('../../images/df-r.gif') repeat-y 100% 0 !important;vertical-align:middle !important} -.deco-frame tfoot td.sl{background:url('../../images/df-bl.gif') no-repeat 0 0 !important} -.deco-frame tfoot td.sr{background:url('../../images/df-br.gif') no-repeat 0 0 !important} -.deco-frame .sb{background:url('../../images/df-b.gif') repeat-x 0 0 !important} +.deco-frame thead td.sl{background:url('../../images/toggle_btns.jpg)df-tl.gif') no-repeat 0 0 !important} +.deco-frame thead td.sr{background:url('../../images/toggle_btns.jpg)df-tr.gif') no-repeat 0 0 !important} +.deco-frame .st{background:url('../../images/toggle_btns.jpg)df-t.gif') repeat-x 0 0 !important} +.deco-frame tbody td.sl{background:url('../../images/toggle_btns.jpg)df-l.gif') repeat-y 0 0 !important;vertical-align:middle !important} +.deco-frame tbody td.sr{background:url('../../images/toggle_btns.jpg)df-r.gif') repeat-y 100% 0 !important;vertical-align:middle !important} +.deco-frame tfoot td.sl{background:url('../../images/toggle_btns.jpg)df-bl.gif') no-repeat 0 0 !important} +.deco-frame tfoot td.sr{background:url('../../images/toggle_btns.jpg)df-br.gif') no-repeat 0 0 !important} +.deco-frame .sb{background:url('../../images/toggle_btns.jpg)df-b.gif') repeat-x 0 0 !important} .deco-frame .ct{padding:2px;width:100% !important} -.deco-frame em.port{background:url('../../images/df-left.gif') no-repeat;width:25px;height:114px;top:-57px;left:-15px;display:block;position:absolute} -.deco-frame em.star{background:url('../../images/df-right.gif') no-repeat;width:25px;height:114px;top:-57px;right:-15px;display:block;position:absolute} -.deco-frame em.foot{background:url('../../images/df-bot.gif') no-repeat;width:136px;height:36px;top:4px;left:-68px;display:block;position:absolute} +.deco-frame em.port{background:url('../../images/toggle_btns.jpg)df-left.gif') no-repeat;width:25px;height:114px;top:-57px;left:-15px;display:block;position:absolute} +.deco-frame em.star{background:url('../../images/toggle_btns.jpg)df-right.gif') no-repeat;width:25px;height:114px;top:-57px;right:-15px;display:block;position:absolute} +.deco-frame em.foot{background:url('../../images/toggle_btns.jpg)df-bot.gif') no-repeat;width:136px;height:36px;top:4px;left:-68px;display:block;position:absolute} /* under level 10 */ .under10{width:550px;margin:0 auto;} .under10 table{width:495px !important} .under10 .bonus-stats{margin:0px 0 10px -10px;width:459px !important} -.kids{height:352px;width:497px;background:url('../../images/kids.jpg') no-repeat;z-index:90;position:relative} +.kids{height:352px;width:497px;background:url('../../images/toggle_btns.jpg)kids.jpg') no-repeat;z-index:90;position:relative} .kids h2{position:absolute;top:119px;left:-39px;width:564px;height:131px} .kids h2 span{display:none} .kids .levelBar-wrapper{position:absolute;top:-10px;right:-101px;width:71px;height:387px} .levelBar-wrapper div{height:387px;width:23px;position:relative} -.levelBar-wrapper div a{display:block;width:21px;position:absolute;bottom:2px;left:2px;height:75%;background:url('../../images/kidbar-tile.gif') repeat-y} +.levelBar-wrapper div a{display:block;width:21px;position:absolute;bottom:2px;left:2px;height:75%;background:url('../../images/toggle_btns.jpg)kidbar-tile.gif') repeat-y} /* arena/pvp */ .arena-ranking{padding:8px 8px 5px 8px;;} -.arena-ranking h2{clear:both;height:25px;line-height:25px !important;margin:0;padding:0 0 0 6px;background:url(../../images/achievetitle-bg.jpg) #f1db91 0 0 repeat-y;color:#f2e09a;font:18px 'Trebuchet MS',Arial,Helvetica,sans-serif;text-transform:uppercase} -.arena-ranking h2 a:link,.arena-ranking h2 a:hover,.arena-ranking h2 a:visited,.arena-ranking h2 a:active{float:right;position:relative;color:#005ba1;font:11px 'Trebuchet MS',Arial,Helvetica,sans-serif;display:block;height:25px;line-height:25px;text-transform:none;background:url('../../images/more-arrow.gif') 100% 50% no-repeat;padding-right:21px} -.arena-ranking h3{margin:0 0 3px 0;padding:0 0 0px 6px;text-transform:uppercase;color:#847240;font-size:12px;background:url('../../images/achievetitle-bg.jpg') #f0da8d -250px 100% repeat-y;} +.arena-ranking h2{clear:both;height:25px;line-height:25px !important;margin:0;padding:0 0 0 6px;background:url(../../images/toggle_btns.jpg)achievetitle-bg.jpg) #f1db91 0 0 repeat-y;color:#f2e09a;font:18px 'Trebuchet MS',Arial,Helvetica,sans-serif;text-transform:uppercase} +.arena-ranking h2 a:link,.arena-ranking h2 a:hover,.arena-ranking h2 a:visited,.arena-ranking h2 a:active{float:right;position:relative;color:#005ba1;font:11px 'Trebuchet MS',Arial,Helvetica,sans-serif;display:block;height:25px;line-height:25px;text-transform:none;background:url('../../images/toggle_btns.jpg)more-arrow.gif') 100% 50% no-repeat;padding-right:21px} +.arena-ranking h3{margin:0 0 3px 0;padding:0 0 0px 6px;text-transform:uppercase;color:#847240;font-size:12px;background:url('../../images/toggle_btns.jpg)achievetitle-bg.jpg') #f0da8d -250px 100% repeat-y;} .arena-ranking h3 strong{color:#533A00} ul.badges-pvp{margin:3px 0 3px 8px;padding:0;width:100%} -ul.badges-pvp li{float:left;width:32%;margin:0 3px 3px 0;padding:0;list-style:none;position:relative;border:1px dotted #cbb166;text-align:center;background:url(../../images/achieve-pvp-bg.jpg) 50% 0 repeat;color:#443b1f} +ul.badges-pvp li{float:left;width:32%;margin:0 3px 3px 0;padding:0;list-style:none;position:relative;border:1px dotted #cbb166;text-align:center;background:url(../../images/toggle_btns.jpg)achieve-pvp-bg.jpg) 50% 0 repeat;color:#443b1f} ul.badges-pvp li h4{display:block;margin:0;padding:17px 0 0 0;font:28px Georgia,"Times New Roman",Times,serif} ul.badges-pvp li em{display:block;text-transform:uppercase;font:12px 'Trebuchet MS',Arial,Helvetica,sans-serif;letter-spacing:0px} -ul.badges-pvp li .arenacontainer{width:100%;height:160px;background:url(../../images/achieve-pvp-wreath.jpg) 50% 0 no-repeat} +ul.badges-pvp li .arenacontainer{width:100%;height:160px;background:url(../../images/toggle_btns.jpg)achieve-pvp-wreath.jpg) 50% 0 no-repeat} ul.badges-pvp li .icon{width:149px;height:82px;margin:0 0 0 -74px;padding:0;background-position:48px 11px;background-repeat:no-repeat;background-image:none;position:absolute;top:66px;left:50%} ul.badges-pvp li .icon img{width:149px;height:82px} ul.badges-pvp li .rank-num{width:60px;height:40px;margin:0 0 0 -30px;padding:0;background:none;position:absolute;top:54px;left:36%} .personalrating span {font-size:10px;} -.arena-team-faded{width:100%;height:160px;background:url(../../images/achieve-pvp-wreath.jpg) 50% 0 no-repeat} +.arena-team-faded{width:100%;height:160px;background:url(../../images/toggle_btns.jpg)achieve-pvp-wreath.jpg) 50% 0 no-repeat} .arena-team-faded h4{color:#b09c61} .arena-team-faded em{color:#b09c61} -.teamShortcut { background: url('../../images/icons/arenareports/view-team.gif') no-repeat top left; height: 21px; width: 21px; display: block; float: left; margin: 2px; text-align:center; } \ No newline at end of file +.teamShortcut { background: url('../../images/toggle_btns.jpg)icons/arenareports/view-team.gif') no-repeat top left; height: 21px; width: 21px; display: block; float: left; margin: 2px; text-align:center; } + +/* Embeded 3d Character Styles */ + +#wowCharacterEmbed .profileCenter { position:relative; top:0; left:0; } +#wowCharacterEmbed { font-family:Calibri, Arial; } +.embed_bg { height:138px; position:relative; background:no-repeat; width:321px; } +.embed_Alliance { background-image:url(../../images/embed_bg_alliance.jpg); } +.embed_Horde { background-image:url(../../images/embed_bg_horde.jpg); } +.embed_Propass { background-image:url(../../images/embed_bg_propass.jpg); } + +.embed_bg #charHeaderTxt_Light { left:15px; top:21px; } +.embed_bg .charLink {color:#FFD200; text-decoration:none; } +.embed_bg .charGuildName { top:auto; position:relative; padding-top:2px; } +.embed_bg #forumLinks { top:90px; } +.embed_bg .character_desc { font-size:13px; margin:2px 0 0 10px; color:white; } +.embed_bg .points { top:19px; background:url(../../images/embed_points_shield.jpg) right bottom no-repeat; } +.embed_bg .points a { padding-right:20px !important; } + +.embed_bg .points a:hover { text-decoration:underline; } +.embed_bg .charLink:hover { color:white } + +.embed_links { position:absolute; top:117px; background:url(../../images/embed_links_btm.jpg); width:321px; line-height:21px; } +.embed_links a { font-size:12px; color:#6e3217; text-decoration:none; padding:0 15px; } +#forumLinks a:hover, .embed_links a:hover { color:white !important; } +.embed_links .trialLink { float:right; } + +.sig .profileCenter { height:117px; width:261px; float:left } +.sig .embed_bg { float:left; } +.sig .embed_links { display:none; } + +#wowCharacterEmbed.fb { background:white; } +#wowCharacterEmbed.fb, #wowCharacterEmbed.fb .points a { font-family:"lucida grande",tahoma,verdana,arial,sans-serif; } +#wowCharacterEmbed.fb .embed_bg .points { background:none; } +#wowCharacterEmbed.fb .embed_Alliance { background-image:url(../../images/embed_bg_fb_alliance.jpg); } +#wowCharacterEmbed.fb .embed_Horde { background-image:url(../../images/embed_bg_fb_horde.jpg); } +#wowCharacterEmbed.fb .embed_Propass { background-image:url(../../images/embed_bg_fb_default.jpg); } +#wowCharacterEmbed.fb .embed_links { background:#0b1e47; } +#wowCharacterEmbed.fb .embed_links a { color:#ABCEF9; font-size:10px; } +#wowCharacterEmbed.fb .embed_Horde .embed_links { background:#2e0505; } +#wowCharacterEmbed.fb .embed_Horde .embed_links a { color:#b69c0c; } +#wowCharacterEmbed.fb .charNameHeader { font-size:23px; } +#wowCharacterEmbed.fb .charGuildName a { font-size:15px; } +#wowCharacterEmbed.fb #forumLinks a { font-size:11px; } + + +.noFlash { padding:20px; } +.noFlash a { float:right; padding:20px; } \ No newline at end of file diff --git a/_css/int.css b/_css/int.css index aaeec4261..a72c2b0d7 100644 --- a/_css/int.css +++ b/_css/int.css @@ -2,7 +2,7 @@ /* World of Warcraft Armory master layout file (c) Blizzard Entertainment 2008. All rights reserved. */ html{height:100%} body{background-color:black;font:12px/18px Arial,Helvetica,sans-serif;margin:0;padding:0;height:100%;} -a span{display:none} +/* a span{display:none} --- This element style is too broad */ a:active{outline:none} a:focus{-moz-outline-style:none} input{border:1px solid #733d02;background:white;color:black;padding:2px;margin:0;font:bold 15px/16px Arial, Helvetica, sans-serif; } @@ -38,16 +38,16 @@ a:hover{color:#b00700;text-decoration:none} .subTabs .upperLeftCorner { background: url('../images/talents/subtab-holder-left.gif') no-repeat 0 0; height: 30px; width: 6px; float: left; position: relative; top: 0px; left: -15px; } .subTabs .upperRightCorner { background: url('../images/talents/subtab-holder-right.gif') no-repeat 0 0; height: 30px; width: 6px; float: right; position: relative; top: 0px; right: 0; } .subTabs a, .subTabs a:visited { cursor: pointer; height: 23px !important; color: #5587aa; background: url('../images/talents/subtab-inactive-left.gif') 0 0 no-repeat; display: block; color: #330000; font-weight: bold; font-size: 11px; padding: 0 4px; text-decoration: none; margin: 4px 1px 0px 1px; position:relative; top: 2px; display: block; float: left; } -.subTabs a:hover { color: #FFF; } -.subTabs a span { cursor: pointer; height: 21px; background: url('../images/talents/subtab-inactive-right.gif') 100% 0 no-repeat; float: left; display: block; padding: 2px 14px 0 11px } +.subTabs a span { cursor: pointer; height: 21px; background: url('../images/talents/subtab-inactive-right.gif') 100% 0 no-repeat; float: left; display: block; padding: 2px 14px 0 11px } .subTabs a.reqLogin { background: url('../images/tab-key.gif') no-repeat 5px 3px; padding: 1px 10px 1px 30px; } .subTabs a.selected-subTab, .subTabs a.selected-subTab:visited { background: url('../images/talents/subtab-active-left.gif') 0 0 no-repeat; color: #330000; } .subTabs a.selected-subTabLocked, .subTabs a.selected-subTabLocked:visited { background: url('../images/talents/subtab-active-lock.gif') 0 0 no-repeat !important; } -.subTabs a.selected-subTab span { color: #683525; background: url('../images/talents/subtab-active-right.gif') 100% 0 no-repeat; padding: 2px 14px 0 11px; } -.subTabs a.subTabLocked { background: url('../images/talents/subtab-inactive-lock.gif') 0 0 no-repeat; color: #330000; padding: 0 4px 0 18px; } +.subTabs a.selected-subTab span { color:white; background: url('../images/talents/subtab-active-right.gif') 100% 0 no-repeat; padding: 2px 14px 0 11px; } +.subTabs a.subTabLocked { background: url('../images/talents/subtab-inactive-lock.gif') 0 0 no-repeat; padding: 0 4px 0 18px; } .subTabs a.selected-subTabLocked { background: url('../images/talents/subtab-active-lock.gif') 0 0 no-repeat; color: #330000; padding: 0 4px 0 18px; } .subTabs a:hover { background-position: 0 100%; } -.subTabs a:hover span { color: #FFF; background-position: 100% 100%; } +.subTabs a:hover span { color: #5e0000; background-position: 100% 100%; } +.subTabs a:hover.selected-subTab span { color:white } .subTabs a.subTabLocked span, .subTabs a.selected-subTabLocked span { padding: 2px 15px 0 6px; } .int .search-module input {border:3px solid #5d0601;background:white;color:black;padding:4px 4px 3px 4px;margin:0;width:180px;float:left} @@ -620,7 +620,7 @@ input#searchQuery{width:280px} .detail-search .filter-right{width:44%;float:right;background:#dbb44d;position:relative;right:30px;padding:2px 5px 5px;z-index:99991} /* search result filters */ #showHideItemFilters { display: block; width: 96%; margin: 10px auto 0; height:auto; float: none; background-image:none; border: none; } -.detail-search-results input{background:url('../images/parch-search-bg1.gif') repeat-x 0 0;border:1px solid #b29a47;height:15px;color:black;padding-left:3px;width:200px;margin:0 0 0 6px;font-size:12px} +.detail-search-results input{background:url('../images/parch-search-bg1.gif') repeat 0 0;border:1px solid #b29a47;height:15px;color:black;padding-left:3px;width:200px;margin:0 0 0 6px;font-size:12px} .detail-search-results input:hover,.detail-search-results select:hover{border:1px solid #caf500} .detail-search-results input:focus{background-image:none;background-color:white} .detail-search-results select{margin:0 0 0 6px;font-size:12px;background:#ffffac} @@ -634,7 +634,7 @@ span.shrb{position:absolute;top:-21px;left:0;background:url('../images/isr-hr2.g .detail-search-results #parentItemType .option-cont,.detail-search-results #parentSingle .option-cont{width:18%} .detail-search-results .filter-left{width:44%;float:left;position:relative;left:30px;background:#dfc36e;padding:2px 5px 5px} .detail-search-results .filter-right{width:44%;float:right;position:relative;right:30px;background:#dfc36e;padding:2px 5px 5px;z-index:99999} -.detail-search-results a.button-lite{background:url('../images/button-lite.gif') no-repeat;height:21px;width:155px;display:block;padding:4px 0 0 14px;margin:0;text-decoration:none !important;cursor:pointer} +.detail-search-results a.button-lite{background:url('../images/button-lite.gif') no-repeat;height:21px;width:180px;display:block;padding:4px 0 0 14px;margin:0;text-decoration:none !important;cursor:pointer} .usableByWhite{border:1px solid #caf500;background:white !important} img.allclasses{position:relative;top:5px} .allclasses-tooltip{width:125px;height:50px;position:absolute;left:264px;bottom:-15px} @@ -652,14 +652,14 @@ p.color1{color:purple !important} .dungeoncaveat h1{font-size:18px;line-height:26px;padding:0;margin:0} .dungeoncaveat p{padding:10px 0 0 0;line-height:16px;margin:0;font-size:11px} .item-info{margin:0 auto;position:relative;width:90%;top:-8px} -.item-bound{margin:0;width:320px;padding:15px 0 15px 89px;position:relative;} +.item-bound{margin:0;width:320px;padding:15px 0 15px 80px;position:relative;} .item-padding{padding:25px 0 0 0} .item-background {background:url('../images/item-info-bg.jpg') repeat-y 13px 0;} .item-bottom {background:url('../images/item-info-bottom.jpg') no-repeat 13px 100%;} -.item-top {padding:5px 0 0 0;background:url('../images/item-info-top.jpg') no-repeat 13px -6px;min-height:350px} +.item-top {padding:5px 0 0 0;background:url('../images/item-info-top.jpg') no-repeat 13px -6px;min-height:350px; position:relative} .item-double{z-index:9909;position:absolute;top:15px;left:90px;width:300px;display:block;} .item-double table {width:100%;} -.id{padding:10px 15px} +.id{padding:10px 15px; position:relative} .id table{width:293px !important} .item-bound .myItemName{ font-size:20px;line-height:30px;font-family: Arial, Helvetica, sans-serif; } .item-bound .myTable {font-size: 12px; line-height:20px } @@ -677,8 +677,11 @@ p.color1{color:purple !important} .alt-stats em{display:block;left:0 !important;top:0px !important;position:absolute;line-height:22px;width:155px;z-index:99;font-weight:bold;background:white !important;color:#b18100;font-style:normal;padding:0 0 0 5px;} .alt-stats p{margin:0;padding:3px 0;line-height:14px} .alt-stats p span{color:#602900;line-height:24px} +.alt-stats p span.multiLine{line-height:18px;} .alt-stats p img{position:relative;top:4px;margin-right:4px;} .alt-stats a,.alt-stats a:active,.alt-stats a:visited{position:relative;z-index:90874;} +.alt-stats a.itemToolTip{font-size:12px;text-decoration:none} +.alt-stats a.itemToolTip:hover{text-decoration:underline} .skill-bar{height:15px;background:url('../images/bar-grey.gif') repeat-x;border:1px solid black;margin-left:15px;margin-top:4px;position:relative;z-index:90875} .skill-bar b{background:url('../images/bar-mana.gif') repeat-x;position:absolute;height:15px} .skill-bar img{position:absolute !important;top:-3px !important;left:-17px} @@ -1178,7 +1181,7 @@ div.bankcontentsfiltercontainer{display: table; float: left; width: 19%; padding div.bankcontentsfilter-in{padding: 6px 8px;} select.guildbanksubtype { width: 150px; height: 18px; background-color: #ffffcc;} select.guildbankdropdown { width: 116px; background-color: #ffffcc;} -input.guildbankitemname {background:url('../images/parch-search-bg1.gif') repeat-x 0 0;border:1px solid #b29a47;height:15px;color:black; margin:0!important; font-size:12px; width:140px;} +input.guildbankitemname {background:url('../images/parch-search-bg1.gif') repeat 0 0;border:1px solid #b29a47;height:15px;color:black; margin:0!important; font-size:12px; width:140px;} select.guildbanksubtype:hover { border:1px solid #caf500;} select.guildbankdropdown:hover { border:1px solid #caf500;} input.guildbankitemname:hover {border:1px solid #caf500;} diff --git a/_css/master.css b/_css/master.css index 53229ae64..fa27b6ec3 100644 --- a/_css/master.css +++ b/_css/master.css @@ -10,8 +10,8 @@ World of Warcraft Armory master layout file /* global elements */ html{height:100%} body{background-color:black;font:12px/18px Arial,Helvetica,sans-serif;margin:0;padding:0;height:100%;} -a:active{outline:none} -a:focus{-moz-outline-style:none} +object:active, a:active{outline:none} +object:focus, a:focus{-moz-outline-style:none} input{border:1px solid #733d02;background:white;color:black;padding:2px;margin:0;font:bold 15px/16px Arial, Helvetica, sans-serif; } q{margin:0;padding:0;font:bold 11px/18px Georgia,"Times New Roman",Times,serif} q:before,q:after{content:""} @@ -496,7 +496,7 @@ b.noflash{color:#b00700} .external a:hover{color:#b00700} .relatedlinknew a, .relatedlinknew a:active, .relatedlinknew a:visited{background:url('../images/bullet.gif') no-repeat 0 -20px;color:#13a500;text-decoration:none;font:14px Arial,Helvetica,sans-serif;letter-spacing:-1px} .relatedlinknew a:hover{color:white;} -.hr{height:3px;margin-bottom:7px;border-bottom:1px solid #003255;overflow:hidden} +.hr{height:5px;margin-bottom:5px;border-bottom:1px solid #003255} .faq-links,.faq-desc{padding:10px} .faq-links ol{margin:0;padding:0 0 0 15px} .faq-links a { display:block; font-weight:normal; color:#308ca0; } @@ -804,7 +804,7 @@ th.headerSortUp .sortArw { background: url('../images/arrow-down.gif') no-repeat .inlineTxt { float: left; display: block; line-height: 20px; margin: 0 5px; height: 20px; } .filterTitle { margin: 5px 0 0 5px; background: url('../images/guildbank-arrow-light.gif') center left no-repeat; color: #a37516; letter-spacing: -1px; font-family: Georgia,"Times New Roman",Times,serif; font-size: 20px; line-height: 23px !important; height: 25px; padding: 4px 0 5px 20px; text-align: left; } .filterBox { background: transparent url(../images/filter-tabs.gif) repeat-x; border: 1px solid #C39749; height: 40px; margin: 0 6px; padding: 2px 6px 6px 6px; float: left; font-weight: bold; line-height: 22px;} -.filterInput { border: 1px solid #B29A47; color: #000; height: 15px; line-height: 15px; font-size: 12px; padding: 2px; margin: 0; float: left; background: transparent url(../images/parch-search-bg1.gif) repeat-x; font-weight: normal; } +.filterInput { border: 1px solid #B29A47; color: #000; height: 15px; line-height: 15px; font-size: 12px; padding: 2px; margin: 0; float: left; background: transparent url(../images/parch-search-bg1.gif) repeat 0 0; font-weight: normal; } #filterButtonHolder { display: block; margin: 10px 3px 3px 0px; height: 22px; } #resetFilterButton, #resetFilterButton:visited { margin: 0 0 0 10px; line-height: 23px; font-size: 13px !important; color: #005BA1; float: left; font-family:Arial, Helvetica, sans-serif;} #runFilterButton { padding: 0 9px 0 0; margin: 0 0 0 5px; background: url('../images/button-blue-right.gif') no-repeat top right; color: #FFCC00; line-height:23px; display: block; text-decoration: none; height: 23px; float: left; font-size: 13px !important; font-family:Arial, Helvetica, sans-serif; } @@ -814,7 +814,7 @@ th.headerSortUp .sortArw { background: url('../images/arrow-down.gif') no-repeat a.smFrame, a.smFrame:visited {line-height: 23px !important; background: url('../images/smallframe-right.png') no-repeat top right; height: 23px; float: left; padding: 0 22px 0 0; text-decoration: none; display: block; } .smFrame div { background: url('../images/smallframe-left.png') no-repeat top left; height: 23px; float: left; display: block; color: #FFD200; padding: 0 35px 0 22px; margin: 0 0 0 22px; line-height: 18px !important; cursor:pointer; } -.smFrame img { border: none; margin: -1px 0 0 -30px; float: left; } +.smFrame img { border: none; margin: -1px 0 0 -27px; float: left; } a.smFrame:hover { background-position: bottom right; } a.smFrame:hover div { background-position: bottom left; } @@ -825,4 +825,4 @@ a.awesomeButton, a.awesomeButton { cursor:pointer; float: right; text-decoration a.awesomeButton span { text-align:left; background: url('../images/button-right.gif') 100% 0 no-repeat; float: left; display: block; padding: 2px 10px 0 3px; height: 21px; font-weight:bold } a.awesomeButton div { background: 100% -2px no-repeat; padding: 0px 29px 0 10px; height: 21px } a.awesomeButton:hover { background-position: 0 100% } -a.awesomeButton:hover span, a.awesomeButton:hover div { background-position: 100% 100% } \ No newline at end of file +a.awesomeButton:hover span, a.awesomeButton:hover div { background-position: 100% 100% } diff --git a/_js/_lang/ru_ru/character-sheet.js b/_js/_lang/ru_ru/character-sheet.js index 6890c1cb8..76e5efd5a 100644 --- a/_js/_lang/ru_ru/character-sheet.js +++ b/_js/_lang/ru_ru/character-sheet.js @@ -110,7 +110,7 @@ var rangedWeaponSkillDisplay = "Навык владения оружием: "; var rangedDamageTitle = "Дальний бой"; var rangedDamageSpeed = ""+ theCharacter.ranged.damage.speed +"Скорость атаки (с):"; var rangedDamageDamage = ""+ theCharacter.ranged.damage.min +" - "+ theCharacter.ranged.damage.max; -var rangedDamageDamagePercent = " x "+ theCharacter.ranged.damage.percent +""; +var rangedDamageDamagePercent = " x "+ theCharacter.ranged.damage.percent +"%"; var rangedDamageDisplay = "Урон: "; var rangedDamageDps = ""+ theCharacter.ranged.damage.dps +"УВС: "; @@ -188,9 +188,7 @@ var defensesParryPercent = "Увеличивает вероятность пар var defensesParryDisplay ="Парирование: "; var defensesBlockTitle = "Рейтинг блока "; -//TODO: block % -//var defensesBlockPercent = "Увеличивает вероятность блокировать удар на "+ theCharacter.defenses.block.increasePercent +"%" + "" + beforeDiminishingReturns; -var defensesBlockPercent = "Увеличивает вероятность блокировать "+ theCharacter.defenses.block.increasePercent +" ед. удара" + "" + beforeDiminishingReturns; +var defensesBlockPercent = "Увеличивает вероятность блокировать удар на "+ theCharacter.defenses.block.increasePercent +"%" + "" + beforeDiminishingReturns; var defensesBlockDisplay = "Блок: "; var defensesResilienceTitle = "Устойчивость "; diff --git a/_js/armory.js b/_js/armory.js index 3dbcd7720..b2b34427b 100644 --- a/_js/armory.js +++ b/_js/armory.js @@ -4,7 +4,6 @@ * !!! Requires jQuery !!! * !!! Requires Sarissa !!! *****************************************************/ - //GLOBAL VARS var searchTimerId = null; //timer id for search menu hiding var IS_ENABLED_XSLT = $.browser.mozilla; //is xslt enabled @@ -122,9 +121,40 @@ function setcookie(name,value,expire){ document.cookie = cookiestring; } +//Gets all cookies based on type ie armory.cookie3dFoo and armory.cookie3dBar and returns them as an object ie modelCookies[foo] = bar +function getArmoryCookies(type) +{ var modelCookies = {} + var armory_cookies = document.cookie.toString().split(";") + for(xi=0;xi -1) + { var tempck = armory_cookies[xi].split("="); + modelCookies[tempck[0].split("cookie3d")[1].toLowerCase()] = tempck[1]; + } + } + return modelCookies +} - - +if(!init3dvars) var init3dvars = null +function demo3dCharacter(file,charName,attr) +{ + var logolink = modelserver + "/models/images/logo/armory-logo-"+lang+".png" + var params = { menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor:"#E3C96A", wmode:"opaque" }; + var attributes = { id:"ModelViewer3" }; + var flashvars = { character: charName, modelUrl:encodeURIComponent(file)+"?"+Math.floor(Math.random()*99991), fileServer: modelserver+"/models/", + embedlink:encodeURIComponent(String(window.location)), strings:stringslink, logoImg:logolink, + loadingtxt:loadingText, embedded:true + }; + if(getcookie2){ var modelCookies = getArmoryCookies("3d"); + for(xi in modelCookies) { flashvars[xi] = modelCookies[xi] } + } + if(init3dvars) { for (var i in init3dvars){ flashvars[i] = init3dvars[i]; } + if(init3dvars.bgColor){ params.bgcolor = "#"+init3dvars.bgColor.slice(2) } + } + if(attr){ for (var i in attr){ flashvars[i] = attr[i]; } } + swfobject.embedSWF(modelserver+"/models/flash/ModelViewer3.swf", "ModelViewer3", "100%", "100%", "9.0.0", modelserver+"/models/flash/expressInstall.swf", flashvars, params, attributes); + $(document).ready(function () { if(!bindMouseActions) loadScript("/_js/character/charactermodel.js"); bindMouseActions() }); +} + //flash detection @@ -388,12 +418,13 @@ function setCharSheetUpgradeMenu() $(".upgradeBox").hover( function(){ - //mouseover actions - $(this).parent().next().css("display","block"); + //mouseover actions + if(tipsEnabled != false) + $(this).parent().siblings(".fly-horz").css("display","block"); }, function(){ //mouseout actions - $(this).parent().next().css("display","none"); + $(this).parent().siblings(".fly-horz").css("display","none"); }); } @@ -502,7 +533,8 @@ var xsltProcessor = null; var dualTipsEnabled = false; var isOnCharSheet = false; var toolVault = []; - +var tipsEnabled = true; +var tipsEnabledFacebook = false; //set the (left,top) / (x,y) position of the tooltip function setToolTipPosition(tooltipObj,e) @@ -523,8 +555,8 @@ function getXYCoords(tooltipObj,e) var useMousePosition = false; //find current x,y position - var xPos = $(tooltipObj).offset().left; - var yPos = $(tooltipObj).offset().top; + var xPos = (tipsEnabledFacebook) ? e.pageX : $(tooltipObj).offset().left; + var yPos = (tipsEnabledFacebook) ? e.pageY : $(tooltipObj).offset().top; //if the position comes back as (0,0) use the mouse position instead //(also adjust for scrolling!) @@ -572,10 +604,14 @@ function getXYCoords(tooltipObj,e) //if tooltip is going to cause horizontal scrolling, //put it to the left of the link instead - if((itemWidth + xPos + tooltipWidth + 5) > $(window).width()){ - xPos = xPos - tooltipWidth - 5; - }else{ - xPos = xPos + itemWidth + 5; + if(!tipsEnabledFacebook) { + if((itemWidth + xPos + tooltipWidth + 5) > $(window).width()){ + xPos = xPos - tooltipWidth - 5; + }else{ + xPos = xPos + itemWidth + 5; + } + } else { + xPos = xPos + 15; } } @@ -598,7 +634,7 @@ function getXYCoords(tooltipObj,e) //sets the html of thetooltip (div) function setTipText(tipStr) -{ +{ //store scoped reference var tooltipTxt = $("#globalToolTip_text"); @@ -650,7 +686,7 @@ function getItemHtml(itemUrl) //get the stylesheet var xslDoc = Sarissa.getDomDocument(); xslDoc.async = false; - xslDoc.load("/layout/items/tooltip.xsl"); + xslDoc.load("/_layout/items/tooltip.xsl"); xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xslDoc); @@ -693,7 +729,7 @@ function getItemHtml(itemUrl) //gets the "pretty" html for an item tooltip via ajax -function getTipHTML(itemID, itemWithTip, mouseEvent, slotNum) +function getTipHTML(itemID, itemWithTip, mouseEvent) { //load XSL stylesheet if we haven't yet if(!($.browser.opera) && !($.browser.safari)){ @@ -702,7 +738,7 @@ function getTipHTML(itemID, itemWithTip, mouseEvent, slotNum) //get the stylesheet var xslDoc = Sarissa.getDomDocument(); xslDoc.async = false; - xslDoc.load("/layout/items/tooltip.xsl"); + xslDoc.load("/_layout/items/tooltip.xsl"); xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xslDoc); @@ -718,12 +754,7 @@ function getTipHTML(itemID, itemWithTip, mouseEvent, slotNum) setTipText(tLoading+"..."); setToolTipPosition(itemWithTip,mouseEvent); - var urlstr = ""; - - if(slotNum) - urlstr = "item-tooltip.php?i="+itemID; - else - urlstr = "item-tooltip.php?i="+itemID; + var urlstr = "/item-tooltip.xml?i="+itemID; $.ajax({ type: "GET", @@ -770,21 +801,23 @@ function bindToolTips() dualTipsEnabled = true; //see if we're on character sheet - if(location.href.indexOf("character-sheet.php") != -1) + if(location.href.indexOf("character-sheet.xml") != -1) isOnCharSheet = true; //store reference to the tooltip - theGlobalToolTip = $("#globalToolTip"); + theGlobalToolTip = $("#globalToolTip"); //bind mouseover function for objects with class='tooltip' $(".staticTip").mouseover(function (e){ - + + if(tipsEnabled == false) return //need ajax call for tooltip text for items if($(this).hasClass("itemToolTip")) { //only show an "ajax" tooltip if the item we moused over has an ID if(this.id != "") { + //set current item id to prevent async mixups (and clean the id) currItemID = cleanID(this.id); @@ -842,27 +875,27 @@ function getEmptySlotToolTip(slotid, classId) case "0": slottext = textHead; break; case "1": slottext = textNeck; break; case "2": slottext = textShoulders; break; - case "3": slottext = textShirt; break; + case "3": slottext = textBack; break; case "4": slottext = textChest; break; - case "5": slottext = textWaist; break; - case "6": slottext = textLegs; break; - case "7": slottext = textFeet; break; - case "8": slottext = textWrists; break; - case "9": slottext = textHands; break; - case "10": - case "11": slottext = textFinger; break; + case "5": slottext = textShirt; break; + case "6": slottext = textTabard; break; + case "7": slottext = textWrists; break; + case "8": slottext = textHands; break; + case "9": slottext = textWaist; break; + case "10": slottext = textLegs; break; + case "11": slottext = textFeet; break; case "12": - case "13": slottext = textTrinket; break; - case "14": slottext = textBack; break; - case "15": slottext = textMainHand; break; - case "16": slottext = textOffHand; break; - case "17": + case "13": slottext = textFinger; break; + case "14": + case "15": slottext = textTrinket; break; + case "16": slottext = textMainHand; break; + case "17": slottext = textOffHand; break; + case "18": if((classId == 6) || (classId == 11) || (classId == 2) || (classId == 7)) slottext = textRelic; else slottext = textRanged; break; - case "18": slottext = textTabard; break; } return slottext; @@ -882,6 +915,8 @@ var asyncType = (!($.browser.msie) && !($.browser.mozilla)) ? false : true; //bookmarks a character function ajaxBookmarkChar(){ + + $(theGlobalToolTip).hide(); //change "bookmark this character" img if(asyncType == true){ $("#profileRight")[0].innerHTML = ""; @@ -937,7 +972,7 @@ function bindBookmarkMenu(sFromUrl, oTargetElement){ //means we're on this page, so change the green check to "add bookmark" if(charUrl == removeBookmarkLink){ - document.getElementById("profileRight").innerHTML = ""+bookmarkThisChar+""; + document.getElementById("profileRight").innerHTML = ""; } }catch(e){ } @@ -984,6 +1019,11 @@ function setBookmarkPersistTimers() $("#menuHolder").hide() }); + //we need to specify the same mousing over for the index page, since "parchemnt-top" doesn't exist there + $(".parch-front").mouseover(function(){ + $("#menuHolder").hide() + }); + //get page vals var currPage = $("#bm-currPage").html()*1; var totalPages = $("#bm-totalPages").html()*1; @@ -1062,4 +1102,4 @@ function sprintf(str) { str = str.replace('{' + (i - 1) + '}', arguments[i]); } return str; -} +} \ No newline at end of file diff --git a/_js/character/character-select.js b/_js/character/character-select.js new file mode 100644 index 000000000..143d5315f --- /dev/null +++ b/_js/character/character-select.js @@ -0,0 +1,114 @@ +var charsSelected = 0; + +//intializes the character select page +function initializeCharacterSelect(numChars){ + + $("#searchTable > ul").tabs(); //bind tabs + + charsSelected = numChars*1; //make sure its a number + + //set dual tooltip checkbox + if (getcookie2("armory.cookieDualTooltip") == 1){ + $("#checkboxDualTooltip").attr("checked","checked"); + } + + //bind sort table + $(".charSelectTabDiv table").tablesorter(); + + //bind tooltips for the sword/crown icons + setCharacterToolTips(); + + $(".selSecondaryChar").click(function(){ + $(".selChar").each(function(){ + $(this).addClass("charToAdd"); + }); + $(this).addClass("newPrimaryChar"); + + updateCharIcons(getCollectedCharUrls()); + }); + + $(".delChar").click(function(){ + $(this).prev().removeClass("selChar"); + + updateCharIcons(getCollectedCharUrls()); + }); + + //adding from the bottom + /*$(".add_on").click(function(){ + var currUrl = $(this).next().attr("href"); + + //secondary are set to 2 or 3 + currUrl = currUrl.substring(currUrl.indexOf(".xml?")+5); + currUrl = currUrl.replace("r=","&r"+(charsSelected+1)+"="); + currUrl = currUrl.replace("n=","n"+(charsSelected+1)+"="); + + updateCharIcons(getCollectedCharUrls() + currUrl); + });*/ +} + +//get the urls of the primary and secondary chars +function getCollectedCharUrls(){ + var collectedCharUrls = ""; + var secondaryCtr = 2; //start at 2 since primary is 1 + + $(".selChar").each(function(){ + //happens when a secondary char is getting promoted + if($(this).hasClass("charToAdd")){ + var currUrl = $(this).attr("id"); + + if($(this).hasClass("newPrimaryChar")){ + currUrl = currUrl.replace("r=","r1="); + currUrl = currUrl.replace("n=","n1="); + collectedCharUrls = currUrl + collectedCharUrls; + }else{ + currUrl = currUrl.replace("r=","&r"+secondaryCtr+"="); + currUrl = currUrl.replace("n=","n"+secondaryCtr+"="); + collectedCharUrls += currUrl; + secondaryCtr++; + } + }else{ + //happens when char gets added from grid + var currUrl = $(this).attr("id"); + + if($(this).hasClass("selPrimaryChar")){ + currUrl = currUrl.replace("r=","r1="); + currUrl = currUrl.replace("n=","n1="); + collectedCharUrls = currUrl + collectedCharUrls; + }else if($(this).hasClass("selSecondaryChar")){ + currUrl = currUrl.replace("r=","&r"+secondaryCtr+"="); + currUrl = currUrl.replace("n=","n"+secondaryCtr+"="); + collectedCharUrls += currUrl; + secondaryCtr++; + } + } + }); + + //encode url for special chars + return collectedCharUrls; +} + +//send ajax request to update characters and reload page +function updateCharIcons(charUrls){ + /* + $.ajax({ + type: "GET", + url: 'character-select-submit.xml?' + charUrls, + async: false, + dataType: "text", + success: function(msg){ + window.location.reload(); //refresh page + }, + error: function(msg){ + window.location.reload(); //refresh page + } + });*/ +} + + +//boolean for displaying dual tooltips or not +function setDualTooltipCookie() { + if (document.getElementById('checkboxDualTooltip').checked) + setcookie("armory.cookieDualTooltip", 1); + else + setcookie("armory.cookieDualTooltip", 0); +} diff --git a/_js/character/charactermodel.js b/_js/character/charactermodel.js new file mode 100644 index 000000000..720851ac1 --- /dev/null +++ b/_js/character/charactermodel.js @@ -0,0 +1,149 @@ +// Character Model Specific JS calls + + +function set_3d_quality(type) +{ + setcookie("armory.cookie3dQuality", type); +} + +function set_3d_cookie(name,type) +{ + setcookie("armory.cookie3d"+name, type); +} + +/* Model Viewer Functions */ +var mouseActionsInit +function bindMouseActions(){ + $("#center_target").bind("DOMMouseScroll",wheel) + document.getElementById("center_target").onmousewheel = wheel; + RightClick.init("ModelViewer3","center_target"); + $("#center_target").bind("mousedown",function(e){ tipsEnabled = false }); + if(!mouseActionsInit){ + $(document).bind("mouseup",function(e){ tipsEnabled = true; + if(e.button == 0){ try{document.getElementById("ModelViewer3").leftClickRelease(); } catch(err){} } + if(e.button == 2){ try{document.getElementById("ModelViewer3").rightClickRelease();} catch(err){} } }); + $(window).unload( function(){ try{ document.getElementById("ModelViewer3").stopall(); } catch(err){} }); + $(window).bind("blur",function(e){ try{ document.getElementById("ModelViewer3").sleep(); } catch(err){} }); + $(window).bind("focus",function(e){ try{ document.getElementById("ModelViewer3").wakeUp(); } catch(err){} }); + mouseActionsInit = true; + } +} + +function handle(delta) { try{document.getElementById("ModelViewer3").js_mousewheel(delta);} + catch(err){ } + } + +function cancelEvent(e) +{ + e = e ? e : window.event; + if(e.stopPropagation) + e.stopPropagation(); + if(e.preventDefault) + e.preventDefault(); + e.cancelBubble = true; + e.cancel = true; + e.returnValue = false; + return false; +} + + +function wheel(event){ + var delta = 0; + if (!event) /* For IE. */ + event = window.event; + if (event.wheelDelta) { /* IE/Opera. */ + delta = event.wheelDelta/120; + if (window.opera) + delta = -delta; + } else if (event.detail) { /** Mozilla case. */ + delta = -event.detail/3; + } + if (delta) handle(delta); + if (event.preventDefault) event.preventDefault(); + cancelEvent(event); +} + +/* +*** Copyright 2007 ** Paulius Uza * http://www.uza.lt ** Dan Florio * http://www.polygeek.com ** Project website: * http://code.google.com/p/custom-context-menu/ ** -- * RightClick for Flash Player. * Version 0.6.2 * +*/ + +var RightClick = { + /* Constructor */ + init: function (objId, contId) { + this.FlashObjectID = objId + this.FlashContainerID = contId + this.Cache = this.FlashObjectID; + if(window.addEventListener){ + window.addEventListener("mousedown", this.onGeckoMouse(), true); + } else { + document.getElementById(this.FlashContainerID).onmouseup = function() { document.getElementById(RightClick.FlashContainerID).releaseCapture(); } + document.oncontextmenu = function(){ if(window.event.srcElement.id == RightClick.FlashObjectID) { return false; } else { RightClick.Cache = "nan"; }} + document.getElementById(this.FlashContainerID).onmousedown = RightClick.onIEMouse; + } + }, + /* GECKO / WEBKIT event overkill * @param {Object} eventObject */ + killEvents: function(eventObject) { + if(eventObject) { + if (eventObject.stopPropagation) eventObject.stopPropagation(); + if (eventObject.preventDefault) eventObject.preventDefault(); + if (eventObject.preventCapture) eventObject.preventCapture(); + if (eventObject.preventBubble) eventObject.preventBubble(); + } + }, + /* GECKO / WEBKIT call right click * @param {Object} ev */ + onGeckoMouse: function(ev) { + return function(ev) { + if (ev.button != 0) { + RightClick.killEvents(ev); + if(ev.target.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) { + RightClick.call(); + } + RightClick.Cache = ev.target.id; + } + } + }, + /* IE call right click * @param {Object} ev */ + onIEMouse: function() { + if (event.button> 1) { + if(window.event.srcElement.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) { + setTimeout(function(){document.getElementById(RightClick.FlashContainerID).releaseCapture();},1); RightClick.call(); + } + document.getElementById(RightClick.FlashContainerID).setCapture(); + if(window.event.srcElement.id) + RightClick.Cache = window.event.srcElement.id; + } + }, + /* Main call to Flash External Interface */ + call: function() { if(Browser.opera) return; + try{document.getElementById(this.FlashObjectID).rightClick();} + catch(err){} + } +} + + +var ajaxinit; +function pose_save(somedata){ +// {r:theRealmName,n:theCharName,rot:180,z:20,a:69,timer:5} + $('#pose_saving').show(); + var postData = somedata; + if(!postData.cn) postData["cn"] = theCharName; + if(!postData.r) postData["r"] = theRealmName + jQuery.post("/vault/character-pose.html", somedata, pose_callback) + //debugtxt = ''; for(x in somedata) { if(x!='n'&&x!='r') debugtxt += x+"=""+somedata[x]+"" " } $('#debugtxt').html(debugtxt); + if(!ajaxinit) { bind_ajax_error(); ajaxinit = true } +} + +function pose_callback(data, textStatus) +{ + if(textStatus == "success") + { + $('#pose_saving').hide(); + $('#pose_save_ok').fadeIn("fast",function(){$(this).animate({opacity:1},3000,"linear",function(){$(this).fadeOut(3000)}) }) + } + else $("#pose_saving").html(textStatus) +} + +function bind_ajax_error() +{ + $("#pose_saving").ajaxError( function(event, request, settings){ $(this).html(""+str_loginExpired+""); }); +} \ No newline at end of file diff --git a/_js/character/functions.js b/_js/character/functions.js index 19a513ff4..530389ee6 100644 --- a/_js/character/functions.js +++ b/_js/character/functions.js @@ -57,32 +57,36 @@ function isApplicable(theValue) { var hasChanged = false; //var to detect if change stats has fired yet function changeStats(whichSide, whichStats, theKey, theDisplay){ - document.getElementById("dropdownHidden"+ whichSide).style.display = "none"; +// document.getElementById("dropdownHidden"+ whichSide).style.display = "none"; document.getElementById("display"+ whichSide).innerHTML = theDisplay; document.getElementById("replaceStats"+ whichSide).innerHTML = whichStats; - if (whichSide == "Left") { - document.getElementById('checkLeftBaseStats').style.visibility = "hidden"; - document.getElementById('checkLeftMelee').style.visibility = "hidden"; - document.getElementById('checkLeftRanged').style.visibility = "hidden"; - document.getElementById('checkLeftSpell').style.visibility = "hidden"; - document.getElementById('checkLeftDefenses').style.visibility = "hidden"; - } else { - document.getElementById('checkRightBaseStats').style.visibility = "hidden"; - document.getElementById('checkRightMelee').style.visibility = "hidden"; - document.getElementById('checkRightRanged').style.visibility = "hidden"; - document.getElementById('checkRightSpell').style.visibility = "hidden"; - document.getElementById('checkRightDefenses').style.visibility = "hidden"; - } - document.getElementById("check"+whichSide+theKey).style.visibility = "visible"; - - if(hasChanged == false) hasChanged = true; else bindToolTips(); } - + +stats_pages = ["Melee", "Ranged", "Spell", "Defenses"] + +function page_stats(dir) +{ current_page += dir; current_page=(current_page>=stats_pages.length)?0:(current_page<0)?stats_pages.length-1:current_page; + var cpg = stats_pages[current_page]; + changeStats('Right', eval("replaceString"+cpg), cpg, eval(cpg.substring(0,1).toLowerCase()+cpg.substring(1)+"Display")) +} + +function toggle_gear(type) +{ + $("#gear-profile").attr("class",type); + setcookie("armory.cookieGearMode", type); +} + +function enchanttip(name,desc,spelltxt) +{ + return ""+name+" ("+spelltxt+")"+desc.replace("****","") +} + + function getBaseStatsTitleAppend(base, diff) { var returnArray = new Array; @@ -352,4 +356,12 @@ function resistShadowObject(theResist, thePetBonus) { */ } -jsLoaded=true; \ No newline at end of file +function TTcharacterIcons(raceId,genderId,classId,raceTxt,classTxt) +{ + var tiptext = '<img src="../images/icons/race/'+raceId+'-'+genderId+'.gif" align="absmiddle" /> '+raceTxt+'<br/><img src="../images/icons/class/'+classId+'.gif" align="absmiddle"/> '+classTxt; + +return tiptext + +} + +jsLoaded=true; diff --git a/_js/character/textObjects.js b/_js/character/textObjects.js index be1f49a15..90c1bb955 100644 --- a/_js/character/textObjects.js +++ b/_js/character/textObjects.js @@ -26,12 +26,14 @@ function calcTalentSpecs(){ + /* replaced with node attribute 'icon' if (highest > 0) document.getElementById('talentSpecImage').src = "images/icons/class/"+ theClassId +"/talents/"+ highest +".gif"; else if (highest == 0) document.getElementById('talentSpecImage').src = "images/icons/class/talents/hybrid.gif"; else document.getElementById('talentSpecImage').src = "images/icons/class/talents/untalented.gif"; + */ highest = -1; @@ -62,6 +64,7 @@ function calcTalentSpecs(){ else talentSpecText = textUntalented; + /* replaced with node attribute 'icon' if(document.getElementById("talentSpecImage2")){ //document.getElementById('replaceTalentSpecText2').innerHTML = talentSpecText; if (highest > 0) @@ -71,6 +74,7 @@ function calcTalentSpecs(){ else document.getElementById('talentSpecImage2').src = "images/icons/class/talents/untalented.gif"; } + */ }catch(e){} } @@ -710,13 +714,14 @@ replaceStringDefenses += ""; document.getElementById('replaceStatsLeft').innerHTML = replaceStringBaseStats; +var current_page if (theClassId == 1 || theClassId == 4 || theClassId == 2 || theClassId == 6) - changeStats('Right', replaceStringMelee, 'Melee', meleeDisplay); + { changeStats('Right', replaceStringMelee, 'Melee', meleeDisplay); current_page = 1; } else if (theClassId == 3) - changeStats('Right', replaceStringRanged, 'Ranged', rangedDisplay); + { changeStats('Right', replaceStringRanged, 'Ranged', rangedDisplay); current_page = 2; } else - changeStats('Right', replaceStringSpell, 'Spell', spellDisplay); + { changeStats('Right', replaceStringSpell, 'Spell', spellDisplay); current_page = 1; } /*if (theCharacter.resistances.arcane.diff) document.getElementById('spanResistArcane').className = "mod"; @@ -730,4 +735,4 @@ else document.getElementById('spanResistShadow').className = "mod"; */ -jsLoaded=true; +jsLoaded=true; \ No newline at end of file diff --git a/_js/common.js b/_js/common.js index 281b423ee..98a47e130 100644 --- a/_js/common.js +++ b/_js/common.js @@ -8,8 +8,7 @@ Browser = { opera : !!window.opera, safari : Browser.a.indexOf('safari') != -1, safari3 : Browser.a.indexOf('applewebkit/5') != -1, - mac : Browser.a.indexOf('mac') != -1, - iphone : Browser.a.indexOf('iphone') != -1 + mac : Browser.a.indexOf('mac') != -1 } function $blizz(e) { if(typeof e == 'string') @@ -321,3 +320,41 @@ function frst_valid(frm,fld) { if(fld.value =='') { fld.style.borderColor='#e00900'; } else { frm.submit(); } } + + +//The ARMORY_QUERY object provides Query String parameters to JS +var armory_query = new Object(); +if(location.href.indexOf("?") > 0) +{ + try{ var qs = location.href.split("?")[1].split("&"); + for(i=0; i')); + + //bind toggler + $("#guildInfoToggler").click(function(){ + $(guildInfoCont).toggle(); + + if($(guildInfoCont).css("display") == "block") + $(this).html(txtHideGuildInfo) + else + $(this).html(txtShowGuildInfo) + }); + + //store elements + bankFilters = { + itemName: $("#filItemName"), + itemQuality: $("#filRarity"), + itemType: $("#filItemType"), + tab: $("#filTab") + } + + var searchTimer; //for timeout + $(bankFilters.itemName).keyup(function() { + if(searchTimer != null){ clearTimeout(searchTimer); } + searchTimer = setTimeout("runBankContentFilters()", 100); + }); +} + +function toggleBankTab(clickedLink, whichTab, tabText, tabIcon){ + + $("#tabContentHolder .oneBankTab").css("display","none"); + $("#banktabs img").css("display","none"); + + $("#bankHighlight" + whichTab).css("display","block"); + + $("#banktab" + whichTab).css("display","block"); + $("#whichTabDisplay")[0].innerHTML = tabText; + + $("#whichTabDisplay").attr("style","background: url('/wow-icons/_images/43x43/"+tabIcon+".png') no-repeat;"); +} + +function runBankContentFilters(){ + + filVals = { + itemName: $.trim($(bankFilters.itemName)[0].value).toLowerCase(), + itemQuality: $(bankFilters.itemQuality)[0].value, + itemType: $(bankFilters.itemType)[0].value, + tab: $(bankFilters.tab)[0].value + } + + var newRows = []; + + if( (filVals.itemName == "") && (filVals.itemQuality == "-1") && (filVals.itemType == "-1") && (filVals.tab == "-1") ){ + newRows = unfilteredTableRows; + }else{ + $(unfilteredTableRows).each(function(i){ + + var currRow = $(this).children(); + var numAdd = 0; + + //item + if(filVals.itemName != ""){ + var currItem = $(currRow[0]).children()[0].innerHTML.toLowerCase(); + if(currItem.indexOf(filVals.itemName) != -1) numAdd++; + }else{ numAdd++ } + + //quality + if(filVals.itemQuality != "-1"){ + if($(currRow[2]).children()[0].innerHTML == filVals.itemQuality) numAdd++; + }else{ numAdd++ } + + //item type + if(filVals.itemType != "-1"){ + if(currRow[1].innerHTML == filVals.itemType) numAdd++; + }else{ numAdd++ } + + //tab + if(filVals.tab != "-1"){ + if($(currRow[3]).children()[0].innerHTML == filVals.tab) numAdd++; + }else{ numAdd++ } + + + if(numAdd == 4){ + newRows.push($(this)); + } + }); + + } + + //wrap in try/catch to prevent weird errors + try{ + var tempTbody = $("#bankContentsTable tbody")[0]; + tempTbody.innerHTML = ""; + }catch(e){ } + + for(var p=0; p < newRows.length; p++){ + tempTbody.appendChild(newRows[p][0]); + } + + //show no search results message + if(newRows.length == 0){ + var oneRow = document.createElement("tr"); + var oneCell = document.createElement("td"); + + oneCell.innerHTML = noSearchResults; + oneCell.setAttribute("colspan","7"); + oneRow.appendChild(oneCell); + + tempTbody.appendChild(oneRow); + + newRows = [$(oneRow)]; + } + + $("#bankContentsTable").trigger("update"); + $.tablesorterPager.appender(unfilteredTable,newRows,tempTbody); + + bindToolTips(); + +} + + +//reset the values +function resetBankContentsFilters(){ + + $(bankFilters.itemName)[0].value = ""; + $(bankFilters.itemQuality)[0].value = "-1"; + $(bankFilters.itemType)[0].value = "-1"; + $(bankFilters.tab)[0].value = "-1"; + + runBankContentFilters(); +} \ No newline at end of file diff --git a/_js/login/common.js b/_js/login/common.js new file mode 100644 index 000000000..0aa3296b8 --- /dev/null +++ b/_js/login/common.js @@ -0,0 +1,455 @@ +var Browser = { + a : navigator.userAgent.toLowerCase() +} +Browser = { + ie : /*@cc_on true || @*/ false, + ie6 : Browser.a.indexOf('msie 6') != -1, + ie7 : Browser.a.indexOf('msie 7') != -1, + opera : !!window.opera, + safari : Browser.a.indexOf('safari') != -1, + safari3 : Browser.a.indexOf('applewebkit/5') != -1, + mac : Browser.a.indexOf('mac') != -1 +} +function $(e) { + if(typeof e == 'string') + return document.getElementById(e); + return e; +} +String.prototype.trim = function() { + return this.replace(/^\s+|\s+$/g, ''); +} +// Do not prototype Object or Array if using for-in loops +function indexOf(array, elt /*, from*/) { + // SpiderMonkey imlementation + var len = array.length; + + var from = Number(arguments[2]) || 0; + from = (from < 0) ? Math.ceil(from) : Math.floor(from); + if(from < 0) + from += len; + + for(; from < len; from++) + if(from in array && array[from] === elt) + return from; + + return -1; +} +function createElement(name, attrs, doc, xmlns) { + var doc = doc || document; + var elm; + if(doc.createElementNS) + elm = doc.createElementNS(xmlns || "http://www.w3.org/1999/xhtml", name); + else + elm = doc.createElement(name); + if(attrs) + for(attr in attrs) + elm.setAttribute(attr, attrs[attr]); + return elm; +} +function createElementStr(name, attrs) { + return new NodeStr(name, attrs); +} +function setDisplay(e, display) { + $(e).style.display = display; +} +function hide(e) { + setDisplay(e, 'none'); +} +function show(e) { + setDisplay(e, ''); +} +function visible(e) { + return $(e).style.display != 'none'; +} +function toggle(e) { + (visible(e) ? hide : show)(e); +} +function visibleInverse(e) { + return $(e).style.display != ''; +} +function toggleInverse(e, display) { + setDisplay(e, visibleInverse(e) ? '' : display); +} +function getChildElementsByTagName(e, tagName) { + var nodes = []; + for(var i = 0; i < e.childNodes.length; i++) + if(e.childNodes[i].nodeName.toLowerCase() == tagName) + nodes.push(e.childNodes[i]); + return nodes; +} +function getElementsByClassName(className, element, tagName) { + var regexp = new RegExp('(^|\\s)' + className + '(\\s|$)'); + var tagName = tagName || '*'; + var element = element || document; + var elements = (tagName == '*' && element.all) ? element.all : element.getElementsByTagName(tagName); + var found = []; + for(var i = 0, elm; elm = elements[i]; i++) + if(regexp.test(elm.className)) + found.push(elm); + return found; +} +function hasClassName(e, className) { + return (new RegExp('(^|\\s)' + className + '(\\s|$)').test($(e).className)); +} +function addClassName(e, className) { + var e = $(e); + if(!hasClassName(e, className)) + e.className += (e.className ? ' ' : '') + className; +} +function removeClassName(e, className) { + var e = $(e); + e.className = e.className.replace(new RegExp('(^|\\s+)' + className + '(\\s+|$)'), ' ').trim(); +} +function removeChildren(e) { + while(e.firstChild) + e.removeChild(e.firstChild); +} +function bind(method, scope, args) { + if(!args) + args = []; + return function() { + return method.apply(scope, args); + } +} +function addEvent(obj, evType, fn) { + if(obj.addEventListener) { + obj.addEventListener(evType, fn, false); + return true; + } else if(obj.attachEvent || Browser.ie) + return obj.attachEvent('on' + evType, fn); + return false; +} +function removeEvent(obj, evType, fn) { + if(obj.removeEventListener) { + obj.removeEventListener(evType, fn, false); + return true; + } else if(obj.detatchEvent || Browser.ie) + return obj.detachEvent('on' + evType, fn); + return false; +} +function setBgPos(e, y, x) { + $(e).style.backgroundPosition = y ? (x ? x + ' ' + y : '0 ' + y) : '0 0'; +} +function hasScrolledToBottom(target) { + return target.scrollTop >= (target.scrollHeight - target.offsetHeight); +} + +function loadScript(src, id) { + var head = document.getElementsByTagName('head')[0]; + var script = createElement('script', {'type': 'text/javascript', 'src': src} ); + if(id) { + var old = document.getElementById(id); + if(old) + old.parentNode.removeChild(old); + script.id = id; + } + head.appendChild(script); +} + +function addStylesheet(href, media) { + document.getElementsByTagName("head")[0].appendChild(createElement('link', { + 'rel': 'stylesheet', + 'type': 'text/css', + 'media': media || 'screen, projection', + 'href': href + })); +} + +// used for DOM-like creation of object elements in IE +var NodeStr = function(name, attrs) { + this.name = name; + if(attrs) + this.attrs = attrs; + else + this.attrs = {}; + this.childNodes = []; +} +NodeStr.prototype = { + appendChild : function(node) { + this.childNodes.push(node); + return node; + }, + setAttribute : function(name, value) { + this.attrs[name] = value; + }, + toString : function() { + var str = '<' + this.name; + if(this.attrs) + for(attr in this.attrs) + str += ' ' + attr + '="' + this.attrs[attr] + '"'; + str += '>'; + for(child in this.childNodes) + str += this.childNodes[child]; + + return str + '' + this.name + '>'; + } +} + +function selectLanguage(lang) { + window.location = HTTP.setURLParams({'locale':lang}); +} + +var HTTP = { + URL_SPACE_REGEXP : /%20/g, + getURLParams : function(url) { + var map = {}; + if(url) { + var queryStart = url.indexOf('?'); + var hashStart = url.indexOf('#'); + if(queryStart != -1) { + if(hashStart != -1) + url = url.substring(queryStart + 1, hashStart); + else + url = url.substr(queryStart + 1); + } else + return map; + } else + url = window.location.search.substr(1); + var entries = url.split('&'); + for(var i = 0; i < entries.length; i++) { + var entry = entries[i].split('=', 2); + if(!map[entry[0]]) + map[entry[0]] = []; + map[entry[0]].push(entry.length == 2 ? decodeURIComponent(entry[1]) : null); + } + return map; + }, + setURLParams : function(params, url) { + var hash = ''; + var path; + if(url) { + var queryStart = url.indexOf('?'); + var hashStart = url.indexOf('#'); + if(queryStart != -1) + path = url.substring(0, queryStart); + else if(hashStart != -1) + path = url.substring(0, hashStart); + else + path = url; + if(hashStart != -1) + hash = url.substr(hashStart); + } else { + url = false; + path = window.location.pathname; + hash = window.location.hash; + } + var curParams = HTTP.getURLParams(url); + for(paramName in params) + if(params[paramName] instanceof Array) + curParams[paramName] = params[paramName]; + else + curParams[paramName] = [params[paramName]]; + return path + HTTP._createQueryString(curParams) + hash; + }, + encodeForm : function(form, post) { + var pairs = []; + var inputs = form.getElementsByTagName('input'); + var textareas = form.getElementsByTagName('textarea'); + var selects = form.getElementsByTagName('select'); + + for(var i = 0, input; input = inputs[i]; i++) + if(!input.disabled && input.name && ((input.type != 'radio' && input.type != 'checkbox') || input.checked)) + pairs.push(HTTP._formUrlEncode(input.name, post) + '=' + HTTP._formUrlEncode(input.value, post)); + + for(var i = 0, input; input = textareas[i]; i++) + if(!input.disabled && input.name) + pairs.push(HTTP._formUrlEncode(input.name, post) + '=' + HTTP._formUrlEncode(input.value, post)); + + for(var i = 0, input; input = selects[i]; i++) + if(!input.disabled && input.name) + for(var j = 0, option; option = input.options[j]; j++) + if(option.selected) + pairs.push(HTTP._formUrlEncode(input.name, post) + '=' + HTTP._formUrlEncode(option.value, post)); + + return pairs.join('&'); + }, + _createQueryString : function(map) { + var search = ''; + for(field in map) + if(!Object.prototype[field]) { + var array = map[field]; + for(var i = 0; i < array.length; i++) { + if(search != '') + search += '&'; + search += field; + if(array[i] != null) + search += '=' + array[i]; + } + } + if(search != '') + search = '?' + search; + return search; + }, + _formUrlEncode : function(val, post) { + if(post) + return encodeURIComponent(val).replace(HTTP.URL_SPACE_REGEXP, '+'); + return encodeURIComponent(val); + } + } + + +var Form = { + getForm : function(node) { + while(node.nodeName.toLowerCase() != 'form') + node = node.parentNode; + return node; + }, + /* Allows an anchor tag or other element to act as a form submission button. Emulates correct + * implementation of the DOM Level 2 method HTMLFormElement::submit. All supported browers + * implement the submit method consistently incorrect, so duplicate calls to the onsubmit event + * listener is not a concern at this time. + * + * If the parent form has an onsubmit event handler, the handler must return a value that will + * resolve to true when the form submission should take place. + */ + submit : function(node) { + var form = Form.getForm(node); + if(!form.onsubmit || form.onsubmit()) { + /* Under SSL with server-side HTML generation, submit() will fail when called in + * an onclick event handler on anchor tags in IE 6. + */ + if(Browser.ie6) { + window.setTimeout(function() { + form.submit(); + }, 50); + } else + form.submit(); + } + }, + getFields : function(element) { + var fields = []; + var fieldSets = [ + element.getElementsByTagName('input'), + element.getElementsByTagName('textarea'), + element.getElementsByTagName('select') + ]; + + for(var i = 0, fieldSet; fieldSet = fieldSets[i]; i++) + for(var j = 0, field; field = fieldSet[j]; j++) + fields.push(field); + + return fields; + }, + showFields : function(e) { + var fields = Form.getFields(e); + for(field in fields) + fields[field].disabled = false; + show(e); + }, + hideFields : function(e) { + var fields = Form.getFields(e); + hide(e); + for(field in fields) + fields[field].disabled = true; + } +} + +var CustomSelect = { + toggleSelect : function(select, optionContainer, visibleClass, hiddenClass, inverse) { + var optionContainer = $(optionContainer); + if(inverse ? visibleInverse(optionContainer) : visible(optionContainer)) + CustomSelect._hideSelect(select, optionContainer, hiddenClass, inverse); + else + CustomSelect._showSelect(select, optionContainer, visibleClass, inverse); + }, + hideSelectDelayed : function(index, select, optionContainer, className, inverse, delay) { + var funcRef = function() { + CustomSelect._hideSelect(select, optionContainer, className, inverse); + } + Timers.set('select' + index, funcRef, delay || 50); + }, + onblur : function(index, select, optionContainer, className, inverse) { + if(Browser.opera) // Opera handles focus/blur events differently than other browsers + return; + CustomSelect.hideSelectDelayed(index, select, optionContainer, className, inverse); + }, + cancelHideSelect : function(index) { + Timers.clear('select' + index); + }, + cancelHideSelectDelayed : function(index) { + window.setTimeout(function() { + CustomSelect.cancelHideSelect(index) + }, 10); + }, + _showSelect : function(select, optionContainer, className, inverse) { + var optionContainer = $(optionContainer); + $(select).className = className; + inverse ? setDisplay(optionContainer, 'block') : show(optionContainer); + }, + _hideSelect : function(select, optionContainer, className, inverse) { + var optionContainer = $(optionContainer); + $(select).className = className; + inverse ? setDisplay(optionContainer, '') : hide(optionContainer); + } +} +var Timers = { + set: function(id, code, timeout, allowMultiple) { + if(Timers[id] != null && !allowMultiple) + Timers.clear(id); + Timers[id] = window.setTimeout(code, timeout); + }, + clear: function(id) { + window.clearTimeout(Timers[id]); + Timers[id] = null; + } +}; + + +var login = { + disableButton: function(linkClass, parentForm) { + $j("a." + linkClass, parentForm).addClass("submitDisabled").removeAttr("onclick").html("" + processingStr + ""); + }, + scrollAccept : + { + scroll : function(node, checkboxID) + { + var checkbox = document.getElementById(checkboxID); + + //if scrolled to bottom, show/enable checkbox + if(node.scrollTop >= (node.scrollHeight - node.offsetHeight)){ + $j(checkbox).removeAttr("disabled","false").css("visibility","visible").parent().addClass("enabled"); + } + }, + accept : function(checkbox) + { + $j(checkbox).parent().bind('mousedown', function() { return false } ) + + if(checkbox.checked) + { + $j(checkbox).parent().addClass("accepted"); + + if(login.scrollAccept.validateCheckboxes(checkbox)){ + $j("a.submit").removeClass("submitDisabled"); + $j("a.submit").click(function(){ + Form.submit(checkbox); + }); + } + } + //otherwise disable submit button + else + { + $j(checkbox).parent().removeClass("accepted").addClass("enabled"); + $j("a.submit").addClass("submitDisabled"); + $j("a.submit").unbind("click"); + } + + return false; + }, + validateCheckboxes : function(node) + { + //check all checkboxes within form + var form = Form.getForm(node); + + var allChecked = true; + + $j(".scrollContainer input.legalCheckbox",form).each(function(){ + if(!this.checked){ + allChecked = false; + return false; + } + }); + + return allChecked; + } + } +} \ No newline at end of file diff --git a/_js/login/jquery.js b/_js/login/jquery.js new file mode 100644 index 000000000..6854f4740 --- /dev/null +++ b/_js/login/jquery.js @@ -0,0 +1,16 @@ +/* + * jQuery 1.2.6 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $ + * $Rev: 5685 $ + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(H(){J w=1b.4M,3m$=1b.$;J D=1b.4M=1b.$=H(a,b){I 2B D.17.5j(a,b)};J u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/,62=/^.[^:#\\[\\.]*$/,12;D.17=D.44={5j:H(d,b){d=d||S;G(d.16){7[0]=d;7.K=1;I 7}G(1j d=="23"){J c=u.2D(d);G(c&&(c[1]||!b)){G(c[1])d=D.4h([c[1]],b);N{J a=S.61(c[3]);G(a){G(a.2v!=c[3])I D().2q(d);I D(a)}d=[]}}N I D(b).2q(d)}N G(D.1D(d))I D(S)[D.17.27?"27":"43"](d);I 7.6Y(D.2d(d))},5w:"1.2.6",8G:H(){I 7.K},K:0,3p:H(a){I a==12?D.2d(7):7[a]},2I:H(b){J a=D(b);a.5n=7;I a},6Y:H(a){7.K=0;2p.44.1p.1w(7,a);I 7},P:H(a,b){I D.P(7,a,b)},5i:H(b){J a=-1;I D.2L(b&&b.5w?b[0]:b,7)},1K:H(c,a,b){J d=c;G(c.1q==56)G(a===12)I 7[0]&&D[b||"1K"](7[0],c);N{d={};d[c]=a}I 7.P(H(i){R(c 1n d)D.1K(b?7.V:7,c,D.1i(7,d[c],b,i,c))})},1g:H(b,a){G((b==\'2h\'||b==\'1Z\')&&3d(a)<0)a=12;I 7.1K(b,a,"2a")},1r:H(b){G(1j b!="49"&&b!=U)I 7.4E().3v((7[0]&&7[0].2z||S).5F(b));J a="";D.P(b||7,H(){D.P(7.3t,H(){G(7.16!=8)a+=7.16!=1?7.76:D.17.1r([7])})});I a},5z:H(b){G(7[0])D(b,7[0].2z).5y().39(7[0]).2l(H(){J a=7;1B(a.1x)a=a.1x;I a}).3v(7);I 7},8Y:H(a){I 7.P(H(){D(7).6Q().5z(a)})},8R:H(a){I 7.P(H(){D(7).5z(a)})},3v:H(){I 7.3W(19,M,Q,H(a){G(7.16==1)7.3U(a)})},6F:H(){I 7.3W(19,M,M,H(a){G(7.16==1)7.39(a,7.1x)})},6E:H(){I 7.3W(19,Q,Q,H(a){7.1d.39(a,7)})},5q:H(){I 7.3W(19,Q,M,H(a){7.1d.39(a,7.2H)})},3l:H(){I 7.5n||D([])},2q:H(b){J c=D.2l(7,H(a){I D.2q(b,a)});I 7.2I(/[^+>] [^+>]/.11(b)||b.1h("..")>-1?D.4r(c):c)},5y:H(e){J f=7.2l(H(){G(D.14.1f&&!D.4n(7)){J a=7.6o(M),5h=S.3h("1v");5h.3U(a);I D.4h([5h.4H])[0]}N I 7.6o(M)});J d=f.2q("*").5c().P(H(){G(7[E]!=12)7[E]=U});G(e===M)7.2q("*").5c().P(H(i){G(7.16==3)I;J c=D.L(7,"3w");R(J a 1n c)R(J b 1n c[a])D.W.1e(d[i],a,c[a][b],c[a][b].L)});I f},1E:H(b){I 7.2I(D.1D(b)&&D.3C(7,H(a,i){I b.1k(a,i)})||D.3g(b,7))},4Y:H(b){G(b.1q==56)G(62.11(b))I 7.2I(D.3g(b,7,M));N b=D.3g(b,7);J a=b.K&&b[b.K-1]!==12&&!b.16;I 7.1E(H(){I a?D.2L(7,b)<0:7!=b})},1e:H(a){I 7.2I(D.4r(D.2R(7.3p(),1j a==\'23\'?D(a):D.2d(a))))},3F:H(a){I!!a&&D.3g(a,7).K>0},7T:H(a){I 7.3F("."+a)},6e:H(b){G(b==12){G(7.K){J c=7[0];G(D.Y(c,"2A")){J e=c.64,63=[],15=c.15,2V=c.O=="2A-2V";G(e<0)I U;R(J i=2V?e:0,2f=2V?e+1:15.K;i<2f;i++){J d=15[i];G(d.2W){b=D.14.1f&&!d.at.2x.an?d.1r:d.2x;G(2V)I b;63.1p(b)}}I 63}N I(7[0].2x||"").1o(/\\r/g,"")}I 12}G(b.1q==4L)b+=\'\';I 7.P(H(){G(7.16!=1)I;G(b.1q==2p&&/5O|5L/.11(7.O))7.4J=(D.2L(7.2x,b)>=0||D.2L(7.34,b)>=0);N G(D.Y(7,"2A")){J a=D.2d(b);D("9R",7).P(H(){7.2W=(D.2L(7.2x,a)>=0||D.2L(7.1r,a)>=0)});G(!a.K)7.64=-1}N 7.2x=b})},2K:H(a){I a==12?(7[0]?7[0].4H:U):7.4E().3v(a)},7b:H(a){I 7.5q(a).21()},79:H(i){I 7.3s(i,i+1)},3s:H(){I 7.2I(2p.44.3s.1w(7,19))},2l:H(b){I 7.2I(D.2l(7,H(a,i){I b.1k(a,i,a)}))},5c:H(){I 7.1e(7.5n)},L:H(d,b){J a=d.1R(".");a[1]=a[1]?"."+a[1]:"";G(b===12){J c=7.5C("9z"+a[1]+"!",[a[0]]);G(c===12&&7.K)c=D.L(7[0],d);I c===12&&a[1]?7.L(a[0]):c}N I 7.1P("9u"+a[1]+"!",[a[0],b]).P(H(){D.L(7,d,b)})},3b:H(a){I 7.P(H(){D.3b(7,a)})},3W:H(g,f,h,d){J e=7.K>1,3x;I 7.P(H(){G(!3x){3x=D.4h(g,7.2z);G(h)3x.9o()}J b=7;G(f&&D.Y(7,"1T")&&D.Y(3x[0],"4F"))b=7.3H("22")[0]||7.3U(7.2z.3h("22"));J c=D([]);D.P(3x,H(){J a=e?D(7).5y(M)[0]:7;G(D.Y(a,"1m"))c=c.1e(a);N{G(a.16==1)c=c.1e(D("1m",a).21());d.1k(b,a)}});c.P(6T)})}};D.17.5j.44=D.17;H 6T(i,a){G(a.4d)D.3Y({1a:a.4d,31:Q,1O:"1m"});N D.5u(a.1r||a.6O||a.4H||"");G(a.1d)a.1d.37(a)}H 1z(){I+2B 8J}D.1l=D.17.1l=H(){J b=19[0]||{},i=1,K=19.K,4x=Q,15;G(b.1q==8I){4x=b;b=19[1]||{};i=2}G(1j b!="49"&&1j b!="H")b={};G(K==i){b=7;--i}R(;i-1}},6q:H(b,c,a){J e={};R(J d 1n c){e[d]=b.V[d];b.V[d]=c[d]}a.1k(b);R(J d 1n c)b.V[d]=e[d]},1g:H(d,e,c){G(e=="2h"||e=="1Z"){J b,3X={30:"5x",5g:"1G",18:"3I"},35=e=="2h"?["5e","6k"]:["5G","6i"];H 5b(){b=e=="2h"?d.8f:d.8c;J a=0,2C=0;D.P(35,H(){a+=3d(D.2a(d,"57"+7,M))||0;2C+=3d(D.2a(d,"2C"+7+"4b",M))||0});b-=29.83(a+2C)}G(D(d).3F(":4j"))5b();N D.6q(d,3X,5b);I 29.2f(0,b)}I D.2a(d,e,c)},2a:H(f,l,k){J e,V=f.V;H 3E(b){G(!D.14.2k)I Q;J a=3P.54(b,U);I!a||a.52("3E")==""}G(l=="1y"&&D.14.1f){e=D.1K(V,"1y");I e==""?"1":e}G(D.14.2G&&l=="18"){J d=V.50;V.50="0 7Y 7W";V.50=d}G(l.1I(/4i/i))l=y;G(!k&&V&&V[l])e=V[l];N G(3P.54){G(l.1I(/4i/i))l="4i";l=l.1o(/([A-Z])/g,"-$1").3y();J c=3P.54(f,U);G(c&&!3E(f))e=c.52(l);N{J g=[],2E=[],a=f,i=0;R(;a&&3E(a);a=a.1d)2E.6h(a);R(;i<2E.K;i++)G(3E(2E[i])){g[i]=2E[i].V.18;2E[i].V.18="3I"}e=l=="18"&&g[2E.K-1]!=U?"2F":(c&&c.52(l))||"";R(i=0;i]*?)\\/>/g,H(b,a,c){I c.1I(/^(aK|4f|7E|aG|4T|7A|aB|3n|az|ay|av)$/i)?b:a+">"+c+">"});J f=D.3k(d).3y(),1v=h.3h("1v");J e=!f.1h("","2A>"]||!f.1h("","7v>"]||f.1I(/^<(aq|22|am|ak|ai)/)&&[1,"<1T>","1T>"]||!f.1h("<4F")&&[2,"<1T><22>","22>1T>"]||(!f.1h("<22><4F>","4F>22>1T>"]||!f.1h("<7E")&&[2,"<1T><22>22><7q>","7q>1T>"]||D.14.1f&&[1,"1v<1v>","1v>"]||[0,"",""];1v.4H=e[1]+d+e[2];1B(e[0]--)1v=1v.5T;G(D.14.1f){J g=!f.1h("<1T")&&f.1h("<22")<0?1v.1x&&1v.1x.3t:e[1]=="<1T>"&&f.1h("<22")<0?1v.3t:[];R(J j=g.K-1;j>=0;--j)G(D.Y(g[j],"22")&&!g[j].3t.K)g[j].1d.37(g[j]);G(/^\\s/.11(d))1v.39(h.5F(d.1I(/^\\s*/)[0]),1v.1x)}d=D.2d(1v.3t)}G(d.K===0&&(!D.Y(d,"3V")&&!D.Y(d,"2A")))I;G(d[0]==12||D.Y(d,"3V")||d.15)k.1p(d);N k=D.2R(k,d)});I k},1K:H(d,f,c){G(!d||d.16==3||d.16==8)I 12;J e=!D.4n(d),40=c!==12,1f=D.14.1f;f=e&&D.3X[f]||f;G(d.2j){J g=/5Q|4d|V/.11(f);G(f=="2W"&&D.14.2k)d.1d.64;G(f 1n d&&e&&!g){G(40){G(f=="O"&&D.Y(d,"4T")&&d.1d)7p"O a3 a1\'t 9V 9U";d[f]=c}G(D.Y(d,"3V")&&d.7i(f))I d.7i(f).76;I d[f]}G(1f&&e&&f=="V")I D.1K(d.V,"9T",c);G(40)d.9Q(f,""+c);J h=1f&&e&&g?d.4G(f,2):d.4G(f);I h===U?12:h}G(1f&&f=="1y"){G(40){d.6B=1;d.1E=(d.1E||"").1o(/7f\\([^)]*\\)/,"")+(3r(c)+\'\'=="9L"?"":"7f(1y="+c*7a+")")}I d.1E&&d.1E.1h("1y=")>=0?(3d(d.1E.1I(/1y=([^)]*)/)[1])/7a)+\'\':""}f=f.1o(/-([a-z])/9H,H(a,b){I b.2r()});G(40)d[f]=c;I d[f]},3k:H(a){I(a||"").1o(/^\\s+|\\s+$/g,"")},2d:H(b){J a=[];G(b!=U){J i=b.K;G(i==U||b.1R||b.4I||b.1k)a[0]=b;N 1B(i)a[--i]=b[i]}I a},2L:H(b,a){R(J i=0,K=a.K;i*",7).21();1B(7.1x)7.37(7.1x)}},H(a,b){D.17[a]=H(){I 7.P(b,19)}});D.P(["6N","4b"],H(i,c){J b=c.3y();D.17[b]=H(a){I 7[0]==1b?D.14.2G&&S.1c["5t"+c]||D.14.2k&&1b["5s"+c]||S.70=="6Z"&&S.1C["5t"+c]||S.1c["5t"+c]:7[0]==S?29.2f(29.2f(S.1c["4y"+c],S.1C["4y"+c]),29.2f(S.1c["2i"+c],S.1C["2i"+c])):a==12?(7.K?D.1g(7[0],b):U):7.1g(b,a.1q==56?a:a+"2X")}});H 25(a,b){I a[0]&&3r(D.2a(a[0],b,M),10)||0}J C=D.14.2k&&3r(D.14.5B)<8H?"(?:[\\\\w*3m-]|\\\\\\\\.)":"(?:[\\\\w\\8F-\\8E*3m-]|\\\\\\\\.)",6L=2B 4v("^>\\\\s*("+C+"+)"),6J=2B 4v("^("+C+"+)(#)("+C+"+)"),6I=2B 4v("^([#.]?)("+C+"*)");D.1l({6H:{"":H(a,i,m){I m[2]=="*"||D.Y(a,m[2])},"#":H(a,i,m){I a.4G("2v")==m[2]},":":{8D:H(a,i,m){I im[3]-0},3a:H(a,i,m){I m[3]-0==i},79:H(a,i,m){I m[3]-0==i},3o:H(a,i){I i==0},3S:H(a,i,m,r){I i==r.K-1},6D:H(a,i){I i%2==0},6C:H(a,i){I i%2},"3o-4u":H(a){I a.1d.3H("*")[0]==a},"3S-4u":H(a){I D.3a(a.1d.5T,1,"4l")==a},"8z-4u":H(a){I!D.3a(a.1d.5T,2,"4l")},6W:H(a){I a.1x},4E:H(a){I!a.1x},8y:H(a,i,m){I(a.6O||a.8x||D(a).1r()||"").1h(m[3])>=0},4j:H(a){I"1G"!=a.O&&D.1g(a,"18")!="2F"&&D.1g(a,"5g")!="1G"},1G:H(a){I"1G"==a.O||D.1g(a,"18")=="2F"||D.1g(a,"5g")=="1G"},8w:H(a){I!a.3R},3R:H(a){I a.3R},4J:H(a){I a.4J},2W:H(a){I a.2W||D.1K(a,"2W")},1r:H(a){I"1r"==a.O},5O:H(a){I"5O"==a.O},5L:H(a){I"5L"==a.O},5p:H(a){I"5p"==a.O},3Q:H(a){I"3Q"==a.O},5o:H(a){I"5o"==a.O},6A:H(a){I"6A"==a.O},6z:H(a){I"6z"==a.O},2s:H(a){I"2s"==a.O||D.Y(a,"2s")},4T:H(a){I/4T|2A|6y|2s/i.11(a.Y)},3T:H(a,i,m){I D.2q(m[3],a).K},8t:H(a){I/h\\d/i.11(a.Y)},8s:H(a){I D.3C(D.3O,H(b){I a==b.T}).K}}},6x:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,2B 4v("^([:.#]*)("+C+"+)")],3g:H(a,c,b){J d,1t=[];1B(a&&a!=d){d=a;J f=D.1E(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1t=b?c=f.r:D.2R(1t,f.r)}I 1t},2q:H(t,o){G(1j t!="23")I[t];G(o&&o.16!=1&&o.16!=9)I[];o=o||S;J d=[o],2o=[],3S,Y;1B(t&&3S!=t){J r=[];3S=t;t=D.3k(t);J l=Q,3j=6L,m=3j.2D(t);G(m){Y=m[1].2r();R(J i=0;d[i];i++)R(J c=d[i].1x;c;c=c.2H)G(c.16==1&&(Y=="*"||c.Y.2r()==Y))r.1p(c);d=r;t=t.1o(3j,"");G(t.1h(" ")==0)6M;l=M}N{3j=/^([>+~])\\s*(\\w*)/i;G((m=3j.2D(t))!=U){r=[];J k={};Y=m[2].2r();m=m[1];R(J j=0,3i=d.K;j<3i;j++){J n=m=="~"||m=="+"?d[j].2H:d[j].1x;R(;n;n=n.2H)G(n.16==1){J g=D.L(n);G(m=="~"&&k[g])1X;G(!Y||n.Y.2r()==Y){G(m=="~")k[g]=M;r.1p(n)}G(m=="+")1X}}d=r;t=D.3k(t.1o(3j,""));l=M}}G(t&&!l){G(!t.1h(",")){G(o==d[0])d.4s();2o=D.2R(2o,d);r=d=[o];t=" "+t.6v(1,t.K)}N{J h=6J;J m=h.2D(t);G(m){m=[0,m[2],m[3],m[1]]}N{h=6I;m=h.2D(t)}m[2]=m[2].1o(/\\\\/g,"");J f=d[d.K-1];G(m[1]=="#"&&f&&f.61&&!D.4n(f)){J p=f.61(m[2]);G((D.14.1f||D.14.2G)&&p&&1j p.2v=="23"&&p.2v!=m[2])p=D(\'[@2v="\'+m[2]+\'"]\',f)[0];d=r=p&&(!m[3]||D.Y(p,m[3]))?[p]:[]}N{R(J i=0;d[i];i++){J a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];G(a=="*"&&d[i].Y.3y()=="49")a="3n";r=D.2R(r,d[i].3H(a))}G(m[1]==".")r=D.5m(r,m[2]);G(m[1]=="#"){J e=[];R(J i=0;r[i];i++)G(r[i].4G("2v")==m[2]){e=[r[i]];1X}r=e}d=r}t=t.1o(h,"")}}G(t){J b=D.1E(t,r);d=r=b.r;t=D.3k(b.t)}}G(t)d=[];G(d&&o==d[0])d.4s();2o=D.2R(2o,d);I 2o},5m:H(r,m,a){m=" "+m+" ";J c=[];R(J i=0;r[i];i++){J b=(" "+r[i].1F+" ").1h(m)>=0;G(!a&&b||a&&!b)c.1p(r[i])}I c},1E:H(t,r,h){J d;1B(t&&t!=d){d=t;J p=D.6x,m;R(J i=0;p[i];i++){m=p[i].2D(t);G(m){t=t.8r(m[0].K);m[2]=m[2].1o(/\\\\/g,"");1X}}G(!m)1X;G(m[1]==":"&&m[2]=="4Y")r=62.11(m[3])?D.1E(m[3],r,M).r:D(r).4Y(m[3]);N G(m[1]==".")r=D.5m(r,m[2],h);N G(m[1]=="["){J g=[],O=m[3];R(J i=0,3i=r.K;i<3i;i++){J a=r[i],z=a[D.3X[m[2]]||m[2]];G(z==U||/5Q|4d|2W/.11(m[2]))z=D.1K(a,m[2])||\'\';G((O==""&&!!z||O=="="&&z==m[5]||O=="!="&&z!=m[5]||O=="^="&&z&&!z.1h(m[5])||O=="$="&&z.6v(z.K-m[5].K)==m[5]||(O=="*="||O=="~=")&&z.1h(m[5])>=0)^h)g.1p(a)}r=g}N G(m[1]==":"&&m[2]=="3a-4u"){J e={},g=[],11=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2D(m[3]=="6D"&&"2n"||m[3]=="6C"&&"2n+1"||!/\\D/.11(m[3])&&"8q+"+m[3]||m[3]),3o=(11[1]+(11[2]||1))-0,d=11[3]-0;R(J i=0,3i=r.K;i<3i;i++){J j=r[i],1d=j.1d,2v=D.L(1d);G(!e[2v]){J c=1;R(J n=1d.1x;n;n=n.2H)G(n.16==1)n.4q=c++;e[2v]=M}J b=Q;G(3o==0){G(j.4q==d)b=M}N G((j.4q-d)%3o==0&&(j.4q-d)/3o>=0)b=M;G(b^h)g.1p(j)}r=g}N{J f=D.6H[m[1]];G(1j f=="49")f=f[m[2]];G(1j f=="23")f=6u("Q||H(a,i){I "+f+";}");r=D.3C(r,H(a,i){I f(a,i,m,r)},h)}}I{r:r,t:t}},4S:H(b,c){J a=[],1t=b[c];1B(1t&&1t!=S){G(1t.16==1)a.1p(1t);1t=1t[c]}I a},3a:H(a,e,c,b){e=e||1;J d=0;R(;a;a=a[c])G(a.16==1&&++d==e)1X;I a},5v:H(n,a){J r=[];R(;n;n=n.2H){G(n.16==1&&n!=a)r.1p(n)}I r}});D.W={1e:H(f,i,g,e){G(f.16==3||f.16==8)I;G(D.14.1f&&f.4I)f=1b;G(!g.24)g.24=7.24++;G(e!=12){J h=g;g=7.3M(h,H(){I h.1w(7,19)});g.L=e}J j=D.L(f,"3w")||D.L(f,"3w",{}),1H=D.L(f,"1H")||D.L(f,"1H",H(){G(1j D!="12"&&!D.W.5k)I D.W.1H.1w(19.3L.T,19)});1H.T=f;D.P(i.1R(/\\s+/),H(c,b){J a=b.1R(".");b=a[0];g.O=a[1];J d=j[b];G(!d){d=j[b]={};G(!D.W.2t[b]||D.W.2t[b].4p.1k(f)===Q){G(f.3K)f.3K(b,1H,Q);N G(f.6t)f.6t("4o"+b,1H)}}d[g.24]=g;D.W.26[b]=M});f=U},24:1,26:{},21:H(e,h,f){G(e.16==3||e.16==8)I;J i=D.L(e,"3w"),1L,5i;G(i){G(h==12||(1j h=="23"&&h.8p(0)=="."))R(J g 1n i)7.21(e,g+(h||""));N{G(h.O){f=h.2y;h=h.O}D.P(h.1R(/\\s+/),H(b,a){J c=a.1R(".");a=c[0];G(i[a]){G(f)2U i[a][f.24];N R(f 1n i[a])G(!c[1]||i[a][f].O==c[1])2U i[a][f];R(1L 1n i[a])1X;G(!1L){G(!D.W.2t[a]||D.W.2t[a].4A.1k(e)===Q){G(e.6p)e.6p(a,D.L(e,"1H"),Q);N G(e.6n)e.6n("4o"+a,D.L(e,"1H"))}1L=U;2U i[a]}}})}R(1L 1n i)1X;G(!1L){J d=D.L(e,"1H");G(d)d.T=U;D.3b(e,"3w");D.3b(e,"1H")}}},1P:H(h,c,f,g,i){c=D.2d(c);G(h.1h("!")>=0){h=h.3s(0,-1);J a=M}G(!f){G(7.26[h])D("*").1e([1b,S]).1P(h,c)}N{G(f.16==3||f.16==8)I 12;J b,1L,17=D.1D(f[h]||U),W=!c[0]||!c[0].32;G(W){c.6h({O:h,2J:f,32:H(){},3J:H(){},4C:1z()});c[0][E]=M}c[0].O=h;G(a)c[0].6m=M;J d=D.L(f,"1H");G(d)b=d.1w(f,c);G((!17||(D.Y(f,\'a\')&&h=="4V"))&&f["4o"+h]&&f["4o"+h].1w(f,c)===Q)b=Q;G(W)c.4s();G(i&&D.1D(i)){1L=i.1w(f,b==U?c:c.7d(b));G(1L!==12)b=1L}G(17&&g!==Q&&b!==Q&&!(D.Y(f,\'a\')&&h=="4V")){7.5k=M;1U{f[h]()}1V(e){}}7.5k=Q}I b},1H:H(b){J a,1L,38,5f,4m;b=19[0]=D.W.6l(b||1b.W);38=b.O.1R(".");b.O=38[0];38=38[1];5f=!38&&!b.6m;4m=(D.L(7,"3w")||{})[b.O];R(J j 1n 4m){J c=4m[j];G(5f||c.O==38){b.2y=c;b.L=c.L;1L=c.1w(7,19);G(a!==Q)a=1L;G(1L===Q){b.32();b.3J()}}}I a},6l:H(b){G(b[E]==M)I b;J d=b;b={8o:d};J c="8n 8m 8l 8k 2s 8j 47 5d 6j 5E 8i L 8h 8g 4K 2y 5a 59 8e 8b 58 6f 8a 88 4k 87 86 84 6d 2J 4C 6c O 82 81 35".1R(" ");R(J i=c.K;i;i--)b[c[i]]=d[c[i]];b[E]=M;b.32=H(){G(d.32)d.32();d.80=Q};b.3J=H(){G(d.3J)d.3J();d.7Z=M};b.4C=b.4C||1z();G(!b.2J)b.2J=b.6d||S;G(b.2J.16==3)b.2J=b.2J.1d;G(!b.4k&&b.4K)b.4k=b.4K==b.2J?b.6c:b.4K;G(b.58==U&&b.5d!=U){J a=S.1C,1c=S.1c;b.58=b.5d+(a&&a.2e||1c&&1c.2e||0)-(a.6b||0);b.6f=b.6j+(a&&a.2c||1c&&1c.2c||0)-(a.6a||0)}G(!b.35&&((b.47||b.47===0)?b.47:b.5a))b.35=b.47||b.5a;G(!b.59&&b.5E)b.59=b.5E;G(!b.35&&b.2s)b.35=(b.2s&1?1:(b.2s&2?3:(b.2s&4?2:0)));I b},3M:H(a,b){b.24=a.24=a.24||b.24||7.24++;I b},2t:{27:{4p:H(){55();I},4A:H(){I}},3D:{4p:H(){G(D.14.1f)I Q;D(7).2O("53",D.W.2t.3D.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("53",D.W.2t.3D.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3D";I D.W.1H.1w(7,19)}},3N:{4p:H(){G(D.14.1f)I Q;D(7).2O("51",D.W.2t.3N.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("51",D.W.2t.3N.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3N";I D.W.1H.1w(7,19)}}}};D.17.1l({2O:H(c,a,b){I c=="4X"?7.2V(c,a,b):7.P(H(){D.W.1e(7,c,b||a,b&&a)})},2V:H(d,b,c){J e=D.W.3M(c||b,H(a){D(7).4e(a,e);I(c||b).1w(7,19)});I 7.P(H(){D.W.1e(7,d,e,c&&b)})},4e:H(a,b){I 7.P(H(){D.W.21(7,a,b)})},1P:H(c,a,b){I 7.P(H(){D.W.1P(c,a,7,M,b)})},5C:H(c,a,b){I 7[0]&&D.W.1P(c,a,7[0],Q,b)},2m:H(b){J c=19,i=1;1B(i=0){J i=g.3s(e,g.K);g=g.3s(0,e)}c=c||H(){};J f="2P";G(d)G(D.1D(d)){c=d;d=U}N{d=D.3n(d);f="6g"}J h=7;D.3Y({1a:g,O:f,1O:"2K",L:d,1J:H(a,b){G(b=="1W"||b=="7J")h.2K(i?D("<1v/>").3v(a.4U.1o(/<1m(.|\\s)*?\\/1m>/g,"")).2q(i):a.4U);h.P(c,[a.4U,b,a])}});I 7},aL:H(){I D.3n(7.7I())},7I:H(){I 7.2l(H(){I D.Y(7,"3V")?D.2d(7.aH):7}).1E(H(){I 7.34&&!7.3R&&(7.4J||/2A|6y/i.11(7.Y)||/1r|1G|3Q/i.11(7.O))}).2l(H(i,c){J b=D(7).6e();I b==U?U:b.1q==2p?D.2l(b,H(a,i){I{34:c.34,2x:a}}):{34:c.34,2x:b}}).3p()}});D.P("7H,7G,7F,7D,7C,7B".1R(","),H(i,o){D.17[o]=H(f){I 7.2O(o,f)}});J B=1z();D.1l({3p:H(d,b,a,c){G(D.1D(b)){a=b;b=U}I D.3Y({O:"2P",1a:d,L:b,1W:a,1O:c})},aE:H(b,a){I D.3p(b,U,a,"1m")},aD:H(c,b,a){I D.3p(c,b,a,"3z")},aC:H(d,b,a,c){G(D.1D(b)){a=b;b={}}I D.3Y({O:"6g",1a:d,L:b,1W:a,1O:c})},aA:H(a){D.1l(D.60,a)},60:{1a:5Z.5Q,26:M,O:"2P",2T:0,7z:"4R/x-ax-3V-aw",7x:M,31:M,L:U,5Y:U,3Q:U,4Q:{2N:"4R/2N, 1r/2N",2K:"1r/2K",1m:"1r/4t, 4R/4t",3z:"4R/3z, 1r/4t",1r:"1r/as",4w:"*/*"}},4z:{},3Y:H(s){s=D.1l(M,s,D.1l(M,{},D.60,s));J g,2Z=/=\\?(&|$)/g,1u,L,O=s.O.2r();G(s.L&&s.7x&&1j s.L!="23")s.L=D.3n(s.L);G(s.1O=="4P"){G(O=="2P"){G(!s.1a.1I(2Z))s.1a+=(s.1a.1I(/\\?/)?"&":"?")+(s.4P||"7u")+"=?"}N G(!s.L||!s.L.1I(2Z))s.L=(s.L?s.L+"&":"")+(s.4P||"7u")+"=?";s.1O="3z"}G(s.1O=="3z"&&(s.L&&s.L.1I(2Z)||s.1a.1I(2Z))){g="4P"+B++;G(s.L)s.L=(s.L+"").1o(2Z,"="+g+"$1");s.1a=s.1a.1o(2Z,"="+g+"$1");s.1O="1m";1b[g]=H(a){L=a;1W();1J();1b[g]=12;1U{2U 1b[g]}1V(e){}G(i)i.37(h)}}G(s.1O=="1m"&&s.1Y==U)s.1Y=Q;G(s.1Y===Q&&O=="2P"){J j=1z();J k=s.1a.1o(/(\\?|&)3m=.*?(&|$)/,"$ap="+j+"$2");s.1a=k+((k==s.1a)?(s.1a.1I(/\\?/)?"&":"?")+"3m="+j:"")}G(s.L&&O=="2P"){s.1a+=(s.1a.1I(/\\?/)?"&":"?")+s.L;s.L=U}G(s.26&&!D.4O++)D.W.1P("7H");J n=/^(?:\\w+:)?\\/\\/([^\\/?#]+)/;G(s.1O=="1m"&&O=="2P"&&n.11(s.1a)&&n.2D(s.1a)[1]!=5Z.al){J i=S.3H("6w")[0];J h=S.3h("1m");h.4d=s.1a;G(s.7t)h.aj=s.7t;G(!g){J l=Q;h.ah=h.ag=H(){G(!l&&(!7.3f||7.3f=="68"||7.3f=="1J")){l=M;1W();1J();i.37(h)}}}i.3U(h);I 12}J m=Q;J c=1b.7s?2B 7s("ae.ac"):2B 7r();G(s.5Y)c.6R(O,s.1a,s.31,s.5Y,s.3Q);N c.6R(O,s.1a,s.31);1U{G(s.L)c.4B("ab-aa",s.7z);G(s.5S)c.4B("a9-5R-a8",D.4z[s.1a]||"a7, a6 a5 a4 5N:5N:5N a2");c.4B("X-9Z-9Y","7r");c.4B("9W",s.1O&&s.4Q[s.1O]?s.4Q[s.1O]+", */*":s.4Q.4w)}1V(e){}G(s.7m&&s.7m(c,s)===Q){s.26&&D.4O--;c.7l();I Q}G(s.26)D.W.1P("7B",[c,s]);J d=H(a){G(!m&&c&&(c.3f==4||a=="2T")){m=M;G(f){7k(f);f=U}1u=a=="2T"&&"2T"||!D.7j(c)&&"3e"||s.5S&&D.7h(c,s.1a)&&"7J"||"1W";G(1u=="1W"){1U{L=D.6X(c,s.1O,s.9S)}1V(e){1u="5J"}}G(1u=="1W"){J b;1U{b=c.5I("7g-5R")}1V(e){}G(s.5S&&b)D.4z[s.1a]=b;G(!g)1W()}N D.5H(s,c,1u);1J();G(s.31)c=U}};G(s.31){J f=4I(d,13);G(s.2T>0)3B(H(){G(c){c.7l();G(!m)d("2T")}},s.2T)}1U{c.9P(s.L)}1V(e){D.5H(s,c,U,e)}G(!s.31)d();H 1W(){G(s.1W)s.1W(L,1u);G(s.26)D.W.1P("7C",[c,s])}H 1J(){G(s.1J)s.1J(c,1u);G(s.26)D.W.1P("7F",[c,s]);G(s.26&&!--D.4O)D.W.1P("7G")}I c},5H:H(s,a,b,e){G(s.3e)s.3e(a,b,e);G(s.26)D.W.1P("7D",[a,s,e])},4O:0,7j:H(a){1U{I!a.1u&&5Z.9O=="5p:"||(a.1u>=7e&&a.1u<9N)||a.1u==7c||a.1u==9K||D.14.2k&&a.1u==12}1V(e){}I Q},7h:H(a,c){1U{J b=a.5I("7g-5R");I a.1u==7c||b==D.4z[c]||D.14.2k&&a.1u==12}1V(e){}I Q},6X:H(a,c,b){J d=a.5I("9J-O"),2N=c=="2N"||!c&&d&&d.1h("2N")>=0,L=2N?a.9I:a.4U;G(2N&&L.1C.2j=="5J")7p"5J";G(b)L=b(L,c);G(c=="1m")D.5u(L);G(c=="3z")L=6u("("+L+")");I L},3n:H(a){J s=[];G(a.1q==2p||a.5w)D.P(a,H(){s.1p(3u(7.34)+"="+3u(7.2x))});N R(J j 1n a)G(a[j]&&a[j].1q==2p)D.P(a[j],H(){s.1p(3u(j)+"="+3u(7))});N s.1p(3u(j)+"="+3u(D.1D(a[j])?a[j]():a[j]));I s.6s("&").1o(/%20/g,"+")}});D.17.1l({1N:H(c,b){I c?7.2g({1Z:"1N",2h:"1N",1y:"1N"},c,b):7.1E(":1G").P(H(){7.V.18=7.5D||"";G(D.1g(7,"18")=="2F"){J a=D("<"+7.2j+" />").6P("1c");7.V.18=a.1g("18");G(7.V.18=="2F")7.V.18="3I";a.21()}}).3l()},1M:H(b,a){I b?7.2g({1Z:"1M",2h:"1M",1y:"1M"},b,a):7.1E(":4j").P(H(){7.5D=7.5D||D.1g(7,"18");7.V.18="2F"}).3l()},78:D.17.2m,2m:H(a,b){I D.1D(a)&&D.1D(b)?7.78.1w(7,19):a?7.2g({1Z:"2m",2h:"2m",1y:"2m"},a,b):7.P(H(){D(7)[D(7).3F(":1G")?"1N":"1M"]()})},9G:H(b,a){I 7.2g({1Z:"1N"},b,a)},9F:H(b,a){I 7.2g({1Z:"1M"},b,a)},9E:H(b,a){I 7.2g({1Z:"2m"},b,a)},9D:H(b,a){I 7.2g({1y:"1N"},b,a)},9M:H(b,a){I 7.2g({1y:"1M"},b,a)},9C:H(c,a,b){I 7.2g({1y:a},c,b)},2g:H(k,j,i,g){J h=D.77(j,i,g);I 7[h.36===Q?"P":"36"](H(){G(7.16!=1)I Q;J f=D.1l({},h),p,1G=D(7).3F(":1G"),46=7;R(p 1n k){G(k[p]=="1M"&&1G||k[p]=="1N"&&!1G)I f.1J.1k(7);G(p=="1Z"||p=="2h"){f.18=D.1g(7,"18");f.33=7.V.33}}G(f.33!=U)7.V.33="1G";f.45=D.1l({},k);D.P(k,H(c,a){J e=2B D.28(46,f,c);G(/2m|1N|1M/.11(a))e[a=="2m"?1G?"1N":"1M":a](k);N{J b=a.6r().1I(/^([+-]=)?([\\d+-.]+)(.*)$/),2b=e.1t(M)||0;G(b){J d=3d(b[2]),2M=b[3]||"2X";G(2M!="2X"){46.V[c]=(d||1)+2M;2b=((d||1)/e.1t(M))*2b;46.V[c]=2b+2M}G(b[1])d=((b[1]=="-="?-1:1)*d)+2b;e.3G(2b,d,2M)}N e.3G(2b,a,"")}});I M})},36:H(a,b){G(D.1D(a)||(a&&a.1q==2p)){b=a;a="28"}G(!a||(1j a=="23"&&!b))I A(7[0],a);I 7.P(H(){G(b.1q==2p)A(7,a,b);N{A(7,a).1p(b);G(A(7,a).K==1)b.1k(7)}})},9X:H(b,c){J a=D.3O;G(b)7.36([]);7.P(H(){R(J i=a.K-1;i>=0;i--)G(a[i].T==7){G(c)a[i](M);a.7n(i,1)}});G(!c)7.5A();I 7}});J A=H(b,c,a){G(b){c=c||"28";J q=D.L(b,c+"36");G(!q||a)q=D.L(b,c+"36",D.2d(a))}I q};D.17.5A=H(a){a=a||"28";I 7.P(H(){J q=A(7,a);q.4s();G(q.K)q[0].1k(7)})};D.1l({77:H(b,a,c){J d=b&&b.1q==a0?b:{1J:c||!c&&a||D.1D(b)&&b,2u:b,41:c&&a||a&&a.1q!=9t&&a};d.2u=(d.2u&&d.2u.1q==4L?d.2u:D.28.5K[d.2u])||D.28.5K.74;d.5M=d.1J;d.1J=H(){G(d.36!==Q)D(7).5A();G(D.1D(d.5M))d.5M.1k(7)};I d},41:{73:H(p,n,b,a){I b+a*p},5P:H(p,n,b,a){I((-29.9r(p*29.9q)/2)+0.5)*a+b}},3O:[],48:U,28:H(b,c,a){7.15=c;7.T=b;7.1i=a;G(!c.3Z)c.3Z={}}});D.28.44={4D:H(){G(7.15.2Y)7.15.2Y.1k(7.T,7.1z,7);(D.28.2Y[7.1i]||D.28.2Y.4w)(7);G(7.1i=="1Z"||7.1i=="2h")7.T.V.18="3I"},1t:H(a){G(7.T[7.1i]!=U&&7.T.V[7.1i]==U)I 7.T[7.1i];J r=3d(D.1g(7.T,7.1i,a));I r&&r>-9p?r:3d(D.2a(7.T,7.1i))||0},3G:H(c,b,d){7.5V=1z();7.2b=c;7.3l=b;7.2M=d||7.2M||"2X";7.1z=7.2b;7.2S=7.4N=0;7.4D();J e=7;H t(a){I e.2Y(a)}t.T=7.T;D.3O.1p(t);G(D.48==U){D.48=4I(H(){J a=D.3O;R(J i=0;i7.15.2u+7.5V){7.1z=7.3l;7.2S=7.4N=1;7.4D();7.15.45[7.1i]=M;J b=M;R(J i 1n 7.15.45)G(7.15.45[i]!==M)b=Q;G(b){G(7.15.18!=U){7.T.V.33=7.15.33;7.T.V.18=7.15.18;G(D.1g(7.T,"18")=="2F")7.T.V.18="3I"}G(7.15.1M)7.T.V.18="2F";G(7.15.1M||7.15.1N)R(J p 1n 7.15.45)D.1K(7.T.V,p,7.15.3Z[p])}G(b)7.15.1J.1k(7.T);I Q}N{J n=t-7.5V;7.4N=n/7.15.2u;7.2S=D.41[7.15.41||(D.41.5P?"5P":"73")](7.4N,n,0,1,7.15.2u);7.1z=7.2b+((7.3l-7.2b)*7.2S);7.4D()}I M}};D.1l(D.28,{5K:{9l:9j,9i:7e,74:9g},2Y:{2e:H(a){a.T.2e=a.1z},2c:H(a){a.T.2c=a.1z},1y:H(a){D.1K(a.T.V,"1y",a.1z)},4w:H(a){a.T.V[a.1i]=a.1z+a.2M}}});D.17.2i=H(){J b=0,1S=0,T=7[0],3q;G(T)ao(D.14){J d=T.1d,4a=T,1s=T.1s,1Q=T.2z,5U=2k&&3r(5B)<9c&&!/9a/i.11(v),1g=D.2a,3c=1g(T,"30")=="3c";G(T.7y){J c=T.7y();1e(c.1A+29.2f(1Q.1C.2e,1Q.1c.2e),c.1S+29.2f(1Q.1C.2c,1Q.1c.2c));1e(-1Q.1C.6b,-1Q.1C.6a)}N{1e(T.5X,T.5W);1B(1s){1e(1s.5X,1s.5W);G(42&&!/^t(98|d|h)$/i.11(1s.2j)||2k&&!5U)2C(1s);G(!3c&&1g(1s,"30")=="3c")3c=M;4a=/^1c$/i.11(1s.2j)?4a:1s;1s=1s.1s}1B(d&&d.2j&&!/^1c|2K$/i.11(d.2j)){G(!/^96|1T.*$/i.11(1g(d,"18")))1e(-d.2e,-d.2c);G(42&&1g(d,"33")!="4j")2C(d);d=d.1d}G((5U&&(3c||1g(4a,"30")=="5x"))||(42&&1g(4a,"30")!="5x"))1e(-1Q.1c.5X,-1Q.1c.5W);G(3c)1e(29.2f(1Q.1C.2e,1Q.1c.2e),29.2f(1Q.1C.2c,1Q.1c.2c))}3q={1S:1S,1A:b}}H 2C(a){1e(D.2a(a,"6V",M),D.2a(a,"6U",M))}H 1e(l,t){b+=3r(l,10)||0;1S+=3r(t,10)||0}I 3q};D.17.1l({30:H(){J a=0,1S=0,3q;G(7[0]){J b=7.1s(),2i=7.2i(),4c=/^1c|2K$/i.11(b[0].2j)?{1S:0,1A:0}:b.2i();2i.1S-=25(7,\'94\');2i.1A-=25(7,\'aF\');4c.1S+=25(b,\'6U\');4c.1A+=25(b,\'6V\');3q={1S:2i.1S-4c.1S,1A:2i.1A-4c.1A}}I 3q},1s:H(){J a=7[0].1s;1B(a&&(!/^1c|2K$/i.11(a.2j)&&D.1g(a,\'30\')==\'93\'))a=a.1s;I D(a)}});D.P([\'5e\',\'5G\'],H(i,b){J c=\'4y\'+b;D.17[c]=H(a){G(!7[0])I;I a!=12?7.P(H(){7==1b||7==S?1b.92(!i?a:D(1b).2e(),i?a:D(1b).2c()):7[c]=a}):7[0]==1b||7[0]==S?46[i?\'aI\':\'aJ\']||D.71&&S.1C[c]||S.1c[c]:7[0][c]}});D.P(["6N","4b"],H(i,b){J c=i?"5e":"5G",4f=i?"6k":"6i";D.17["5s"+b]=H(){I 7[b.3y()]()+25(7,"57"+c)+25(7,"57"+4f)};D.17["90"+b]=H(a){I 7["5s"+b]()+25(7,"2C"+c+"4b")+25(7,"2C"+4f+"4b")+(a?25(7,"6S"+c)+25(7,"6S"+4f):0)}})})();',62,669,'|||||||this|||||||||||||||||||||||||||||||||||if|function|return|var|length|data|true|else|type|each|false|for|document|elem|null|style|event||nodeName|||test|undefined||browser|options|nodeType|fn|display|arguments|url|window|body|parentNode|add|msie|css|indexOf|prop|typeof|call|extend|script|in|replace|push|constructor|text|offsetParent|cur|status|div|apply|firstChild|opacity|now|left|while|documentElement|isFunction|filter|className|hidden|handle|match|complete|attr|ret|hide|show|dataType|trigger|doc|split|top|table|try|catch|success|break|cache|height||remove|tbody|string|guid|num|global|ready|fx|Math|curCSS|start|scrollTop|makeArray|scrollLeft|max|animate|width|offset|tagName|safari|map|toggle||done|Array|find|toUpperCase|button|special|duration|id|copy|value|handler|ownerDocument|select|new|border|exec|stack|none|opera|nextSibling|pushStack|target|html|inArray|unit|xml|bind|GET|isReady|merge|pos|timeout|delete|one|selected|px|step|jsre|position|async|preventDefault|overflow|name|which|queue|removeChild|namespace|insertBefore|nth|removeData|fixed|parseFloat|error|readyState|multiFilter|createElement|rl|re|trim|end|_|param|first|get|results|parseInt|slice|childNodes|encodeURIComponent|append|events|elems|toLowerCase|json|readyList|setTimeout|grep|mouseenter|color|is|custom|getElementsByTagName|block|stopPropagation|addEventListener|callee|proxy|mouseleave|timers|defaultView|password|disabled|last|has|appendChild|form|domManip|props|ajax|orig|set|easing|mozilla|load|prototype|curAnim|self|charCode|timerId|object|offsetChild|Width|parentOffset|src|unbind|br|currentStyle|clean|float|visible|relatedTarget|previousSibling|handlers|isXMLDoc|on|setup|nodeIndex|unique|shift|javascript|child|RegExp|_default|deep|scroll|lastModified|teardown|setRequestHeader|timeStamp|update|empty|tr|getAttribute|innerHTML|setInterval|checked|fromElement|Number|jQuery|state|active|jsonp|accepts|application|dir|input|responseText|click|styleSheets|unload|not|lastToggle|outline|mouseout|getPropertyValue|mouseover|getComputedStyle|bindReady|String|padding|pageX|metaKey|keyCode|getWH|andSelf|clientX|Left|all|visibility|container|index|init|triggered|removeAttribute|classFilter|prevObject|submit|file|after|windowData|inner|client|globalEval|sibling|jquery|absolute|clone|wrapAll|dequeue|version|triggerHandler|oldblock|ctrlKey|createTextNode|Top|handleError|getResponseHeader|parsererror|speeds|checkbox|old|00|radio|swing|href|Modified|ifModified|lastChild|safari2|startTime|offsetTop|offsetLeft|username|location|ajaxSettings|getElementById|isSimple|values|selectedIndex|runtimeStyle|rsLeft|_load|loaded|DOMContentLoaded|clientTop|clientLeft|toElement|srcElement|val|pageY|POST|unshift|Bottom|clientY|Right|fix|exclusive|detachEvent|cloneNode|removeEventListener|swap|toString|join|attachEvent|eval|substr|head|parse|textarea|reset|image|zoom|odd|even|before|prepend|exclude|expr|quickClass|quickID|uuid|quickChild|continue|Height|textContent|appendTo|contents|open|margin|evalScript|borderTopWidth|borderLeftWidth|parent|httpData|setArray|CSS1Compat|compatMode|boxModel|cssFloat|linear|def|webkit|nodeValue|speed|_toggle|eq|100|replaceWith|304|concat|200|alpha|Last|httpNotModified|getAttributeNode|httpSuccess|clearInterval|abort|beforeSend|splice|styleFloat|throw|colgroup|XMLHttpRequest|ActiveXObject|scriptCharset|callback|fieldset|multiple|processData|getBoundingClientRect|contentType|link|ajaxSend|ajaxSuccess|ajaxError|col|ajaxComplete|ajaxStop|ajaxStart|serializeArray|notmodified|keypress|keydown|change|mouseup|mousedown|dblclick|focus|blur|stylesheet|hasClass|rel|doScroll|black|hover|solid|cancelBubble|returnValue|wheelDelta|view|round|shiftKey|resize|screenY|screenX|relatedNode|mousemove|prevValue|originalTarget|offsetHeight|keyup|newValue|offsetWidth|eventPhase|detail|currentTarget|cancelable|bubbles|attrName|attrChange|altKey|originalEvent|charAt|0n|substring|animated|header|noConflict|line|enabled|innerText|contains|only|weight|font|gt|lt|uFFFF|u0128|size|417|Boolean|Date|toggleClass|removeClass|addClass|removeAttr|replaceAll|insertAfter|prependTo|wrap|contentWindow|contentDocument|iframe|children|siblings|prevAll|wrapInner|nextAll|outer|prev|scrollTo|static|marginTop|next|inline|parents|able|cellSpacing|adobeair|cellspacing|522|maxLength|maxlength|readOnly|400|readonly|fast|600|class|slow|1px|htmlFor|reverse|10000|PI|cos|compatible|Function|setData|ie|ra|it|rv|getData|userAgent|navigator|fadeTo|fadeIn|slideToggle|slideUp|slideDown|ig|responseXML|content|1223|NaN|fadeOut|300|protocol|send|setAttribute|option|dataFilter|cssText|changed|be|Accept|stop|With|Requested|Object|can|GMT|property|1970|Jan|01|Thu|Since|If|Type|Content|XMLHTTP|th|Microsoft|td|onreadystatechange|onload|cap|charset|colg|host|tfoot|specified|with|1_|thead|leg|plain|attributes|opt|embed|urlencoded|www|area|hr|ajaxSetup|meta|post|getJSON|getScript|marginLeft|img|elements|pageYOffset|pageXOffset|abbr|serialize|pixelLeft'.split('|'),0,{})) + + + +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(4(B){c H=B.1O.1a,D=B.X.4b&&(4a(B.X.21)<1.9);B.b={21:"1.3M",48:{1g:4(K,J,N){c M=B.b[K].1x;2j(c L 4r N){M.1V[L]=M.1V[L]||[];M.1V[L].1I([J,N[L]])}},1L:4(J,L,K){c N=J.1V[L];5(!N){7}2j(c M=0;M\').h(J).q({1G:"2C",42:"-3a",3T:"-3a",28:"2T"}).2k("3v");B.b.1S[J]=!!((!(/2B|1k/).u(K.q("5c"))||(/^[1-9]/).u(K.q("4u"))||(/^[1-9]/).u(K.q("4K"))||!(/3i/).u(K.q("4H"))||!(/4T|5e\\(0, 0, 0, 0\\)/).u(K.q("4Y"))));3o{B("3v").2D(0).4Z(K.2D(0))}3c(L){}7 B.b.1S[J]},4n:4(L,J){5(B(L).q("1j")=="1Z"){7 i}c M=(J&&J=="3T")?"49":"4f",K=i;5(L[M]>0){7 z}L[M]=1;K=(L[M]>0);L[M]=0;7 K},2Z:4(J,L,K){7(J>L)&&(J<(L+K))},4g:4(O,J,N,M,L,K){7 B.b.2Z(O,N,L)&&B.b.2Z(J,M,K)},4o:{4i:8,4l:20,4m:4h,50:17,51:46,52:40,4X:35,4s:13,54:27,5a:36,4I:45,4G:37,4L:4P,4O:4N,4M:4F,4E:4x,4w:4v,4t:4y,4z:34,4D:33,4C:4B,4A:39,4Q:16,4R:32,58:9,57:38}};5(D){c E=B.Y,C=B.1O.2z,I="56://55.59.5d/5b/53/2t",F=/^2w-/,G=/^3l:/;B.Y=4(K,J,L){c M=L!==1l;7(J=="4W"?(M?E.1L(2,K,J,"3l:"+L):(E.1p(2,1D)||"").12(G,"")):(F.u(J)?(M?K.4V(I,J.12(F,"2t:"),L):E.1L(2,K,J.12(F,"2t:"))):E.1p(2,1D)))};B.1O.2z=4(J){7(F.u(J)?2.19(4(){2.4c(I,J.12(F,""))}):C.1L(2,J))}}B.1O.1m({1a:4(){B("*",2).1g(2).19(4(){B(2).3g("1a")});7 H.1p(2,1D)},4q:4(){7 2.Y("1K","4e").q("3j","").1b("3b.b")},4d:4(){7 2.Y("1K","3e").q("3j","3i").U("3b.b",4(){7 i})},4k:4(){c J;5((B.X.1z&&(/(4p|3Q)/).u(2.q("1G")))||(/2C/).u(2.q("1G"))){J=2.1C().11(4(){7(/(3Q|2C|3J)/).u(B.1n(2,"1G",1))&&(/(2B|3P)/).u(B.1n(2,"1j",1)+B.1n(2,"1j-y",1)+B.1n(2,"1j-x",1))}).V(0)}t{J=2.1C().11(4(){7(/(2B|3P)/).u(B.1n(2,"1j",1)+B.1n(2,"1j-y",1)+B.1n(2,"1j-x",1))}).V(0)}7(/3J/).u(2.q("1G"))||!J.o?B(2N):J}});B.1m(B.47[":"],{l:4(K,L,J){7!!B.l(K,J[3])},4J:4(K,L,J){c N=K.5j.64();4 M(O){7!(B(O).2a(":1Z")||B(O).1C(":1Z").o)}7(K.63>=0&&(("a"==N&&K.v)||(/62|1v|65|3n/.u(N)&&"1Z"!=K.3h&&!K.d))&&M(K))}});4 A(N,J,O,M){4 L(Q){c P=B[N][J][Q]||[];7(1B P=="1u"?P.2A(/,?\\s+/):P)}c K=L("3N");5(M.o==1&&1B M[0]=="1u"){K=K.2p(L("41"))}7(B.1P(O,K)!=-1)}B.15=4(J,K){c L=J.2A(".")[0];J=J.2A(".")[1];B.1O[J]=4(P){c N=(1B P=="1u"),O=3y.1x.66.1L(1D,1);5(N&&P.69(0,1)=="2i"){7 2}5(N&&A(L,J,P,O)){c M=B.l(2[0],J);7(M?M[P].1p(M,O):1l)}7 2.19(4(){c Q=B.l(2,J);(!Q&&!N&&B.l(2,J,68 B[L][J](2,P)));(Q&&N&&B.67(Q[P])&&Q[P].1p(Q,O))})};B[L]=B[L]||{};B[L][J]=4(N,O){c M=2;2.2v=L;2.1d=J;2.2x=B[L][J].61||J;2.2u=L+"-"+J;2.e=B.1m({},B.15.1T,B[L][J].1T,B.3L&&B.3L.2D(N)[J],O);2.j=B(N).U("60."+J,4(Q,P,R){5(Q.1J==N){7 M.1w(P,R)}}).U("5U."+J,4(Q,P){5(Q.1J==N){7 M.2y(P)}}).U("1a",4(){7 M.1q()});2.2f()};B[L][J].1x=B.1m({},B.15.1x,K);B[L][J].41="44"};B.15.1x={2f:4(){},1q:4(){2.j.1M(2.1d).p(2.2u+"-d "+2.2v+"-r-d").2z("2w-d")},44:4(L,M){c K=L,J=2;5(1B L=="1u"){5(M===1l){7 2.2y(L)}K={};K[L]=M}B.19(K,4(N,O){J.1w(N,O)})},2y:4(J){7 2.e[J]},1w:4(J,K){2.e[J]=K;5(J=="d"){2.j[K?"h":"p"](2.2u+"-d "+2.2v+"-r-d").Y("2w-d",K)}},2U:4(){2.1w("d",i)},2S:4(){2.1w("d",z)},18:4(K,L,M){c J=(K==2.2x?K:2.2x+K);L=L||B.1i.5T({3h:J,1J:2.j[0]});7 2.j.3g(J,[L,M],2.e[K])}};B.15.1T={d:i};B.b.3B={5S:4(){c J=2;2.j.U("6b."+2.1d,4(K){7 J.3d(K)}).U("2e."+2.1d,4(K){5(J.2L){J.2L=i;7 i}});5(B.X.1z){2.31=2.j.Y("1K");2.j.Y("1K","3e")}2.5V=i},5W:4(){2.j.1b("."+2.1d);(B.X.1z&&2.j.Y("1K",2.31))},3d:4(L){(2.1c&&2.1N(L));2.26=L;c J=2,M=(L.5Z==1),K=(1B 2.e.2Q=="1u"?B(L.1J).1C().1g(L.1J).11(2.e.2Q).o:i);5(!M||K||!2.3D(L)){7 z}2.29=!2.e.2q;5(!2.29){2.5Y=3S(4(){J.29=z},2.e.2q)}5(2.2K(L)&&2.2H(L)){2.1c=(2.2I(L)!==i);5(!2.1c){L.2F();7 z}}2.2O=4(N){7 J.3z(N)};2.2P=4(N){7 J.1N(N)};B(2N).U("3q."+2.1d,2.2O).U("3u."+2.1d,2.2P);5(!B.X.30){L.2F()}7 z},3z:4(J){5(B.X.1z&&!J.3n){7 2.1N(J)}5(2.1c){2.2J(J);7 J.2F()}5(2.2K(J)&&2.2H(J)){2.1c=(2.2I(2.26,J)!==i);(2.1c?2.2J(J):2.1N(J))}7!2.1c},1N:4(J){B(2N).1b("3q."+2.1d,2.2O).1b("3u."+2.1d,2.2P);5(2.1c){2.1c=i;2.2L=z;2.3C(J)}7 i},2K:4(J){7(2G.5X(2G.3r(2.26.3s-J.3s),2G.3r(2.26.3p-J.3p))>=2.e.3x)},2H:4(J){7 2.29},2I:4(J){},2J:4(J){},3C:4(J){},3D:4(J){7 z}};B.b.3B.1T={2Q:m,3x:1,2q:0}})(2s);(4(A){A.15("b.6",{2f:4(){2.1H(z)},1q:4(){c B=2.e;2.j.1b(".6").p(B.24).1M("6");2.$6.19(4(){c C=A.l(2,"v.6");5(C){2.v=C}c D=A(2).1b(".6");A.19(["v","W","1h"],4(F,E){D.1M(E+".6")})});2.$n.1g(2.$k).19(4(){5(A.l(2,"1q.6")){A(2).1a()}t{A(2).p([B.23,B.w,B.1s,B.1o,B.1U,B.14].1A(" "))}});5(B.Z){2.1F(m,B.Z)}},1w:4(B,C){5((/^f/).u(B)){2.1v(C)}t{2.e[B]=C;2.1H()}},o:4(){7 2.$6.o},2o:4(B){7 B.3E&&B.3E.12(/\\s/g,"2i").12(/[^A-6a-6h-9\\-2i:\\.]/g,"")||2.e.3W+A.l(B)},25:4(B){7 B.12(/:/g,"\\\\:")},1F:4(){c B=2.Z||(2.Z="b-6-"+A.l(2.j[0]));7 A.Z.1p(m,[B].2p(A.6e(1D)))},1H:4(O){2.$n=A("1W:6i(a[v])",2.j.2a("1Q")?A("> 3f:2n",2.j):2.j);2.$6=2.$n.1X(4(){7 A("a",2)[0]});2.$k=A([]);c N=2,D=2.e;2.$n.2h(4(){A(2).h("b-r-2h")},4(){A(2).p("b-r-2h")});2.$6.2g(4(){A(2).2X().h("b-r-2g")}).1E(4(){A(2).2X().p("b-r-2g")});2.$6.19(4(Q,P){5(P.1f&&P.1f.12("#","")){N.$k=N.$k.1g(N.25(P.1f))}t{5(A(P).Y("v")!="#"){A.l(P,"v.6",P.v);A.l(P,"W.6",P.v);c S=N.2o(P);P.v="#"+S;c R=A("#"+S);5(!R.o){R=A(D.2m).Y("3K",S).h(D.1U).5g(N.$k[Q-1]||N.j);R.l("1q.6",z)}N.$k=N.$k.1g(R)}t{D.d.1I(Q+1)}}});5(O){5(2.j.2a("1Q")){2.j.h("b-6 b-15 b-15-3X b-2d-3m");A("> 3f:2n",2.j).h(D.24)}t{2.j.h(D.24)}2.$n.h(D.23);2.$k.h(D.1U);5(D.f===1l){5(3k.1f){2.$6.19(4(Q,P){5(P.1f==3k.1f){D.f=Q;7 i}})}t{5(D.Z){c I=6f(N.1F(),10);5(I&&N.$6[I]){D.f=I}}t{5(N.$n.11("."+D.w).o){D.f=N.$n.1e(N.$n.11("."+D.w)[0])}}}}D.f=D.f===m||D.f!==1l?D.f:0;D.d=A.6g(D.d.2p(A.1X(2.$n.11("."+D.1o),4(Q,P){7 N.$n.1e(Q)}))).3F();5(A.1P(D.f,D.d)!=-1){D.d.6d(A.1P(D.f,D.d),1)}2.$k.h(D.14);2.$n.p(D.w);5(D.f!==m){2.$k.V(D.f).p(D.14);c E=[D.w];5(D.1t){E.1I(D.1s)}2.$n.V(D.f).h(E.1A(" "));c B=4(){N.18("2R",m,N.b(N.$6[D.f],N.$k[D.f]))};5(A.l(2.$6[D.f],"W.6")){2.W(D.f,B)}t{B()}}A(6c).U("6j",4(){N.$6.1b(".6");N.$n=N.$6=N.$k=m})}t{D.f=2.$n.1e(2.$n.11("."+D.w)[0])}5(D.Z){2.1F(D.f,D.Z)}2j(c G=0,M;M=2.$n[G];G++){A(M)[A.1P(G,D.d)!=-1&&!A(M).1y(D.w)?"h":"p"](D.1o)}5(D.1h===i){2.$6.1M("1h.6")}c J,C;5(D.1r){5(D.1r.5Q==3y){J=D.1r[0];C=D.1r[1]}t{J=C=D.1r}}4 H(P,Q){P.q({28:""});5(A.X.1z&&Q.5t){P[0].5s.5r("11")}}c K=C?4(P,Q){Q.3U(C,C.3Z||"3Y",4(){Q.p(D.14);H(Q,C);N.18("2R",m,N.b(P,Q[0]))})}:4(P,Q){Q.p(D.14);N.18("2R",m,N.b(P,Q[0]))};c L=J?4(Q,P,R){P.3U(J,J.3Z||"3Y",4(){P.h(D.14);H(P,J);5(R){K(Q,R,P)}})}:4(Q,P,R){P.h(D.14);5(R){K(Q,R)}};4 F(R,T,P,S){c Q=[D.w];5(D.1t){Q.1I(D.1s)}T.p("b-r-1k").h(Q.1A(" ")).5u().p(Q.1A(" ")).h("b-r-1k");L(R,P,S)}2.$6.1b(".6").U(D.1i+".6",4(){c S=A(2).1C("1W:V(0)"),P=N.$k.11(":5v"),R=A(N.25(2.1f));5((S.1y("b-r-2l")&&!D.1t)||S.1y(D.1o)||A(2).1y(D.1R)||N.18("1v",m,N.b(2,R[0]))===i){2.1E();7 i}D.f=N.$6.1e(2);5(D.1t){5(S.1y("b-r-2l")){N.e.f=m;S.p([D.w,D.1s].1A(" ")).h("b-r-1k");N.$k.2r();L(2,P);2.1E();7 i}t{5(!P.o){N.$k.2r();c Q=2;N.W(N.$6.1e(2),4(){S.h([D.w,D.1s].1A(" ")).p("b-r-1k");K(Q,R)});2.1E();7 i}}}5(D.Z){N.1F(D.f,D.Z)}N.$k.2r();5(R.o){c Q=2;N.W(N.$6.1e(2),P.o?4(){F(Q,S,P,R)}:4(){S.h(D.w).p("b-r-1k");K(Q,R)})}t{5x"2s 5w 5q: 5p 5R 5i."}5(A.X.1z){2.1E()}7 i});5(D.1i!="2e"){2.$6.U("2e.6",4(){7 i})}},1g:4(E,D,C){5(C==1l){C=2.$6.o}c G=2.e;c I=A(G.3O.12(/#\\{v\\}/g,E).12(/#\\{1Y\\}/g,D));I.h(G.23).l("1q.6",z);c H=E.5h("#")==0?E.12("#",""):2.2o(A("a:2n-5k",I)[0]);c F=A("#"+H);5(!F.o){F=A(G.2m).Y("3K",H).h(G.14).l("1q.6",z)}F.h(G.1U);5(C>=2.$n.o){I.2k(2.j);F.2k(2.j[0].43)}t{I.3V(2.$n[C]);F.3V(2.$k[C])}G.d=A.1X(G.d,4(K,J){7 K>=C?++K:K});2.1H();5(2.$6.o==1){I.h(G.w);F.p(G.14);c B=A.l(2.$6[0],"W.6");5(B){2.W(C,B)}}2.18("1g",m,2.b(2.$6[C],2.$k[C]))},1a:4(B){c D=2.e,E=2.$n.V(B).1a(),C=2.$k.V(B).1a();5(E.1y(D.w)&&2.$6.o>1){2.1v(B+(B+1<2.$6.o?1:-1))}D.d=A.1X(A.3R(D.d,4(G,F){7 G!=B}),4(G,F){7 G>=B?--G:G});2.1H();2.18("1a",m,2.b(E.2W("a")[0],C[0]))},2U:4(B){c C=2.e;5(A.1P(B,C.d)==-1){7}c D=2.$n.V(B).p(C.1o);5(A.X.30){D.q("28","5l-2T");3S(4(){D.q("28","2T")},0)}C.d=A.3R(C.d,4(F,E){7 F!=B});2.18("2U",m,2.b(2.$6[B],2.$k[B]))},2S:4(C){c B=2,D=2.e;5(C!=D.f){2.$n.V(C).h(D.1o);D.d.1I(C);D.d.3F();2.18("2S",m,2.b(2.$6[C],2.$k[C]))}},1v:4(B){5(1B B=="1u"){B=2.$6.1e(2.$6.11("[v$="+B+"]")[0])}2.$6.V(B).5o(2.e.1i+".6")},W:4(G,K){c L=2,D=2.e,E=2.$6.V(G),J=E[0],H=K==1l||K===i,B=E.l("W.6");K=K||4(){};5(!B||!H&&A.l(J,"1h.6")){K();7}c M=4(N){c O=A(N),P=O.2W("*:5n");7 P.o&&P.2a(":5m(5y)")&&P||O};c C=4(){L.$6.11("."+D.1R).p(D.1R).19(4(){5(D.2c){M(2).2X().22(M(2).l("1Y.6"))}});L.2b=m};5(D.2c){c I=M(J).22();M(J).5z("<2Y>2Y>").2W("2Y").l("1Y.6",I).22(D.2c)}c F=A.1m({},D.2V,{3H:B,3A:4(P,N){A(L.25(J.1f)).22(P);C();5(D.1h){A.l(J,"1h.6",z)}L.18("W",m,L.b(L.$6[G],L.$k[G]));3o{D.2V.3A(P,N)}3c(O){}K()}});5(2.2b){2.2b.5L();C()}E.h(D.1R);L.2b=A.5K(F)},3H:4(C,B){2.$6.V(C).1M("1h.6").l("W.6",B)},b:4(C,B){7{e:2.e,5J:C,3G:B,1e:2.$6.1e(C)}}});A.1m(A.b.6,{21:"1.3M",3N:"o",1T:{2V:m,1h:i,Z:m,1t:i,1s:"b-6-1t",d:[],1o:"b-r-d",1i:"2e",1r:m,14:"b-6-5M",3W:"b-6-",1R:"b-6-5N",24:"b-6-5P b-3w-5O b-3w-5I b-15-5H b-2d-3m",23:"b-r-1k b-2d-42",1U:"b-6-3G b-15-3X b-2d-5C",2m:"<1Q>1Q>",w:"b-6-f b-r-2l",2c:"5BA;",3O:\'<1W><3I>#{1Y}3I>1W>\'}});A.1m(A.b.6.1x,{2E:m,5D:4(C,F){F=F||i;c B=2,E=2.e.f;4 G(){B.2E=5E(4(){E=++Etpl->assign('addCssSheet', '@import "_css/int.css";'); -$characters->name = Utils::escape($_GET['cn']); +if(isset($_GET['n'])) { + $charname = $_GET['n']; +} +elseif(isset($_GET['cn'])) { + $charname = $_GET['cn']; +} +$characters->name = Utils::escape($charname); // Проверка if(!$characters->IsCharacter()) { $armory->ArmoryError($armory->tpl->get_config_vars('armory_error_profile_unavailable_title'), $armory->tpl->get_config_vars('armory_error_profile_unavailable_text')); @@ -52,7 +58,7 @@ $armory->tpl->assign('portrait_path', $characters->characterAvatar()); $armory->tpl->assign('pts', $achievements->calculateAchievementPoints()); $armory->tpl->assign('character_url_string', $characters->returnCharacterUrl()); -$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'horde' : 'alliance'); +$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'Horde' : 'Alliance'); if($guilds->extractPlayerGuildId()) { $armory->tpl->assign('guildName', $guilds->getGuildName()); } diff --git a/character-reputation.php b/character-reputation.php index a1765d22b..0bdcd4ffb 100644 --- a/character-reputation.php +++ b/character-reputation.php @@ -3,7 +3,7 @@ /** * @package World of Warcraft Armory * @version Release Candidate 1 - * @revision 40 + * @revision 46 * @copyright (c) 2009-2010 Shadez * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @@ -33,7 +33,13 @@ // Доп. лист стилей $armory->tpl->assign('addCssSheet', '@import "_css/int.css";'); -$characters->name = Utils::escape($_GET['cn']); +if(isset($_GET['n'])) { + $charname = $_GET['n']; +} +elseif(isset($_GET['cn'])) { + $charname = $_GET['cn']; +} +$characters->name = Utils::escape($charname); // Проверка if(!$characters->IsCharacter()) { $armory->ArmoryError($armory->tpl->get_config_vars('armory_error_profile_unavailable_title'), $armory->tpl->get_config_vars('armory_error_profile_unavailable_text')); @@ -52,7 +58,7 @@ $armory->tpl->assign('portrait_path', $characters->characterAvatar()); $armory->tpl->assign('pts', $achievements->calculateAchievementPoints()); $armory->tpl->assign('character_url_string', $characters->returnCharacterUrl()); -$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'horde' : 'alliance'); +$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'Horde' : 'Alliance'); if($guilds->extractPlayerGuildId()) { $armory->tpl->assign('guildName', $guilds->getGuildName()); } diff --git a/character-sheet.php b/character-sheet.php index 618f0bfd8..d042a439b 100644 --- a/character-sheet.php +++ b/character-sheet.php @@ -3,7 +3,7 @@ /** * @package World of Warcraft Armory * @version Release Candidate 1 - * @revision 40 + * @revision 46 * @copyright (c) 2009-2010 Shadez * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @@ -33,9 +33,15 @@ die('Fatal error: can not load main system files!'); } // Доп. лист стилей -$armory->tpl->assign('addCssSheet', '@import "_css/int.css";'); - -$characters->name = Utils::escape($_GET['n']); +$armory->tpl->assign('addCssSheet', '@import "_css/int.css"; + @import "_css/character/sheet.css";'); +if(isset($_GET['n'])) { + $charname = $_GET['n']; +} +elseif(isset($_GET['cn'])) { + $charname = $_GET['cn']; +} +$characters->name = Utils::escape($charname); // Проверка if(!$characters->IsCharacter()) { $armory->ArmoryError($armory->tpl->get_config_vars('armory_error_profile_unavailable_title'), $armory->tpl->get_config_vars('armory_error_profile_unavailable_text')); @@ -58,7 +64,7 @@ $armory->tpl->assign('portrait_path', $characters->characterAvatar()); $armory->tpl->assign('pts', $achievements->calculateAchievementPoints()); $armory->tpl->assign('character_url_string', $characters->returnCharacterUrl()); -$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'horde' : 'alliance'); +$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'Horde' : 'Alliance'); if($guilds->extractPlayerGuildId()) { $armory->tpl->assign('guildName', $guilds->getGuildName()); } @@ -85,8 +91,10 @@ $talent_trees = explode(' / ', $tp); $currentTree = Utils::GetMaxArray($talent_trees); $currentTreeName = $characters->ReturnTalentTreesNames($characters->class, $currentTree); + $currentTreeIcon = $characters->ReturnTalentTreeIcon($characters->class, $currentTree); $armory->tpl->assign('talents_builds_'.$ds, $tp); $armory->tpl->assign('treeName_'.$ds, $currentTreeName); + $armory->tpl->assign('treeIcon_'.$ds, $currentTreeIcon); $armory->tpl->assign('ds_'.$ds, $talent_trees); $tp = ''; // Очищаем предыдущую ветку $ds++; @@ -106,26 +114,15 @@ $talent_trees = explode(' / ', $tp); $currentTree = Utils::GetMaxArray($talent_trees); $currentTreeName = $characters->ReturnTalentTreesNames($characters->class, $currentTree); + $currentTreeIcon = $characters->ReturnTalentTreeIcon($characters->class, $currentTree); $armory->tpl->assign('talents_builds', $tp); $armory->tpl->assign('treeName', $currentTreeName); $armory->tpl->assign('tree_js', $talent_trees); $armory->tpl->assign('disabledDS_1', ' disabledSpec'); + $armory->tpl->assign('currentTreeIcon', $currentTreeIcon); } // Профессии $trade_skills = $characters->extractCharacterProfessions(); -// Если пусто -if(empty($trade_skills[0]['name'])) { - $trade_skills[0]['name'] = $armory->tpl->get_config_vars('armory_string_not_available'); - $trade_skills[0]['skill_line'] = $armory->tpl->get_config_vars('armory_string_not_available'); - $trade_skills[0]['icon'] = 'None'; - $trade_skills[0]['pct'] = '0'; -} -if(empty($trade_skills[1]['name'])) { - $trade_skills[1]['name'] = $armory->tpl->get_config_vars('armory_string_not_available'); - $trade_skills[1]['skill_line'] = $armory->tpl->get_config_vars('armory_string_not_available'); - $trade_skills[1]['icon'] = 'None'; - $trade_skills[1]['pct'] = '0'; -} // Обрезаем кол-во профессий до 2х (в случае, если на сервере выставлено // нестандартное кол-во первичных профессий, т.е. > 2) $armory->tpl->assign('primary_trade_skill_1', $trade_skills[0]); @@ -135,25 +132,24 @@ $armory->tpl->assign('healthValue', $characters->getHealthValue()); $armory->tpl->assign('additionalBarInfo', $characters->assignAdditionalEnergyBar()); -// Считаем кол-во ачивментов -$characterAchievements = $achievements->countCharacterAchievements(); -$armory->tpl->assign('fullCharacterAchievementsCount', $characterAchievements); -// И делаем прогресс-бар -$armory->tpl->assign('character_progress_percent', $achievements->getAchievementProgressBar($characterAchievements)); - -// Получаем кол-во ачивментов по каждой категории -for($i=1;$i<10;$i++) { - $armory->tpl->assign('achievements_'.$i, $achievements->sortAchievements($i)); -} - /*** Одежда персонажа ***/ $gear_array = array('head', 'neck', 'shoulder', 'back', 'chest', 'shirt', 'tabard', 'wrist', 'gloves', 'belt', 'legs', 'boots', 'ring1', 'ring2', 'trinket1', 'trinket2', 'mainhand', 'offhand', 'relic'); +$i = 0; +$characterItems = array(); foreach($gear_array as $gear) { $gear_tmp = $characters->GetCharacterEquip($gear); - $armory->tpl->assign('gear_'.$gear.'_item', $gear_tmp); - $armory->tpl->assign('gear_'.$gear.'_icon', $items->getItemIcon($gear_tmp)); + $characterItems[$i] = array( + 'entry' => $gear_tmp, + 'icon' => $items->getItemIcon($gear_tmp), + 'rarity' => $items->GetItemInfo($gear_tmp, 'quality'), + 'ilevel' => $armory->wDB->selectCell("SELECT `ItemLevel` FROM `item_template` WHERE `entry`=? LIMIT 1", $gear_tmp), + 'i' => $i, + 'name' => $items->GetItemName($gear_tmp) + ); + $i++; } +$armory->tpl->assign('characterItems', $characterItems); $armory->tpl->assign('characterStat', $characters->ConstructCharacterData()); /*** Звание ***/ @@ -161,6 +157,7 @@ $charTitle = $characters->GetCharacterTitle(); $armory->tpl->assign('character_title_'.$charTitle['place'], $charTitle['title']); $armory->tpl->assign('playerHonorKills', $characters->getCharacterHonorKills()); +$armory->tpl->assign('tpl2include', 'character_sheet_info'); $armory->tpl->display('overall_header.tpl'); $armory->tpl->display('character_sheet_start.tpl'); exit(); diff --git a/character-talents.php b/character-talents.php index e9ec5e6ba..58d16c048 100644 --- a/character-talents.php +++ b/character-talents.php @@ -3,7 +3,7 @@ /** * @package World of Warcraft Armory * @version Release Candidate 1 - * @revision 40 + * @revision 46 * @copyright (c) 2009-2010 Shadez * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @@ -34,7 +34,13 @@ // Доп. лист стилей $armory->tpl->assign('addCssSheet', '@import "_css/int.css";'); -$characters->name = Utils::escape($_GET['cn']); +if(isset($_GET['n'])) { + $charname = $_GET['n']; +} +elseif(isset($_GET['cn'])) { + $charname = $_GET['cn']; +} +$characters->name = Utils::escape($charname); // Проверка if(!$characters->IsCharacter()) { $armory->ArmoryError($armory->tpl->get_config_vars('armory_error_profile_unavailable_title'), $armory->tpl->get_config_vars('armory_error_profile_unavailable_text')); @@ -53,7 +59,7 @@ $armory->tpl->assign('portrait_path', $characters->characterAvatar()); $armory->tpl->assign('pts', $achievements->calculateAchievementPoints()); $armory->tpl->assign('character_url_string', $characters->returnCharacterUrl()); -$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'horde' : 'alliance'); +$armory->tpl->assign('faction_string_class', ($characters->GetCharacterFaction() == '1') ? 'Horde' : 'Alliance'); if($guilds->extractPlayerGuildId()) { $armory->tpl->assign('guildName', $guilds->getGuildName()); } diff --git a/htaccess b/htaccess new file mode 100644 index 000000000..e3e2f36c4 --- /dev/null +++ b/htaccess @@ -0,0 +1,10 @@ +Order Deny,Allow + + Deny from all + +Options -Indexes +AddDefaultCharset utf8 +RewriteEngine on +RewriteRule ^(.*).xml $1.php?%{QUERY_STRING} +ErrorDocument 404 /index.xml +ErrorDocument 403 /index.xml \ No newline at end of file diff --git a/images/add_bookmark.gif b/images/add_bookmark.gif new file mode 100644 index 000000000..aa05b65c0 Binary files /dev/null and b/images/add_bookmark.gif differ diff --git a/images/alert.gif b/images/alert.gif new file mode 100644 index 000000000..90ad011e8 Binary files /dev/null and b/images/alert.gif differ diff --git a/images/armory-left-big.gif b/images/armory-left-big.gif new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/armory-left-big.gif @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/armory-top.gif b/images/armory-top.gif new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/armory-top.gif @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/badge-border-pvp-parchment.gif b/images/badge-border-pvp-parchment.gif new file mode 100644 index 000000000..88314b7b2 Binary files /dev/null and b/images/badge-border-pvp-parchment.gif differ diff --git a/images/bg-brackets-de.jpg b/images/bg-brackets-de.jpg new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/bg-brackets-de.jpg @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/char_act_border.gif b/images/char_act_border.gif new file mode 100644 index 000000000..4bf09a83e Binary files /dev/null and b/images/char_act_border.gif differ diff --git a/images/char_item_bg.jpg b/images/char_item_bg.jpg new file mode 100644 index 000000000..11f8b0e93 Binary files /dev/null and b/images/char_item_bg.jpg differ diff --git a/images/characterSelect/left-corner-off.gif b/images/characterSelect/left-corner-off.gif new file mode 100644 index 000000000..b29bae7e0 Binary files /dev/null and b/images/characterSelect/left-corner-off.gif differ diff --git a/images/characterSelect/left-corner-over.gif b/images/characterSelect/left-corner-over.gif new file mode 100644 index 000000000..523bcf16a Binary files /dev/null and b/images/characterSelect/left-corner-over.gif differ diff --git a/images/characterSelect/left-corner.gif b/images/characterSelect/left-corner.gif new file mode 100644 index 000000000..2366f4e3b Binary files /dev/null and b/images/characterSelect/left-corner.gif differ diff --git a/images/characterSelect/right-corner-off.gif b/images/characterSelect/right-corner-off.gif new file mode 100644 index 000000000..c1b18d939 Binary files /dev/null and b/images/characterSelect/right-corner-off.gif differ diff --git a/images/characterSelect/right-corner-over.gif b/images/characterSelect/right-corner-over.gif new file mode 100644 index 000000000..d1f7cab15 Binary files /dev/null and b/images/characterSelect/right-corner-over.gif differ diff --git a/images/characterSelect/right-corner.gif b/images/characterSelect/right-corner.gif new file mode 100644 index 000000000..c72c773f3 Binary files /dev/null and b/images/characterSelect/right-corner.gif differ diff --git a/images/colored-parch-bg2.jpg; b/images/colored-parch-bg2.jpg; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/colored-parch-bg2.jpg; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/dragon.jpg b/images/dragon.jpg new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/dragon.jpg @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/embed_bg_alliance.jpg b/images/embed_bg_alliance.jpg new file mode 100644 index 000000000..f39a96a79 Binary files /dev/null and b/images/embed_bg_alliance.jpg differ diff --git a/images/embed_bg_fb_alliance.jpg b/images/embed_bg_fb_alliance.jpg new file mode 100644 index 000000000..52890ba25 Binary files /dev/null and b/images/embed_bg_fb_alliance.jpg differ diff --git a/images/embed_bg_fb_default.jpg b/images/embed_bg_fb_default.jpg new file mode 100644 index 000000000..54b84d818 Binary files /dev/null and b/images/embed_bg_fb_default.jpg differ diff --git a/images/embed_bg_fb_horde.jpg b/images/embed_bg_fb_horde.jpg new file mode 100644 index 000000000..8995c1dc6 Binary files /dev/null and b/images/embed_bg_fb_horde.jpg differ diff --git a/images/embed_bg_horde.jpg b/images/embed_bg_horde.jpg new file mode 100644 index 000000000..e8a8af997 Binary files /dev/null and b/images/embed_bg_horde.jpg differ diff --git a/images/embed_bg_propass.jpg b/images/embed_bg_propass.jpg new file mode 100644 index 000000000..a834e913a Binary files /dev/null and b/images/embed_bg_propass.jpg differ diff --git a/images/embed_links_btm.jpg b/images/embed_links_btm.jpg new file mode 100644 index 000000000..c69cd9a33 Binary files /dev/null and b/images/embed_links_btm.jpg differ diff --git a/images/embed_points_shield.jpg b/images/embed_points_shield.jpg new file mode 100644 index 000000000..f39352428 Binary files /dev/null and b/images/embed_points_shield.jpg differ diff --git a/images/facebook_icon.gif b/images/facebook_icon.gif new file mode 100644 index 000000000..b7ca2fae4 Binary files /dev/null and b/images/facebook_icon.gif differ diff --git a/images/faq-bg.jpg; b/images/faq-bg.jpg; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/faq-bg.jpg; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/feed_icon_achievement.png b/images/feed_icon_achievement.png new file mode 100644 index 000000000..1efa2f241 Binary files /dev/null and b/images/feed_icon_achievement.png differ diff --git a/images/feed_icon_bosskill.png b/images/feed_icon_bosskill.png new file mode 100644 index 000000000..77ffb7b52 Binary files /dev/null and b/images/feed_icon_bosskill.png differ diff --git a/images/feed_icon_criteria.png b/images/feed_icon_criteria.png new file mode 100644 index 000000000..138b2548d Binary files /dev/null and b/images/feed_icon_criteria.png differ diff --git a/images/feed_icon_loot.png b/images/feed_icon_loot.png new file mode 100644 index 000000000..f5d03a61f Binary files /dev/null and b/images/feed_icon_loot.png differ diff --git a/images/filter-grey-button.gif b/images/filter-grey-button.gif new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/filter-grey-button.gif @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/flyout.png b/images/flyout.png index 0926ac29c..df7dac5a6 100644 Binary files a/images/flyout.png and b/images/flyout.png differ diff --git a/images/header_break_bg.jpg b/images/header_break_bg.jpg new file mode 100644 index 000000000..a09ea5b21 Binary files /dev/null and b/images/header_break_bg.jpg differ diff --git a/images/icon-glass-bot.gif b/images/icon-glass-bot.gif index c3205b7b3..d66b12562 100644 Binary files a/images/icon-glass-bot.gif and b/images/icon-glass-bot.gif differ diff --git a/images/icon-glass-left.gif b/images/icon-glass-left.gif index 021b5fbcf..772145b94 100644 Binary files a/images/icon-glass-left.gif and b/images/icon-glass-left.gif differ diff --git a/images/icon-glass-right.gif b/images/icon-glass-right.gif index c5f0c72e0..3250d2bef 100644 Binary files a/images/icon-glass-right.gif and b/images/icon-glass-right.gif differ diff --git a/images/icon-glass0.gif b/images/icon-glass0.gif index 6b0995963..5a5a85f93 100644 Binary files a/images/icon-glass0.gif and b/images/icon-glass0.gif differ diff --git a/images/icons/2v2.jpg b/images/icons/2v2.jpg new file mode 100644 index 000000000..543f87da5 Binary files /dev/null and b/images/icons/2v2.jpg differ diff --git a/images/icons/alert-enabled.gif b/images/icons/alert-enabled.gif new file mode 100644 index 000000000..2bd7e8f74 Binary files /dev/null and b/images/icons/alert-enabled.gif differ diff --git a/images/icons/arrows-left.gif b/images/icons/arrows-left.gif new file mode 100644 index 000000000..d418ade66 Binary files /dev/null and b/images/icons/arrows-left.gif differ diff --git a/images/icons/charselect-add.gif b/images/icons/charselect-add.gif new file mode 100644 index 000000000..ff8bed54b Binary files /dev/null and b/images/icons/charselect-add.gif differ diff --git a/images/icons/charselect-arrow.gif b/images/icons/charselect-arrow.gif new file mode 100644 index 000000000..fa38efa4a Binary files /dev/null and b/images/icons/charselect-arrow.gif differ diff --git a/images/icons/charselect-close1.gif b/images/icons/charselect-close1.gif new file mode 100644 index 000000000..c09e50c61 Binary files /dev/null and b/images/icons/charselect-close1.gif differ diff --git a/images/icons/charselect-close2.gif b/images/icons/charselect-close2.gif new file mode 100644 index 000000000..4e597fe66 Binary files /dev/null and b/images/icons/charselect-close2.gif differ diff --git a/images/icons/class/items/6.gif b/images/icons/class/items/6.gif new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/icons/class/items/6.gif @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/icons/icon-question.gif b/images/icons/icon-question.gif new file mode 100644 index 000000000..387c73aad Binary files /dev/null and b/images/icons/icon-question.gif differ diff --git a/images/icons/top.gif b/images/icons/top.gif index 18e66eed5..d38cea4bc 100644 Binary files a/images/icons/top.gif and b/images/icons/top.gif differ diff --git a/images/index-search.gif b/images/index-search.gif new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/index-search.gif @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/item_list_bg.jpg b/images/item_list_bg.jpg new file mode 100644 index 000000000..0444a32fc Binary files /dev/null and b/images/item_list_bg.jpg differ diff --git a/images/login-black.png; b/images/login-black.png; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/login-black.png; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/lvlbg_alliance.png b/images/lvlbg_alliance.png new file mode 100644 index 000000000..641cab1c8 Binary files /dev/null and b/images/lvlbg_alliance.png differ diff --git a/images/lvlbg_horde.png b/images/lvlbg_horde.png new file mode 100644 index 000000000..2fd16baa0 Binary files /dev/null and b/images/lvlbg_horde.png differ diff --git a/images/lvlbg_propass.png b/images/lvlbg_propass.png new file mode 100644 index 000000000..33e545465 Binary files /dev/null and b/images/lvlbg_propass.png differ diff --git a/images/pin-char.gif b/images/pin-char.gif new file mode 100644 index 000000000..2c2621868 Binary files /dev/null and b/images/pin-char.gif differ diff --git a/images/pose_save_bg.jpg b/images/pose_save_bg.jpg new file mode 100644 index 000000000..159a343fd Binary files /dev/null and b/images/pose_save_bg.jpg differ diff --git a/images/prof_bg.jpg b/images/prof_bg.jpg new file mode 100644 index 000000000..a62d60c17 Binary files /dev/null and b/images/prof_bg.jpg differ diff --git a/images/profile-bg.jpg b/images/profile-bg.jpg index 44376ac45..3804ede1b 100644 Binary files a/images/profile-bg.jpg and b/images/profile-bg.jpg differ diff --git a/images/profile_bg_alliance.jpg b/images/profile_bg_alliance.jpg new file mode 100644 index 000000000..3285045be Binary files /dev/null and b/images/profile_bg_alliance.jpg differ diff --git a/images/profile_bg_horde.jpg b/images/profile_bg_horde.jpg new file mode 100644 index 000000000..ee6f4814c Binary files /dev/null and b/images/profile_bg_horde.jpg differ diff --git a/images/profile_bg_propass.jpg b/images/profile_bg_propass.jpg new file mode 100644 index 000000000..c52a2fd6c Binary files /dev/null and b/images/profile_bg_propass.jpg differ diff --git a/images/profile_bg_sheet_left.jpg b/images/profile_bg_sheet_left.jpg new file mode 100644 index 000000000..cdf18d8ec Binary files /dev/null and b/images/profile_bg_sheet_left.jpg differ diff --git a/images/profile_bg_sheet_right.jpg b/images/profile_bg_sheet_right.jpg new file mode 100644 index 000000000..2831814fe Binary files /dev/null and b/images/profile_bg_sheet_right.jpg differ diff --git a/images/quality0.gif b/images/quality0.gif new file mode 100644 index 000000000..93b9f7efa Binary files /dev/null and b/images/quality0.gif differ diff --git a/images/quality1.png b/images/quality1.png new file mode 100644 index 000000000..e5f9dcd7a Binary files /dev/null and b/images/quality1.png differ diff --git a/images/quality2.png b/images/quality2.png new file mode 100644 index 000000000..198c2de66 Binary files /dev/null and b/images/quality2.png differ diff --git a/images/quality3.png b/images/quality3.png new file mode 100644 index 000000000..e106bd805 Binary files /dev/null and b/images/quality3.png differ diff --git a/images/quality4.png b/images/quality4.png new file mode 100644 index 000000000..89b26e6f5 Binary files /dev/null and b/images/quality4.png differ diff --git a/images/quality5.png b/images/quality5.png new file mode 100644 index 000000000..1ae08bdeb Binary files /dev/null and b/images/quality5.png differ diff --git a/images/relic.jpg b/images/relic.jpg new file mode 100644 index 000000000..6463d3ad8 Binary files /dev/null and b/images/relic.jpg differ diff --git a/images/rss_icon.gif b/images/rss_icon.gif new file mode 100644 index 000000000..87114896d Binary files /dev/null and b/images/rss_icon.gif differ diff --git a/images/sa1.gif; b/images/sa1.gif; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/sa1.gif; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/sa2.gif; b/images/sa2.gif; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/sa2.gif; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/sa3.gif; b/images/sa3.gif; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/sa3.gif; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/sa4.gif; b/images/sa4.gif; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/sa4.gif; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/sbg.gif; b/images/sbg.gif; new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/sbg.gif; @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/search-plate.png b/images/search-plate.png new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/search-plate.png @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/select-char1.jpg b/images/select-char1.jpg new file mode 100644 index 000000000..82e508e53 Binary files /dev/null and b/images/select-char1.jpg differ diff --git a/images/select-topcharlist.gif b/images/select-topcharlist.gif new file mode 100644 index 000000000..1dca97644 Binary files /dev/null and b/images/select-topcharlist.gif differ diff --git a/images/sheet_itemsbg.jpg b/images/sheet_itemsbg.jpg new file mode 100644 index 000000000..4bb9160cb Binary files /dev/null and b/images/sheet_itemsbg.jpg differ diff --git a/images/stats_btns.gif b/images/stats_btns.gif new file mode 100644 index 000000000..352deba92 Binary files /dev/null and b/images/stats_btns.gif differ diff --git a/images/stats_top_bg.jpg b/images/stats_top_bg.jpg new file mode 100644 index 000000000..817d0a779 Binary files /dev/null and b/images/stats_top_bg.jpg differ diff --git a/images/tabard-bg.jpg b/images/tabard-bg.jpg new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/tabard-bg.jpg @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/talent_btn_bg.jpg b/images/talent_btn_bg.jpg new file mode 100644 index 000000000..0ddbaa4a3 Binary files /dev/null and b/images/talent_btn_bg.jpg differ diff --git a/images/talents/subtab-active-left.gif b/images/talents/subtab-active-left.gif index 0d5477edb..121e13025 100644 Binary files a/images/talents/subtab-active-left.gif and b/images/talents/subtab-active-left.gif differ diff --git a/images/talents/subtab-active-lock.gif b/images/talents/subtab-active-lock.gif index 7b6d19586..a9001e1ab 100644 Binary files a/images/talents/subtab-active-lock.gif and b/images/talents/subtab-active-lock.gif differ diff --git a/images/talents/subtab-active-right.gif b/images/talents/subtab-active-right.gif index 7e29678b1..50b0a70a5 100644 Binary files a/images/talents/subtab-active-right.gif and b/images/talents/subtab-active-right.gif differ diff --git a/images/toggle_btns.jpg b/images/toggle_btns.jpg new file mode 100644 index 000000000..09b0cb41d Binary files /dev/null and b/images/toggle_btns.jpg differ diff --git a/images/tournament_adbg.gif b/images/tournament_adbg.gif new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/tournament_adbg.gif @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/tournament_adbgt.gif b/images/tournament_adbgt.gif new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/tournament_adbgt.gif @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/tournament_topspears.png b/images/tournament_topspears.png new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/tournament_topspears.png @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/user-bg.jpg b/images/user-bg.jpg new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/user-bg.jpg @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/user0.jpg b/images/user0.jpg new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/user0.jpg @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/images/user1.jpg b/images/user1.jpg new file mode 100644 index 000000000..e043fff45 --- /dev/null +++ b/images/user1.jpg @@ -0,0 +1,21 @@ + + + + + + + + + +File Not Found + + +Return to the Armory + + +Return to WorldofWarcraft.com + + + + + diff --git a/includes/armory_loader.php b/includes/armory_loader.php index d1a3b9c36..055b299a9 100644 --- a/includes/armory_loader.php +++ b/includes/armory_loader.php @@ -3,7 +3,7 @@ /** * @package World of Warcraft Armory * @version Release Candidate 1 - * @revision 45 + * @revision 46 * @copyright (c) 2009-2010 Shadez * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @@ -31,7 +31,7 @@ die('Error: can not load connector class!'); } -define('DB_VERSION', 'armory_r45'); +define('DB_VERSION', 'armory_r46'); $armory = new Connector; $armory->tpl->template_dir = 'includes/template/'; $armory->tpl->compile_dir = 'includes/cache/'; diff --git a/includes/classes/class.characters.php b/includes/classes/class.characters.php index 804b2001a..a2f97e3f8 100644 --- a/includes/classes/class.characters.php +++ b/includes/classes/class.characters.php @@ -3,7 +3,7 @@ /** * @package World of Warcraft Armory * @version Release Candidate 1 - * @revision 37 + * @revision 46 * @copyright (c) 2009-2010 Shadez * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @@ -26,8 +26,6 @@ die('Direct access to this file not allowed!'); } -session_start(); - Class Characters extends Connector { /** @@ -92,7 +90,7 @@ public function IsCharacter() { return false; } $gmAccount = $this->rDB->selectCell("SELECT `gmlevel` FROM `account` WHERE `id`=? LIMIT 1", $guid['account']); - $showIt = ($gmAccount==$this->armoryconfig['minGmLevelToShow'] || $gmAccount < $this->armoryconfig['minGmLevelToShow']) ? true : false; + $showIt = ($gmAccount == $this->armoryconfig['minGmLevelToShow'] || $gmAccount < $this->armoryconfig['minGmLevelToShow']) ? true : false; if($guid && $showIt) { return true; } @@ -715,6 +713,14 @@ public function ReturnTalentTreesNames($class, $key) { return $tree; } + public function ReturnTalentTreeIcon($class, $tree) { + $icon = $this->aDB->selectCell("SELECT `icon` FROM `talent_icons` WHERE `class`=? AND `spec`=? LIMIT 1", $class, $tree); + if($icon) { + return $icon; + } + return false; + } + public function getCharacterHonorKills() { return $this->GetDataField(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS); } @@ -735,7 +741,7 @@ public function extractCharacterProfessions() { $p[$i] = array( 'name' => $this->aDB->selectCell("SELECT `name_" . $locale . "` FROM `professions` WHERE `id`=? LIMIT 1", $prof['skill']), 'icon' => $this->aDB->selectCell("SELECT `icon` FROM `professions` WHERE `id`=? LIMIT 1", $prof['skill']), - 'skill_line' => $prof['value'] . ' / '. $prof['max'], + 'value' => $prof['value'], 'pct' => Utils::getPercent($prof['max'], $prof['value']) ); $i++; diff --git a/includes/classes/class.mangos.php b/includes/classes/class.mangos.php index 856a83b7b..a14bd1aa7 100644 --- a/includes/classes/class.mangos.php +++ b/includes/classes/class.mangos.php @@ -3,8 +3,8 @@ /** * @package World of Warcraft Armory * @version Release Candidate 1 - * @revision 45 - * @copyright (c) 2009-2010 Shadez + * @revision 46 + * @copyright (c) 2009-2010 Shadez * @license http://opensource.org/licenses/gpl-license.php GNU Public License * * This program is free software; you can redistribute it and/or modify @@ -27,40 +27,7 @@ } Class Mangos extends Connector { - - public $searchTerms; - public $searchCount; - public $searchResults; - - public function getSpellInfo($spellID) { - $tooltip = $this->aDB->selectCell(" - SELECT `tooltip` - FROM `spells` - WHERE `id`=? LIMIT 1", $spellID); - if(!empty($tooltip)) { - return $tooltip; - } - return false; - } - - public function searchCharacters() { - if(!$this->searchTerms) { - return false; - } - if($this->searchCount == true) { - $x = $this->cDB->selectPage($count, " - SELECT `guid` - FROM `characters` - WHERE `name` LIKE ?", '%'.$this->searchTerms.'%'); - return $count; - } - $this->searchResults = $this->cDB->select(" - SELECT `name`, `class`, `race`, `level`, `gender` - FROM `characters` - WHERE `name` LIKE ?", '%'.$this->searchTerms.'%'); - return true; - } - + public function getSkillFromItemID($id) { if($id==0) { return SKILL_UNARMED; @@ -117,42 +84,42 @@ public function DropPercent($percent) { $string = ''; switch($locale) { case 'en_gb': - if($percent>51) { + if($percent > 51) { $string = 'High (100%)'; } - elseif($percent>25) { + elseif($percent > 25) { $string = 'Medium (51-100%)'; } - elseif($percent>15) { + elseif($percent > 15) { $string = 'Low (15-24%)'; } - elseif($percent>1) { + elseif($percent > 1) { $string = 'Very Low(1-2%)'; } - elseif($percent<1) { + elseif($percent < 1) { $string = 'Very Low (0%)'; } - elseif($percent==0) { + elseif($percent == 0) { $string = 'Unknown (0%)'; } break; case 'ru_ru': - if($percent>51) { + if($percent > 51) { $string = 'высокая (100%)'; } - elseif($percent>25) { + elseif($percent > 25) { $string = 'большая (51-100%)'; } - elseif($percent>15) { + elseif($percent > 15) { $string = 'низкая (15-24%)'; } - elseif($percent>1) { + elseif($percent > 1) { $string = 'крайне низкая (1-2%)'; } - elseif($percent<1) { + elseif($percent < 1) { $string = 'крайне низкая (0%)'; } - elseif($percent==0) { + elseif($percent == 0) { $string = 'неизвестно (0%)'; } break; diff --git a/includes/template/achievement_firsts.tpl b/includes/template/achievement_firsts.tpl index a03ea225d..f4b7a74ec 100644 --- a/includes/template/achievement_firsts.tpl +++ b/includes/template/achievement_firsts.tpl @@ -30,10 +30,10 @@ {{$achievement.name}} {{$achievement.description}} -От {{$achievement.charname}} на {{$realmName}} +{{#armory_afirsts_by#}} {{$achievement.charname}} {{#armory_afirsts_on#}}{{$realmName}} {{if $achievement.guildname}}<{{$achievement.guildname}}> {{/if}}{{$achievement.charname}} -изучено на [{{$realmName}}] {{$achievement.timestamp}} +{{#armory_afirsts_earned#}} [{{$realmName}}] {{$achievement.timestamp}} diff --git a/includes/template/character_achievement_main.tpl b/includes/template/character_achievement_main.tpl index c4431bb91..04221dfdb 100644 --- a/includes/template/character_achievement_main.tpl +++ b/includes/template/character_achievement_main.tpl @@ -31,54 +31,41 @@ {{#armory_character_sheet_talents_tab#}} {{#armory_character_sheet_reputaion_tab#}} {{#armory_character_sheet_achievements_tab#}} -{{#armory_character_sheet_statistic_tab#}} - + - + - - -{{#armory_login_to_remember_profile#}} - - - + + {{$pts}} - - - - - - - -{{$character_title_prefix}} -{{$name}}{{$character_title_suffix}} + +{{$realm}} + + + -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} + + + +{{$level}} +{{if $guildName}} + +{{$guildName}} + +{{/if}} {{$character_title_prefix}} {{$name}}{{$character_title_suffix}} -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} - - - -{{$realm}} - diff --git a/includes/template/character_reputation.tpl b/includes/template/character_reputation.tpl index e518f2210..70c9e9a3a 100644 --- a/includes/template/character_reputation.tpl +++ b/includes/template/character_reputation.tpl @@ -31,59 +31,46 @@ {{#armory_character_sheet_talents_tab#}} {{#armory_character_sheet_reputaion_tab#}} {{#armory_character_sheet_achievements_tab#}} -{{#armory_character_sheet_statistic_tab#}} - + - + - - -{{#armory_login_to_remember_profile#}} - - - + + {{$pts}} - - - - - - - -{{$character_title_prefix}} -{{$name}}{{$character_title_suffix}} + +{{$realm}} + + + -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} + + + +{{$level}} +{{if $guildName}} + +{{$guildName}} + +{{/if}} {{$character_title_prefix}} {{$name}}{{$character_title_suffix}} -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} - - - -{{$realm}} - diff --git a/includes/template/character_sheet_info.tpl b/includes/template/character_sheet_info.tpl index 1c62f7f74..54dbe9719 100644 --- a/includes/template/character_sheet_info.tpl +++ b/includes/template/character_sheet_info.tpl @@ -7,7 +7,6 @@ - @@ -61,8 +60,10 @@ {{/if}} calcTalentSpecs(); - setCharSheetUpgradeMenu(); - + /* + // Disable `Upgrade` menu for items + setCharSheetUpgradeMenu(); + */ }); @@ -84,499 +85,459 @@ {{#armory_character_sheet_talents_tab#}} {{#armory_character_sheet_reputaion_tab#}} {{#armory_character_sheet_achievements_tab#}} -{{#armory_character_sheet_statistic_tab#}} - + - - + + - + + +{{$pts}} + + +{{$realm}} -{{#armory_login_to_remember_profile#}} + + - -{{$pts}} - - - + + +{{$level}} - - + +{{if $guildName}} + +{{$guildName}} - +{{/if}} {{$character_title_prefix}} {{$name}}{{$character_title_suffix}} -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} - -{{$character_title_prefix}} -{{$name}}{{$character_title_suffix}} -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} + + - - -{{$realm}} - + + + + +{{#armory_vault_dualtooltips#}} - - - - - - - -{{#armory_character_sheet_upgrade_gear#}} + +{{#armory_character_sheet_health#}}:{{$healthValue}} + +{{$additionalBarInfo.title}}:{{$additionalBarInfo.value}} - - - - - -{{#armory_character_sheet_upgrade_gear#}} + +{{if $characterItems.0.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + - - - - - -{{#armory_character_sheet_upgrade_gear#}} +{{/if}} +{{if $characterItems.1.entry == 0}} + + + - - - - + +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + - - - - - - +{{/if}} +{{if $characterItems.2.entry == 0}} + + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + - - - - - - -{{#armory_character_sheet_upgrade_gear#}} +{{/if}} +{{if $characterItems.3.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.4.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.5.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.6.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.7.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.8.entry == 0}} + + + - - - - + +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.9.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + +{{/if}} +{{if $characterItems.10.entry == 0}} + + + + - - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.11.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + + + + +{{/if}} +{{if $characterItems.12.entry == 0}} + + + - - - - +{{else}} + + -{{#armory_character_sheet_upgrade_gear#}} +{{#armory_character_sheet_upgrade_gear#}} + - - - - - - - - - -{{#armory_character_sheet_talnets_info#}}: - -{{if $disabledDS_1}} -{{#armory_character_sheet_active_dualspec#}} {{/if}} - - - -{{if $dualSpec}} -{{$treeName_0}} +{{if $characterItems.13.entry == 0}} + + + + + {{else}} -{{$treeName}} + + + +{{#armory_character_sheet_upgrade_gear#}} + + + + {{/if}} - -{{if $dualSpec}} -{{$talents_builds_0}} +{{if $characterItems.14.entry == 0}} + + + + + {{else}} -{{$talents_builds}} + + + +{{#armory_character_sheet_upgrade_gear#}} + + + + {{/if}} +{{if $characterItems.15.entry == 0}} + + + + -{{if $dualSpec}} - {{if $dualSpecError}} - - - - - {{#armory_character_sheet_unknown#}} - - 0 / 0 / 0 - - {{else}} - - {{if $disabledDS_0}} - {{#armory_character_sheet_active_dualspec#}} - {{/if}} - - - - {{$treeName_1}} - - {{$talents_builds_1}} - - {{/if}} {{else}} - - - - -{{#armory_character_sheet_unknown#}} - -0 / 0 / 0 + + + +{{#armory_character_sheet_upgrade_gear#}} + + + {{/if}} - +{{if $characterItems.16.entry == 0}} + + + - - - - - - -{{#armory_character_sheet_primary_skills#}}: - - -{{$primary_trade_skill_1.skill_line}} +{{else}} + + + +{{#armory_character_sheet_upgrade_gear#}} - - -{{$primary_trade_skill_2.skill_line}} + - +{{/if}} +{{if $characterItems.17.entry == 0}} + + + - - - - - - - - -{{#armory_character_sheet_health#}}: {{$healthValue}} - - - - -{{$additionalBarInfo.title}}: {{$additionalBarInfo.value}} - - +{{else}} + + + +{{#armory_character_sheet_upgrade_gear#}} + - - - - - - -{{#armory_character_sheet_achievements_tab#}} -{{$pts}}{{#armory_character_sheet_achievement_points_string#}} - - {{#armory_character_sheet_achievements_progress#}} {{$fullCharacterAchievementsCount}}/1054 - - - -{{$achievements_1}}/54{{#achievements_category_1#}} - -{{$achievements_2}}/49{{#achievements_category_2#}} - -{{$achievements_3}}/70{{#achievements_category_3#}} - -{{$achievements_4}}/166{{#achievements_category_4#}} - -{{$achievements_5}}/454{{#achievements_category_5#}} - -{{$achievements_6}}/75{{#achievements_category_6#}} - -{{$achievements_7}}/45{{#achievements_category_7#}} - -{{$achievements_8}}/141{{#achievements_category_8#}} - -{{$achievements_9}}{{#achievements_category_9#}} - - -{{#armory_character_sheet_basic_stats#}} +{{/if}} +{{if $characterItems.18.entry == 0}} + + + - - - - - +{{else}} + + + +{{#armory_character_sheet_upgrade_gear#}} - - - - - - - - - - -{{#armory_character_sheet_basic_stats#}} - - -{{#armory_character_sheet_melee_stats#}} - - -{{#armory_character_sheet_ranged_stats#}} - - -{{#armory_character_sheet_spells_stats#}} - - -{{#armory_character_sheet_defence_stats#}} - - - - - - - - + - - -{{#armory_character_sheet_basic_stats#}} +{{/if}} - - - - - + + + +Сохранение... + +Поза сохранена! - - - - - - + + + +{{#armory_install_flash_player_string#}} + + + + + + + + + - - - -{{#armory_character_sheet_basic_stats#}} - - -{{#armory_character_sheet_melee_stats#}} - - -{{#armory_character_sheet_ranged_stats#}} - - -{{#armory_character_sheet_spells_stats#}} - - -{{#armory_character_sheet_defence_stats#}} - - - + + +{{#armory_character_sheet_list_item_name#}} +{{#armory_character_sheet_level_string#}} +{{#armory_character_sheet_list_gems#}} +{{#armory_character_sheet_list_enchants#}} +{{foreach from=$characterItems item=item}} +{{if $item.entry > 0}} - + + + + +{{$item.name}}{{$item.ilevel}} +{{/if}} +{{/foreach}} + + + + +{{#armory_character_sheet_basic_stats#}} + + + + + + - - - - - - - - - - + - - + + + + + + + +{{$name}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_race race=$race}} {{get_wow_class class=$class}} + + +{{#armory_character_sheet_talnets_info#}} +{{if $dualSpec}} +{{$treeName_0}}{{$talents_builds_0}} + {{if $dualSpecError}} + {{#armory_character_sheet_na_dualspec#}} + {{else}} + {{$treeName_1}}{{$talents_builds_1}} + {{/if}} +{{else}} +{{$treeName}}{{$talents_builds}} +{{#armory_character_sheet_na_dualspec#}} +{{/if}} + + +{{#armory_character_sheet_primary_skills#}} + +{{if $primary_trade_skill_1.name == '' && $primary_trade_skill_2 == ''}} +{{#armory_character_sheet_na_profession#}} +{{else}} + {{if $primary_trade_skill_1.name == ''}} + {{#armory_character_sheet_na_profession#}} + {{else}} + + + + + {{$primary_trade_skill_1.name}} + {{$primary_trade_skill_1.value}} + + + {{/if}} + + {{if $primary_trade_skill_2.name == ''}} + {{#armory_character_sheet_na_profession#}} + {{else}} + + + + + {{$primary_trade_skill_2.name}} + {{$primary_trade_skill_2.value}} + + + {{/if}} +{{/if}} + + + + + + +{{#armory_character_sheet_recent_activity#}} - -{{#armory_character_sheet_total_honor_kills#}}: {{$playerHonorKills}} + diff --git a/includes/template/character_talents_start.tpl b/includes/template/character_talents_start.tpl index 10b4d2b72..ca72bd1e1 100644 --- a/includes/template/character_talents_start.tpl +++ b/includes/template/character_talents_start.tpl @@ -72,54 +72,41 @@ {{#armory_character_sheet_talents_tab#}} {{#armory_character_sheet_reputaion_tab#}} {{#armory_character_sheet_achievements_tab#}} -{{#armory_character_sheet_statistic_tab#}} - + - - + + - - -{{#armory_login_to_remember_profile#}} - - - + + {{$pts}} - - - - - - - -{{$character_title_prefix}} -{{$name}}{{$character_title_suffix}} + +{{$realm}} + + + -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} + + + +{{$level}} +{{if $guildName}} + +{{$guildName}} + +{{/if}} {{$character_title_prefix}} {{$name}}{{$character_title_suffix}} -{{if $guildName}}{{$guildName}}{{/if}}{{#armory_character_sheet_level_string#}} {{$level}} {{get_wow_class class=$class}} {{get_wow_race race=$race}} - - - -{{$realm}} - diff --git a/includes/template/login_page.tpl b/includes/template/login_page.tpl index 11634a350..0fb7e0079 100644 --- a/includes/template/login_page.tpl +++ b/includes/template/login_page.tpl @@ -9,8 +9,8 @@ - - + + {{#armory_login_password_label#}} - + + {{if $error_password}} + + + + {{$error_password}} + + + + + {{/if}} {{#armory_login_auth_button#}} diff --git a/includes/template/overall_header.tpl b/includes/template/overall_header.tpl index 38cf64055..5b2591b8f 100644 --- a/includes/template/overall_header.tpl +++ b/includes/template/overall_header.tpl @@ -2,16 +2,16 @@ + {{#armory_site_title#}} diff --git a/includes/template/vault_select_character.tpl b/includes/template/vault_select_character.tpl index 92dfb87ac..af92efc9b 100644 --- a/includes/template/vault_select_character.tpl +++ b/includes/template/vault_select_character.tpl @@ -35,13 +35,14 @@ }); } - - -Выбор персонажа + + + +{{#armory_vault_character_select#}} -Мои персонажи +{{#armory_vault_my_characters#}} @@ -52,61 +53,65 @@ Level {{$selected_char.level}} {{get_wow_race race=$selected_char.race}} {{get_wow_class class=$selected_char.class}}{{$realm}} - -Включить подсказки второго уровня + +{{#armory_vault_dualtooltips#}} {{foreach from=$selectedCharacters item=char}} {{if $char.name}} - + + + + + {{$char.name}} ({{$char.level}}) - {{$realm}} {{else}} -Свободная ячейка для персонажа +{{#armory_vault_free_char_slot#}} {{/if}} {{/foreach}} - - + + -{{$_wow_login}} +{{$_wow_login}} - - + + - -Имя персонажаОчки...УровеньРасаКлассФракцияГильдияИгровой мирСоответствие + +Имя персонажаОчки...УровеньРасаКлассФракцияГильдияИгровой мирСоответствие {{foreach from=$allCharacters item=char}} -{{$char.name}} +{{$char.name}} {{if $disallowAddNewChar}} - + {{else}} - + {{/if}} -{{$char.name}} -00 -{{$char.level}} -{{get_wow_race race=$char.race}} -{{get_wow_class class=$char.class}} -{{if $char.guildname}}{{$char.guildname}}{{/if}} -{{$realm}} -100% +{{$char.name}} +00 +{{$char.level}} +{{get_wow_race race=$char.race}} +{{get_wow_class class=$char.class}} +{{if $char.guildname}}{{$char.guildname}}{{/if}} +{{$realm}} +100% {{/foreach}} - + diff --git a/includes/template/vault_select_character_loader.tpl b/includes/template/vault_select_character_loader.tpl new file mode 100644 index 000000000..062f7ac79 --- /dev/null +++ b/includes/template/vault_select_character_loader.tpl @@ -0,0 +1,35 @@ + + +{{#armory_vault_my_characters#}} + + + + + +{{$selected_char.name}} + +Level {{$selected_char.level}} {{get_wow_race race=$selected_char.race}} {{get_wow_class class=$selected_char.class}}{{$realm}} + + + +{{#armory_vault_dualtooltips#}} + + +{{foreach from=$selectedCharacters item=char}} + +{{if $char.name}} + + + + + +{{$char.name}} + ({{$char.level}}) - {{$realm}} +{{else}} +{{#armory_vault_free_char_slot#}} +{{/if}} + +{{/foreach}} + + + \ No newline at end of file diff --git a/models/flash/ModelViewer3.swf b/models/flash/ModelViewer3.swf new file mode 100644 index 000000000..b41e024d8 Binary files /dev/null and b/models/flash/ModelViewer3.swf differ diff --git a/models/images/logo/armory-logo-de.png b/models/images/logo/armory-logo-de.png new file mode 100644 index 000000000..72206c622 Binary files /dev/null and b/models/images/logo/armory-logo-de.png differ diff --git a/models/images/logo/armory-logo-en.png b/models/images/logo/armory-logo-en.png new file mode 100644 index 000000000..4ac8dbf05 Binary files /dev/null and b/models/images/logo/armory-logo-en.png differ diff --git a/models/images/logo/armory-logo-es.png b/models/images/logo/armory-logo-es.png new file mode 100644 index 000000000..60e72fee8 Binary files /dev/null and b/models/images/logo/armory-logo-es.png differ diff --git a/models/images/logo/armory-logo-fr.png b/models/images/logo/armory-logo-fr.png new file mode 100644 index 000000000..430319b2a Binary files /dev/null and b/models/images/logo/armory-logo-fr.png differ diff --git a/models/images/logo/armory-logo-ru.png b/models/images/logo/armory-logo-ru.png new file mode 100644 index 000000000..22e9c9cc0 Binary files /dev/null and b/models/images/logo/armory-logo-ru.png differ diff --git a/sql/updates/armory_r46_talent_icons.sql b/sql/updates/armory_r46_talent_icons.sql new file mode 100644 index 000000000..072b287df --- /dev/null +++ b/sql/updates/armory_r46_talent_icons.sql @@ -0,0 +1,40 @@ +UPDATE `db_version` SET `version` = 'armory_r46'; + +DROP TABLE IF EXISTS `talent_icons`; +CREATE TABLE `talent_icons` ( + `class` int(11) NOT NULL, + `spec` int(11) NOT NULL, + `icon` varchar(50) NOT NULL, + PRIMARY KEY (`class`,`spec`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +INSERT INTO `talent_icons` VALUES (1, 0, 'ability_rogue_eviscerate'); +INSERT INTO `talent_icons` VALUES (1, 1, 'ability_warrior_innerrage'); +INSERT INTO `talent_icons` VALUES (1, 2, 'inv_shield_06'); +INSERT INTO `talent_icons` VALUES (2, 0, 'spell_holy_holybolt'); +INSERT INTO `talent_icons` VALUES (2, 1, 'spell_holy_devotionaura'); +INSERT INTO `talent_icons` VALUES (2, 2, 'spell_holy_auraoflight'); +INSERT INTO `talent_icons` VALUES (3, 0, 'ability_hunter_beasttaming'); +INSERT INTO `talent_icons` VALUES (3, 1, 'ability_marksmanship'); +INSERT INTO `talent_icons` VALUES (3, 2, 'ability_hunter_swiftstrike'); +INSERT INTO `talent_icons` VALUES (4, 0, 'ability_rogue_eviscerate'); +INSERT INTO `talent_icons` VALUES (4, 1, 'ability_backstab'); +INSERT INTO `talent_icons` VALUES (4, 2, 'ability_stealth'); +INSERT INTO `talent_icons` VALUES (5, 0, 'spell_holy_wordfortitude'); +INSERT INTO `talent_icons` VALUES (5, 1, 'spell_holy_guardianspirit'); +INSERT INTO `talent_icons` VALUES (5, 2, 'spell_shadow_shadowwordpain'); +INSERT INTO `talent_icons` VALUES (6, 0, 'spell_deathknight_bloodpresence'); +INSERT INTO `talent_icons` VALUES (6, 1, 'spell_deathknight_frostpresence'); +INSERT INTO `talent_icons` VALUES (6, 2, 'spell_deathknight_unholypresence'); +INSERT INTO `talent_icons` VALUES (7, 0, 'spell_nature_lightning'); +INSERT INTO `talent_icons` VALUES (7, 1, 'spell_nature_lightningshield'); +INSERT INTO `talent_icons` VALUES (7, 2, 'spell_nature_magicimmunity'); +INSERT INTO `talent_icons` VALUES (8, 0, 'spell_holy_magicalsentry'); +INSERT INTO `talent_icons` VALUES (8, 1, 'spell_fire_firebolt02'); +INSERT INTO `talent_icons` VALUES (8, 2, 'spell_frost_frostbolt02'); +INSERT INTO `talent_icons` VALUES (9, 0, 'spell_shadow_deathcoil'); +INSERT INTO `talent_icons` VALUES (9, 1, 'spell_shadow_metamorphosis'); +INSERT INTO `talent_icons` VALUES (9, 2, 'spell_shadow_rainoffire'); +INSERT INTO `talent_icons` VALUES (11, 0, 'spell_nature_starfall'); +INSERT INTO `talent_icons` VALUES (11, 1, 'ability_racial_bearform'); +INSERT INTO `talent_icons` VALUES (11, 2, 'spell_nature_healingtouch'); \ No newline at end of file
-{{#armory_character_sheet_health#}}: {{$healthValue}} -
-{{$additionalBarInfo.title}}: {{$additionalBarInfo.value}} -
+ {{$error_password}} +
-Включить подсказки второго уровня +
+{{#armory_vault_dualtooltips#}}
+{{#armory_vault_dualtooltips#}} +