VERSION 2

This commit is contained in:
phil 2014-06-24 21:07:11 +02:00
parent 1bcfb52b9e
commit c2ca780c11
109 changed files with 18462 additions and 12046 deletions

BIN
static/images/sort_asc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/images/sort_both.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/images/sort_desc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,20 @@
// global
// var ikrpg
var ikrpg = ikrpg || {};
(function () {
'use strict';
ikrpg.index = ikrpg.index || {};
ikrpg.index.filter = {};
ikrpg.index.filter.categories = function (category, subcategory) {
return function (obj) { return obj.category == category && obj.subcategory == subcategory; };
}
ikrpg.index.filter.publication = function (publication) {
return function (obj) { return obj.publication == publication; };
}
})();

View file

@ -1,58 +0,0 @@
(function() {
function addListener(elem, event, f) {
if (elem.addEventListener) elem.addEventListener(event, f, false);
else elem.attachEvent("on"+event, f);
}
function expand() {
var jsOnloads = document.querySelectorAll("a.js-expandable");
for(var index = 0; index < jsOnloads.length; index++) {
var jsOnload = jsOnloads.item(index)
, body = document.querySelector("body")
, availableWidth = parseFloat(window.getComputedStyle(body)["width"], 10)
, article = body.querySelector("article")
, style = window.getComputedStyle(article)
, iniWidth = parseFloat(style["width"], 10)
, paddingLeft = parseFloat(style["paddingLeft"], 10)
, maxWidth = availableWidth - 2 * paddingLeft;
function resize(event) {
event.preventDefault();
var width = parseFloat(style["width"], 10)
, newWidth = (width >= maxWidth-30) ? iniWidth : maxWidth
, text = (width >= maxWidth-30) ? "&#xE012;" : "&#xE014;";
article.style["width"] = newWidth.toString()+"px";
jsOnload.innerHTML = text;
}
function over(event) {
event.preventDefault();
var width = parseFloat(style["width"], 10);
if (width == iniWidth)
article.style["width"] = (iniWidth+30).toString()+"px";
else if (width == maxWidth)
article.style["width"] = (maxWidth-30).toString()+"px";
}
function out(event) {
event.preventDefault();
var width = parseFloat(style["width"], 10);
if (width == iniWidth+30)
article.style["width"] = iniWidth.toString()+"px";
else if (width == maxWidth-30)
article.style["width"] = maxWidth.toString()+"px";
}
addListener(jsOnload, "mouseover", over);
addListener(jsOnload, "mouseout", out);
addListener(jsOnload, "click", resize);
}
}
if (window.addEventListener) window.addEventListener("DOMContentLoaded", expand, false);
else window.attachEvent("onload", expand);
}());

211
static/javascripts/foo.js Normal file
View file

@ -0,0 +1,211 @@
function addListener(elem, event, f) {
if (elem.addEventListener) elem.addEventListener(event, f, false);
else elem.attachEvent("on"+event, f);
}
function Heroic(Hero) {
var self = this;
self.search = "";
self.url = function() {
document.location.search = self.search;
};
self.redirect = function(link) {
link.href = self.url();
link.click();
};
self.switchWeapons = function() {
var r1m1 = Hero.r1m1;
var r2m1 = Hero.r2m1;
var r1m2 = Hero.r1m2;
var r2 = Hero.r2;
var m2 = Hero.m2;
if (r1m1 == true) { Hero.r1m1 = false; Hero.r2m1 = true; }
else if (r2m1 == true) { Hero.r2m1 = false; Hero.r1m2 = true; }
else if (r1m2 == true) { Hero.r1m2 = false; Hero.r2 = true; }
else if (r2 == true) { Hero.r2 = false; Hero.m2 = true; }
else if (m2 == true) { Hero.m2 = false; Hero.r1m1 = true; }
else { Hero.r1m1 = true; }
document.location.search = encodeURIComponent(JSON.stringify(Hero));
};
self.bind = function() {
var query = window.location.search;
var Query = (query == "") ? {} : JSON.parse(unescape(query.substring(1)));
for (attr in Query) Hero[attr] = Query[attr];
var isArray = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Array]"; };
var isBoolean = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Boolean]"; };
var isDefined = function(someVar) { return typeof someVar !== "undefined" && someVar != null; };
var isString = function(someVar) { return typeof someVar === "string"; };
var isNumber = function(someVar) { return typeof someVar === "number"; };
var isObject = function(someVar) { return typeof someVar === "object"; };
var observe;
if (window.attachEvent) observe = function (element, event, handler) { element.attachEvent('on'+event, handler); };
else observe = function (element, event, handler) { element.addEventListener(event, handler, false); };
var resizeTextarea = function(textarea) {
return function() {
textarea.style.height = "auto";
textarea.style.height = (textarea.scrollHeight)+"px";
};
};
var delayedTextareaResize = function(textarea) {
return function() { window.setTimeout(resizeTextarea(textarea), 0); };
};
var autoresizableTextarea = function(textarea) {
observe(textarea, "change", resizeTextarea(textarea));
observe(textarea, "cut", delayedTextareaResize(textarea));
observe(textarea, "paste", delayedTextareaResize(textarea));
observe(textarea, "drop", delayedTextareaResize(textarea));
observe(textarea, "keydown", delayedTextareaResize(textarea));
};
var redirect = function() {
self.search = encodeURIComponent(JSON.stringify(Hero));
};
var initialize = function() {
var textareas = document.querySelectorAll("textarea");
var fillOut = function(attribute, value) {
if (isString(value) || isNumber(value)) {
var element = document.querySelector("input#"+attribute);
if (element != null && isDefined(element.value)) {
element.value = value;
if (element.nodeName == "TEXTAREA") resizeTextarea(element)();
}
} else if (isObject(value)) {
var parent = document.querySelector("#"+attribute);
for (key in value) {
var child = parent.querySelector("input."+key+", textarea."+key);
if (child != null && isDefined(child.value)) {
child.value = value[key];
if (child.nodeName == "TEXTAREA") resizeTextarea(child)();
}
}
}
};
var saveOnChange = function(attribute, value) {
var updateSearchString;
if (isString(value) || isNumber(value)) {
var input = document.querySelector("input#"+attribute);
updateSearchString = function() {
Hero[attribute] = input.value;
//Hero["focus"] = attribute;
redirect();
};
if (isDefined(input)) {
//input.addEventListener("change", updateSearchString, false);
addListener(input, "change", updateSearchString);
}
} else if (isObject(value)) {
var parent = document.querySelector("#"+attribute);
updateSearchString = function(key, input) {
return function() {
Hero[attribute][key] = input.value;
//Hero["focus"] = attribute;
redirect();
};
};
for (key in value) {
var child = parent.querySelector("input."+key+", textarea."+key);
if (isDefined(child)) { observe(child, "change", updateSearchString(key, child)); }
}
}
};
var showWeapons = function(hero) {
var setDisplay = function(element, bool) { if (isDefined(element.style)) element.style.display = (bool) ? "block" : "none"; };
var showElement = function(element) { setDisplay(element, true); };
var hideElement = function(element) { setDisplay(element, false); };
var showElements = function(array) { if (isDefined(array.forEach)) array.forEach(showElement); };
var hideElements = function(array) { if (isDefined(array.forEach)) array.forEach(hideElement); };
var r1m1 = document.querySelector("div#r1m1");
var r2m1 = document.querySelector("div#r2m1");
var r1m2 = document.querySelector("div#r1m2");
var r2 = document.querySelector("div#r2");
var m2 = document.querySelector("div#m2");
var rat1 = document.querySelector("div#rat1");
var rat2 = document.querySelector("div#rat2");
var mat1 = document.querySelector("div#mat1");
var mat2 = document.querySelector("div#mat2");
var mat3 = document.querySelector("div#mat3");
if (isBoolean(hero.r1m1) && hero.r1m1 == true) {
showElements([ r1m1, rat1, mat2 ]);
hideElements([ r2m1, r1m2, r2, m2, mat1, rat2, mat3 ]);
} else if (isBoolean(hero.r2m1) && hero.r2m1 == true) {
showElements([ r2m1, rat1, rat2, mat3 ]);
hideElements([ r1m1, r1m2, r2, m2, mat1, mat2 ]);
} else if (isBoolean(hero.r1m2) && hero.r1m2 == true) {
showElements([ r1m2, rat1, mat2, mat3 ]);
hideElements([ r1m1, r2m1, r2, m2, mat1, rat2 ]);
} else if (isBoolean(hero.r2) && hero.r2 == true) {
showElements([ r2, rat1, rat2 ]);
hideElements([ r1m1, r2m1, r1m2, m2, mat1, mat2, mat3 ]);
} else if (isBoolean(hero.m2) && hero.m2 == true) {
showElements([ m2, mat1, mat2 ]);
hideElements([ r1m1, r2m1, r1m2, r2, rat1, rat2, mat3 ]);
}
};
//var focusLastInput = function(hero) {
// if (isDefined(hero["focus"])) {
// var input = document.querySelector("input#"+hero["focus"]);
// if (input == null) input = document.querySelector("#"+hero["focus"]+" input");
// if (input != null) { input.focus(); input.scrollIntoView(); }
// }
//};
var setPortrait = function(hero) {
var portrait = hero["portrait"]
, portraitDiv = document.querySelector("#portrait");
if (portrait && portraitDiv) {
var url = portrait["url"]
, x = portrait["x"]
, y = portrait["y"]
, size = portrait["size"];
if (url != null && x != null && y != null && size != null) {
var sheet = document.querySelector("div.sheet");
if (sheet) {
sheet.style["backgroundImage"] = "url("+url+")";
sheet.style["backgroundPosition"] = x+"px "+y+"px";
sheet.style["backgroundSize"] = isNaN(parseInt(size, 10)) ? size : size+"px";
}
}
}
};
for (var i = 0; i < textareas.length; i++) { autoresizableTextarea(textareas[i]); }
showWeapons(Hero);
for (attribute in Hero) { fillOut(attribute, Hero[attribute]); }
for (attribute in Hero) { saveOnChange(attribute, Hero[attribute]); }
setPortrait(Hero);
//focusLastInput(Hero);
//var names = document.querySelectorAll("section > input.name");
//for (name in names) { names[name].value = Hero["name"]; }
var displayPortrait = function(portrait, value, pointerEvent) {
return function(event) {
event.preventDefault();
event.stopPropagation();
var inputs = portrait.querySelectorAll("input");
for (var index = 0; index < inputs.length; index++) {
var input = inputs.item(index);
input.style["display"] = value;
portrait.style["pointerEvents"] = pointerEvent;
}
};
};
var portrait = document.querySelector("#portrait");
if (portrait != null) {
addListener(portrait, "click", displayPortrait(portrait, "block", "none"));
var button = portrait.querySelector("input[type='button']");
addListener(button, "click", function(event) { displayPortrait(portrait, "none", "auto")(event); setPortrait(Hero); });
}
redirect();
};
document.addEventListener("DOMContentLoaded", initialize, false);
};
}

