diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/WEB-INF/web.xml b/gemp-lotr/gemp-lotr-web/src/main/webapp/WEB-INF/web.xml
index 527116b3d..66690f4f2 100644
--- a/gemp-lotr/gemp-lotr-web/src/main/webapp/WEB-INF/web.xml
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/WEB-INF/web.xml
@@ -2,4 +2,8 @@
lotro-web
+
+ jsp
+ *.html
+
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/deckBuild.css b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/deckBuild.css
new file mode 100644
index 000000000..3eff1aec8
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/deckBuild.css
@@ -0,0 +1,75 @@
+body {
+ font-size: 12px;
+}
+
+.borderOverlay {
+ border: 0px solid #000000;
+}
+
+.foilOverlay {
+ opacity: 0.2;
+}
+
+.selectableCard > .borderOverlay {
+ border: 2px solid #00ff00;
+ cursor: pointer;
+}
+
+.selectedCard > .borderOverlay {
+ border: 2px solid #00cccc;
+}
+
+.cardCount {
+ width: 20px;
+ height: 18px;
+ background-color: #000000;
+ color: #ffffff;
+ font-size: 120%;
+ font-weight: bolder;
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ opacity: 0.7;
+}
+
+.ui-layout-east {
+ width: 350px;
+}
+
+#manageDecks {
+ color: #ffffff;
+ font-size: 180%;
+}
+
+#editingDeck {
+ vertical-align: top;
+ padding-left: 3px;
+}
+
+#deckStats {
+ color: #ffffff;
+}
+
+.ui-button-text-only .ui-button-text {
+ font-size: 70%;
+}
+
+#set {
+ width: 120px;
+}
+
+#cardType {
+ width: 100px;
+}
+
+#fullFiltering select {
+ font-size: 80%;
+}
+
+#fullFiltering input {
+ font-size: 80%;
+}
+
+#filtering select {
+ font-size: 80%;
+}
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/game.css b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/game.css
new file mode 100644
index 000000000..e1f663830
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/game.css
@@ -0,0 +1,299 @@
+body {
+ font-size: 12px;
+}
+
+.deckSize {
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 42px;
+ height: 42px;
+ background-image: url('images/deck-42.png');
+}
+
+.handSize {
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 42px;
+ height: 42px;
+ background-image: url('images/hand-42.png');
+}
+
+.threatsSize {
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 42px;
+ height: 42px;
+ background-image: url('images/threats-42.png');
+}
+
+.discardSize {
+ display: none;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 42px;
+ height: 42px;
+ background-image: url('images/discard-42.png');
+}
+
+.deadPileSize {
+ display: none;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 42px;
+ height: 42px;
+ background-image: url('images/deadPile-42.png');
+}
+
+.adventureDeckSize {
+ display: none;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 42px;
+ height: 42px;
+ background-image: url('images/adventureDeck-42.png');
+}
+
+.showStats {
+ display: table-cell;
+}
+
+.borderOverlay {
+ border: solid #000000;
+}
+
+.highlightBorderOverlay {
+ border: solid #ffffff;
+}
+
+.foilOverlay {
+ opacity: 0.2;
+}
+
+.cardHint {
+ display: inline;
+ color: #6f6fff;
+ cursor: pointer;
+}
+
+.cardStrength {
+ text-align: center;
+ font-weight: bolder;
+ color: #ffffff;
+}
+
+.cardVitality {
+ text-align: center;
+ font-weight: bolder;
+ color: #ffffff;
+}
+
+.cardSiteNumber {
+ text-align: center;
+ font-weight: bolder;
+ color: #ffffff;
+}
+
+.cardResistance {
+ text-align: center;
+ font-weight: bolder;
+ color: #ffffff;
+}
+
+.selectableCard > .borderOverlay {
+ border-color: #7faf7f;
+ cursor: pointer;
+}
+
+.actionableCard > .borderOverlay {
+ border-color: #7f7fff;
+ cursor: pointer;
+}
+
+.selectedCard > .borderOverlay {
+ border-color: #009f9f;
+}
+
+.stats {
+ text-align: center;
+ padding: 2px;
+}
+
+.fpArchery {
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ background-image: url('images/fpArchery.png');
+ background-repeat: no-repeat;
+ color: #007777;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 30px;
+ height: 30px;
+}
+
+.shadowArchery {
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ background-image: url('images/shadowArchery.png');
+ background-repeat: no-repeat;
+ color: #007777;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 30px;
+ height: 30px;
+}
+
+.move {
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ background-image: url('images/move.png');
+ background-repeat: no-repeat;
+ color: #007777;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 30px;
+ height: 30px;
+}
+
+.player {
+ color: #ffffff;
+ position: relative;
+ z-index: 50;
+}
+
+.player.current {
+ background-color: #ffffff;
+ color: #000000;
+}
+
+.playerStats {
+ color: #ffffff;
+}
+
+.playerStats .clickable {
+ color: #9f9fff;
+ cursor: pointer;
+}
+
+.phase {
+ color: #ffffff;
+ font-size: 120%;
+}
+
+.twilightPool {
+ float: right;
+ font-size: 30px;
+ width: 40px;
+ border-radius: 7px;
+ border: 1px solid #ffffff;
+ background-color: #000000;
+ color: #ffffff;
+ padding: 2px;
+ text-align: right;
+}
+
+.skirmish {
+}
+
+.fpDamageBonus, .shadowDamageBonus {
+ border-radius: 6px;
+ text-align: center;
+ vertical-align: middle;
+ background-color: #cccccc;
+ opacity: 0.7;
+ color: #000000;
+ font-size: 180%;
+}
+
+.fpStrength, .shadowStrength {
+ border-radius: 6px;
+ text-align: center;
+ vertical-align: middle;
+ background-color: #ffffff;
+ opacity: 0.7;
+ color: #000000;
+ font-size: 300%;
+}
+
+.fpStrength.overwhelmed {
+ border-radius: 6px;
+ text-align: center;
+ vertical-align: middle;
+ background-color: #ff3333;
+ opacity: 0.7;
+ color: #000000;
+ font-size: 300%;
+}
+
+#chatBox {
+ font-size: 90%;
+}
+
+.chatMessage {
+ color: #3fafff;
+}
+
+.systemMessage {
+ color: #5f5f5f;
+ font-size: 80%;
+}
+
+.gameMessage {
+ padding-top: 2px;
+ font-size: 80%;
+}
+
+.warningMessage {
+ color: #ff0000;
+}
+
+.ui-tabs-nav li {
+ font-size: 70%;
+}
+
+#settingsBox label {
+ font-size: 70%;
+}
+
+.clock {
+ float: right;
+ font-size: 100%;
+}
+
+.alertButtons .ui-button-text-only .ui-button-text {
+ font-size: 70%;
+ padding: .2em .5em;
+}
+
+.ui-button-text-only.slimButton .ui-button-text {
+ font-size: 70%;
+ padding: .2em .5em;
+}
+
+.ui-tabs .ui-tabs-panel.slimPanel {
+ padding: 4px;
+}
+
+.ui-tabs .ui-tabs-nav li a.slimTab {
+ padding-left: 3px;
+ padding-right: 3px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/hall.css b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/hall.css
new file mode 100644
index 000000000..c90639e43
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/hall.css
@@ -0,0 +1,160 @@
+body {
+ font-size: 12px;
+ background-color: #000000;
+}
+
+.eventHeader {
+ font-size: 120%;
+ font-weight: bolder;
+ background-color: #666666;
+}
+
+.leagueName, #stats .period, .tournamentName, .playerStatHeader {
+ font-size: 200%;
+ font-weight: bolder;
+}
+
+.serieName {
+ font-size: 150%;
+ font-weight: bolder;
+}
+
+.borderOverlay {
+ border: 2px solid #000000;
+}
+
+.foilOverlay {
+ opacity: 0.2;
+}
+
+.cardHint {
+ display: inline;
+ color: #6f6fff;
+ cursor: pointer;
+}
+
+.clickableFormat {
+ cursor: pointer;
+ color: #6f6fff;
+}
+
+.pocket {
+ background-color: #000000;
+ border: 1px solid #ffffff;
+ color: #ffffff;
+ font-size: 90%;
+ font-weight: bolder;
+ text-align: right;
+ opacity: 1;
+}
+
+.cardCount {
+ width: 20px;
+ height: 18px;
+ background-color: #000000;
+ color: #ffffff;
+ font-size: 120%;
+ font-weight: bolder;
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ opacity: 0.7;
+}
+
+.tableFormatName {
+ text-align: center;
+ font-weight: bold;
+ font-size: 100%;
+}
+
+.tableStatus {
+ text-align: center;
+ font-style: italic;
+ font-size: 100%;
+}
+
+.tablePlayer {
+ text-align: center;
+}
+
+.winningPlayer {
+ font-weight: bold;
+ font-size: 110%;
+}
+
+.losingPlayer {
+ font-size: 80%;
+}
+
+.chatMessage {
+ color: #ffffff;
+}
+
+.systemMessage {
+ color: #5f5f5f;
+}
+
+.warningMessage {
+ color: #ff0000;
+}
+
+.chatUser {
+ color: #ffffff;
+}
+
+.systemMessage > .timestamp {
+ display: inline;
+ color: #5f5f5f;
+}
+
+.timestamp {
+ display: inline;
+ color: #cfcfcf;
+}
+
+#disclaimer {
+ color: #ffffff;
+ font-size: 80%;
+}
+
+#latestNews {
+ color: #ffffff;
+ font-size: 90%;
+}
+
+#motd {
+ color: #ffffff;
+ font-size: 90%;
+}
+
+table.tables {
+ width: 100%;
+}
+
+table.tables td, table.tables th {
+ padding: 2px;
+ border: 1px solid white;
+}
+
+.ui-tabs-nav li {
+ font-size: 70%;
+}
+
+.ui-button-text-only .ui-button-text {
+ font-size: 70%;
+ padding: .2em .5em;
+}
+
+.standings td, .standings th {
+ padding: 2px;
+ border: 1px solid white;
+}
+
+.gameHistory td, .gameHistory th {
+ padding: 2px;
+ border: 1px solid white;
+}
+
+.userList {
+ border-left: 1px solid #FFFFFF;
+}
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/merchant.css b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/merchant.css
new file mode 100644
index 000000000..d25847c16
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/css/gemp-001/merchant.css
@@ -0,0 +1,75 @@
+body {
+ font-size: 12px;
+}
+
+.borderOverlay {
+ border: 0px solid #000000;
+}
+
+.foilOverlay {
+ opacity: 0.2;
+}
+
+.buyPrice.ui-state-disabled, .sellPrice.ui-state-disabled, .tradeFoil {
+ opacity: 0.6;
+}
+
+.owned {
+ background-color: #000000;
+ border: 1px solid #ffffff;
+ color: #ffffff;
+ font-size: 220%;
+ font-weight: bolder;
+ display: table-cell;
+ text-align: center;
+ vertical-align: middle;
+ opacity: 0.7;
+}
+
+.pocket {
+ background-color: #000000;
+ border: 1px solid #ffffff;
+ color: #ffffff;
+ font-size: 100%;
+ font-weight: bolder;
+ text-align: right;
+ opacity: 1;
+}
+
+.hideMerchant {
+ color: #ffffff;
+ text-align: right;
+}
+
+.countDiv {
+ color: #ffffff;
+ text-align: right;
+}
+
+.buyPrice, .sellPrice, .tradeFoil {
+ opacity: 0.9;
+}
+
+.ui-button-text-only .ui-button-text {
+ font-size: 70%;
+}
+
+#set {
+ width: 120px;
+}
+
+#cardType {
+ width: 100px;
+}
+
+#fullFiltering select {
+ font-size: 100%;
+}
+
+#fullFiltering input {
+ font-size: 100%;
+}
+
+#filtering select {
+ font-size: 100%;
+}
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/deckBuild.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/deckBuild.html
index 72100ba4f..7c71af804 100644
--- a/gemp-lotr/gemp-lotr-web/src/main/webapp/deckBuild.html
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/deckBuild.html
@@ -1,136 +1,21 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%
+response.setHeader("Cache-Control","no-cache");
+response.setHeader("Pragma","no-cache");
+response.setDateHeader ("Expires", -1);
+%>
Gemp-LotR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ <%@ include file="js.inc" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+<%@ include file="js.inc" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+<%@ include file="js.inc" %>
-
-
-
-
-
+ <%@ include file="js.inc" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gemp-013/common.js b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gemp-013/common.js
index ab5e4b3e9..23945b085 100644
--- a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gemp-013/common.js
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gemp-013/common.js
@@ -27,3 +27,25 @@ function iterObj(obj, func) {
}
}
}
+
+function getUrlParam(param) {
+ var search = window.location.search.substring(1);
+ if (search.indexOf('&') > -1) {
+ var params = search.split('&');
+ for (var i = 0; i < params.length; i++) {
+ var key_value = params[i].split('=');
+ if (key_value[0] == param) return key_value[1];
+ }
+ } else {
+ var params = search.split('=');
+ if (params[0] == param) return params[1];
+ }
+ return null;
+}
+
+function getMapSize(map) {
+ var size = 0, key;
+ for (key in map)
+ if (map.hasOwnProperty(key)) size++;
+ return size;
+}
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/leagueAdmin.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/leagueAdmin.html
index 8fe9ff284..15c98b47b 100644
--- a/gemp-lotr/gemp-lotr-web/src/main/webapp/leagueAdmin.html
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/leagueAdmin.html
@@ -1,10 +1,12 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%
+response.setHeader("Cache-Control","no-cache");
+response.setHeader("Pragma","no-cache");
+response.setDateHeader ("Expires", -1);
+%>
Gemp-LotR League Administration
-
-
-
-
-
-
-
+ <%@ include file="js.inc" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ <%@ include file="js.inc" %>