View file

@ -0,0 +1,211 @@
function addListener(elem, event, f) {
if (elem.addEventListener) elem.addEventListener(event, f, false);
else elem.attachEvent("on"+event, f);
}
function Heroic(Hero) {
var self = this;
self.search = "";
self.url = function() {
document.location.search = self.search;
};
self.redirect = function(link) {
link.href = self.url();
link.click();
};
self.switchWeapons = function() {
var r1m1 = Hero.r1m1;
var r2m1 = Hero.r2m1;
var r1m2 = Hero.r1m2;
var r2 = Hero.r2;
var m2 = Hero.m2;
if (r1m1 == true) { Hero.r1m1 = false; Hero.r2m1 = true; }
else if (r2m1 == true) { Hero.r2m1 = false; Hero.r1m2 = true; }
else if (r1m2 == true) { Hero.r1m2 = false; Hero.r2 = true; }
else if (r2 == true) { Hero.r2 = false; Hero.m2 = true; }
else if (m2 == true) { Hero.m2 = false; Hero.r1m1 = true; }
else { Hero.r1m1 = true; }
document.location.search = encodeURIComponent(JSON.stringify(Hero));
};
self.bind = function() {
var query = window.location.search;
var Query = (query == "") ? {} : JSON.parse(unescape(query.substring(1)));
for (attr in Query) Hero[attr] = Query[attr];
var isArray = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Array]"; };
var isBoolean = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Boolean]"; };
var isDefined = function(someVar) { return typeof someVar !== "undefined" && someVar != null; };
var isString = function(someVar) { return typeof someVar === "string"; };
var isNumber = function(someVar) { return typeof someVar === "number"; };
var isObject = function(someVar) { return typeof someVar === "object"; };
var observe;
if (window.attachEvent) observe = function (element, event, handler) { element.attachEvent('on'+event, handler); };
else observe = function (element, event, handler) { element.addEventListener(event, handler, false); };
var resizeTextarea = function(textarea) {
return function() {
textarea.style.height = "auto";
textarea.style.height = (textarea.scrollHeight)+"px";
};
};
var delayedTextareaResize = function(textarea) {
return function() { window.setTimeout(resizeTextarea(textarea), 0); };
};
var autoresizableTextarea = function(textarea) {
observe(textarea, "change", resizeTextarea(textarea));
observe(textarea, "cut", delayedTextareaResize(textarea));
observe(textarea, "paste", delayedTextareaResize(textarea));
observe(textarea, "drop", delayedTextareaResize(textarea));
observe(textarea, "keydown", delayedTextareaResize(textarea));
};
var redirect = function() {
self.search = encodeURIComponent(JSON.stringify(Hero));
};
var initialize = function() {
var textareas = document.querySelectorAll("textarea");
var fillOut = function(attribute, value) {
if (isString(value) || isNumber(value)) {
var element = document.querySelector("input#"+attribute);
if (element != null && isDefined(element.value)) {
element.value = value;
if (element.nodeName == "TEXTAREA") resizeTextarea(element)();
}
} else if (isObject(value)) {
var parent = document.querySelector("#"+attribute);
for (key in value) {
var child = parent.querySelector("input."+key+", textarea."+key);
if (child != null && isDefined(child.value)) {
child.value = value[key];
if (child.nodeName == "TEXTAREA") resizeTextarea(child)();
}
}
}
};
var saveOnChange = function(attribute, value) {
var updateSearchString;
if (isString(value) || isNumber(value)) {
var input = document.querySelector("input#"+attribute);
updateSearchString = function() {
Hero[attribute] = input.value;
//Hero["focus"] = attribute;
redirect();
};
if (isDefined(input)) {
//input.addEventListener("change", updateSearchString, false);
addListener(input, "change", updateSearchString);
}
} else if (isObject(value)) {
var parent = document.querySelector("#"+attribute);
updateSearchString = function(key, input) {
return function() {
Hero[attribute][key] = input.value;
//Hero["focus"] = attribute;
redirect();
};
};
for (key in value) {
var child = parent.querySelector("input."+key+", textarea."+key);
if (isDefined(child)) { observe(child, "change", updateSearchString(key, child)); }
}
}
};
var showWeapons = function(hero) {
var setDisplay = function(element, bool) { if (isDefined(element.style)) element.style.display = (bool) ? "block" : "none"; };
var showElement = function(element) { setDisplay(element, true); };
var hideElement = function(element) { setDisplay(element, false); };
var showElements = function(array) { if (isDefined(array.forEach)) array.forEach(showElement); };
var hideElements = function(array) { if (isDefined(array.forEach)) array.forEach(hideElement); };
var r1m1 = document.querySelector("div#r1m1");
var r2m1 = document.querySelector("div#r2m1");
var r1m2 = document.querySelector("div#r1m2");
var r2 = document.querySelector("div#r2");
var m2 = document.querySelector("div#m2");
var rat1 = document.querySelector("div#rat1");
var rat2 = document.querySelector("div#rat2");
var mat1 = document.querySelector("div#mat1");
var mat2 = document.querySelector("div#mat2");
var mat3 = document.querySelector("div#mat3");
if (isBoolean(hero.r1m1) && hero.r1m1 == true) {
showElements([ r1m1, rat1, mat2 ]);
hideElements([ r2m1, r1m2, r2, m2, mat1, rat2, mat3 ]);
} else if (isBoolean(hero.r2m1) && hero.r2m1 == true) {
showElements([ r2m1, rat1, rat2, mat3 ]);
hideElements([ r1m1, r1m2, r2, m2, mat1, mat2 ]);
} else if (isBoolean(hero.r1m2) && hero.r1m2 == true) {
showElements([ r1m2, rat1, mat2, mat3 ]);
hideElements([ r1m1, r2m1, r2, m2, mat1, rat2 ]);
} else if (isBoolean(hero.r2) && hero.r2 == true) {
showElements([ r2, rat1, rat2 ]);
hideElements([ r1m1, r2m1, r1m2, m2, mat1, mat2, mat3 ]);
} else if (isBoolean(hero.m2) && hero.m2 == true) {
showElements([ m2, mat1, mat2 ]);
hideElements([ r1m1, r2m1, r1m2, r2, rat1, rat2, mat3 ]);
}
};
//var focusLastInput = function(hero) {
// if (isDefined(hero["focus"])) {
// var input = document.querySelector("input#"+hero["focus"]);
// if (input == null) input = document.querySelector("#"+hero["focus"]+" input");
// if (input != null) { input.focus(); input.scrollIntoView(); }
// }
//};
var setPortrait = function(hero) {
var portrait = hero["portrait"]
, portraitDiv = document.querySelector("#portrait");
if (portrait && portraitDiv) {
var url = portrait["url"]
, x = portrait["x"]
, y = portrait["y"]
, size = portrait["size"];
if (url != null && x != null && y != null && size != null) {
var sheet = document.querySelector("div.sheet");
if (sheet) {
sheet.style["backgroundImage"] = "url("+url+")";
sheet.style["backgroundPosition"] = x+"px "+y+"px";
sheet.style["backgroundSize"] = isNaN(parseInt(size, 10)) ? size : size+"px";
}
}
}
};
for (var i = 0; i < textareas.length; i++) { autoresizableTextarea(textareas[i]); }
showWeapons(Hero);
for (attribute in Hero) { fillOut(attribute, Hero[attribute]); }
for (attribute in Hero) { saveOnChange(attribute, Hero[attribute]); }
setPortrait(Hero);
//focusLastInput(Hero);
//var names = document.querySelectorAll("section > input.name");
//for (name in names) { names[name].value = Hero["name"]; }
var displayPortrait = function(portrait, value, pointerEvent) {
return function(event) {
event.preventDefault();
event.stopPropagation();
var inputs = portrait.querySelectorAll("input");
for (var index = 0; index < inputs.length; index++) {
var input = inputs.item(index);
input.style["display"] = value;
portrait.style["pointerEvents"] = pointerEvent;
}
};
};
var portrait = document.querySelector("#portrait");
if (portrait != null) {
addListener(portrait, "click", displayPortrait(portrait, "block", "none"));
var button = portrait.querySelector("input[type='button']");
addListener(button, "click", function(event) { displayPortrait(portrait, "none", "auto")(event); setPortrait(Hero); });
}
redirect();
};
document.addEventListener("DOMContentLoaded", initialize, false);
};
}

View file

@ -1,211 +1,401 @@
function addListener(elem, event, f) {
if (elem.addEventListener) elem.addEventListener(event, f, false);
else elem.attachEvent("on"+event, f);
}
// global
// var ikrpg
function Heroic(Hero) {
var self = this;
self.search = "";
self.url = function() {
document.location.search = self.search;
var ikrpg = ikrpg || {};
(function () {
//'use strict';
ikrpg.cards = ikrpg.cards || {};
ikrpg.cards.data = {
"portrait": { "url": "", "top": 0, "left": 0, "width": 0 },
"hero-name": "Hero's name",
"archetype": "Archetype",
"race": "Race",
"level": "Level",
"careers": "Careers",
"phy": 0,
"spd": 0,
"str": 0,
"agl": 0,
"poi": 0,
"prw": 0,
"int": 0,
"arc": 0,
"per": 0,
"def": 0,
"ini": 0,
"cmd": 0,
"arm": 0,
"wil": 0,
"rat1": { "name": "Weapon name", "rat": 0, "rng": 0, "aoe": 0, "pow": 0 },
"rat2": { "name": "Weapon name", "rat": 0, "rng": 0, "aoe": 0, "pow": 0 },
"mat1": { "name": "Weapon name", "mat": 0, "pow": 0, "ps": 0 },
"mat2": { "name": "Weapon name", "mat": 0, "pow": 0, "ps": 0 },
"mat3": { "name": "Weapon name", "mat": 0, "pow": 0, "ps": 0 },
"feats": 0,
"ini_mod": 0,
"def_mod": 0,
"arm_mod": 0,
"cmd_mod": 0,
"xp": 0,
"r1m1": true,
"r2m1": false,
"r1m2": false,
"r2": false,
"m2": false,
"ability1": { "title": "ability", "description": "description" },
"ability2": { "title": "", "description": "" },
"ability3": { "title": "", "description": "" },
"ability4": { "title": "", "description": "" },
"ability5": { "title": "", "description": "" },
"ability6": { "title": "", "description": "" },
"ability7": { "title": "", "description": "" },
"ability8": { "title": "", "description": "" },
"ability9": { "title": "", "description": "" },
"ability10": { "title": "", "description": "" },
"ability11": { "title": "", "description": "" },
"ability12": { "title": "", "description": "" },
"s1": { "title": "skill", "stat": "INI", "base": "0", "lvl": "0", "sum": "0" },
"s2": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s3": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s4": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s5": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s6": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s7": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s8": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s9": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s10": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s11": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s12": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s13": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s14": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s15": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s16": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s17": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s18": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s19": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s20": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
"s21": { "title": "", "stat": "", "base": "", "lvl": "", "sum": "" },
//"benefit1": { "title": "Common Feats", "description": "Boost Non-Attack Skill Roll - Heroic Dodge - Make a Quick Action - Parry - Relentless Charge - Reroll Failed Attack/Skill/Willpower roll - Run and Gun - Shake Continuous Effect - Shake Knockdown - Shake Stationary - Sprint - Two-Fister - Walk it Off" },
//"benefit2": { "title": "Benefit/Feat name", "description": "Benefit/Feat description" },
//"benefit3": { "title": "...", "description": "..." },
"benefit1": { "title": "benefit/feat", "description": "description" },
"benefit2": { "title": "", "description": "" },
"benefit3": { "title": "", "description": "" },
"benefit4": { "title": "", "description": "" },
"benefit5": { "title": "", "description": "" },
"benefit6": { "title": "", "description": "" },
"benefit7": { "title": "", "description": "" },
"benefit8": { "title": "", "description": "" },
"benefit9": { "title": "", "description": "" },
"benefit10": { "title": "", "description": "" },
"benefit11": { "title": "", "description": "" },
"spell1": { "title": "spell", "cost": 0, "rng": 0, "aoe": "-", "pow": 0, "up": "NO", "off": "YES", "description": "description" },
"spell2": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell3": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell4": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell5": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell6": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell7": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell8": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell9": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell10": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"spell11": { "title": "", "cost": "", "rng": "", "aoe": "", "pow": "", "up": "", "off": "", "description": "" },
"gear1": { "title": "gear", "benefit": "benefit" },
"gear2": { "title": "", "benefit": "" },
"gear3": { "title": "", "benefit": "" },
"gear4": { "title": "", "benefit": "" },
"gear5": { "title": "", "benefit": "" },
"gear6": { "title": "", "benefit": "" },
"gear7": { "title": "", "benefit": "" },
"gear8": { "title": "", "benefit": "" },
"gear9": { "title": "", "benefit": "" },
"gear10": { "title": "", "benefit": "" },
"gear11": { "title": "", "benefit": "" },
"gear12": { "title": "", "benefit": "" },
"gear13": { "title": "", "benefit": "" },
"gear14": { "title": "", "benefit": "" },
"gear15": { "title": "", "benefit": "" },
"gear16": { "title": "", "benefit": "" },
"gear17": { "title": "", "benefit": "" },
"gear18": { "title": "", "benefit": "" },
"gear19": { "title": "", "benefit": "" },
"gear20": { "title": "", "benefit": "" },
"gear21": { "title": "", "benefit": "" },
"gear22": { "title": "", "benefit": "" },
"gear23": { "title": "", "benefit": "" },
"playerName": "Player's Name",
"sex": "sex",
"definingCharacteristics": "Defining Characteristics",
"faith": "Faith",
"weight": "Weight",
"height": "Height",
"injury1": "Injury 1",
"injury2": "Injury 2",
"injury3": "...",
"belief1": "Religious Belief 1",
"belief2": "Religious Belief 2",
"belief3": "...",
"connection1": "Connection 1",
"connection2": "Connection 2",
"connection3": "...",
"connection4": "",
"language1": "Language 1",
"language2": "Language 2",
"language3": "...",
"language4": "",
"language5": "",
"language6": "",
"language7": "",
"language8": "",
"note1": { "title": "Permanent Injuries", "text": "None" },
"note2": { "title": "Spoken Languages", "text": "" },
"note3": { "title": "Religious Beliefs", "text": "" },
"note4": { "title": "Connections", "text": "None" },
"note5": { "title": "Gold", "text": "0 gc" },
"note6": { "title": "", "text": "" },
"note7": { "title": "", "text": "" },
"note8": { "title": "", "text": "" },
"note9": { "title": "", "text": "" },
"note10": { "title": "", "text": "" },
"note11": { "title": "", "text": "" },
"note12": { "title": "", "text": "" }
};
self.redirect = function(link) {
link.href = self.url();
link.click();
ikrpg.cards.updateData = function () {
var data = ikrpg.cards.data;
for (var key in data) {
var value = data[key];
if (key == "hero-name") {
var currentData = $(".hero-name").val();
ikrpg.cards.data["hero-name"] = currentData;
} else if (typeof value === "object") {
for (var subkey in value) {
var subvalue = value[subkey];
var currentData = $("#"+key+" ."+subkey).val();
ikrpg.cards.data[key][subkey] = currentData;
}
} else { // not object
var currentData = $("#"+key).val();
ikrpg.cards.data[key] = currentData;
}
}
};
self.switchWeapons = function() {
var r1m1 = Hero.r1m1;
var r2m1 = Hero.r2m1;
var r1m2 = Hero.r1m2;
var r2 = Hero.r2;
var m2 = Hero.m2;
if (r1m1 == true) { Hero.r1m1 = false; Hero.r2m1 = true; }
else if (r2m1 == true) { Hero.r2m1 = false; Hero.r1m2 = true; }
else if (r1m2 == true) { Hero.r1m2 = false; Hero.r2 = true; }
else if (r2 == true) { Hero.r2 = false; Hero.m2 = true; }
else if (m2 == true) { Hero.m2 = false; Hero.r1m1 = true; }
else { Hero.r1m1 = true; }
document.location.search = encodeURIComponent(JSON.stringify(Hero));
ikrpg.cards.switchWeapons = function (event) {
if(event) event.preventDefault();
var data = ikrpg.cards.data;
if (data.r1m1 == true) { data.r1m1 = false; data.r2m1 = true; }
else if (data.r2m1 == true) { data.r2m1 = false; data.r1m2 = true; }
else if (data.r1m2 == true) { data.r1m2 = false; data.r2 = true; }
else if (data.r2 == true) { data.r2 = false; data.m2 = true; }
else if (data.m2 == true) { data.m2 = false; data.r1m1 = true; }
else { data.r1m1 = true; }
ikrpg.cards.data = data;
var showElements = function(array) { $.each(array, function(i, e) { e.show(); }); };
var hideElements = function(array) { $.each(array, function(i, e) { e.hide(); }); };
var r1m1 = $("div#r1m1:first");
var r2m1 = $("div#r2m1:first");
var r1m2 = $("div#r1m2:first");
var r2 = $("div#r2:first");
var m2 = $("div#m2:first");
var rat1 = $("div#rat1:first");
var rat2 = $("div#rat2:first");
var mat1 = $("div#mat1:first");
var mat2 = $("div#mat2:first");
var mat3 = $("div#mat3:first");
if (data.r1m1) {
showElements([ r1m1, rat1, mat2 ]);
hideElements([ r2m1, r1m2, r2, m2, mat1, rat2, mat3 ]);
} else if (data.r2m1) {
showElements([ r2m1, rat1, rat2, mat3 ]);
hideElements([ r1m1, r1m2, r2, m2, mat1, mat2 ]);
} else if (data.r1m2) {
showElements([ r1m2, rat1, mat2, mat3 ]);
hideElements([ r1m1, r2m1, r2, m2, mat1, rat2 ]);
} else if (data.r2) {
showElements([ r2, rat1, rat2 ]);
hideElements([ r1m1, r2m1, r1m2, m2, mat1, mat2, mat3 ]);
} else if (data.m2) {
showElements([ m2, mat1, mat2 ]);
hideElements([ r1m1, r2m1, r1m2, r2, rat1, rat2, mat3 ]);
}
};
self.bind = function() {
var query = window.location.search;
var Query = (query == "") ? {} : JSON.parse(unescape(query.substring(1)));
for (attr in Query) Hero[attr] = Query[attr];
var isArray = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Array]"; };
var isBoolean = function(someVar) { return Object.prototype.toString.call(someVar) === "[object Boolean]"; };
var isDefined = function(someVar) { return typeof someVar !== "undefined" && someVar != null; };
var isString = function(someVar) { return typeof someVar === "string"; };
var isNumber = function(someVar) { return typeof someVar === "number"; };
var isObject = function(someVar) { return typeof someVar === "object"; };
var observe;
if (window.attachEvent) observe = function (element, event, handler) { element.attachEvent('on'+event, handler); };
else observe = function (element, event, handler) { element.addEventListener(event, handler, false); };
var resizeTextarea = function(textarea) {
return function() {
textarea.style.height = "auto";
textarea.style.height = (textarea.scrollHeight)+"px";
};
ikrpg.cards.weaponSwitch = function () {
$("a#weapons-switch:first").on("click", ikrpg.cards.switchWeapons);
};
ikrpg.cards.resize = function(textarea) {
return function() {
textarea.css("height", "auto");
var height = Math.max($(textarea)[0].scrollHeight, "24");
textarea.css("height", height+"px");
};
var delayedTextareaResize = function(textarea) {
return function() { window.setTimeout(resizeTextarea(textarea), 0); };
};
ikrpg.cards.resizableTextareas = function () {
var resize = ikrpg.cards.resize;
var delayedResize = function(textarea) {
return function() { window.setTimeout(resize(textarea), 0); };
};
var autoresizableTextarea = function(textarea) {
observe(textarea, "change", resizeTextarea(textarea));
observe(textarea, "cut", delayedTextareaResize(textarea));
observe(textarea, "paste", delayedTextareaResize(textarea));
observe(textarea, "drop", delayedTextareaResize(textarea));
observe(textarea, "keydown", delayedTextareaResize(textarea));
};
var redirect = function() {
self.search = encodeURIComponent(JSON.stringify(Hero));
};
var initialize = function() {
var textareas = document.querySelectorAll("textarea");
var fillOut = function(attribute, value) {
if (isString(value) || isNumber(value)) {
var element = document.querySelector("input#"+attribute);
if (element != null && isDefined(element.value)) {
element.value = value;
if (element.nodeName == "TEXTAREA") resizeTextarea(element)();
}
} else if (isObject(value)) {
var parent = document.querySelector("#"+attribute);
for (key in value) {
var child = parent.querySelector("input."+key+", textarea."+key);
if (child != null && isDefined(child.value)) {
child.value = value[key];
if (child.nodeName == "TEXTAREA") resizeTextarea(child)();
}
}
}
};
var saveOnChange = function(attribute, value) {
var updateSearchString;
if (isString(value) || isNumber(value)) {
var input = document.querySelector("input#"+attribute);
updateSearchString = function() {
Hero[attribute] = input.value;
//Hero["focus"] = attribute;
redirect();
};
if (isDefined(input)) {
//input.addEventListener("change", updateSearchString, false);
addListener(input, "change", updateSearchString);
}
} else if (isObject(value)) {
var parent = document.querySelector("#"+attribute);
updateSearchString = function(key, input) {
return function() {
Hero[attribute][key] = input.value;
//Hero["focus"] = attribute;
redirect();
};
};
for (key in value) {
var child = parent.querySelector("input."+key+", textarea."+key);
if (isDefined(child)) { observe(child, "change", updateSearchString(key, child)); }
}
}
};
var showWeapons = function(hero) {
var setDisplay = function(element, bool) { if (isDefined(element.style)) element.style.display = (bool) ? "block" : "none"; };
var showElement = function(element) { setDisplay(element, true); };
var hideElement = function(element) { setDisplay(element, false); };
var showElements = function(array) { if (isDefined(array.forEach)) array.forEach(showElement); };
var hideElements = function(array) { if (isDefined(array.forEach)) array.forEach(hideElement); };
var r1m1 = document.querySelector("div#r1m1");
var r2m1 = document.querySelector("div#r2m1");
var r1m2 = document.querySelector("div#r1m2");
var r2 = document.querySelector("div#r2");
var m2 = document.querySelector("div#m2");
var rat1 = document.querySelector("div#rat1");
var rat2 = document.querySelector("div#rat2");
var mat1 = document.querySelector("div#mat1");
var mat2 = document.querySelector("div#mat2");
var mat3 = document.querySelector("div#mat3");
if (isBoolean(hero.r1m1) && hero.r1m1 == true) {
showElements([ r1m1, rat1, mat2 ]);
hideElements([ r2m1, r1m2, r2, m2, mat1, rat2, mat3 ]);
} else if (isBoolean(hero.r2m1) && hero.r2m1 == true) {
showElements([ r2m1, rat1, rat2, mat3 ]);
hideElements([ r1m1, r1m2, r2, m2, mat1, mat2 ]);
} else if (isBoolean(hero.r1m2) && hero.r1m2 == true) {
showElements([ r1m2, rat1, mat2, mat3 ]);
hideElements([ r1m1, r2m1, r2, m2, mat1, rat2 ]);
} else if (isBoolean(hero.r2) && hero.r2 == true) {
showElements([ r2, rat1, rat2 ]);
hideElements([ r1m1, r2m1, r1m2, m2, mat1, mat2, mat3 ]);
} else if (isBoolean(hero.m2) && hero.m2 == true) {
showElements([ m2, mat1, mat2 ]);
hideElements([ r1m1, r2m1, r1m2, r2, rat1, rat2, mat3 ]);
}
};
//var focusLastInput = function(hero) {
// if (isDefined(hero["focus"])) {
// var input = document.querySelector("input#"+hero["focus"]);
// if (input == null) input = document.querySelector("#"+hero["focus"]+" input");
// if (input != null) { input.focus(); input.scrollIntoView(); }
// }
//};
var setPortrait = function(hero) {
var portrait = hero["portrait"]
, portraitDiv = document.querySelector("#portrait");
if (portrait && portraitDiv) {
var url = portrait["url"]
, x = portrait["x"]
, y = portrait["y"]
, size = portrait["size"];
if (url != null && x != null && y != null && size != null) {
var sheet = document.querySelector("div.sheet");
if (sheet) {
sheet.style["backgroundImage"] = "url("+url+")";
sheet.style["backgroundPosition"] = x+"px "+y+"px";
sheet.style["backgroundSize"] = isNaN(parseInt(size, 10)) ? size : size+"px";
}
$("textarea").each(function (index, elem) {
var textarea = $(elem);
textarea.on("change", resize(textarea));
textarea.on("cut", delayedResize(textarea));
textarea.on("paste", delayedResize(textarea));
textarea.on("drop", delayedResize(textarea));
textarea.on("keydown", delayedResize(textarea));
})
};
ikrpg.cards.fillOut = function () {
for (var attribute in ikrpg.cards.data) { fill(attribute, ikrpg.cards.data[attribute]); }
function fill(attribute, value) {
if (typeof value === "object") {
var parent = $("#"+attribute+":first");
for (var key in value) {
var child = $("#"+attribute+":first input."+key+", #"+attribute+":first textarea."+key);
if (child) {
child[0].value = value[key];
if (child[0].nodeName == "TEXTAREA") ikrpg.cards.resize(child)();
}
}
};
for (var i = 0; i < textareas.length; i++) { autoresizableTextarea(textareas[i]); }
showWeapons(Hero);
for (attribute in Hero) { fillOut(attribute, Hero[attribute]); }
for (attribute in Hero) { saveOnChange(attribute, Hero[attribute]); }
setPortrait(Hero);
//focusLastInput(Hero);
//var names = document.querySelectorAll("section > input.name");
//for (name in names) { names[name].value = Hero["name"]; }
var displayPortrait = function(portrait, value, pointerEvent) {
return function(event) {
event.preventDefault();
event.stopPropagation();
var inputs = portrait.querySelectorAll("input");
for (var index = 0; index < inputs.length; index++) {
var input = inputs.item(index);
input.style["display"] = value;
portrait.style["pointerEvents"] = pointerEvent;
} else {
var element = $("input#"+attribute+":first");
if (element && element[0]) {
element.val(value);
} else {
element = $("input."+attribute);
if (element) {
element.val(value);
}
};
};
var portrait = document.querySelector("#portrait");
if (portrait != null) {
addListener(portrait, "click", displayPortrait(portrait, "block", "none"));
var button = portrait.querySelector("input[type='button']");
addListener(button, "click", function(event) { displayPortrait(portrait, "none", "auto")(event); setPortrait(Hero); });
}
}
redirect();
};
document.addEventListener("DOMContentLoaded", initialize, false);
}
};
}
ikrpg.cards.generateSeed = function () {
$("#generate-seed").on("click", function (event) {
event.preventDefault();
ikrpg.cards.updateData();
var json = JSON.stringify(ikrpg.cards.data);
var compressed = LZString.compressToBase64(json);
$("#seed").val(compressed);
return false;
});
};
ikrpg.cards.updateSeed = function () {
$("#update-seed").on("click", function (event) {
event.preventDefault();
var seed = $("#seed").val();
var decompressed = LZString.decompressFromBase64(seed);
var json = JSON.parse(decompressed);
ikrpg.cards.data = json;
ikrpg.cards.fillOut();
ikrpg.cards.switchWeapons();
ikrpg.cards.heroNameHack();
ikrpg.cards.setPortrait();
return false;
});
};
ikrpg.cards.heroNameHack = function () {
var heroNames = $("input.hero-name");
heroNames.each(function (index, input) {
$(input).on("change", function () {
var val = $(input).val();
heroNames.val(val);
ikrpg.cards.data["hero-name"] = val;
});
});
};
ikrpg.cards.setupPortrait = function () {
var zoom_in = function(event) {
var width = $(this).width() * 1.2;
$(this).animate({ width: width });
$("#portrait input.width").val(width);
return false;
};
var zoom_out = function () {
var width = $(this).width() / 1.2;
$(this).animate({ width: width });
$("#portrait input.width").val(width);
return false;
};
var show_url = function () {
$("#portrait input.url").show().focus();
};
var hide_url = function () {
$("#portrait input.url").hide();
};
var set_img_src = function () {
var val = $("#portrait input.url").val();
var img = $("#pic > img");
if(val && img.attr("src") != val) {
img.attr("src", val);
$("#portrait input.top").val(0);
$("#portrait input.left").val(0);
}
};
var portrait = $("#pic > img");
portrait.draggable({
cursor: "crosshair",
stop: function (event, ui) {
var pos = ui.position;
$("#portrait input.top").val(pos.top);
$("#portrait input.left").val(pos.left);
}
});
portrait.on("click", zoom_in);
portrait.on("dblclick", zoom_out);
portrait.on("contextmenu", zoom_out);
portrait.on("mouseover", show_url);
portrait.on("mouseout", function () {
hide_url();
set_img_src();
});
};
ikrpg.cards.setPortrait = function () {
var img = $("#pic > img");
if(img) {
var portrait = ikrpg.cards.data["portrait"];
img.attr("src", portrait["url"]);
img.css("top", portrait["top"]+"px");
img.css("left", portrait["left"]+"px");
img.css("width", portrait["width"]+"px");
}
};
ikrpg.cards.init = function () {
ikrpg.cards.fillOut();
ikrpg.cards.resizableTextareas();
ikrpg.cards.weaponSwitch();
ikrpg.cards.heroNameHack();
ikrpg.cards.generateSeed();
ikrpg.cards.updateSeed();
ikrpg.cards.setupPortrait();
};
})();

12826
static/javascripts/index.js Normal file

File diff suppressed because it is too large Load diff

6
static/javascripts/jquery-ui-1.10.4.min.js vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,70 +0,0 @@
(function() {
function addListener(elem, event, f) {
if (elem.addEventListener) elem.addEventListener(event, f, false);
else elem.attachEvent("on"+event, f);
}
function opaque() {
var jsOnloads = document.querySelectorAll("a.js-opaquable");
for(var index = 0; index < jsOnloads.length; index++) {
var jsOnload = jsOnloads.item(index)
, body = document.querySelector("body")
, article = body.querySelector("article")
, content = article.querySelector("section.content")
, style = window.getComputedStyle(article)
, iniColor = style["color"]
, minColor = "#2C2C2C"
, iniBackgroundColor = style["backgroundColor"]
, minBackgroundColor = "rgba(252, 253, 246, 0.50)";
function recolor(event) {
event.preventDefault();
var backgroundColor = style["backgroundColor"]
, alpha = parseFloat(backgroundColor.replace(/^.*,(.+)\)/,'$1'), 10)
, newBackgroundColor = (alpha > 0.7) ? minBackgroundColor : iniBackgroundColor
, newColor = (alpha > 0.7) ? minColor : iniColor
, text = (alpha > 0.7) ? "&#xE05C;" : "&#xE05D;";
article.style["backgroundColor"] = newBackgroundColor;
body.style["color"] = newColor;
jsOnload.innerHTML = text;
}
function over(event) {
event.preventDefault();
var backgroundColor = style["backgroundColor"];
var minus = "rgba(252, 253, 246, 0.75)";
var plus = "rgba(252, 253, 246, 0.60)";
var alpha = parseFloat(backgroundColor.replace(/^.*,(.+)\)/,'$1'), 10);
if (alpha > 0.8)
article.style["backgroundColor"] = minus;
else if (alpha < 0.7)
article.style["backgroundColor"] = plus;
}
function out(event) {
event.preventDefault();
var backgroundColor = style["backgroundColor"];
var minus = "rgba(252, 253, 246, 0.75)";
var plus = "rgba(252, 253, 246, 0.60)";
var alpha = parseFloat(backgroundColor.replace(/^.*,(.+)\)/,'$1'), 10);
if (alpha > 0.7)
article.style["backgroundColor"] = iniBackgroundColor;
else if (alpha > 0.55)
article.style["backgroundColor"] = minBackgroundColor;
}
addListener(jsOnload, "mouseover", over);
addListener(jsOnload, "mouseout", out);
addListener(jsOnload, "click", recolor);
}
}
if (window.addEventListener) window.addEventListener("DOMContentLoaded", opaque, false);
else window.attachEvent("onload", expand);
}());

View file

@ -1,59 +0,0 @@
(function() {
function addListener(elem, event, f) {
if (elem.addEventListener) elem.addEventListener(event, f, false);
else elem.attachEvent("on"+event, f);
}
function resizing() {
var jsOnloads = document.querySelectorAll("a.js-resizable");
for(var index = 0; index < jsOnloads.length; index++) {
var jsOnload = jsOnloads.item(index)
, article = document.querySelector("body > article")
, style = window.getComputedStyle(article)
, fontSize0 = parseFloat(style["fontSize"], 10)
, fontSize1 = fontSize0 * 1.1
, fontSize15 = fontSize0 * 1.15
, fontSize2 = fontSize0 * 1.2
, fontSize25 = fontSize0 * 1.25
, fontSize3 = fontSize0 * 1.3;
function resize(event) {
event.preventDefault();
var fontSize = parseFloat(style["fontSize"], 10)
, newFontSize = (fontSize < fontSize15) ? fontSize3 : fontSize0
, text = (fontSize < fontSize15) ? "&#xE0EB;" : "&#xE0EA;";
article.style["fontSize"] = newFontSize+"px";
jsOnload.innerHTML = text;
}
function over(event) {
event.preventDefault();
var fontSize = parseFloat(style["fontSize"], 10);
if (fontSize < fontSize15)
article.style["fontSize"] = fontSize1+"px";
else if (fontSize > fontSize25)
article.style["fontSize"] = fontSize2+"px";
}
function out(event) {
event.preventDefault();
var fontSize = parseFloat(style["fontSize"], 10);
if (fontSize > fontSize15)
article.style["fontSize"] = fontSize3+"px";
else if (fontSize < fontSize25)
article.style["fontSize"] = fontSize0+"px";
}
addListener(jsOnload, "mouseover", over);
addListener(jsOnload, "mouseout", out);
addListener(jsOnload, "click", resize);
}
}
if (window.addEventListener) window.addEventListener("DOMContentLoaded", resizing, false);
else window.attachEvent("onload", expand);
}());

View file

@ -0,0 +1,136 @@
// global
// var ikrpg
var ikrpg = ikrpg || {};
(function () {
var tables = $("table[data-category][data-subcategory]");
tables.each(function (i, elem) {
var category = $(elem).attr("data-category");
var subcategory = $(elem).attr("data-subcategory");
var selector = 'table[data-category="'+category+'"][data-subcategory="'+subcategory+'"]';
var table = $(selector).dataTable({
"data": ikrpg.index.data.filter(ikrpg.index.filter.categories(category, subcategory)),
"columns": [
{ "data": "name" },
{ "data": "publication" },
{ "data": "page" }
],
"paging": false,
"info": false,
"fnRowCallback": function(row, data, index) {
var url = data.publication.replace(/[#]/g, "").replace(/[\/\s]+/g, "-")
$('td:eq(1)', row).html('<a href="/index/publication/'+url+'">'+data.publication+'</a>');
return row;
}
});
new $.fn.dataTable.FixedHeader(table);
function filterColumn(i, table) {
var elem = $(table);
var category = elem.attr("data-category");
var subcategory = elem.attr("data-subcategory");
var real_table = $('section.content table[data-category="'+category+'"][data-subcategory="'+subcategory+'"]');
var query = $('.FixedHeader_Cloned table[data-category="'+category+'"][data-subcategory="'+subcategory+'"] .col'+i+'_filter')
real_table.DataTable().column(i).search(query.val(), true, true).draw();
}
$('input.column_filter').on('keyup click', function () {
filterColumn($(this).attr('data-column'), $(this).closest('table'));
});
})
})();
(function () {
var tables = $("table[data-publication]");
tables.each(function (i, elem) {
var publication = $(elem).attr("data-publication");
var selector = 'table[data-publication="'+publication+'"]';
var table = $(selector).dataTable({
"data": ikrpg.index.data.filter(ikrpg.index.filter.publication(publication)),
"columns": [
{ "data": "name" },
{ "data": "page" },
{ "data": "category" },
{ "data": "subcategory" }
],
"paging": false,
"info": false,
"fnRowCallback": function(row, data, index) {
var c_url = data.category.replace(/[\s]+/g, "-");
var sc_url = data.subcategory.replace(/[#]/g, "").replace(/[\/\s]+/g, "-")
$('td:eq(2)', row).html('<a href="/index/category/'+c_url+'">'+data.category+'</a>');
$('td:eq(3)', row).html('<a href="/index/category/'+c_url+'/#'+sc_url+'">'+data.subcategory+'</a>');
return row;
}
});
new $.fn.dataTable.FixedHeader(table);
function filterColumn(i, table) {
var elem = $(table);
var publication = elem.attr("data-publication");
var real_table = $('section.content table[data-publication="'+publication+'"]');
var query = $('.FixedHeader_Cloned table[data-publication="'+publication+'"] .col'+i+'_filter')
real_table.DataTable().column(i).search(query.val(), true, true).draw();
}
$('input.column_filter').on('keyup click', function () {
filterColumn($(this).attr('data-column'), $(this).closest('table'));
});
})
})();
(function () {
var tables = $("table[data-index]");
tables.each(function (i, elem) {
var table = $(elem).dataTable({
"data": ikrpg.index.data,
"columns": [
{ "data": "name" },
{ "data": "publication" },
{ "data": "page" },
{ "data": "category" },
{ "data": "subcategory" }
],
"paging": false,
"info": false,
"fnRowCallback": function(row, data, index) {
var p_url = data.publication.replace(/[#]/g, "").replace(/[\/\s]+/g, "-")
var c_url = data.category.replace(/[\s]+/g, "-");
var sc_url = data.subcategory.replace(/[#]/g, "").replace(/[\/\s]+/g, "-")
$('td:eq(1)', row).html('<a href="/index/publication/'+p_url+'">'+data.publication+'</a>');
$('td:eq(3)', row).html('<a href="/index/category/'+c_url+'">'+data.category+'</a>');
$('td:eq(4)', row).html('<a href="/index/category/'+c_url+'/#'+sc_url+'">'+data.subcategory+'</a>');
return row;
}
});
new $.fn.dataTable.FixedHeader(table);
function filterColumn(i, table) {
var real_table = $('section.content table[data-index]');
var query = $('.FixedHeader_Cloned table[data-index] .col'+i+'_filter')
real_table.DataTable().column(i).search(query.val(), true, true).draw();
}
$('input.column_filter').on('keyup click', function () {
filterColumn($(this).attr('data-column'), $(this).closest('table'));
});
})
})();

View file

@ -23,7 +23,7 @@ section.content > h3 {
font-weight: bold; }
section.content a {
color: #3B8DBD; }
section.content > p > a[href^='#'] {
section.content a[href^='#'] {
border-bottom: 1px #3B8DBD dashed; }
section.content strong {
color: #D24D33; }

View file

@ -8,6 +8,7 @@ div.sheet * { position: absolute; }
div.sheet > form#stats { pointer-events: none; }
div.sheet > form#stats * { pointer-events: auto; }
div.sheet > form#stats { background-image: url(/static/images/sheet/Stats.png); }
div.sheet > form#stats input.hero-name,
div.sheet > form#stats input#name { top: 20px; left: 180px; height: 45px; width: 485px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#stats input#archetype { top: 58px; left: 180px; width: 190px; }
div.sheet > form#stats input#race { top: 58px; left: 370px; width: 150px; }
@ -58,7 +59,7 @@ div.sheet > form#stats div#r2m1 { background-image: url(/static/images/sheet/R+R
div.sheet > form#stats div#r2 { background-image: url(/static/images/sheet/R+R.png); }
div.sheet > form#stats div#m2 { background-image: url(/static/images/sheet/M+M.png); }
div.sheet > form#stats input#feats { top: 502px; left: 161px; height: 52px; font-size: 40px; width: 50px; text-align: center; }
div.sheet > form#stats a#weapons-switch { display: block; top: 532px; left: 335px; height: 60px; width: 60px; text-decoration: none; }
div.sheet > form#stats a#weapons-switch { display: block; top: 532px; left: 335px; height: 60px; width: 60px; text-decoration: none; border: 0; }
div.sheet > form#stats div#roleplay.stats { top: 673px; }
div.sheet > form#stats div#roleplay.stats input { width: 30px; text-align: center; }
div.sheet > form#stats div#roleplay.stats input#phy { left: 398px; }
@ -78,28 +79,28 @@ div.sheet > form#stats input#xp { top: 918px; left: 570px; width: 40px; text-ali
div.sheet > form#stats a#weapons-switch { height: 51px; width: 51px; background-image: url(/static/images/sheet/reload.png); }
div.sheet > form#skills { padding-top: 66px; background-image: url(/static/images/sheet/Skills.png); }
div.sheet > form#skills input#name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#skills input.hero-name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#skills div.content { top: 180px; left: 20px; }
div.sheet > form#skills div.content div.skill { position: relative; }
div.sheet > form#skills div.content div.skill input { position: relative; width: 64px; text-align: center; }
div.sheet > form#skills div.content div.skill input.title { width: 376px; font-size: 17px; text-align: left; text-transform: uppercase; font-weight: bold; }
div.sheet > form#benefits { padding-top: 66px; background-image: url(/static/images/sheet/Feats.png); }
div.sheet > form#benefits input#name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#benefits input.hero-name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#benefits div.content { top: 200px; left: 20px; }
div.sheet > form#benefits div.content div.benefit { position: relative; }
div.sheet > form#benefits div.content div.benefit input.title { position: relative; width: 658px; font-size: 17px; text-transform: uppercase; font-weight: bold; }
div.sheet > form#benefits div.content div.benefit textarea.description { position: relative; width: 658px; height: auto; font-size: 17px; }
div.sheet > form#abilities { padding-top: 66px; background-image: url(/static/images/sheet/Abilities.png); }
div.sheet > form#abilities input#name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#abilities input.hero-name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#abilities div.content { top: 130px; left: 20px; }
div.sheet > form#abilities div.content div.ability { position: relative; }
div.sheet > form#abilities div.content div.ability input.title { position: relative; width: 658px; font-size: 17px; text-transform: uppercase; font-weight: bold; }
div.sheet > form#abilities div.content div.ability textarea.description { position: relative; width: 658px; height: auto; font-size: 17px; }
div.sheet > form#spells { padding-top: 66px; background-image: url(/static/images/sheet/Spells.png); }
div.sheet > form#spells input#name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#spells input.hero-name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#spells div.content { top: 180px; left: 20px; }
div.sheet > form#spells div.content div.spell { position: relative; }
div.sheet > form#spells div.content div.spell input { position: relative; width: 64px; text-align: center; }
@ -107,7 +108,7 @@ div.sheet > form#spells div.content div.spell input.title { width: 236px; font-s
div.sheet > form#spells div.content div.spell textarea.description { position: relative; width: 658px; height: auto; font-size: 17px; }
div.sheet > form#gear { padding-top: 66px; background-image: url(/static/images/sheet/Gear.png); }
div.sheet > form#gear input#name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#gear input.hero-name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#gear div.content { top: 180px; left: 20px; }
div.sheet > form#gear div.content div.gear { position: relative; }
div.sheet > form#gear div.content div.gear input { position: relative; font-size: 17px; }
@ -115,14 +116,14 @@ div.sheet > form#gear div.content div.gear input.title { width: 236px; text-tran
div.sheet > form#gear div.content div.gear input.benefit { width: 410px; }
div.sheet > form#notes { padding-top: 66px; background-image: url(/static/images/sheet/Abilities.png); }
div.sheet > form#notes input#name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#notes input.hero-name { top: 47px; left: 143px; height: 46px; width: 526px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#notes div.content { top: 130px; left: 20px; }
div.sheet > form#notes div.content div.note { position: relative; }
div.sheet > form#notes div.content div.note input.title { position: relative; width: 658px; font-size: 17px; text-transform: uppercase; font-weight: bold; }
div.sheet > form#notes div.content div.note textarea.text { position: relative; width: 658px; height: auto; font-size: 17px; }
div.sheet > form#details { padding-top: 66px; background-image: url(/static/images/sheet/Details.png); background-size: contain; }
div.sheet > form#details input#name { top: 46px; left: 180px; height: 45px; width: 485px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#details input.hero-name { top: 46px; left: 180px; height: 45px; width: 485px; font-size: 37px; text-transform: uppercase; }
div.sheet > form#details div#attributes { top: 143px; left: 275px; }
div.sheet > form#details div#attributes > input#playerName { width: 375px; }
div.sheet > form#details div#attributes > input#careers { top: 57px; width: 270px; }

View file

@ -0,0 +1,197 @@
table.dataTable thead .sorting {
cursor: pointer;
background: #1A1A1A url("../../images/sort_both.png") no-repeat center right;
}
table.dataTable thead .sorting_asc {
cursor: pointer;
background: #1A1A1A url("../../images/sort_asc.png") no-repeat center right;
}
table.dataTable thead .sorting_desc {
cursor: pointer;
background: #1A1A1A url("../../images/sort_desc.png") no-repeat center right;
}
.dataTables_filter { display: none; }
/*
* Control feature layout
*/
.dataTables_wrapper {
position: relative;
clear: both;
*zoom: 1;
zoom: 1;
}
.dataTables_wrapper .dataTables_length {
float: left;
}
.dataTables_wrapper .dataTables_filter {
float: right;
text-align: right;
}
.dataTables_wrapper .dataTables_filter input {
margin-left: 0.5em;
}
.dataTables_wrapper .dataTables_info {
clear: both;
float: left;
padding-top: 0.755em;
}
.dataTables_wrapper .dataTables_paginate {
float: right;
text-align: right;
padding-top: 0.25em;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
box-sizing: border-box;
display: inline-block;
min-width: 1.5em;
padding: 0.5em 1em;
margin-left: 2px;
text-align: center;
text-decoration: none !important;
cursor: pointer;
*cursor: hand;
color: #333333 !important;
border: 1px solid transparent;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
color: #333333 !important;
border: 1px solid #cacaca;
background-color: white;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, gainsboro));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, white 0%, gainsboro 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, white 0%, gainsboro 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, white 0%, gainsboro 100%);
/* IE10+ */
background: -o-linear-gradient(top, white 0%, gainsboro 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, white 0%, gainsboro 100%);
/* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
cursor: default;
color: #666 !important;
border: 1px solid transparent;
background: transparent;
box-shadow: none;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
color: white !important;
border: 1px solid #111111;
background-color: #585858;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111111));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #585858 0%, #111111 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, #585858 0%, #111111 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, #585858 0%, #111111 100%);
/* IE10+ */
background: -o-linear-gradient(top, #585858 0%, #111111 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, #585858 0%, #111111 100%);
/* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
outline: none;
background-color: #2b2b2b;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* IE10+ */
background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
/* W3C */
box-shadow: inset 0 0 3px #111;
}
.dataTables_wrapper .dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 40px;
margin-left: -50%;
margin-top: -25px;
padding-top: 20px;
text-align: center;
font-size: 1.2em;
background-color: white;
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
/* FF3.6+ */
background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
/* IE10+ */
background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
/* Opera 11.10+ */
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
/* W3C */
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
color: #333333;
}
.dataTables_wrapper .dataTables_scroll {
clear: both;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
*margin-top: -1px;
-webkit-overflow-scrolling: touch;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {
height: 0;
overflow: hidden;
margin: 0 !important;
padding: 0 !important;
}
.dataTables_wrapper.no-footer .dataTables_scrollBody {
border-bottom: 1px solid #111111;
}
.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
border-bottom: none;
}
.dataTables_wrapper:after {
visibility: hidden;
display: block;
content: "";
clear: both;
height: 0;
}
@media screen and (max-width: 767px) {
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
float: none;
text-align: center;
}
.dataTables_wrapper .dataTables_paginate {
margin-top: 0.5em;
}
}
@media screen and (max-width: 640px) {
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
float: none;
text-align: center;
}
.dataTables_wrapper .dataTables_filter {
margin-top: 0.5em;
}
}

View file

@ -1,68 +1,101 @@
section.content > table.full {
div.FixedHeader_Cloned table.full,
section.content table.full {
width: 100%; }
section.content > img.right,
section.content > table.right {
div.FixedHeader_Cloned img.right,
div.FixedHeader_Cloned table.right,
section.content img.right,
section.content table.right {
float: right;
margin-left: 1em;
margin-right: 0; }
section.content > table.left {
div.FixedHeader_Cloned table.left,
section.content table.left {
float: left;
margin-left: 0;
margin-right: 1em; }
section.content > table.text-left {
div.FixedHeader_Cloned table.text-left,
section.content table.text-left {
text-align: left; }
section.content > table.text-right {
div.FixedHeader_Cloned table.text-right,
section.content table.text-right {
text-align: right; }
section.content > table {
margin: 0.5em auto 1em auto;
div.FixedHeader_Cloned table,
section.content table {
margin: 2em auto 1em auto;
text-align: center;
outline-style: solid;
outline-width: 0.15em; }
section.content > table th,
section.content > table td {
div.FixedHeader_Cloned table th,
div.FixedHeader_Cloned table td,
section.content table th,
section.content table td {
padding: 0.7em 0.5em 0.5em 0.5em;
line-height: 1em;
vertical-align: middle; }
section.content > table tr > td:not(:first-of-type) {
div.FixedHeader_Cloned table th,
section.content table th {
font-weight: normal;
white-space: nowrap; }
div.FixedHeader_Cloned table tr > td:not(:first-of-type),
section.content table tr > td:not(:first-of-type) {
border-left-style: solid;
border-left-width: 0.15em; }
section.content > table:not(.col-menu) td,
section.content > table.col-menu td:not(:first-of-type) {
div.FixedHeader_Cloned table:not(.col-menu) td,
div.FixedHeader_Cloned table.col-menu td:not(:first-of-type),
section.content table:not(.col-menu) td,
section.content table.col-menu td:not(:first-of-type) {
border-top-style: solid;
border-top-width: 0.15em; }
section.content > table th:not(:first-of-type) {
div.FixedHeader_Cloned table th:not(:first-of-type),
section.content table th:not(:first-of-type) {
border-left-style: solid;
border-left-width: 0.15em; }
section.content > table th,
section.content > table.col-menu td:first-of-type {
div.FixedHeader_Cloned table th,
div.FixedHeader_Cloned table.col-menu td:first-of-type,
section.content table th,
section.content table.col-menu td:first-of-type {
text-transform: uppercase; }
section.content > table th,
section.content > table.col-menu td:first-of-type {
div.FixedHeader_Cloned table th,
div.FixedHeader_Cloned table.col-menu td:first-of-type,
section.content table th,
section.content table.col-menu td:first-of-type {
font-size: 0.9em; }
section.content > table > thead > tr:not(:first-of-type),
section.content > table.col-menu td:first-of-type {
div.FixedHeader_Cloned table > thead > tr:not(:first-of-type),
div.FixedHeader_Cloned table.col-menu td:first-of-type,
section.content table > thead > tr:not(:first-of-type),
section.content table.col-menu td:first-of-type {
border-top-style: solid;
border-top-width: 0.15em; }
section.content > table.race {
div.FixedHeader_Cloned table.race,
section.content table.race {
outline: none; }
section.content > table.race > thead > tr:not(:first-of-type) {
div.FixedHeader_Cloned table.race > thead > tr:not(:first-of-type),
section.content table.race > thead > tr:not(:first-of-type) {
border-top: 0; }
section.content > table.race > thead > tr:first-of-type > th {
div.FixedHeader_Cloned table.race > thead > tr:first-of-type > th,
section.content table.race > thead > tr:first-of-type > th {
padding-top: 0;
font-size: 1.3em;
font-weight: bold; }
section.content > table.race tr:nth-of-type(3n+1) > td:first-of-type {
div.FixedHeader_Cloned table.race tr:nth-of-type(3n+1) > td:first-of-type,
section.content table.race tr:nth-of-type(3n+1) > td:first-of-type {
font-weight: bold; }
section.content > table.race th:not(:first-of-type),
section.content > table.race td {
div.FixedHeader_Cloned table.race th:not(:first-of-type),
div.FixedHeader_Cloned table.race td,
section.content table.race th:not(:first-of-type),
section.content table.race td {
width: 3em;
border-style: solid;
border-width: 0.15em; }
section.content > table.race th:nth-of-type(7),
section.content > table.race td:nth-of-type(7),
section.content > table.race th:nth-of-type(3),
section.content > table.race td:nth-of-type(3) {
div.FixedHeader_Cloned table.race th:nth-of-type(7),,
div.FixedHeader_Cloned table.race td:nth-of-type(7),,
div.FixedHeader_Cloned table.race th:nth-of-type(3),,
div.FixedHeader_Cloned table.race td:nth-of-type(3) ,
section.content table.race th:nth-of-type(7),
section.content table.race td:nth-of-type(7),
section.content table.race th:nth-of-type(3),
section.content table.race td:nth-of-type(3) {
width: 0.5em;
padding: 0;
border: 0; }
@ -71,137 +104,240 @@ section.content > table.race td:nth-of-type(3) {
/* CAREER */
section.content > table.career {
div.FixedHeader_Cloned table.career,
section.content table.career {
outline: 0; }
section.content > table.career tr:not(:nth-of-type(3)):not(:nth-of-type(8)) {
div.FixedHeader_Cloned table.career tr:not(:nth-of-type(3)):not(:nth-of-type(8)),
section.content table.career tr:not(:nth-of-type(3)):not(:nth-of-type(8)) {
border-style: solid;
border-width: 0.15em; }
section.content > table.career tr:nth-of-type(3) > td,
section.content > table.career tr:nth-of-type(8) > td {
div.FixedHeader_Cloned table.career tr:nth-of-type(3) > td,
div.FixedHeader_Cloned table.career tr:nth-of-type(8) > td,
section.content table.career tr:nth-of-type(3) > td,
section.content table.career tr:nth-of-type(8) > td {
font-size: 0.5em;
padding: 0; }
section.content > table.career tr > td:nth-of-type(2) {
div.FixedHeader_Cloned table.career tr > td:nth-of-type(2),
section.content table.career tr > td:nth-of-type(2) {
text-align: left; }
section.content > table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:not(:first-of-type) {
div.FixedHeader_Cloned table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:not(:first-of-type),
section.content table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:not(:first-of-type) {
border-style: solid;
border-width: 0.15em; }
section.content > table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:first-of-type {
div.FixedHeader_Cloned table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:first-of-type,
section.content table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:first-of-type {
font-size: 0.9em;
text-transform: uppercase; }
section.content > table.career tr:nth-of-type(n+5) > td:first-of-type,
section.content > table.career tr:nth-of-type(2) > td:first-of-type {
div.FixedHeader_Cloned table.career tr:nth-of-type(n+5) > td:first-of-type,
div.FixedHeader_Cloned table.career tr:nth-of-type(2) > td:first-of-type,
section.content table.career tr:nth-of-type(n+5) > td:first-of-type,
section.content table.career tr:nth-of-type(2) > td:first-of-type {
border-top-style: solid;
border-top-width: 0.15em; }
section.content > table.career tr:nth-of-type(9) > td:nth-of-type(n) {
div.FixedHeader_Cloned table.career tr:nth-of-type(9) > td:nth-of-type(n),
section.content table.career tr:nth-of-type(9) > td:nth-of-type(n) {
border-top-style: solid;
border-top-width: 0.15em; }
/* COLORS */
section.content > table {
div.FixedHeader_Cloned table,
section.content table {
color: #1A1A1A;
outline-color: #1A1A1A; }
section.content > table:not(.col-menu) td,
section.content > table.col-menu td:not(:first-of-type) {
div.FixedHeader_Cloned table:not(.col-menu) td,
div.FixedHeader_Cloned table.col-menu td:not(:first-of-type),
section.content table:not(.col-menu) td,
section.content table.col-menu td:not(:first-of-type) {
border-color: #1A1A1A; }
section.content > table.col-menu th:not(:first-of-type) {
div.FixedHeader_Cloned table.col-menu th:not(:first-of-type),
section.content table.col-menu th:not(:first-of-type) {
border-color: #FCFDF6; }
section.content > table th,
section.content > table.col-menu td:first-of-type {
div.FixedHeader_Cloned table th,
div.FixedHeader_Cloned table.col-menu td:first-of-type,
section.content table th,
section.content table.col-menu td:first-of-type {
color: #FCFDF6;
background-color: #1A1A1A; }
section.content > table > thead > tr:not(:first-of-type),
section.content > table.col-menu > thead + tbody td:first-of-type {
div.FixedHeader_Cloned table > thead > tr:not(:first-of-type),
div.FixedHeader_Cloned table.col-menu > thead + tbody td:first-of-type,
section.content table > thead > tr:not(:first-of-type),
section.content table.col-menu > thead + tbody td:first-of-type {
border-top-color: #FCFDF6; }
.hero-dark {
background-color: #CEE4BD !important; }
section.content > table.hero > tbody > tr:nth-of-type(2n+1) {
div.FixedHeader_Cloned table.hero > tbody > tr:nth-of-type(2n+1),
section.content table.hero > tbody > tr:nth-of-type(2n+1) {
background-color: #CEE4BD; }
.hero-light {
background-color: #F0F7EB !important; }
section.content > table.hero > tbody > tr:nth-of-type(2n) {
div.FixedHeader_Cloned table.hero > tbody > tr:nth-of-type(2n),
section.content table.hero > tbody > tr:nth-of-type(2n) {
background-color: #F0F7EB; }
.veteran-dark {
background-color: #DEBDAD !important; }
section.content > table.veteran > tbody > tr:nth-of-type(2n+1) {
div.FixedHeader_Cloned table.veteran > tbody > tr:nth-of-type(2n+1),
section.content table.veteran > tbody > tr:nth-of-type(2n+1) {
background-color: #DEBDAD; }
.veteran-light {
background-color: #F5EBE6 !important; }
section.content > table.veteran > tbody > tr:nth-of-type(2n) {
div.FixedHeader_Cloned table.veteran > tbody > tr:nth-of-type(2n),
section.content table.veteran > tbody > tr:nth-of-type(2n) {
background-color: #F5EBE6; }
.epic-dark {
background-color: #D4E2FF !important; }
section.content > table.epic > tbody > tr:nth-of-type(2n+1) {
div.FixedHeader_Cloned table.epic > tbody > tr:nth-of-type(2n+1),
section.content table.epic > tbody > tr:nth-of-type(2n+1) {
background-color: #D4E2FF; }
.epic-light {
background-color: #F2F6FF !important; }
section.content > table.epic > tbody > tr:nth-of-type(2n) {
div.FixedHeader_Cloned table.epic > tbody > tr:nth-of-type(2n),
section.content table.epic > tbody > tr:nth-of-type(2n) {
background-color: #F2F6FF; }
section.content > table.levels > tbody > tr:nth-of-type(4n+2) {
div.FixedHeader_Cloned table.levels > tbody > tr:nth-of-type(4n+2),
section.content table.levels > tbody > tr:nth-of-type(4n+2) {
background-color: #CEE4BD; }
section.content > table.levels > tbody > tr:nth-of-type(4n+3) {
div.FixedHeader_Cloned table.levels > tbody > tr:nth-of-type(4n+3),
section.content table.levels > tbody > tr:nth-of-type(4n+3) {
background-color: #DEBDAD; }
section.content > table.levels > tbody > tr:nth-of-type(4n) {
div.FixedHeader_Cloned table.levels > tbody > tr:nth-of-type(4n),
section.content table.levels > tbody > tr:nth-of-type(4n) {
background-color: #D4E2FF; }
section.content > table.race > thead > tr:first-of-type > th {
div.FixedHeader_Cloned table.race > thead > tr:first-of-type > th,
section.content table.race > thead > tr:first-of-type > th {
color: #1A1A1A; }
section.content > table.race th:first-of-type {
div.FixedHeader_Cloned table.race th:first-of-type,
section.content table.race th:first-of-type {
background-color: transparent;
border-color: #1A1A1A; }
section.content > table.race td:first-of-type {
div.FixedHeader_Cloned table.race td:first-of-type,
section.content table.race td:first-of-type {
color: #FCFDF6;
background-color: #1A1A1A; }
section.content > table.race tr:nth-of-type(3n+1) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.race tr:nth-of-type(3n+1) > td:nth-of-type(2),
section.content table.race tr:nth-of-type(3n+1) > td:nth-of-type(2) {
background-color: #CEE4BD; }
section.content > table.race tr:nth-of-type(3n+2) > td:nth-of-type(2),
section.content > table.race tr:nth-of-type(3n) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.race tr:nth-of-type(3n+2) > td:nth-of-type(2),
div.FixedHeader_Cloned table.race tr:nth-of-type(3n) > td:nth-of-type(2),
section.content table.race tr:nth-of-type(3n+2) > td:nth-of-type(2),
section.content table.race tr:nth-of-type(3n) > td:nth-of-type(2) {
background-color: #F0F7EB; }
section.content > table.race tr:nth-of-type(3n+1) > td:nth-of-type(n+4):nth-of-type(-n+6) {
div.FixedHeader_Cloned table.race tr:nth-of-type(3n+1) > td:nth-of-type(n+4):nth-of-type(-n+6),
section.content table.race tr:nth-of-type(3n+1) > td:nth-of-type(n+4):nth-of-type(-n+6) {
background-color: #DEBDAD; }
section.content > table.race tr:nth-of-type(3n+2) > td:nth-of-type(n+4):nth-of-type(-n+6),
section.content > table.race tr:nth-of-type(3n) > td:nth-of-type(n+4):nth-of-type(-n+6) {
div.FixedHeader_Cloned table.race tr:nth-of-type(3n+2) > td:nth-of-type(n+4):nth-of-type(-n+6),
div.FixedHeader_Cloned table.race tr:nth-of-type(3n) > td:nth-of-type(n+4):nth-of-type(-n+6),
section.content table.race tr:nth-of-type(3n+2) > td:nth-of-type(n+4):nth-of-type(-n+6),
section.content table.race tr:nth-of-type(3n) > td:nth-of-type(n+4):nth-of-type(-n+6) {
background-color: #F5EBE6; }
section.content > table.race tr:nth-of-type(3n+1) > td:nth-of-type(8) {
div.FixedHeader_Cloned table.race tr:nth-of-type(3n+1) > td:nth-of-type(8),
section.content table.race tr:nth-of-type(3n+1) > td:nth-of-type(8) {
background-color: #D4E2FF; }
section.content > table.race tr:nth-of-type(3n+2) > td:nth-of-type(8),
section.content > table.race tr:nth-of-type(3n) > td:nth-of-type(8) {
div.FixedHeader_Cloned table.race tr:nth-of-type(3n+2) > td:nth-of-type(8),
div.FixedHeader_Cloned table.race tr:nth-of-type(3n) > td:nth-of-type(8),
section.content table.race tr:nth-of-type(3n+2) > td:nth-of-type(8),
section.content table.race tr:nth-of-type(3n) > td:nth-of-type(8) {
background-color: #F2F6FF; }
section.content > table.race th:not(:first-of-type),
section.content > table.race td {
div.FixedHeader_Cloned table.race th:not(:first-of-type),
div.FixedHeader_Cloned table.race td,
section.content table.race th:not(:first-of-type),
section.content table.race td {
border-color: #1A1A1A; }
section.content > table.race th:nth-of-type(7),
section.content > table.race td:nth-of-type(7),
section.content > table.race th:nth-of-type(3),
section.content > table.race td:nth-of-type(3) {
div.FixedHeader_Cloned table.race th:nth-of-type(7),
div.FixedHeader_Cloned table.race td:nth-of-type(7),
div.FixedHeader_Cloned table.race th:nth-of-type(3),
div.FixedHeader_Cloned table.race td:nth-of-type(3),
section.content table.race th:nth-of-type(7),
section.content table.race td:nth-of-type(7),
section.content table.race th:nth-of-type(3),
section.content table.race td:nth-of-type(3) {
background-color: transparent; }
section.content > table.career tr:not(:nth-of-type(3)):not(:nth-of-type(8)) {
div.FixedHeader_Cloned table.career tr:not(:nth-of-type(3)):not(:nth-of-type(8)),
section.content table.career tr:not(:nth-of-type(3)):not(:nth-of-type(8)) {
border-color: #1A1A1A; }
section.content > table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:not(:first-of-type) {
div.FixedHeader_Cloned table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:not(:first-of-type),
section.content table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:not(:first-of-type) {
border-color: #1A1A1A; }
section.content > table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:first-of-type {
div.FixedHeader_Cloned table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:first-of-type,
section.content table.career tr:nth-of-type(n):not(:nth-of-type(3)):not(:nth-of-type(8)) > td:first-of-type {
color: #FCFDF6;
background-color: #1A1A1A; }
section.content > table.career tr:nth-of-type(n+5) > td:first-of-type,
section.content > table.career tr:nth-of-type(2) > td:first-of-type {
div.FixedHeader_Cloned table.career tr:nth-of-type(n+5) > td:first-of-type,
div.FixedHeader_Cloned table.career tr:nth-of-type(2) > td:first-of-type,
section.content table.career tr:nth-of-type(n+5) > td:first-of-type,
section.content table.career tr:nth-of-type(2) > td:first-of-type {
border-top-color: #FCFDF6; }
section.content > table.career tr:nth-of-type(1) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.career tr:nth-of-type(1) > td:nth-of-type(2),
section.content table.career tr:nth-of-type(1) > td:nth-of-type(2) {
background-color: #CEE4BD; }
section.content > table.career tr:nth-of-type(2) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.career tr:nth-of-type(2) > td:nth-of-type(2),
section.content table.career tr:nth-of-type(2) > td:nth-of-type(2) {
background-color: #F0F7EB; }
section.content > table.career tr:nth-of-type(2n+4):nth-of-type(-2n+8) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.career tr:nth-of-type(2n+4):nth-of-type(-2n+8) > td:nth-of-type(2),
section.content table.career tr:nth-of-type(2n+4):nth-of-type(-2n+8) > td:nth-of-type(2) {
background-color: #DEBDAD; }
section.content > table.career tr:nth-of-type(2n+5):nth-of-type(-2n+7) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.career tr:nth-of-type(2n+5):nth-of-type(-2n+7) > td:nth-of-type(2),
section.content table.career tr:nth-of-type(2n+5):nth-of-type(-2n+7) > td:nth-of-type(2) {
background-color: #F5EBE6; }
section.content > table.career tr:nth-of-type(2n+9) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.career tr:nth-of-type(2n+9) > td:nth-of-type(2),
section.content table.career tr:nth-of-type(2n+9) > td:nth-of-type(2) {
background-color: #D4E2FF; }
section.content > table.career tr:nth-of-type(2n+10) > td:nth-of-type(2) {
div.FixedHeader_Cloned table.career tr:nth-of-type(2n+10) > td:nth-of-type(2),
section.content table.career tr:nth-of-type(2n+10) > td:nth-of-type(2) {
background-color: #F2F6FF; }
section.content > table.career tr:nth-of-type(9) > td:nth-of-type(n) {
border-top-color: #1A1A1A; }
div.FixedHeader_Cloned table.career tr:nth-of-type(9) > td:nth-of-type(n),
section.content table.career tr:nth-of-type(9) > td:nth-of-type(n) {
border-top-color: #1A1A1A; }
/* FILTERS */
tr.filters th {
padding: 0.4em 0 !important; }
tr.filters input.column_filter {
font-size: 16px;
margin: 0;
padding: 0.2em 0.4em;
width: 90%;
box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;
text-align: center;
color: #FCFDF6;
border: 0; }
::-webkit-input-placeholder {
font-family: Helvetica;
font-weight: 300;
color: #FCFDF6; }
:-moz-placeholder { /* Firefox 18- */
font-style: italic;
font-weight: 300;
color: #FCFDF6; }
::-moz-placeholder { /* Firefox 19+ */
font-style: italic;
font-weight: 300;
color: #FCFDF6; }
:-ms-input-placeholder {
font-style: italic;
font-weight: 300;
color: #FCFDF6; }
input:focus::-webkit-input-placeholder { color: transparent; }
input:focus:-moz-placeholder { color: transparent; } /* FF 4-18 */
input:focus::-moz-placeholder { color: transparent; } /* FF 19+ */
input:focus:-ms-input-placeholder { color: transparent; }
table.hero tr.filters input.column_filter {
background-color: transparent; }
table.veteran tr.filters input.column_filter {
background-color: transparent; }
table.epic tr.filters input.column_filter {
background-color: transparent; }