Merge remote-tracking branch 'upstream/develop' into waffles-search
@@ -1,143 +0,0 @@
|
||||
.dataTables_wrapper {
|
||||
border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
width: 100%;
|
||||
background-color: #313131;
|
||||
min-height: 155px;
|
||||
clear: both;
|
||||
_height: 302px;
|
||||
zoom: 1; /* Feeling sorry for IE */
|
||||
}
|
||||
|
||||
.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 20px;
|
||||
height: 30px;
|
||||
margin-left: -125px;
|
||||
margin-top: -15px;
|
||||
padding: 14px 0 2px 0;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
background-color: #343434;
|
||||
}
|
||||
|
||||
.dataTables_length {
|
||||
/*
|
||||
* Look in styles.css
|
||||
* */
|
||||
}
|
||||
|
||||
.dataTables_filter {
|
||||
/*
|
||||
* Look in style.css
|
||||
* */
|
||||
}
|
||||
|
||||
.dataTables_info {
|
||||
/*
|
||||
* Look in style.css
|
||||
* */
|
||||
}
|
||||
|
||||
.dataTables_paginate {
|
||||
width: 44px;
|
||||
* width: 50px;
|
||||
float: right;
|
||||
text-align: right;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
/* Pagination nested */
|
||||
.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
|
||||
height: 19px;
|
||||
width: 19px;
|
||||
margin-left: 3px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.paginate_disabled_previous {
|
||||
background-image: url('../images/back_disabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_enabled_previous {
|
||||
background-image: url('../images/back_enabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_disabled_next {
|
||||
background-image: url('../images/forward_disabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_enabled_next {
|
||||
background-image: url('../images/forward_enabled.jpg');
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables display
|
||||
*/
|
||||
table.display {
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
|
||||
/* Note Firefox 3.5 and before have a bug with border-collapse
|
||||
* ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 )
|
||||
* border-spacing: 0; is one possible option. Conditional-css.com is
|
||||
* useful for this kind of thing
|
||||
*
|
||||
* Further note IE 6/7 has problems when calculating widths with border width.
|
||||
* It subtracts one px relative to the other browsers from the first column, and
|
||||
* adds one to the end...
|
||||
*
|
||||
* If you want that effect I'd suggest setting a border-top/left on th/td's and
|
||||
* then filling in the gaps with other borders.
|
||||
*/
|
||||
}
|
||||
|
||||
table.display thead th {
|
||||
/*Moved*/
|
||||
}
|
||||
|
||||
table.display tfoot th {
|
||||
/*Moved*/
|
||||
}
|
||||
|
||||
table.display tr.heading2 td {
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
table.display td {
|
||||
/* Moved */
|
||||
}
|
||||
|
||||
table.display td.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables sorting
|
||||
*/
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables row classes
|
||||
*/
|
||||
/*Downloaded*/
|
||||
/*Moved*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* Misc
|
||||
*/
|
||||
|
||||
@@ -21,9 +21,18 @@
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 10px;
|
||||
width: 14px;
|
||||
height: 100%;
|
||||
background: red;
|
||||
border-left: 1px solid rgba(255,255,255,0.1);
|
||||
padding: 1px;
|
||||
background: rgb(55,65,76); /* Old browsers */
|
||||
background: -moz-linear-gradient(left, rgba(55,65,76,1) 0%, rgba(45,53,63,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(55,65,76,1)), color-stop(100%,rgba(45,53,63,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(left, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(left, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(left, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(left, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#37414c', endColorstr='#2d353f',GradientType=1 ); /* IE6-9 */
|
||||
}
|
||||
|
||||
.jspHorizontalBar
|
||||
@@ -33,7 +42,6 @@
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.jspVerticalBar *,
|
||||
@@ -41,6 +49,7 @@
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
}
|
||||
|
||||
.jspCap
|
||||
@@ -55,23 +64,38 @@
|
||||
|
||||
.jspTrack
|
||||
{
|
||||
background: rgb(10,10,10);
|
||||
position: relative;
|
||||
border-radius: 1em;
|
||||
background: rgb(13,15,17); /* Old browsers */
|
||||
background: -moz-linear-gradient(left, rgba(13,15,17,1) 0%, rgba(23,28,33,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(13,15,17,1)), color-stop(100%,rgba(23,28,33,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(left, rgba(13,15,17,1) 0%,rgba(23,28,33,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(left, rgba(13,15,17,1) 0%,rgba(23,28,33,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(left, rgba(13,15,17,1) 0%,rgba(23,28,33,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(left, rgba(13,15,17,1) 0%,rgba(23,28,33,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0d0f11', endColorstr='#171c21',GradientType=1 ); /* IE6-9 */
|
||||
}
|
||||
|
||||
.jspDrag
|
||||
{
|
||||
background: rgb(90,0,10);
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
cursor: pointer;
|
||||
border-radius: 20px;
|
||||
border-left: 1px solid rgba(255,255,255,0.1);
|
||||
border-radius: 1em;
|
||||
background: rgb(112,135,158); /* Old browsers */
|
||||
background: -moz-linear-gradient(left, rgba(112,135,158,1) 0%, rgba(76,90,107,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(112,135,158,1)), color-stop(100%,rgba(76,90,107,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(left, rgba(112,135,158,1) 0%,rgba(76,90,107,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(left, rgba(112,135,158,1) 0%,rgba(76,90,107,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(left, rgba(112,135,158,1) 0%,rgba(76,90,107,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(left, rgba(112,135,158,1) 0%,rgba(76,90,107,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#70879e', endColorstr='#4c5a6b',GradientType=1 ); /* IE6-9 */
|
||||
}
|
||||
.jspDrag:active,
|
||||
.jspDrag:hover
|
||||
{
|
||||
background: rgb(160,0,10);
|
||||
}
|
||||
|
||||
.jspHorizontalBar .jspTrack,
|
||||
@@ -83,36 +107,35 @@
|
||||
|
||||
.jspArrow
|
||||
{
|
||||
background: #50506d;
|
||||
text-indent: -20000px;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
font-family: 'WebSymbolsRegular';
|
||||
font-size: 0.1em;
|
||||
}
|
||||
|
||||
.jspArrow.jspDisabled
|
||||
{
|
||||
cursor: default;
|
||||
background: #80808d;
|
||||
}
|
||||
|
||||
.jspVerticalBar .jspArrow .jspArrowUp {
|
||||
background: url(../images/arrow-up.png) no-repeat 50% 50%;
|
||||
.jspVerticalBar .jspArrow .jspArrowUp:after {
|
||||
content: ':';
|
||||
}
|
||||
.jspVerticalBar .jspArrow .jspArrowDown {
|
||||
background: url(../images/arrow-down.png) no-repeat 50% 50%;
|
||||
.jspVerticalBar .jspArrow .jspArrowDown:after {
|
||||
content: ';';
|
||||
}
|
||||
.jspVerticalBar .jspArrow
|
||||
{
|
||||
height: 10px;
|
||||
height: 16px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.jspHorizontalBar .jspArrow
|
||||
{
|
||||
width: 10px;
|
||||
width: 16px;
|
||||
float: left;
|
||||
height: 100%;
|
||||
background-image: url(../images/arrow-up.png);
|
||||
}
|
||||
|
||||
.jspVerticalBar .jspArrow:focus
|
||||
|
||||
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 237 KiB |
|
Before Width: | Height: | Size: 166 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
@@ -1,77 +0,0 @@
|
||||
//Mark current active link
|
||||
$(document).ready(function () {
|
||||
$("#nav li a").each(function () {
|
||||
var hreflink = $(this).attr("href");
|
||||
var locationHref = location.href.split("/").pop();
|
||||
if (hreflink == locationHref) {
|
||||
$(this).parent().addClass("selected");
|
||||
}
|
||||
});
|
||||
});
|
||||
//Resize #main to fit window size
|
||||
$(document).ready(function() {
|
||||
//On load set #main height & width
|
||||
windowWidth = $(window).width();
|
||||
windowHeight = $(window).height();
|
||||
menuWidth = $("#nav").outerWidth();
|
||||
headerHeight = $("header").height();
|
||||
footerHeight = $("footer").innerHeight();
|
||||
$("#main").height(windowHeight - headerHeight - footerHeight);
|
||||
$("#main").width(windowWidth - menuWidth);
|
||||
$(".fixed").width(windowWidth - menuWidth);
|
||||
});
|
||||
|
||||
//On window resize
|
||||
$(window).resize(function() {
|
||||
windowWidth = $(window).width();
|
||||
windowHeight = $(window).height();
|
||||
menuWidth = $("#nav").outerWidth();
|
||||
headerHeight = $("header").height();
|
||||
footerHeight = $("footer").innerHeight();
|
||||
$("#main").height(windowHeight - headerHeight - footerHeight);
|
||||
$("#main").width(windowWidth - menuWidth);
|
||||
$(".fixed").width(windowWidth - menuWidth);
|
||||
});
|
||||
|
||||
//Update close
|
||||
$(document).ready(function () {
|
||||
$("#updatebar").hide();
|
||||
$("#updatebar").fadeIn("Fast");
|
||||
|
||||
$(".btnClose").click(function() {
|
||||
$("#updatebar").fadeOut("slow");
|
||||
});
|
||||
});
|
||||
|
||||
//Add styled class to dataTables_lenght
|
||||
$(document).ready(function() {
|
||||
$(".dataTables_length label select").addClass("styled");
|
||||
});
|
||||
|
||||
//Main fadeIn
|
||||
$(document).ready(function () {
|
||||
$("#main").hide();
|
||||
$("#main").fadeIn("slow");
|
||||
});
|
||||
|
||||
//CD Rotate
|
||||
$(function() {
|
||||
var $rotateElement = $(".album-art-cd");
|
||||
rotate(0);
|
||||
function rotate(degree) {
|
||||
|
||||
// For webkit browsers: e.g. Chrome
|
||||
$rotateElement.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});
|
||||
// For Mozilla browser: e.g. Firefox
|
||||
$rotateElement.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});
|
||||
|
||||
// Animate rotation with a recursive call
|
||||
setTimeout(function() { rotate(++degree); },30);
|
||||
}
|
||||
});
|
||||
|
||||
//Acesskey
|
||||
function accesskey()
|
||||
{
|
||||
document.getElementByClassName('.dataTables_filter div input').accessKey="q";
|
||||
}
|
||||
@@ -1,144 +0,0 @@
|
||||
/*
|
||||
|
||||
CUSTOM FORM ELEMENTS
|
||||
|
||||
Created by Ryan Fait
|
||||
www.ryanfait.com
|
||||
|
||||
The only things you may need to change in this file are the following
|
||||
variables: checkboxHeight, radioHeight and selectWidth (lines 24, 25, 26)
|
||||
|
||||
The numbers you set for checkboxHeight and radioHeight should be one quarter
|
||||
of the total height of the image want to use for checkboxes and radio
|
||||
buttons. Both images should contain the four stages of both inputs stacked
|
||||
on top of each other in this order: unchecked, unchecked-clicked, checked,
|
||||
checked-clicked.
|
||||
|
||||
You may need to adjust your images a bit if there is a slight vertical
|
||||
movement during the different stages of the button activation.
|
||||
|
||||
The value of selectWidth should be the width of your select list image.
|
||||
|
||||
Visit http://ryanfait.com/ for more information.
|
||||
|
||||
*/
|
||||
|
||||
var checkboxHeight = "25";
|
||||
var radioHeight = "25";
|
||||
var selectWidth = "143";
|
||||
|
||||
|
||||
/* No need to change anything after this */
|
||||
|
||||
|
||||
document.write('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: ' + selectWidth + 'px; opacity: 0; filter: alpha(opacity=0); z-index: 5; } .disabled { opacity: 0.5; filter: alpha(opacity=50); }</style>');
|
||||
|
||||
var Custom = {
|
||||
init: function() {
|
||||
var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
|
||||
for(a = 0; a < inputs.length; a++) {
|
||||
if((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className == "styled") {
|
||||
span[a] = document.createElement("span");
|
||||
span[a].className = inputs[a].type;
|
||||
|
||||
if(inputs[a].checked == true) {
|
||||
if(inputs[a].type == "checkbox") {
|
||||
position = "0 -" + (checkboxHeight*2) + "px";
|
||||
span[a].style.backgroundPosition = position;
|
||||
} else {
|
||||
position = "0 -" + (radioHeight*2) + "px";
|
||||
span[a].style.backgroundPosition = position;
|
||||
}
|
||||
}
|
||||
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
|
||||
inputs[a].onchange = Custom.clear;
|
||||
if(!inputs[a].getAttribute("disabled")) {
|
||||
span[a].onmousedown = Custom.pushed;
|
||||
span[a].onmouseup = Custom.check;
|
||||
} else {
|
||||
span[a].className = span[a].className += " disabled";
|
||||
}
|
||||
}
|
||||
}
|
||||
inputs = document.getElementsByTagName("select");
|
||||
for(a = 0; a < inputs.length; a++) {
|
||||
if(inputs[a].className == "styled") {
|
||||
option = inputs[a].getElementsByTagName("option");
|
||||
active = option[0].childNodes[0].nodeValue;
|
||||
textnode = document.createTextNode(active);
|
||||
for(b = 0; b < option.length; b++) {
|
||||
if(option[b].selected == true) {
|
||||
textnode = document.createTextNode(option[b].childNodes[0].nodeValue);
|
||||
}
|
||||
}
|
||||
span[a] = document.createElement("span");
|
||||
span[a].className = "select";
|
||||
span[a].id = "select" + inputs[a].name;
|
||||
span[a].appendChild(textnode);
|
||||
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
|
||||
if(!inputs[a].getAttribute("disabled")) {
|
||||
inputs[a].onchange = Custom.choose;
|
||||
} else {
|
||||
inputs[a].previousSibling.className = inputs[a].previousSibling.className += " disabled";
|
||||
}
|
||||
}
|
||||
}
|
||||
document.onmouseup = Custom.clear;
|
||||
},
|
||||
pushed: function() {
|
||||
element = this.nextSibling;
|
||||
if(element.checked == true && element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 -" + checkboxHeight*3 + "px";
|
||||
} else if(element.checked == true && element.type == "radio") {
|
||||
this.style.backgroundPosition = "0 -" + radioHeight*3 + "px";
|
||||
} else if(element.checked != true && element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 -" + checkboxHeight + "px";
|
||||
} else {
|
||||
this.style.backgroundPosition = "0 -" + radioHeight + "px";
|
||||
}
|
||||
},
|
||||
check: function() {
|
||||
element = this.nextSibling;
|
||||
if(element.checked == true && element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 0";
|
||||
element.checked = false;
|
||||
} else {
|
||||
if(element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
|
||||
} else {
|
||||
this.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
|
||||
group = this.nextSibling.name;
|
||||
inputs = document.getElementsByTagName("input");
|
||||
for(a = 0; a < inputs.length; a++) {
|
||||
if(inputs[a].name == group && inputs[a] != this.nextSibling) {
|
||||
inputs[a].previousSibling.style.backgroundPosition = "0 0";
|
||||
}
|
||||
}
|
||||
}
|
||||
element.checked = true;
|
||||
}
|
||||
},
|
||||
clear: function() {
|
||||
inputs = document.getElementsByTagName("input");
|
||||
for(var b = 0; b < inputs.length; b++) {
|
||||
if(inputs[b].type == "checkbox" && inputs[b].checked == true && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
|
||||
} else if(inputs[b].type == "checkbox" && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 0";
|
||||
} else if(inputs[b].type == "radio" && inputs[b].checked == true && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
|
||||
} else if(inputs[b].type == "radio" && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 0";
|
||||
}
|
||||
}
|
||||
},
|
||||
choose: function() {
|
||||
option = this.getElementsByTagName("option");
|
||||
for(d = 0; d < option.length; d++) {
|
||||
if(option[d].selected == true) {
|
||||
document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
window.onload = Custom.init;
|
||||
9266
data/interfaces/brink/JS/jquery-1.7.1.js
vendored
@@ -1,11 +0,0 @@
|
||||
/*
|
||||
* jScrollPane - v2.0.0beta11 - 2011-07-04
|
||||
* http://jscrollpane.kelvinluck.com/
|
||||
*
|
||||
* Copyright (c) 2010 Kelvin Luck
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
*/
|
||||
(function(b,a,c){b.fn.jScrollPane=function(e){function d(D,O){var az,Q=this,Y,ak,v,am,T,Z,y,q,aA,aF,av,i,I,h,j,aa,U,aq,X,t,A,ar,af,an,G,l,au,ay,x,aw,aI,f,L,aj=true,P=true,aH=false,k=false,ap=D.clone(false,false).empty(),ac=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aI=D.css("paddingTop")+" "+D.css("paddingRight")+" "+D.css("paddingBottom")+" "+D.css("paddingLeft");f=(parseInt(D.css("paddingLeft"),10)||0)+(parseInt(D.css("paddingRight"),10)||0);function at(aR){var aM,aO,aN,aK,aJ,aQ,aP=false,aL=false;az=aR;if(Y===c){aJ=D.scrollTop();aQ=D.scrollLeft();D.css({overflow:"hidden",padding:0});ak=D.innerWidth()+f;v=D.innerHeight();D.width(ak);Y=b('<div class="jspPane" />').css("padding",aI).append(D.children());am=b('<div class="jspContainer" />').css({width:ak+"px",height:v+"px"}).append(Y).appendTo(D)}else{D.css("width","");aP=az.stickToBottom&&K();aL=az.stickToRight&&B();aK=D.innerWidth()+f!=ak||D.outerHeight()!=v;if(aK){ak=D.innerWidth()+f;v=D.innerHeight();am.css({width:ak+"px",height:v+"px"})}if(!aK&&L==T&&Y.outerHeight()==Z){D.width(ak);return}L=T;Y.css("width","");D.width(ak);am.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}Y.css("overflow","auto");if(aR.contentWidth){T=aR.contentWidth}else{T=Y[0].scrollWidth}Z=Y[0].scrollHeight;Y.css("overflow","");y=T/ak;q=Z/v;aA=q>1;aF=y>1;if(!(aF||aA)){D.removeClass("jspScrollable");Y.css({top:0,width:am.width()-f});n();E();R();w();ai()}else{D.addClass("jspScrollable");aM=az.maintainPosition&&(I||aa);if(aM){aO=aD();aN=aB()}aG();z();F();if(aM){N(aL?(T-ak):aO,false);M(aP?(Z-v):aN,false)}J();ag();ao();if(az.enableKeyboardNavigation){S()}if(az.clickOnTrack){p()}C();if(az.hijackInternalLinks){m()}}if(az.autoReinitialise&&!aw){aw=setInterval(function(){at(az)},az.autoReinitialiseDelay)}else{if(!az.autoReinitialise&&aw){clearInterval(aw)}}aJ&&D.scrollTop(0)&&M(aJ,false);aQ&&D.scrollLeft(0)&&N(aQ,false);D.trigger("jsp-initialised",[aF||aA])}function aG(){if(aA){am.append(b('<div class="jspVerticalBar" />').append(b('<div class="jspCap jspCapTop" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragTop" />'),b('<div class="jspDragBottom" />'))),b('<div class="jspCap jspCapBottom" />')));U=am.find(">.jspVerticalBar");aq=U.find(">.jspTrack");av=aq.find(">.jspDrag");if(az.showArrows){ar=b('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp",aE(0,-1)).bind("click.jsp",aC);af=b('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp",aE(0,1)).bind("click.jsp",aC);if(az.arrowScrollOnHover){ar.bind("mouseover.jsp",aE(0,-1,ar));af.bind("mouseover.jsp",aE(0,1,af))}al(aq,az.verticalArrowPositions,ar,af)}t=v;am.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){t-=b(this).outerHeight()});av.hover(function(){av.addClass("jspHover")},function(){av.removeClass("jspHover")}).bind("mousedown.jsp",function(aJ){b("html").bind("dragstart.jsp selectstart.jsp",aC);av.addClass("jspActive");var s=aJ.pageY-av.position().top;b("html").bind("mousemove.jsp",function(aK){V(aK.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",ax);return false});o()}}function o(){aq.height(t+"px");I=0;X=az.verticalGutter+aq.outerWidth();Y.width(ak-X-f);try{if(U.position().left===0){Y.css("margin-left",X+"px")}}catch(s){}}function z(){if(aF){am.append(b('<div class="jspHorizontalBar" />').append(b('<div class="jspCap jspCapLeft" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragLeft" />'),b('<div class="jspDragRight" />'))),b('<div class="jspCap jspCapRight" />')));an=am.find(">.jspHorizontalBar");G=an.find(">.jspTrack");h=G.find(">.jspDrag");if(az.showArrows){ay=b('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp",aE(-1,0)).bind("click.jsp",aC);x=b('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp",aE(1,0)).bind("click.jsp",aC);
|
||||
if(az.arrowScrollOnHover){ay.bind("mouseover.jsp",aE(-1,0,ay));x.bind("mouseover.jsp",aE(1,0,x))}al(G,az.horizontalArrowPositions,ay,x)}h.hover(function(){h.addClass("jspHover")},function(){h.removeClass("jspHover")}).bind("mousedown.jsp",function(aJ){b("html").bind("dragstart.jsp selectstart.jsp",aC);h.addClass("jspActive");var s=aJ.pageX-h.position().left;b("html").bind("mousemove.jsp",function(aK){W(aK.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",ax);return false});l=am.innerWidth();ah()}}function ah(){am.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){l-=b(this).outerWidth()});G.width(l+"px");aa=0}function F(){if(aF&&aA){var aJ=G.outerHeight(),s=aq.outerWidth();t-=aJ;b(an).find(">.jspCap:visible,>.jspArrow").each(function(){l+=b(this).outerWidth()});l-=s;v-=s;ak-=aJ;G.parent().append(b('<div class="jspCorner" />').css("width",aJ+"px"));o();ah()}if(aF){Y.width((am.outerWidth()-f)+"px")}Z=Y.outerHeight();q=Z/v;if(aF){au=Math.ceil(1/y*l);if(au>az.horizontalDragMaxWidth){au=az.horizontalDragMaxWidth}else{if(au<az.horizontalDragMinWidth){au=az.horizontalDragMinWidth}}h.width(au+"px");j=l-au;ae(aa)}if(aA){A=Math.ceil(1/q*t);if(A>az.verticalDragMaxHeight){A=az.verticalDragMaxHeight}else{if(A<az.verticalDragMinHeight){A=az.verticalDragMinHeight}}av.height(A+"px");i=t-A;ad(I)}}function al(aK,aM,aJ,s){var aO="before",aL="after",aN;if(aM=="os"){aM=/Mac/.test(navigator.platform)?"after":"split"}if(aM==aO){aL=aM}else{if(aM==aL){aO=aM;aN=aJ;aJ=s;s=aN}}aK[aO](aJ)[aL](s)}function aE(aJ,s,aK){return function(){H(aJ,s,this,aK);this.blur();return false}}function H(aM,aL,aP,aO){aP=b(aP).addClass("jspActive");var aN,aK,aJ=true,s=function(){if(aM!==0){Q.scrollByX(aM*az.arrowButtonSpeed)}if(aL!==0){Q.scrollByY(aL*az.arrowButtonSpeed)}aK=setTimeout(s,aJ?az.initialDelay:az.arrowRepeatFreq);aJ=false};s();aN=aO?"mouseout.jsp":"mouseup.jsp";aO=aO||b("html");aO.bind(aN,function(){aP.removeClass("jspActive");aK&&clearTimeout(aK);aK=null;aO.unbind(aN)})}function p(){w();if(aA){aq.bind("mousedown.jsp",function(aO){if(aO.originalTarget===c||aO.originalTarget==aO.currentTarget){var aM=b(this),aP=aM.offset(),aN=aO.pageY-aP.top-I,aK,aJ=true,s=function(){var aS=aM.offset(),aT=aO.pageY-aS.top-A/2,aQ=v*az.scrollPagePercent,aR=i*aQ/(Z-v);if(aN<0){if(I-aR>aT){Q.scrollByY(-aQ)}else{V(aT)}}else{if(aN>0){if(I+aR<aT){Q.scrollByY(aQ)}else{V(aT)}}else{aL();return}}aK=setTimeout(s,aJ?az.initialDelay:az.trackClickRepeatFreq);aJ=false},aL=function(){aK&&clearTimeout(aK);aK=null;b(document).unbind("mouseup.jsp",aL)};s();b(document).bind("mouseup.jsp",aL);return false}})}if(aF){G.bind("mousedown.jsp",function(aO){if(aO.originalTarget===c||aO.originalTarget==aO.currentTarget){var aM=b(this),aP=aM.offset(),aN=aO.pageX-aP.left-aa,aK,aJ=true,s=function(){var aS=aM.offset(),aT=aO.pageX-aS.left-au/2,aQ=ak*az.scrollPagePercent,aR=j*aQ/(T-ak);if(aN<0){if(aa-aR>aT){Q.scrollByX(-aQ)}else{W(aT)}}else{if(aN>0){if(aa+aR<aT){Q.scrollByX(aQ)}else{W(aT)}}else{aL();return}}aK=setTimeout(s,aJ?az.initialDelay:az.trackClickRepeatFreq);aJ=false},aL=function(){aK&&clearTimeout(aK);aK=null;b(document).unbind("mouseup.jsp",aL)};s();b(document).bind("mouseup.jsp",aL);return false}})}}function w(){if(G){G.unbind("mousedown.jsp")}if(aq){aq.unbind("mousedown.jsp")}}function ax(){b("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");if(av){av.removeClass("jspActive")}if(h){h.removeClass("jspActive")}}function V(s,aJ){if(!aA){return}if(s<0){s=0}else{if(s>i){s=i}}if(aJ===c){aJ=az.animateScroll}if(aJ){Q.animate(av,"top",s,ad)}else{av.css("top",s);ad(s)}}function ad(aJ){if(aJ===c){aJ=av.position().top}am.scrollTop(0);I=aJ;var aM=I===0,aK=I==i,aL=aJ/i,s=-aL*(Z-v);if(aj!=aM||aH!=aK){aj=aM;aH=aK;D.trigger("jsp-arrow-change",[aj,aH,P,k])}u(aM,aK);Y.css("top",s);D.trigger("jsp-scroll-y",[-s,aM,aK]).trigger("scroll")}function W(aJ,s){if(!aF){return}if(aJ<0){aJ=0}else{if(aJ>j){aJ=j}}if(s===c){s=az.animateScroll}if(s){Q.animate(h,"left",aJ,ae)
|
||||
}else{h.css("left",aJ);ae(aJ)}}function ae(aJ){if(aJ===c){aJ=h.position().left}am.scrollTop(0);aa=aJ;var aM=aa===0,aL=aa==j,aK=aJ/j,s=-aK*(T-ak);if(P!=aM||k!=aL){P=aM;k=aL;D.trigger("jsp-arrow-change",[aj,aH,P,k])}r(aM,aL);Y.css("left",s);D.trigger("jsp-scroll-x",[-s,aM,aL]).trigger("scroll")}function u(aJ,s){if(az.showArrows){ar[aJ?"addClass":"removeClass"]("jspDisabled");af[s?"addClass":"removeClass"]("jspDisabled")}}function r(aJ,s){if(az.showArrows){ay[aJ?"addClass":"removeClass"]("jspDisabled");x[s?"addClass":"removeClass"]("jspDisabled")}}function M(s,aJ){var aK=s/(Z-v);V(aK*i,aJ)}function N(aJ,s){var aK=aJ/(T-ak);W(aK*j,s)}function ab(aW,aR,aK){var aO,aL,aM,s=0,aV=0,aJ,aQ,aP,aT,aS,aU;try{aO=b(aW)}catch(aN){return}aL=aO.outerHeight();aM=aO.outerWidth();am.scrollTop(0);am.scrollLeft(0);while(!aO.is(".jspPane")){s+=aO.position().top;aV+=aO.position().left;aO=aO.offsetParent();if(/^body|html$/i.test(aO[0].nodeName)){return}}aJ=aB();aP=aJ+v;if(s<aJ||aR){aS=s-az.verticalGutter}else{if(s+aL>aP){aS=s-v+aL+az.verticalGutter}}if(aS){M(aS,aK)}aQ=aD();aT=aQ+ak;if(aV<aQ||aR){aU=aV-az.horizontalGutter}else{if(aV+aM>aT){aU=aV-ak+aM+az.horizontalGutter}}if(aU){N(aU,aK)}}function aD(){return -Y.position().left}function aB(){return -Y.position().top}function K(){var s=Z-v;return(s>20)&&(s-aB()<10)}function B(){var s=T-ak;return(s>20)&&(s-aD()<10)}function ag(){am.unbind(ac).bind(ac,function(aM,aN,aL,aJ){var aK=aa,s=I;Q.scrollBy(aL*az.mouseWheelSpeed,-aJ*az.mouseWheelSpeed,false);return aK==aa&&s==I})}function n(){am.unbind(ac)}function aC(){return false}function J(){Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ab(s.target,false)})}function E(){Y.find(":input,a").unbind("focus.jsp")}function S(){var s,aJ,aL=[];aF&&aL.push(an[0]);aA&&aL.push(U[0]);Y.focus(function(){D.focus()});D.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aO){if(aO.target!==this&&!(aL.length&&b(aO.target).closest(aL).length)){return}var aN=aa,aM=I;switch(aO.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aO.keyCode;aK();break;case 35:M(Z-v);s=null;break;case 36:M(0);s=null;break}aJ=aO.keyCode==s&&aN!=aa||aM!=I;return !aJ}).bind("keypress.jsp",function(aM){if(aM.keyCode==s){aK()}return !aJ});if(az.hideFocus){D.css("outline","none");if("hideFocus" in am[0]){D.attr("hideFocus",true)}}else{D.css("outline","");if("hideFocus" in am[0]){D.attr("hideFocus",false)}}function aK(){var aN=aa,aM=I;switch(s){case 40:Q.scrollByY(az.keyboardSpeed,false);break;case 38:Q.scrollByY(-az.keyboardSpeed,false);break;case 34:case 32:Q.scrollByY(v*az.scrollPagePercent,false);break;case 33:Q.scrollByY(-v*az.scrollPagePercent,false);break;case 39:Q.scrollByX(az.keyboardSpeed,false);break;case 37:Q.scrollByX(-az.keyboardSpeed,false);break}aJ=aN!=aa||aM!=I;return aJ}}function R(){D.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function C(){if(location.hash&&location.hash.length>1){var aL,aJ,aK=escape(location.hash);try{aL=b(aK)}catch(s){return}if(aL.length&&Y.find(aK)){if(am.scrollTop()===0){aJ=setInterval(function(){if(am.scrollTop()>0){ab(aK,true);b(document).scrollTop(am.position().top);clearInterval(aJ)}},50)}else{ab(aK,true);b(document).scrollTop(am.position().top)}}}}function ai(){b("a.jspHijack").unbind("click.jsp-hijack").removeClass("jspHijack")}function m(){ai();b("a[href^=#]").addClass("jspHijack").bind("click.jsp-hijack",function(){var s=this.href.split("#"),aJ;if(s.length>1){aJ=s[1];if(aJ.length>0&&Y.find("#"+aJ).length>0){ab("#"+aJ,true);return false}}})}function ao(){var aK,aJ,aM,aL,aN,s=false;am.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aO){var aP=aO.originalEvent.touches[0];aK=aD();aJ=aB();aM=aP.pageX;aL=aP.pageY;aN=false;s=true}).bind("touchmove.jsp",function(aR){if(!s){return}var aQ=aR.originalEvent.touches[0],aP=aa,aO=I;Q.scrollTo(aK+aM-aQ.pageX,aJ+aL-aQ.pageY);aN=aN||Math.abs(aM-aQ.pageX)>5||Math.abs(aL-aQ.pageY)>5;
|
||||
return aP==aa&&aO==I}).bind("touchend.jsp",function(aO){s=false}).bind("click.jsp-touchclick",function(aO){if(aN){aN=false;return false}})}function g(){var s=aB(),aJ=aD();D.removeClass("jspScrollable").unbind(".jsp");D.replaceWith(ap.append(Y.children()));ap.scrollTop(s);ap.scrollLeft(aJ)}b.extend(Q,{reinitialise:function(aJ){aJ=b.extend({},az,aJ);at(aJ)},scrollToElement:function(aK,aJ,s){ab(aK,aJ,s)},scrollTo:function(aK,s,aJ){N(aK,aJ);M(s,aJ)},scrollToX:function(aJ,s){N(aJ,s)},scrollToY:function(s,aJ){M(s,aJ)},scrollToPercentX:function(aJ,s){N(aJ*(T-ak),s)},scrollToPercentY:function(aJ,s){M(aJ*(Z-v),s)},scrollBy:function(aJ,s,aK){Q.scrollByX(aJ,aK);Q.scrollByY(s,aK)},scrollByX:function(s,aK){var aJ=aD()+Math[s<0?"floor":"ceil"](s),aL=aJ/(T-ak);W(aL*j,aK)},scrollByY:function(s,aK){var aJ=aB()+Math[s<0?"floor":"ceil"](s),aL=aJ/(Z-v);V(aL*i,aK)},positionDragX:function(s,aJ){W(s,aJ)},positionDragY:function(aJ,s){V(aJ,s)},animate:function(aJ,aM,s,aL){var aK={};aK[aM]=s;aJ.animate(aK,{duration:az.animateDuration,easing:az.animateEase,queue:false,step:aL})},getContentPositionX:function(){return aD()},getContentPositionY:function(){return aB()},getContentWidth:function(){return T},getContentHeight:function(){return Z},getPercentScrolledX:function(){return aD()/(T-ak)},getPercentScrolledY:function(){return aB()/(Z-v)},getIsScrollableH:function(){return aF},getIsScrollableV:function(){return aA},getContentPane:function(){return Y},scrollToBottom:function(s){V(i,s)},hijackInternalLinks:function(){m()},destroy:function(){g()}});at(O)}e=b.extend({},b.fn.jScrollPane.defaults,e);b.each(["mouseWheelSpeed","arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){e[this]=e[this]||e.speed});return this.each(function(){var f=b(this),g=f.data("jsp");if(g){g.reinitialise(e)}else{g=new d(f,e);f.data("jsp",g)}})};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:0,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this);
|
||||
@@ -1,84 +0,0 @@
|
||||
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
||||
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
||||
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
||||
*
|
||||
* Version: 3.0.6
|
||||
*
|
||||
* Requires: 1.2.2+
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var types = ['DOMMouseScroll', 'mousewheel'];
|
||||
|
||||
if ($.event.fixHooks) {
|
||||
for ( var i=types.length; i; ) {
|
||||
$.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
|
||||
}
|
||||
}
|
||||
|
||||
$.event.special.mousewheel = {
|
||||
setup: function() {
|
||||
if ( this.addEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.addEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = handler;
|
||||
}
|
||||
},
|
||||
|
||||
teardown: function() {
|
||||
if ( this.removeEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.removeEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.extend({
|
||||
mousewheel: function(fn) {
|
||||
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
|
||||
},
|
||||
|
||||
unmousewheel: function(fn) {
|
||||
return this.unbind("mousewheel", fn);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function handler(event) {
|
||||
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
|
||||
event = $.event.fix(orgEvent);
|
||||
event.type = "mousewheel";
|
||||
|
||||
// Old school scrollwheel delta
|
||||
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
|
||||
if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
|
||||
|
||||
// New school multidimensional scroll (touchpads) deltas
|
||||
deltaY = delta;
|
||||
|
||||
// Gecko
|
||||
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
||||
deltaY = 0;
|
||||
deltaX = -1*delta;
|
||||
}
|
||||
|
||||
// Webkit
|
||||
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
|
||||
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
|
||||
|
||||
// Add event and delta to the front of the arguments
|
||||
args.unshift(event, delta, deltaX, deltaY);
|
||||
|
||||
return ($.event.dispatch || $.event.handle).apply(this, args);
|
||||
}
|
||||
|
||||
})(jQuery);
|
||||
8981
data/interfaces/brink/JS/libs/jquery-1.6.2.js
vendored
@@ -1,144 +0,0 @@
|
||||
/*
|
||||
|
||||
CUSTOM FORM ELEMENTS
|
||||
|
||||
Created by Ryan Fait
|
||||
www.ryanfait.com
|
||||
|
||||
The only things you may need to change in this file are the following
|
||||
variables: checkboxHeight, radioHeight and selectWidth (lines 24, 25, 26)
|
||||
|
||||
The numbers you set for checkboxHeight and radioHeight should be one quarter
|
||||
of the total height of the image want to use for checkboxes and radio
|
||||
buttons. Both images should contain the four stages of both inputs stacked
|
||||
on top of each other in this order: unchecked, unchecked-clicked, checked,
|
||||
checked-clicked.
|
||||
|
||||
You may need to adjust your images a bit if there is a slight vertical
|
||||
movement during the different stages of the button activation.
|
||||
|
||||
The value of selectWidth should be the width of your select list image.
|
||||
|
||||
Visit http://ryanfait.com/ for more information.
|
||||
|
||||
*/
|
||||
|
||||
var checkboxHeight = "25";
|
||||
var radioHeight = "25";
|
||||
var selectWidth = "143";
|
||||
|
||||
|
||||
/* No need to change anything after this */
|
||||
|
||||
|
||||
document.write('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: ' + selectWidth + 'px; opacity: 0; filter: alpha(opacity=0); z-index: 5; } .disabled { opacity: 0.5; filter: alpha(opacity=50); }</style>');
|
||||
|
||||
var Custom = {
|
||||
init: function() {
|
||||
var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
|
||||
for(a = 0; a < inputs.length; a++) {
|
||||
if((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className == "styled") {
|
||||
span[a] = document.createElement("span");
|
||||
span[a].className = inputs[a].type;
|
||||
|
||||
if(inputs[a].checked == true) {
|
||||
if(inputs[a].type == "checkbox") {
|
||||
position = "0 -" + (checkboxHeight*2) + "px";
|
||||
span[a].style.backgroundPosition = position;
|
||||
} else {
|
||||
position = "0 -" + (radioHeight*2) + "px";
|
||||
span[a].style.backgroundPosition = position;
|
||||
}
|
||||
}
|
||||
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
|
||||
inputs[a].onchange = Custom.clear;
|
||||
if(!inputs[a].getAttribute("disabled")) {
|
||||
span[a].onmousedown = Custom.pushed;
|
||||
span[a].onmouseup = Custom.check;
|
||||
} else {
|
||||
span[a].className = span[a].className += " disabled";
|
||||
}
|
||||
}
|
||||
}
|
||||
inputs = document.getElementsByTagName("select");
|
||||
for(a = 0; a < inputs.length; a++) {
|
||||
if(inputs[a].className == "styled") {
|
||||
option = inputs[a].getElementsByTagName("option");
|
||||
active = option[0].childNodes[0].nodeValue;
|
||||
textnode = document.createTextNode(active);
|
||||
for(b = 0; b < option.length; b++) {
|
||||
if(option[b].selected == true) {
|
||||
textnode = document.createTextNode(option[b].childNodes[0].nodeValue);
|
||||
}
|
||||
}
|
||||
span[a] = document.createElement("span");
|
||||
span[a].className = "select";
|
||||
span[a].id = "select" + inputs[a].name;
|
||||
span[a].appendChild(textnode);
|
||||
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
|
||||
if(!inputs[a].getAttribute("disabled")) {
|
||||
inputs[a].onchange = Custom.choose;
|
||||
} else {
|
||||
inputs[a].previousSibling.className = inputs[a].previousSibling.className += " disabled";
|
||||
}
|
||||
}
|
||||
}
|
||||
document.onmouseup = Custom.clear;
|
||||
},
|
||||
pushed: function() {
|
||||
element = this.nextSibling;
|
||||
if(element.checked == true && element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 -" + checkboxHeight*3 + "px";
|
||||
} else if(element.checked == true && element.type == "radio") {
|
||||
this.style.backgroundPosition = "0 -" + radioHeight*3 + "px";
|
||||
} else if(element.checked != true && element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 -" + checkboxHeight + "px";
|
||||
} else {
|
||||
this.style.backgroundPosition = "0 -" + radioHeight + "px";
|
||||
}
|
||||
},
|
||||
check: function() {
|
||||
element = this.nextSibling;
|
||||
if(element.checked == true && element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 0";
|
||||
element.checked = false;
|
||||
} else {
|
||||
if(element.type == "checkbox") {
|
||||
this.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
|
||||
} else {
|
||||
this.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
|
||||
group = this.nextSibling.name;
|
||||
inputs = document.getElementsByTagName("input");
|
||||
for(a = 0; a < inputs.length; a++) {
|
||||
if(inputs[a].name == group && inputs[a] != this.nextSibling) {
|
||||
inputs[a].previousSibling.style.backgroundPosition = "0 0";
|
||||
}
|
||||
}
|
||||
}
|
||||
element.checked = true;
|
||||
}
|
||||
},
|
||||
clear: function() {
|
||||
inputs = document.getElementsByTagName("input");
|
||||
for(var b = 0; b < inputs.length; b++) {
|
||||
if(inputs[b].type == "checkbox" && inputs[b].checked == true && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
|
||||
} else if(inputs[b].type == "checkbox" && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 0";
|
||||
} else if(inputs[b].type == "radio" && inputs[b].checked == true && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
|
||||
} else if(inputs[b].type == "radio" && inputs[b].className == "styled") {
|
||||
inputs[b].previousSibling.style.backgroundPosition = "0 0";
|
||||
}
|
||||
}
|
||||
},
|
||||
choose: function() {
|
||||
option = this.getElementsByTagName("option");
|
||||
for(d = 0; d < option.length; d++) {
|
||||
if(option[d].selected == true) {
|
||||
document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
window.onload = Custom.init;
|
||||
11612
data/interfaces/brink/JS/libs/jquery.dataTables.js
vendored
@@ -1,5 +1,154 @@
|
||||
function getArtistInfo(name,imgElem,size,artistID) {
|
||||
var apikey = "690e1ed3bc00bc91804cd8f7fe5ed6d4";
|
||||
|
||||
// Get Data by Artist ID
|
||||
$.ajax({
|
||||
url: "http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&mbid="+ artistID +"&api_key="+ apikey+"&format=json",
|
||||
dataType: "jsonp",
|
||||
cache: true,
|
||||
success: function(data){
|
||||
if ( data.artist !== undefined ) {
|
||||
var imageUrl = data.artist.image[size]['#text'];
|
||||
}
|
||||
if (data.error) {
|
||||
getArtistName();
|
||||
} else {
|
||||
if ( data.artist === undefined || imageUrl == "" || imageUrl == undefined ) {
|
||||
var imageLarge = "#";
|
||||
var imageUrl = "interfaces/brink/images/no-cover-artist.png";
|
||||
} else {
|
||||
var artist = data.artist.mbid;
|
||||
var artistBio = data.artist.bio.summary;
|
||||
var imageLarge = data.artist.image[4]['#text'];
|
||||
var imageUrl = data.artist.image[size]['#text'];
|
||||
}
|
||||
var artistBio = artistBio;
|
||||
var image = imgElem;
|
||||
var bio = $('#artistBio');
|
||||
$(image).attr("src",imageUrl).removeAttr("width").removeAttr("height").hide().fadeIn();
|
||||
if ( bio.length > 0 ) $(bio).append(artistBio);
|
||||
$(image).wrap('<a href="albumPage?AlbumID='+ artistID +'"></a>');
|
||||
}
|
||||
}
|
||||
});
|
||||
// If not found get by Name
|
||||
function getArtistName() {
|
||||
$.ajax({
|
||||
url: "http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&artist="+ name +"&api_key="+ apikey+"&format=json",
|
||||
dataType: "jsonp",
|
||||
success: function(data){
|
||||
if ( data.artist !== undefined ) {
|
||||
var imageUrl = data.artist.image[size]['#text'];
|
||||
}
|
||||
if ( data.artist === undefined || imageUrl == "" ) {
|
||||
var imageLarge = "#";
|
||||
var imageUrl = "interfaces/brink/images/no-cover-artist.png";
|
||||
} else {
|
||||
var artist = data.artist.name;
|
||||
var artistBio = data.artist.bio.summary;
|
||||
var imageLarge = data.artist.image[4]['#text'];
|
||||
var imageUrl = data.artist.image[size]['#text'];
|
||||
}
|
||||
var artistBio = artistBio;
|
||||
var image = imgElem;
|
||||
var bio = $('#artistBio');
|
||||
$(image).attr("src",imageUrl).removeAttr("width").removeAttr("height").hide().fadeIn();
|
||||
if ( bio.length > 0 ) $(bio).append(artistBio);
|
||||
$(image).wrap('<a href="'+ imageLarge +'" rel="dialog" title="' + artist + '"></a>');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getAlbumInfo(name, album, elem,size) {
|
||||
var apikey = "690e1ed3bc00bc91804cd8f7fe5ed6d4";
|
||||
var dimensions = getOriginalWidthOfImg(this);
|
||||
var cover = $(elem);
|
||||
|
||||
if ( dimensions <= 1) {
|
||||
// Get Data
|
||||
$.ajax({
|
||||
url: "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=" + apikey + "&artist="+ name +"&album="+ album +"&format=json&callback=?",
|
||||
dataType: "jsonp",
|
||||
success: function(data){
|
||||
if ( data.artist !== undefined ) {
|
||||
var imageUrl = data.artist.image[size]['#text'];
|
||||
}
|
||||
if (data.album === undefined || imageUrl == "") {
|
||||
if ( elem.width() == 50 ) {
|
||||
var imageUrl = "interfaces/brink/images/no-cover-artist.png";
|
||||
} else {
|
||||
var imageUrl = "interfaces/brink/images/no-cover-art.png";
|
||||
}
|
||||
} else {
|
||||
var imageUrl = data.album.image[size]['#text'];
|
||||
var imageLarge = data.album.image[3]['#text'];
|
||||
}
|
||||
$(cover).error(function(){
|
||||
if ( elem.width() == 50 ) {
|
||||
var imageUrl = "interfaces/brink/images/no-cover-artist.png";
|
||||
} else {
|
||||
var imageUrl = "interfaces/brink/images/no-cover-art.png";
|
||||
}
|
||||
$(elem).css("background", "url("+ imageUrl+") center top no-repeat");
|
||||
});
|
||||
if ( imageUrl == "") {
|
||||
if ( elem.width() == 50 ) {
|
||||
var imageUrl = "interfaces/brink/images/no-cover-artist.png";
|
||||
} else {
|
||||
var imageUrl = "interfaces/brink/images/no-cover-art.png";
|
||||
}
|
||||
$(elem).css("background", "url("+ imageUrl+")");
|
||||
}
|
||||
$(elem).css("background", "url("+ imageUrl+") center top no-repeat");
|
||||
$(elem).wrap('<a href="'+ imageLarge +'" rel="dialog" title="' + name + '"></a>');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getOriginalWidthOfImg(img_element) {
|
||||
var t = new Image();
|
||||
t.src = (img_element.getAttribute ? img_element.getAttribute("src") : false) || img_element.src;
|
||||
return t.width;
|
||||
}
|
||||
|
||||
function replaceEmptyAlbum(elem,name,album) {
|
||||
var album = $(elem);
|
||||
var artist = name;
|
||||
var albumname = album;
|
||||
var apikey = "690e1ed3bc00bc91804cd8f7fe5ed6d4";
|
||||
var dimensions = getOriginalWidthOfImg(this);
|
||||
var cover = $(this);
|
||||
var url;
|
||||
if ( dimensions <= 1) {
|
||||
url = "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=" + apikey + "&artist="+ artist +"&album="+ albumname +"&format=json&callback=?";
|
||||
var imageUrl;
|
||||
$.getJSON(url, function(data, response) {
|
||||
if (data.album === undefined) {
|
||||
imageUrl = "interfaces/brink/images/no-cover-art.png";
|
||||
} else {
|
||||
imageUrl = data.album.image[3]['#text'];
|
||||
imageLarge = data.album.image[4]['#text'];
|
||||
// If Last.fm don't provide a cover then use standard
|
||||
}
|
||||
$(cover).error(function(){
|
||||
imageUrl = "interfaces/brink/images/no-cover-art.png";
|
||||
$(this).hide().attr("src", imageUrl).show();
|
||||
})
|
||||
if ( imageUrl == "") {
|
||||
imageUrl = "interfaces/brink/images/no-cover-art.png";
|
||||
$(this).hide().attr("src", imageUrl).show();
|
||||
}
|
||||
$(cover).hide().attr("src", imageUrl).show();
|
||||
$(cover).wrap('<a href="'+ imageLarge +'" rel="dialog" title="' + artist + " - " + albumname + '"></a>');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//Mark current active link
|
||||
$(document).ready(function() {
|
||||
enit();
|
||||
$("#nav li a").each(function () {
|
||||
var hreflink = $(this).attr("href");
|
||||
var locationHref = location.href.split("/").pop();
|
||||
@@ -9,104 +158,25 @@ $(document).ready(function() {
|
||||
});
|
||||
});
|
||||
|
||||
//Resize #main to fit window size
|
||||
function mainResize()
|
||||
// Loader
|
||||
var loaderSymbols = ['0', '1', '2', '3', '4', '5', '6', '7'],
|
||||
loaderRate = 100,
|
||||
loaderIndex = 0,
|
||||
loader = function() {
|
||||
$('.loader').text( loaderSymbols[loaderIndex] );
|
||||
loaderIndex = loaderIndex < loaderSymbols.length - 1 ? loaderIndex + 1 : 0;
|
||||
setTimeout(loader, loaderRate);
|
||||
};
|
||||
loader();
|
||||
|
||||
function enit()
|
||||
{
|
||||
var mainWindow = $("#main");
|
||||
var totalHeight = $(window).height() -
|
||||
($("#header").outerHeight() + 2 +
|
||||
$("#footer").outerHeight());
|
||||
$("#main").height(totalHeight);
|
||||
($("#header").outerHeight() +
|
||||
$("#footer").outerHeight()) - 3;
|
||||
$(mainWindow).height(totalHeight);
|
||||
|
||||
$(mainWindow).jScrollPane({ showArrows: true, animateScroll: true });
|
||||
}
|
||||
|
||||
function mainScroll()
|
||||
{
|
||||
$('#main').jScrollPane({
|
||||
showArrows: true
|
||||
});
|
||||
}
|
||||
|
||||
// Mark Config navi item
|
||||
$(document).ready(function(){
|
||||
$("#nav-config li").click(function(){
|
||||
$("#nav-config li.selected").removeClass("selected");
|
||||
$(this).addClass("selected");
|
||||
});
|
||||
});
|
||||
|
||||
//Smooth scroll bookmarks
|
||||
$(document).ready(function () {
|
||||
$("#nav-config li a").bind("click", function (event) {
|
||||
event.preventDefault();
|
||||
var target = $(this).attr("href");
|
||||
$("#main").stop().animate({
|
||||
scrollLeft: $(target).offset().left,
|
||||
scrollTop: $(target).offset().top - 100
|
||||
}, 1200);
|
||||
});
|
||||
});
|
||||
|
||||
//Message dialog close & output
|
||||
$(document).ready(function(){
|
||||
$("#message div .btnClose").click(function(){
|
||||
$(this).parent().fadeOut(1000);
|
||||
});
|
||||
});
|
||||
|
||||
function messageDialog(type, text){
|
||||
document.write(
|
||||
'<div class="dialog ' + type + '">'
|
||||
+ '<div class="btnClose" title="Close" ></div>' //Close
|
||||
+ '<div class="image" title="' + type + '"></div>' //Image
|
||||
+ '<span>' + text + '</span>' //Message
|
||||
+ '</div>');
|
||||
}
|
||||
|
||||
//Add styled class to dataTables_lenght
|
||||
$(document).ready(function() {
|
||||
$(".dataTables_length label select").addClass("styled");
|
||||
});
|
||||
|
||||
//Main fadeIn
|
||||
$(document).ready(function () {
|
||||
$("#main").hide();
|
||||
$("#main").fadeIn("slow");
|
||||
});
|
||||
|
||||
//CD Rotate
|
||||
$(function() {
|
||||
var $rotateElement = $(".album-art-cd");
|
||||
rotate(0);
|
||||
function rotate(degree) {
|
||||
|
||||
// For webkit browsers: e.g. Chrome
|
||||
$rotateElement.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});
|
||||
// For Mozilla browser: e.g. Firefox
|
||||
$rotateElement.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});
|
||||
|
||||
// Animate rotation with a recursive call
|
||||
setTimeout(function() { rotate(++degree); },30);
|
||||
}
|
||||
});
|
||||
|
||||
//Config open/close
|
||||
$(document).ready(function(){
|
||||
$('.panel').hide("slide", { direction: "top" }, 1000);
|
||||
});
|
||||
|
||||
$('.panel').live('click',function(){
|
||||
$('.open-panel').hide("slide", { direction: "top" }, 1000);
|
||||
$(this).addClass('.open-panel').toggle("slide", { direction: "top" }, 1000);
|
||||
});
|
||||
|
||||
$('.mainCheckbox').click(function(){
|
||||
if ($('input[name=head}').is(':checked')){
|
||||
$('input').not(':checked')
|
||||
.attr('checked', true)
|
||||
.css('background-postion:', '0px -50px;');
|
||||
}
|
||||
else if($('input[name=head}').not(':checked')){
|
||||
$('input').is(':checked')
|
||||
.attr('checked', flase)
|
||||
.css('background-postion:', '0px 0px;');
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
/*
|
||||
* * * * * * * * *
|
||||
* Colors Styles *
|
||||
* * * * * * * * *
|
||||
* A great site to adjust the colors is:
|
||||
* http://gradients.glrzad.com/
|
||||
* Just copy the lines, and replace it in here.
|
||||
*/
|
||||
/* Main Header */
|
||||
#header
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(207,207,207) 0%, rgb(245,245,245) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(207,207,207) 0%, rgb(245,245,245) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(207,207,207) 0%, rgb(245,245,245) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(207,207,207) 0%, rgb(245,245,245) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(207,207,207) 0%, rgb(245,245,245) 100%);
|
||||
}
|
||||
|
||||
#subhead_container{
|
||||
background-image: linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
}
|
||||
|
||||
#footer {
|
||||
background-image: linear-gradient(bottom, rgb(82,82,82) 0%, rgb(117,117,117) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(82,82,82) 0%, rgb(117,117,117) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(82,82,82) 0%, rgb(117,117,117) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(82,82,82) 0%, rgb(117,117,117) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(82,82,82) 0%, rgb(117,117,117) 100%);
|
||||
}
|
||||
/*Main menu current page*/
|
||||
#nav li.selected,
|
||||
#nav li.selected:hover
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(115,115,115) 0%, rgb(130,130,130) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(115,115,115) 0%, rgb(130,130,130) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(115,115,115) 0%, rgb(130,130,130) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(115,115,115) 0%, rgb(130,130,130) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(115,115,115) 0%, rgb(130,130,130) 100%);
|
||||
border-bottom: 1px solid #000;
|
||||
border-top: 1px solid #000;
|
||||
}
|
||||
|
||||
/*Tooltip Color*/
|
||||
.tooltip
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
}
|
||||
/*Tooltip popup Color*/
|
||||
div#updatebar
|
||||
{
|
||||
background: rgba(0,0,0,0.8);
|
||||
}
|
||||
.tooltip span
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
/*Font Color*/
|
||||
color: #000;
|
||||
}
|
||||
/*Tablehead color*/
|
||||
h1,
|
||||
table.display thead tr th
|
||||
{
|
||||
background-color: rgb(160,160,160);
|
||||
}
|
||||
h1:active,
|
||||
table.display thead tr th:active
|
||||
{
|
||||
background-color: rgb(210,210,210);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*Top left search field*/
|
||||
div#searchbar
|
||||
{
|
||||
border: 1px solid rgba(0,0,0,0.5);
|
||||
box-shadow: 1px 1px 0px rgba(255,255,255,0.8);
|
||||
background: rgba(0,0,0,0.8);
|
||||
}
|
||||
|
||||
/*
|
||||
* Scrollbar Colors
|
||||
* */
|
||||
/* Scrollbar background */
|
||||
.jspTrack
|
||||
{
|
||||
background-image: linear-gradient(left , rgb(10,10,10) 0%, rgb(30,30,30) 100%);
|
||||
background-image: -o-linear-gradient(left , rgb(10,10,10) 0%, rgb(30,30,30) 100%);
|
||||
background-image: -moz-linear-gradient(left , rgb(10,10,10) 0%, rgb(30,30,30) 100%);
|
||||
background-image: -webkit-linear-gradient(left , rgb(10,10,10) 0%, rgb(30,30,30) 100%);
|
||||
background-image: -ms-linear-gradient(left , rgb(10,10,10) 0%, rgb(30,30,30) 100%);
|
||||
}
|
||||
|
||||
.jspDrag:active,
|
||||
.jspDrag:hover
|
||||
{
|
||||
background: url(../images/scrollGrib.png) 50% 50% no-repeat rgb(160,160,160);
|
||||
}
|
||||
.jspDrag
|
||||
{
|
||||
background: url(../images/scrollGrib.png) 50% 50% no-repeat rgb(130,130,130);
|
||||
}
|
||||
.jspArrowUp{
|
||||
background: url(../images/arrowUp.png) 50% 50% no-repeat rgb(130,130,130);
|
||||
}
|
||||
.jspArrowDown{
|
||||
background: url(../images/arrowDown.png) 50% 50% no-repeat rgb(130,130,130);
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
/*
|
||||
* * * * * * * * *
|
||||
* Colors Styles *
|
||||
* * * * * * * * *
|
||||
* A great site to adjust the colors is:
|
||||
* http://gradients.glrzad.com/
|
||||
* Just copy the lines, and replace it in here.
|
||||
*/
|
||||
/* Main Header */
|
||||
header
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(194,0,0) 0%, rgb(230,0,19) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(194,0,0) 0%, rgb(230,0,19) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(194,0,0) 0%, rgb(230,0,19) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(194,0,0) 0%, rgb(230,0,19) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(194,0,0) 0%, rgb(230,0,19) 100%);
|
||||
border-bottom: 1px solid #000;
|
||||
}
|
||||
#subhead_container{
|
||||
background-image: linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
|
||||
border-bottom: 1px solid #000;
|
||||
}
|
||||
footer {
|
||||
background-image: linear-gradient(bottom, rgb(82,0,0) 0%, rgb(117,0,10) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(82,0,0) 0%, rgb(117,0,10) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(82,0,0) 0%, rgb(117,0,10) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(82,0,0) 0%, rgb(117,0,10) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(82,0,0) 0%, rgb(117,0,10) 100%);
|
||||
border-top: 1px solid #000;
|
||||
}
|
||||
|
||||
/*Main menu current page*/
|
||||
.selected,
|
||||
.selected:hover
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(23,23,23) 0%, rgb(48,48,48) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(23,23,23) 0%, rgb(48,48,48) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(23,23,23) 0%, rgb(48,48,48) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(23,23,23) 0%, rgb(48,48,48) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(23,23,23) 0%, rgb(48,48,48) 100%);
|
||||
}
|
||||
|
||||
/*Tooltip Color*/
|
||||
.tooltip
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
}
|
||||
/*Tooltip popup Color*/
|
||||
.tooltip span
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(117,117,117) 0%, rgb(156,156,156) 100%);
|
||||
}
|
||||
/*Update popup*/
|
||||
div#updatebar
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(97,0,0) 0%, rgb(122,0,0) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(97,0,0) 0%, rgb(122,0,0) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(97,0,0) 0%, rgb(122,0,0) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(97,0,0) 0%, rgb(122,0,0) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(97,0,0) 0%, rgb(122,0,0) 100%);
|
||||
}
|
||||
/*Tablehead color*/
|
||||
h1,
|
||||
table.display thead tr th
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(134,134,134) 0%, rgb(168,168,168) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(134,134,134) 0%, rgb(168,168,168) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(134,134,134) 0%, rgb(168,168,168) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(134,134,134) 0%, rgb(168,168,168) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(134,134,134) 0%, rgb(168,168,168) 100%);
|
||||
}
|
||||
@@ -47,12 +47,12 @@
|
||||
%>
|
||||
<br />
|
||||
%if description:
|
||||
<h3>Description:</h3>
|
||||
${description['Summary']}
|
||||
<p>${description['Summary']}</p>
|
||||
%endif
|
||||
<br />
|
||||
<br />
|
||||
Playtime: ${albumduration}
|
||||
<ul>
|
||||
<li>Tracks: <span>${totaltracks}</span></li>
|
||||
<li>Duration: <span>${albumduration}</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="track_wrapper">
|
||||
@@ -64,6 +64,7 @@
|
||||
<th id="duration">Duration</th>
|
||||
<th id="location">Local File</th>
|
||||
<th id="bitrate">Bit Rate</th>
|
||||
<th id="format">Format</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -92,6 +93,7 @@
|
||||
<td id="duration">${trackduration}</td>
|
||||
<td id="location">${location}</td>
|
||||
<td id="bitrate">${bitrate}</td>
|
||||
<td id="format">${format}</td>
|
||||
</tr>
|
||||
%endfor
|
||||
<%
|
||||
@@ -108,6 +110,7 @@
|
||||
<td id="duration">${duration}</td>
|
||||
<td id="location">${track['Location']}</td>
|
||||
<td id="bitrate">${int(track['BitRate'])/1000} kbps</td>
|
||||
<td id="format">${track['Format']}</td>
|
||||
</tr>
|
||||
%endfor
|
||||
%endif
|
||||
@@ -124,8 +127,9 @@
|
||||
<%def name="javascriptIncludes()">
|
||||
<script src="interfaces/brink/JS/libs/jquery.dataTables.min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
$(document).ready(function() {
|
||||
getAlbumInfo("${album['ArtistName']}","${album['AlbumTitle']}","#albumheader .albumArt",3);
|
||||
initActions();
|
||||
$('#track_table').dataTable(
|
||||
{
|
||||
"aaSorting": [
|
||||
@@ -135,5 +139,20 @@
|
||||
"bPaginate": false
|
||||
});
|
||||
});
|
||||
//CD Rotate
|
||||
$(function() {
|
||||
var $rotateElement = $(".album-art-cd");
|
||||
rotate(0);
|
||||
function rotate(degree) {
|
||||
|
||||
// For webkit browsers: e.g. Chrome
|
||||
$rotateElement.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});
|
||||
// For Mozilla browser: e.g. Firefox
|
||||
$rotateElement.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});
|
||||
|
||||
// Animate rotation with a recursive call
|
||||
setTimeout(function() { rotate(++degree); },30);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</%def>
|
||||
@@ -24,14 +24,16 @@
|
||||
|
||||
<%def name="body()">
|
||||
<div id="paddingheader">
|
||||
<h1>
|
||||
${artist['ArtistName']}
|
||||
</h1>
|
||||
<h1>${artist['ArtistName']}</h1>
|
||||
%if artist['Status'] == 'Loading':
|
||||
<span class="pageDialog">Album information for this artist is currently being loaded</span>
|
||||
%endif
|
||||
<h3><span>W</span>Album information for this artist is currently being loaded</h3>
|
||||
%endif
|
||||
<ul id="switchViews">
|
||||
<li class="active"><span class="web-symbol">¹</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<form action="markAlbums" method="get"><input type="hidden" name="ArtistID" value=${artist['ArtistID']}>
|
||||
<form class="ajax" action="markAlbums" method="get">
|
||||
<input type="hidden" name="ArtistID" value=${artist['ArtistID']}>
|
||||
<p class="indented">Mark selected albums as
|
||||
<select class="styled" name="action">
|
||||
<option value="Wanted">Wanted</option>
|
||||
@@ -41,15 +43,41 @@
|
||||
</select>
|
||||
<input type="submit" value="GO">
|
||||
</p>
|
||||
<div id="gridView">
|
||||
%for album in albums:
|
||||
<%
|
||||
%>
|
||||
<div class="album-container">
|
||||
<div class="album-image-container">
|
||||
<input class="album-select" type="checkbox" name="${album['AlbumID']}" />
|
||||
<img class="album-image" />
|
||||
</div>
|
||||
<div class="album-actions">
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Mark Wanted"><span>O</span></a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="web-symbol" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Unmark Wanted"><span>N</span></a>
|
||||
%else:
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry"><span>*</span></a>
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try new"><span>J</span></a>
|
||||
%endif
|
||||
</div>
|
||||
<div class="album-info">
|
||||
<b>${artist['ArtistName']}</b> <br />
|
||||
<span>${album['AlbumTitle']}</span>
|
||||
</div>
|
||||
</div>
|
||||
%endfor
|
||||
</div>
|
||||
<div id="listView">
|
||||
<table class="display" id="album_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="select"><input id="mainCheckbox" class="styled" name="head" type="checkbox" onClick="toggle(this);headToggle();" /></th>
|
||||
<th id="select"><input id="mainCheckbox" name="head" type="checkbox" onClick="toggle(this);headToggle();" /></th>
|
||||
<th id="albumart"></th>
|
||||
<th id="albumname">Name</th>
|
||||
<th id="reldate">Date</th>
|
||||
<th id="type">Type</th>
|
||||
<th id="status">Status</th>
|
||||
<th id="have">Have</th>
|
||||
<th id="bitrate">Bitrate</th>
|
||||
</tr>
|
||||
@@ -66,7 +94,7 @@
|
||||
else:
|
||||
grade = 'A'
|
||||
|
||||
myDB = db.DBConnection()
|
||||
myDB = db.DBConnection()
|
||||
totaltracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=?', [album['AlbumID']]))
|
||||
havetracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=? AND Location IS NOT NULL', [album['AlbumID']])) + len(myDB.select('SELECT TrackTitle from have WHERE ArtistName like ? AND AlbumTitle LIKE ?', [album['ArtistName'], album['AlbumTitle']]))
|
||||
|
||||
@@ -86,31 +114,30 @@
|
||||
|
||||
%>
|
||||
<tr class="grade${grade}">
|
||||
<td id="select"><input class="styled" type="checkbox" name="${album['AlbumID']}" class="checkbox" /></td>
|
||||
<td id="select"></td>
|
||||
<td id="albumart">
|
||||
<div class="album-art-small">
|
||||
<a href="albumPage?AlbumID=${album['AlbumID']}">
|
||||
<img src="http://ec1.images-amazon.com/images/P/${album['AlbumASIN']}.01.MZZZZZZZ.jpg" title="${artist['ArtistName']} - ${album['AlbumTitle']}">
|
||||
<a href="albumPage?AlbumID=${album['AlbumID']}" title="${album['AlbumID']}">
|
||||
<div class="status">
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Mark Wanted"><span>O</span></a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="web-symbol" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Unmark Wanted"><span>N</span></a>
|
||||
%else:
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry"><span>*</span></a>
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try new"><span>J</span></a>
|
||||
%endif
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<td id="albumname"><a href="albumPage?AlbumID=${album['AlbumID']}">${album['AlbumTitle']}</a></td>
|
||||
<td id="reldate">${album['ReleaseDate']}</td>
|
||||
<td id="type">${album['Type']}</td>
|
||||
<td id="status"><span class="btn${album['Status']} btnStatus" title="${album['Status']}">${album['Status']}</span>
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="btnGet btnStatus" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Get this album">Get</a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="btnAbort btnStatus" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Abort current status, and set to skipped">Abort</a>
|
||||
%else:
|
||||
<a class="btnRetry btnStatus" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry the same nbz">Retry</a>
|
||||
<a class="btnNew btnStatus" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try a new download, skipping all previously tried nzbs">New</a>
|
||||
%endif
|
||||
</td>
|
||||
<td id="have"><span title="${percent}"><span>
|
||||
<td id="have">
|
||||
<div class="progress-container" title="You have ${havetracks} of a total ${totaltracks}">
|
||||
<span title="${percent}">${percent}</span>
|
||||
<div style="width:${percent}%">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -119,6 +146,7 @@
|
||||
%endfor
|
||||
</tbody>
|
||||
</table>
|
||||
</div><!--end listView-->
|
||||
</form>
|
||||
</%def>
|
||||
|
||||
@@ -130,31 +158,50 @@
|
||||
</%def>
|
||||
|
||||
<%def name="javascriptIncludes()">
|
||||
<script src="interfaces/brink/JS/libs/jquery.dataTables.min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#album_table').dataTable(
|
||||
{
|
||||
"aoColumns": [
|
||||
{ "bSortable": false},
|
||||
{ "bSortable": false},
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
{ "sType": "title-numeric"},
|
||||
null
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu":"Show _MENU_ artist per page",
|
||||
"sEmptyTable": "No artist information available",
|
||||
"sInfo":"Showing _TOTAL_ artist",
|
||||
"sInfoEmpty":"No artist found",
|
||||
"sInfoFiltered":"(Filtered from _MAX_ total artist)"},
|
||||
"bPaginate": false,
|
||||
"aaSorting": [[4, 'asc'],[3,'desc']]
|
||||
function getAlbumInfoGrid() {
|
||||
$(".album-container").each(function() {
|
||||
$(this).fadeIn("slow", function(){
|
||||
var element = $(this).find("img.album-image");
|
||||
var artistname = $(this).find(".album-info b").text();
|
||||
var albumname = $(this).find(".album-info span").text();
|
||||
getAlbumInfo(artistname,albumname,element,2);
|
||||
});
|
||||
});
|
||||
}
|
||||
$(document).ready(function(){
|
||||
//ListView
|
||||
getAlbumInfoGrid();
|
||||
//GridView
|
||||
$("#gridView").show();
|
||||
$("#listView").hide();
|
||||
enit();
|
||||
$("#switchViews li").click(function(){
|
||||
$("#gridView").toggle();
|
||||
$("#listView").toggle();
|
||||
var text = $(this).children("span").text() == '¹' ? '²' : '¹';
|
||||
enit();
|
||||
});
|
||||
|
||||
$('#album_table').dataTable({
|
||||
"aoColumns": [
|
||||
{ "bSortable": false},
|
||||
{ "bSortable": false},
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu":"Show _MENU_ artist per page",
|
||||
"sEmptyTable": "No artist information available",
|
||||
"sInfo":"Showing _TOTAL_ artist",
|
||||
"sInfoEmpty":"No artist found",
|
||||
"sInfoFiltered":"(Filtered from _MAX_ total artist)"},
|
||||
"bPaginate": false,
|
||||
"aaSorting": [[4, 'asc'],[3,'desc']]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</%def>
|
||||
|
||||
190
data/interfaces/brink/artistGrid.html
Normal file
@@ -0,0 +1,190 @@
|
||||
<%inherit file="base.html"/>
|
||||
<%!
|
||||
from headphones import db
|
||||
%>
|
||||
|
||||
<%def name="headerIncludes()">
|
||||
<div id="subhead_container">
|
||||
<ul id="subhead_menu">
|
||||
<li><a href="refreshArtist?ArtistID=${artist['ArtistID']}">Refresh Artist</a></li>
|
||||
<li><a href="deleteArtist?ArtistID=${artist['ArtistID']}">Delete Artist</a></li>
|
||||
%if artist['Status'] == 'Paused':
|
||||
<li><a href="resumeArtist?ArtistID=${artist['ArtistID']}">Resume Artist</a></li>
|
||||
%else:
|
||||
<li><a href="pauseArtist?ArtistID=${artist['ArtistID']}">Pause Artist</a></li>
|
||||
%endif
|
||||
%if artist['IncludeExtras']:
|
||||
<li><a href="removeExtras?ArtistID=${artist['ArtistID']}">Remove Extras</a></li>
|
||||
%else:
|
||||
<li><a href="getExtras?ArtistID=${artist['ArtistID']}">Get Extras</a></li>
|
||||
%endif
|
||||
</ul>
|
||||
</div>
|
||||
</%def>
|
||||
|
||||
<%def name="body()">
|
||||
<div id="paddingheader">
|
||||
<h1>${artist['ArtistName']}</h1>
|
||||
%if artist['Status'] == 'Loading':
|
||||
<h3><span>W</span>Album information for this artist is currently being loaded</h3>
|
||||
%endif
|
||||
</div>
|
||||
<form class="ajax" action="markAlbums" method="get">
|
||||
<input type="hidden" name="ArtistID" value=${artist['ArtistID']}>
|
||||
<p class="indented">Mark selected albums as
|
||||
<select class="styled" name="action">
|
||||
<option value="Wanted">Wanted</option>
|
||||
<option value="WantedNew">Wanted (new only)</option>
|
||||
<option value="Skipped">Skipped</option>
|
||||
<option value="Downloaded">Downloaded</option>
|
||||
</select>
|
||||
<input type="submit" value="GO">
|
||||
</p>
|
||||
%for album in albums:
|
||||
<%
|
||||
%>
|
||||
<div class="album-container">
|
||||
<input type="checkbox" name="${album['AlbumID']}" />
|
||||
<img class="image" />
|
||||
<div class="album-actions">
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Mark Wanted"><span>O</span></a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="web-symbol" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Unmark Wanted"><span>N</span></a>
|
||||
%else:
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry"><span>*</span></a>
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try new"><span>J</span></a>
|
||||
%endif
|
||||
</div>
|
||||
<div>
|
||||
<b>${artist['ArtistName']}</b> <br />
|
||||
${album['AlbumTitle']}
|
||||
</div>
|
||||
</div>
|
||||
%endfor
|
||||
<table class="display" id="album_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="select"><input id="mainCheckbox" name="head" type="checkbox" onClick="toggle(this);headToggle();" /></th>
|
||||
<th id="albumart"></th>
|
||||
<th id="albumname">Name</th>
|
||||
<th id="reldate">Date</th>
|
||||
<th id="type">Type</th>
|
||||
<th id="have">Have</th>
|
||||
<th id="bitrate">Bitrate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
%for album in albums:
|
||||
<%
|
||||
if album['Status'] == 'Skipped':
|
||||
grade = 'Z'
|
||||
elif album['Status'] == 'Wanted':
|
||||
grade = 'X'
|
||||
elif album['Status'] == 'Snatched':
|
||||
grade = 'C'
|
||||
else:
|
||||
grade = 'A'
|
||||
|
||||
myDB = db.DBConnection()
|
||||
totaltracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=?', [album['AlbumID']]))
|
||||
havetracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=? AND Location IS NOT NULL', [album['AlbumID']])) + len(myDB.select('SELECT TrackTitle from have WHERE ArtistName like ? AND AlbumTitle LIKE ?', [album['ArtistName'], album['AlbumTitle']]))
|
||||
|
||||
try:
|
||||
percent = (havetracks*100.0)/totaltracks
|
||||
if percent > 100:
|
||||
percent = 100
|
||||
except (ZeroDivisionError, TypeError):
|
||||
percent = 0
|
||||
totaltracks = '?'
|
||||
|
||||
avgbitrate = myDB.action("SELECT AVG(BitRate) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0]
|
||||
if avgbitrate:
|
||||
bitrate = str(int(avgbitrate)/1000) + ' kbps'
|
||||
else:
|
||||
bitrate = ''
|
||||
|
||||
%>
|
||||
<tr class="grade${grade}">
|
||||
<td id="select"></td>
|
||||
<td id="albumart">
|
||||
<div class="album-art-small">
|
||||
<a href="albumPage?AlbumID=${album['AlbumID']}" title="${album['AlbumID']}">
|
||||
<div class="status">
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Mark Wanted"><span>O</span></a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="web-symbol" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Unmark Wanted"><span>N</span></a>
|
||||
%else:
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry"><span>*</span></a>
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try new"><span>J</span></a>
|
||||
%endif
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<td id="albumname"><a href="albumPage?AlbumID=${album['AlbumID']}">${album['AlbumTitle']}</a></td>
|
||||
<td id="reldate">${album['ReleaseDate']}</td>
|
||||
<td id="type">${album['Type']}</td>
|
||||
<td id="have">
|
||||
<div class="progress-container" title="You have ${havetracks} of a total ${totaltracks}">
|
||||
<span title="${percent}">${percent}</span>
|
||||
<div style="width:${percent}%">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td id="bitrate">${bitrate}</td>
|
||||
</tr>
|
||||
%endfor
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</%def>
|
||||
|
||||
<%def name="headIncludes()">
|
||||
|
||||
%if artist['Status'] == 'Loading':
|
||||
<meta http-equiv="refresh" content="5">
|
||||
%endif
|
||||
</%def>
|
||||
|
||||
<%def name="javascriptIncludes()">
|
||||
<script>
|
||||
|
||||
function getArtistArt() {
|
||||
$(".album-container").each(function() {
|
||||
var id = $(this).children("input").attr("name");
|
||||
var artist = $("#paddingheader h1").text();
|
||||
var image = $(this).children("img");
|
||||
if ( !image.hasClass("done") ) {
|
||||
getArtistInfo(artist,image,2,id);
|
||||
image.addClass("done");
|
||||
$(this).fadeIn();
|
||||
}
|
||||
});
|
||||
}
|
||||
$(document).ready(function(){
|
||||
getArtistArt();
|
||||
$('#album_table').dataTable({
|
||||
"aoColumns": [
|
||||
{ "bSortable": false},
|
||||
{ "bSortable": false},
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu":"Show _MENU_ artist per page",
|
||||
"sEmptyTable": "No artist information available",
|
||||
"sInfo":"Showing _TOTAL_ artist",
|
||||
"sInfoEmpty":"No artist found",
|
||||
"sInfoFiltered":"(Filtered from _MAX_ total artist)"},
|
||||
"bPaginate": false,
|
||||
"aaSorting": [[4, 'asc'],[3,'desc']]
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
</%def>
|
||||
190
data/interfaces/brink/artistList.html
Normal file
@@ -0,0 +1,190 @@
|
||||
<%inherit file="base.html"/>
|
||||
<%!
|
||||
from headphones import db
|
||||
%>
|
||||
|
||||
<%def name="headerIncludes()">
|
||||
<div id="subhead_container">
|
||||
<ul id="subhead_menu">
|
||||
<li><a href="refreshArtist?ArtistID=${artist['ArtistID']}">Refresh Artist</a></li>
|
||||
<li><a href="deleteArtist?ArtistID=${artist['ArtistID']}">Delete Artist</a></li>
|
||||
%if artist['Status'] == 'Paused':
|
||||
<li><a href="resumeArtist?ArtistID=${artist['ArtistID']}">Resume Artist</a></li>
|
||||
%else:
|
||||
<li><a href="pauseArtist?ArtistID=${artist['ArtistID']}">Pause Artist</a></li>
|
||||
%endif
|
||||
%if artist['IncludeExtras']:
|
||||
<li><a href="removeExtras?ArtistID=${artist['ArtistID']}">Remove Extras</a></li>
|
||||
%else:
|
||||
<li><a href="getExtras?ArtistID=${artist['ArtistID']}">Get Extras</a></li>
|
||||
%endif
|
||||
</ul>
|
||||
</div>
|
||||
</%def>
|
||||
|
||||
<%def name="body()">
|
||||
<div id="paddingheader">
|
||||
<h1>${artist['ArtistName']}</h1>
|
||||
%if artist['Status'] == 'Loading':
|
||||
<h3><span>W</span>Album information for this artist is currently being loaded</h3>
|
||||
%endif
|
||||
</div>
|
||||
<form class="ajax" action="markAlbums" method="get">
|
||||
<input type="hidden" name="ArtistID" value=${artist['ArtistID']}>
|
||||
<p class="indented">Mark selected albums as
|
||||
<select class="styled" name="action">
|
||||
<option value="Wanted">Wanted</option>
|
||||
<option value="WantedNew">Wanted (new only)</option>
|
||||
<option value="Skipped">Skipped</option>
|
||||
<option value="Downloaded">Downloaded</option>
|
||||
</select>
|
||||
<input type="submit" value="GO">
|
||||
</p>
|
||||
%for album in albums:
|
||||
<%
|
||||
%>
|
||||
<div class="album-container">
|
||||
<input type="checkbox" name="${album['AlbumID']}" />
|
||||
<img class="image" />
|
||||
<div class="album-actions">
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Mark Wanted"><span>O</span></a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="web-symbol" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Unmark Wanted"><span>N</span></a>
|
||||
%else:
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry"><span>*</span></a>
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try new"><span>J</span></a>
|
||||
%endif
|
||||
</div>
|
||||
<div>
|
||||
<b>${artist['ArtistName']}</b> <br />
|
||||
${album['AlbumTitle']}
|
||||
</div>
|
||||
</div>
|
||||
%endfor
|
||||
<table class="display" id="album_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="select"><input id="mainCheckbox" name="head" type="checkbox" onClick="toggle(this);headToggle();" /></th>
|
||||
<th id="albumart"></th>
|
||||
<th id="albumname">Name</th>
|
||||
<th id="reldate">Date</th>
|
||||
<th id="type">Type</th>
|
||||
<th id="have">Have</th>
|
||||
<th id="bitrate">Bitrate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
%for album in albums:
|
||||
<%
|
||||
if album['Status'] == 'Skipped':
|
||||
grade = 'Z'
|
||||
elif album['Status'] == 'Wanted':
|
||||
grade = 'X'
|
||||
elif album['Status'] == 'Snatched':
|
||||
grade = 'C'
|
||||
else:
|
||||
grade = 'A'
|
||||
|
||||
myDB = db.DBConnection()
|
||||
totaltracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=?', [album['AlbumID']]))
|
||||
havetracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=? AND Location IS NOT NULL', [album['AlbumID']])) + len(myDB.select('SELECT TrackTitle from have WHERE ArtistName like ? AND AlbumTitle LIKE ?', [album['ArtistName'], album['AlbumTitle']]))
|
||||
|
||||
try:
|
||||
percent = (havetracks*100.0)/totaltracks
|
||||
if percent > 100:
|
||||
percent = 100
|
||||
except (ZeroDivisionError, TypeError):
|
||||
percent = 0
|
||||
totaltracks = '?'
|
||||
|
||||
avgbitrate = myDB.action("SELECT AVG(BitRate) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0]
|
||||
if avgbitrate:
|
||||
bitrate = str(int(avgbitrate)/1000) + ' kbps'
|
||||
else:
|
||||
bitrate = ''
|
||||
|
||||
%>
|
||||
<tr class="grade${grade}">
|
||||
<td id="select"></td>
|
||||
<td id="albumart">
|
||||
<div class="album-art-small">
|
||||
<a href="albumPage?AlbumID=${album['AlbumID']}" title="${album['AlbumID']}">
|
||||
<div class="status">
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Mark Wanted"><span>O</span></a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="web-symbol" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Unmark Wanted"><span>N</span></a>
|
||||
%else:
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry"><span>*</span></a>
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try new"><span>J</span></a>
|
||||
%endif
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<td id="albumname"><a href="albumPage?AlbumID=${album['AlbumID']}">${album['AlbumTitle']}</a></td>
|
||||
<td id="reldate">${album['ReleaseDate']}</td>
|
||||
<td id="type">${album['Type']}</td>
|
||||
<td id="have">
|
||||
<div class="progress-container" title="You have ${havetracks} of a total ${totaltracks}">
|
||||
<span title="${percent}">${percent}</span>
|
||||
<div style="width:${percent}%">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td id="bitrate">${bitrate}</td>
|
||||
</tr>
|
||||
%endfor
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</%def>
|
||||
|
||||
<%def name="headIncludes()">
|
||||
|
||||
%if artist['Status'] == 'Loading':
|
||||
<meta http-equiv="refresh" content="5">
|
||||
%endif
|
||||
</%def>
|
||||
|
||||
<%def name="javascriptIncludes()">
|
||||
<script>
|
||||
|
||||
function getArtistArt() {
|
||||
$(".album-container").each(function() {
|
||||
var id = $(this).children("input").attr("name");
|
||||
var artist = $("#paddingheader h1").text();
|
||||
var image = $(this).children("img");
|
||||
if ( !image.hasClass("done") ) {
|
||||
getArtistInfo(artist,image,2,id);
|
||||
image.addClass("done");
|
||||
$(this).fadeIn();
|
||||
}
|
||||
});
|
||||
}
|
||||
$(document).ready(function(){
|
||||
getArtistArt();
|
||||
$('#album_table').dataTable({
|
||||
"aoColumns": [
|
||||
{ "bSortable": false},
|
||||
{ "bSortable": false},
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu":"Show _MENU_ artist per page",
|
||||
"sEmptyTable": "No artist information available",
|
||||
"sInfo":"Showing _TOTAL_ artist",
|
||||
"sInfoEmpty":"No artist found",
|
||||
"sInfoFiltered":"(Filtered from _MAX_ total artist)"},
|
||||
"bPaginate": false,
|
||||
"aaSorting": [[4, 'asc'],[3,'desc']]
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
</%def>
|
||||
@@ -9,7 +9,7 @@
|
||||
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
|
||||
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
|
||||
<title>Headphones - ${title}</title>
|
||||
@@ -18,114 +18,139 @@
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="shortcut icon" href="../images/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="../images/headphoneslogo.png">
|
||||
<link rel="shortcut icon" href=".images/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="images/headphoneslogo.png">
|
||||
<!--Main Stylesheet-->
|
||||
<link rel="stylesheet" href="interfaces/brink/css/style.css">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="interfaces/brink/css/theme/default.css">
|
||||
|
||||
<!--Jquery APIs-->
|
||||
<script src="js/libs/jquery-1.7.2.min.js"></script>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="interfaces/brink/CSS/style.css">
|
||||
<link rel="stylesheet" href="interfaces/brink/CSS/dataTable.css">
|
||||
<script src="interfaces/brink/js/jquery-ui-1.8.21.custom.min.js"></script>
|
||||
<link rel="stylesheet" href="interfaces/brink/css/jquery-ui-1.8.21.custom.css">
|
||||
|
||||
<!--Ajax Form-->
|
||||
<script src="interfaces/brink/js/libs/jquery.form.js"></script>
|
||||
|
||||
<script src="interfaces/brink/js/libs/jquery-1.7.1.js"></script>
|
||||
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.6.2.min.js"%3E%3C/script%3E'))</script>
|
||||
${next.javascriptIncludes()}
|
||||
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.custom-form-elements.js" ></script>
|
||||
<!--Noty-->
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.noty.js" ></script>
|
||||
<link rel="stylesheet" href="interfaces/brink/css/libs/jquery.noty.css">
|
||||
<link rel="stylesheet" href="interfaces/brink/css/libs/noty_theme_default.css">
|
||||
|
||||
<!--Global Script-->
|
||||
<script src="interfaces/brink/js/script.js"></script>
|
||||
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="interfaces/brink/Themes/Default.css">
|
||||
<!-- styles needed by jScrollPane -->
|
||||
<link type="text/css" href="interfaces/brink/css/libs/jquery.jscrollpane.css" rel="stylesheet" media="all" />
|
||||
<!-- jScrollPane script -->
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.jscrollpane.js" ></script>
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.jscrollpane.min.js" ></script>
|
||||
<!-- Mousewheel support -->
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.mousewheel.js" ></script>
|
||||
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.dataTables.js" ></script>
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.dataTables.min.js" ></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$(window).resize(function(){
|
||||
mainResize();
|
||||
mainScroll();
|
||||
});
|
||||
$(document).ready(function(){
|
||||
mainResize();
|
||||
mainScroll();
|
||||
});
|
||||
$('#main').resize(function(){
|
||||
mainScroll();
|
||||
});
|
||||
</script>
|
||||
<!--Datatables-->
|
||||
<script type="text/javascript" src="/js/libs/jquery.dataTables.min.js"></script>
|
||||
<link rel="stylesheet" href="interfaces/brink/CSS/jquery.dataTables_themeroller.css">
|
||||
|
||||
${next.headIncludes()}
|
||||
${next.javascriptIncludes()}
|
||||
|
||||
<!--jScrollPane-->
|
||||
<link type="text/css" href="interfaces/brink/css/jquery.jscrollpane.css" rel="stylesheet" media="all" />
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.jscrollpane.min.js" ></script>
|
||||
<script type="text/javascript" src="interfaces/brink/js/libs/jquery.mousewheel.js" ></script>
|
||||
|
||||
<script src="js/libs/modernizr-1.7.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="message">
|
||||
% if not headphones.CURRENT_VERSION:
|
||||
<div class="dialog error">
|
||||
<div class="btnClose" title="Close" ></div>
|
||||
<table>
|
||||
<tr>
|
||||
<td><div class="image" title="error"></div></td>
|
||||
<td>
|
||||
You're running an unknown version of Headphones. It's recommended that you
|
||||
<a href="update">update</a> now!
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
% elif headphones.CURRENT_VERSION != headphones.LATEST_VERSION and headphones.INSTALL_TYPE != 'win':
|
||||
<div class="dialog update">
|
||||
<div class="btnClose" title="Close" ></div>
|
||||
A newer version is available. <br />
|
||||
You're ${headphones.COMMITS_BEHIND} commits behind.
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<a href="http://github.com/rembo10/headphones/compare/${headphones.CURRENT_VERSION}...${headphones.LATEST_VERSION}">Version</a>
|
||||
<a href="update">Update</a>
|
||||
</div>
|
||||
% endif
|
||||
<script>
|
||||
// Types (error, update)are equal to class, which can be found in style.css
|
||||
// eks. 'messageDialog("type", "message");'
|
||||
% if not headphones.CURRENT_VERSION:
|
||||
<script type="text/javascript">
|
||||
noty({
|
||||
"text":"You're running an unknown version of Headphones.<br />It's recommended that you update now!",
|
||||
"type":"success",
|
||||
buttons: [
|
||||
{type: 'button green', text: 'Update', click: function($noty) {
|
||||
$(this).click(function(){
|
||||
document.location.href='update';
|
||||
});
|
||||
$noty.close
|
||||
noty({force: true, text: 'Headphones is now updating, please be patient', type: 'success'});
|
||||
}
|
||||
},
|
||||
{type: 'button pink', text: 'Cancel', click: function($noty) {
|
||||
$noty.close();
|
||||
noty({force: true, text: 'You can update anytime from the tools menu', type: 'information'});
|
||||
}
|
||||
}
|
||||
],
|
||||
closable: false,
|
||||
timeout: false
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
% elif headphones.CURRENT_VERSION != headphones.LATEST_VERSION and headphones.INSTALL_TYPE != 'win':
|
||||
<script>
|
||||
noty({
|
||||
"text":"A newer version is available."
|
||||
+ "<br />You're ${headphones.COMMITS_BEHIND} commits behind"
|
||||
+ "<a href='http://github.com/rembo10/headphones/compare/${headphones.CURRENT_VERSION}...${headphones.LATEST_VERSION}'>Version</a>"
|
||||
+ "<a href='update'>Update</a>",
|
||||
"type":"success"
|
||||
});
|
||||
$(document).ready(function(){
|
||||
$("#commitsBehind").text("Update (${headphones.COMMITS_BEHIND})")
|
||||
});
|
||||
</script>
|
||||
% endif
|
||||
|
||||
<div class="custom_container"></div>
|
||||
<table id="table_body">
|
||||
<tr>
|
||||
<td id="header" colspan="2">
|
||||
<div id="logo">
|
||||
<a href="home"><img src="../images/headphoneslogo.png" alt="headphones"/>Headphones</a>
|
||||
<img src="/images/headphoneslogo.png" alt="headphones" />
|
||||
</div>
|
||||
${next.headerIncludes()}
|
||||
|
||||
<div id="searchbar">
|
||||
<form action="search" method="get">
|
||||
<input type="text" value="" onfocus="if(this.value==this.defaultValue) this.value='';" name="name" accesskey="s" placeholder="Search..." />
|
||||
<select class="styled" name="type">
|
||||
<select name="type">
|
||||
<option value="artist">Artist</option>
|
||||
<option value="album">Album</option>
|
||||
</select>
|
||||
<input class="submit" type="submit" value="GO"/>
|
||||
<input type="text" value="" name="name" accesskey="s" placeholder="Search..." />
|
||||
<input class="web-symbol" type="submit" value="L"/>
|
||||
</form>
|
||||
</div>
|
||||
${next.headerIncludes()}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="nav-container">
|
||||
<ul id="nav">
|
||||
<li><a class="navHome" href="home" accesskey="1">Home</a></li>
|
||||
<li><a class="navUpcoming" href="upcoming" accesskey="2">Upcoming</a></li>
|
||||
<li><a class="navSuggestions" href="extras" accesskey="3">Suggestions</a></li>
|
||||
<li><a class="navManage" href="manage" accesskey="4">Manage</a></li>
|
||||
<li><a class="navHistory" href="history" accesskey="5">History</a></li>
|
||||
<li><a class="navLogs" href="logs" accesskey="6">Logs</a></li>
|
||||
<li><a class="navSettings" href="config" accesskey="7">Settings</a></li>
|
||||
<li><a href="home" accesskey="1">
|
||||
<span>U</span>Home
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="upcoming" accesskey="2">
|
||||
<span>N</span>Upcoming
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="extras" accesskey="3">
|
||||
<span>R</span>Suggestions
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="manage" accesskey="4">
|
||||
<span>_</span>Manage
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="history" accesskey="5">
|
||||
<span>Z</span>History
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="logs" accesskey="6">
|
||||
<span>a</span>Logs
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="config" accesskey="7">
|
||||
<span>S</span>Settings
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div></div>
|
||||
</td>
|
||||
<td id="content-container">
|
||||
<div id="main" class="main">
|
||||
@@ -135,29 +160,22 @@
|
||||
</tr>
|
||||
<tr id="footer" >
|
||||
<td colspan="2">
|
||||
<div id="footManage">
|
||||
<ul>
|
||||
<li>Tools
|
||||
<ul>
|
||||
<li><a href="forceSearch" title="Refresh/Update">Wanted Albums</a></li>
|
||||
<li><a href="forceUpdate" title="Refresh/Update">Active Artists</a></li>
|
||||
<li><a href="forcePostProcess" title="Refresh/Update">Post-Process</a></li>
|
||||
<li><a href="checkGithub" title="Refresh/Update">Headphones Updates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="btn left">
|
||||
<a href="forceSearch"><span>I</span>Wanted Albums</a>
|
||||
<a href="forceUpdate"><span>U</span>Active Artists</a>
|
||||
<a href="forcePostProcess"><span>J</span>Post-Process</a>
|
||||
<a href="checkGithub"><span>V</span>Update<label id="commits"></label></a>
|
||||
</div>
|
||||
<div class="btn right">
|
||||
<a href="restart" onclick="javascript:return confirm('Restart HP?')"><span>J</span>Restart</a>
|
||||
<a href="shutdown" onclick="javascript:return confirm('Shutdown HP?')"><span>X</span>Shut Down</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</script>
|
||||
<!--[if lt IE 7 ]>
|
||||
<script src="js/libs/dd_belatedpng.js"></script>
|
||||
<script> DD_belatedPNG.fix('img, .png_bg');</script>
|
||||
<![endif]-->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<%def name="javascriptIncludes()"></%def>
|
||||
<%def name="headIncludes()"></%def>
|
||||
<%def name="headerIncludes()"></%def>
|
||||
<%def name="javascriptIncludes()"></%def>
|
||||
|
||||
565
data/interfaces/brink/css/jquery-ui-1.8.21.custom.css
vendored
Normal file
@@ -0,0 +1,565 @@
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
|
||||
.ui-helper-clearfix:after { clear: both; }
|
||||
.ui-helper-clearfix { zoom: 1; }
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
|
||||
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller
|
||||
*/
|
||||
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
|
||||
.ui-widget .ui-widget { font-size: 1em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
|
||||
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_75_ffffff_1x400.png) 50% 50% repeat-x; color: #222222; }
|
||||
.ui-widget-content a { color: #222222; }
|
||||
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
|
||||
.ui-widget-header a { color: #222222; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
|
||||
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
||||
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
|
||||
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
|
||||
.ui-widget :active { outline: none; }
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_inset-soft_95_fef1ec_1x100.png) 50% bottom repeat-x; color: #cd0a0a; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
||||
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
||||
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
||||
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
|
||||
* jQuery UI Resizable 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Resizable#theming
|
||||
*/
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*!
|
||||
* jQuery UI Selectable 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Selectable#theming
|
||||
*/
|
||||
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
|
||||
/*!
|
||||
* jQuery UI Accordion 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Accordion#theming
|
||||
*/
|
||||
/* IE/Win - Fix animation bug - #4615 */
|
||||
.ui-accordion { width: 100%; }
|
||||
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
||||
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
||||
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-content-active { display: block; }
|
||||
/*!
|
||||
* jQuery UI Autocomplete 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Autocomplete#theming
|
||||
*/
|
||||
.ui-autocomplete { position: absolute; cursor: default; }
|
||||
|
||||
/* workarounds */
|
||||
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
||||
|
||||
/*
|
||||
* jQuery UI Menu 1.8.21
|
||||
*
|
||||
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Menu#theming
|
||||
*/
|
||||
.ui-menu {
|
||||
list-style:none;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
display:block;
|
||||
float: left;
|
||||
}
|
||||
.ui-menu .ui-menu {
|
||||
margin-top: -3px;
|
||||
}
|
||||
.ui-menu .ui-menu-item {
|
||||
margin:0;
|
||||
padding: 0;
|
||||
zoom: 1;
|
||||
float: left;
|
||||
clear: left;
|
||||
width: 100%;
|
||||
}
|
||||
.ui-menu .ui-menu-item a {
|
||||
text-decoration:none;
|
||||
display:block;
|
||||
padding:.2em .4em;
|
||||
line-height:1.5;
|
||||
zoom:1;
|
||||
}
|
||||
.ui-menu .ui-menu-item a.ui-state-hover,
|
||||
.ui-menu .ui-menu-item a.ui-state-active {
|
||||
font-weight: normal;
|
||||
margin: -1px;
|
||||
}
|
||||
/*!
|
||||
* jQuery UI Button 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Button#theming
|
||||
*/
|
||||
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
||||
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
||||
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
||||
.ui-button-icons-only { width: 3.4em; }
|
||||
button.ui-button-icons-only { width: 3.7em; }
|
||||
|
||||
/*button text element */
|
||||
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
||||
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
||||
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
||||
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
||||
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
|
||||
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
||||
/* no icon support for input elements, provide padding by default */
|
||||
input.ui-button { padding: .4em 1em; }
|
||||
|
||||
/*button icon element(s) */
|
||||
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
||||
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
||||
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
||||
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
|
||||
/*button sets*/
|
||||
.ui-buttonset { margin-right: 7px; }
|
||||
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
||||
|
||||
/* workarounds */
|
||||
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
||||
/*!
|
||||
* jQuery UI Dialog 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Dialog#theming
|
||||
*/
|
||||
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
||||
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
|
||||
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
|
||||
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
|
||||
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||
/*!
|
||||
* jQuery UI Slider 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Slider#theming
|
||||
*/
|
||||
.ui-slider { position: relative; text-align: left; background: rgb(0,65,145); border: 1px solid #000; }
|
||||
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: .8em; height: .8em; cursor: default; border-radius: 3em; }
|
||||
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; background: rgb(0,145,255); }
|
||||
|
||||
.ui-slider-horizontal { height: .2em; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -.4em; margin-left: -.6em; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*!
|
||||
* jQuery UI Tabs 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Tabs#theming
|
||||
*/
|
||||
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
||||
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
||||
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
||||
.ui-tabs .ui-tabs-hide { display: none !important; }
|
||||
/*!
|
||||
* jQuery UI Datepicker 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Datepicker#theming
|
||||
*/
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
||||
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||
.ui-datepicker td { border: 0; padding: 1px; }
|
||||
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl { direction: rtl; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
|
||||
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||
.ui-datepicker-cover {
|
||||
display: none; /*sorry for IE5*/
|
||||
display/**/: block; /*sorry for IE5*/
|
||||
position: absolute; /*must have*/
|
||||
z-index: -1; /*must have*/
|
||||
filter: mask(); /*must have*/
|
||||
top: -4px; /*must have*/
|
||||
left: -4px; /*must have*/
|
||||
width: 200px; /*must have*/
|
||||
height: 200px; /*must have*/
|
||||
}/*!
|
||||
* jQuery UI Progressbar 1.8.21
|
||||
*
|
||||
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Progressbar#theming
|
||||
*/
|
||||
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
|
||||
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
|
||||
245
data/interfaces/brink/css/jquery.dataTables_themeroller.css
Normal file
@@ -0,0 +1,245 @@
|
||||
|
||||
|
||||
/*
|
||||
* Table
|
||||
*/
|
||||
table.dataTable {
|
||||
margin: 0 auto;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.dataTable thead th {
|
||||
padding: 3px 0px 3px 10px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
table.dataTable tfoot th {
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
table.dataTable td {
|
||||
margin: 0px 0px 0px 0px;
|
||||
}
|
||||
|
||||
table.dataTable td.center,
|
||||
table.dataTable td.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.dataTable tr.odd { background-color: rgba(0,0,0,0.2); }
|
||||
table.dataTable tr.even { background-color: rgba(0,0,0,0.2); }
|
||||
|
||||
table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; }
|
||||
table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; }
|
||||
table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; }
|
||||
table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; }
|
||||
table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; }
|
||||
table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; }
|
||||
|
||||
|
||||
/*
|
||||
* Table wrapper
|
||||
*/
|
||||
.dataTables_wrapper {
|
||||
position: relative;
|
||||
clear: both;
|
||||
*zoom: 1;
|
||||
}
|
||||
.dataTables_wrapper .ui-widget-header {
|
||||
font-weight: normal;
|
||||
}
|
||||
.dataTables_wrapper .ui-toolbar {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Page length menu
|
||||
*/
|
||||
.dataTables_length {
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Filter
|
||||
*/
|
||||
.dataTables_filter {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Table information
|
||||
*/
|
||||
.dataTables_info {
|
||||
padding-top: 3px;
|
||||
clear: both;
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Pagination
|
||||
*/
|
||||
.dataTables_paginate {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.dataTables_paginate .ui-button {
|
||||
margin-right: -0.1em !important;
|
||||
}
|
||||
|
||||
.paging_two_button .ui-button {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
}
|
||||
|
||||
.paging_full_numbers .ui-button {
|
||||
padding: 2px 6px;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
/* Two button pagination - previous / next */
|
||||
.paginate_disabled_previous,
|
||||
.paginate_enabled_previous,
|
||||
.paginate_disabled_next,
|
||||
.paginate_enabled_next {
|
||||
height: 19px;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
color: #111 !important;
|
||||
}
|
||||
.paginate_disabled_previous:hover,
|
||||
.paginate_enabled_previous:hover,
|
||||
.paginate_disabled_next:hover,
|
||||
.paginate_enabled_next:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.paginate_disabled_previous:active,
|
||||
.paginate_enabled_previous:active,
|
||||
.paginate_disabled_next:active,
|
||||
.paginate_enabled_next:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.paginate_disabled_previous,
|
||||
.paginate_disabled_next {
|
||||
color: #666 !important;
|
||||
}
|
||||
.paginate_disabled_previous,
|
||||
.paginate_enabled_previous {
|
||||
padding-left: 23px;
|
||||
}
|
||||
.paginate_disabled_next,
|
||||
.paginate_enabled_next {
|
||||
padding-right: 23px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.paginate_enabled_previous { background: url('../images/back_enabled.png') no-repeat top left; }
|
||||
.paginate_enabled_previous:hover { background: url('../images/back_enabled_hover.png') no-repeat top left; }
|
||||
.paginate_disabled_previous { background: url('../images/back_disabled.png') no-repeat top left; }
|
||||
|
||||
.paginate_enabled_next { background: url('../images/forward_enabled.png') no-repeat top right; }
|
||||
.paginate_enabled_next:hover { background: url('../images/forward_enabled_hover.png') no-repeat top right; }
|
||||
.paginate_disabled_next { background: url('../images/forward_disabled.png') no-repeat top right; }
|
||||
|
||||
/* Full number pagination */
|
||||
.paging_full_numbers a:active {
|
||||
outline: none
|
||||
}
|
||||
.paging_full_numbers a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button,
|
||||
.paging_full_numbers a.paginate_active {
|
||||
border: 1px solid #aaa;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
padding: 2px 5px;
|
||||
margin: 0 3px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button:hover {
|
||||
background-color: #ccc;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_active {
|
||||
background-color: #99B3FF;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Processing indicator
|
||||
*/
|
||||
.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 250px;
|
||||
height: 30px;
|
||||
margin-left: -125px;
|
||||
margin-top: -15px;
|
||||
padding: 14px 0 2px 0;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sorting
|
||||
*/
|
||||
table.dataTable thead th div.DataTables_sort_wrapper {
|
||||
position: relative;
|
||||
padding-right: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
table.dataTable thead th div.DataTables_sort_wrapper span {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
table.dataTable th:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Scrolling
|
||||
*/
|
||||
.dataTables_scroll {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dataTables_scrollBody {
|
||||
*margin-top: -1px;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
105
data/interfaces/brink/css/libs/jquery.noty.css
Normal file
@@ -0,0 +1,105 @@
|
||||
|
||||
/* CORE STYLES */
|
||||
|
||||
/* noty bar */
|
||||
.noty_bar {
|
||||
position: fixed;
|
||||
display: none;
|
||||
z-index: 9999999;
|
||||
}
|
||||
|
||||
/* noty_message */
|
||||
.noty_bar .noty_message {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* noty close button */
|
||||
.noty_bar .noty_close {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* noty modal */
|
||||
.noty_modal {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000;
|
||||
z-index: 10000;
|
||||
opacity: 0.6;
|
||||
display: none;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
/* noty container for noty_layout_topLeft & noty_layout_topRight */
|
||||
ul.noty_cont {
|
||||
position: fixed;
|
||||
z-index: 10000000;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
list-style: none;
|
||||
width: 300px;
|
||||
}
|
||||
ul.noty_cont li {
|
||||
position: relative;
|
||||
float: left;
|
||||
clear: both;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 10px 0 0 0;
|
||||
width: 300px; /* Fix for: http://bugs.jquery.com/ticket/2278 */
|
||||
}
|
||||
ul.noty_cont.noty_layout_topLeft {left:20px; top:20px;}
|
||||
ul.noty_cont.noty_layout_topRight {right:40px; top:20px;}
|
||||
ul.noty_cont.noty_layout_bottomLeft {left:20px; bottom:20px}
|
||||
ul.noty_cont.noty_layout_bottomRight {right:40px; bottom:20px}
|
||||
ul.noty_cont.noty_layout_topRight li {float:right}
|
||||
|
||||
/* LAYOUTS */
|
||||
|
||||
/* noty_layout_top */
|
||||
.noty_bar.noty_layout_top {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
/* noty_layout_bottom */
|
||||
.noty_bar.noty_layout_bottom {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
/* noty_layout_center */
|
||||
.noty_bar.noty_layout_center {
|
||||
top: 40%;
|
||||
}
|
||||
|
||||
/* noty_layout_topLeft & noty_layout_topRight */
|
||||
.noty_bar.noty_layout_topLeft,
|
||||
.noty_bar.noty_layout_topRight,
|
||||
.noty_bar.noty_layout_bottomLeft,
|
||||
.noty_bar.noty_layout_bottomRight {
|
||||
width: 100%;
|
||||
clear: both;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.noty_bar.noty_layout_topLeft .noty_message,
|
||||
.noty_bar.noty_layout_topRight .noty_message,
|
||||
.noty_bar.noty_layout_bottomLeft .noty_message,
|
||||
.noty_bar.noty_layout_bottomRight .noty_message {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* noty_layout_topCenter */
|
||||
.noty_bar.noty_layout_topCenter {
|
||||
top: 20px;
|
||||
}
|
||||
240
data/interfaces/brink/css/libs/noty_theme_default.css
Normal file
@@ -0,0 +1,240 @@
|
||||
|
||||
/* CORE STYLES*/
|
||||
|
||||
/* noty bar */
|
||||
.noty_bar.noty_theme_default {
|
||||
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAoCAYAAAAPOoFWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPZJREFUeNq81tsOgjAMANB2ov7/7ypaN7IlIwi9rGuT8QSc9EIDAsAznxvY4pXPKr05RUE5MEVB+TyWfCEl9LZApYopCmo9C4FKSMtYoI8Bwv79aQJU4l6hXXCZrQbokJEksxHo9KMOgc6w1atHXM8K9DVC7FQnJ0i8iK3QooGgbnyKgMDygBWyYFZoqx4qS27KqLZJjA1D0jK6QJcYEQEiWv9PGkTsbqxQ8oT+ZtZB6AkdsJnQDnMoHXHLGKOgDYuCWmYhEERCI5gaamW0bnHdA3k2ltlIN+2qKRyCND0bhqSYCyTB3CAOc4WusBEIpkeBuPgJMAAX8Hs1NfqHRgAAAABJRU5ErkJggg==') repeat-x scroll left top #fff;
|
||||
}
|
||||
|
||||
/* if you use noty with customContainer you can access noty with this way
|
||||
* .noty_custom_container noty will add automaticly this class to your customContainer
|
||||
* .noty_theme_default your theme
|
||||
* .noty_layout_inline your layout
|
||||
*/
|
||||
|
||||
/* custom container */
|
||||
.noty_custom_container.noty_theme_default.noty_layout_inline {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* custom growl container */
|
||||
.noty_custom_container.noty_theme_default.noty_layout_inline .noty_cont.noty_layout_inline {
|
||||
position: static;
|
||||
}
|
||||
/* custom noty bar */
|
||||
.noty_custom_container.noty_theme_default.noty_layout_inline .noty_bar {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
position: static;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.noty_custom_container.noty_theme_default.noty_layout_inline .noty_bar .noty_message {
|
||||
font-size: 13px;
|
||||
padding: 4px;
|
||||
}
|
||||
.noty_custom_container.noty_theme_default.noty_layout_inline .noty_bar .noty_message .noty_buttons {
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
/* noty_message */
|
||||
.noty_bar.noty_theme_default .noty_message {
|
||||
padding: 8px 14px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
width: auto;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_closable .noty_message {
|
||||
padding: 8px 34px 8px 14px;
|
||||
}
|
||||
|
||||
/* noty_buttons */
|
||||
.noty_bar.noty_theme_default .noty_message .noty_buttons {
|
||||
float: right;
|
||||
font-size: 13px;
|
||||
margin-top: -4px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
/* noty_button */
|
||||
.noty_bar.noty_theme_default .noty_message .noty_buttons button {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* noty close button */
|
||||
.noty_bar.noty_theme_default .noty_close {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAORJREFUeNq0lU0OgjAQhRm5gUl3rLyBB3BDQjwI4TDcgmu4NqwNJGxdueqWA4zzCJoxtvxoeckLzbz2C5ShEDNHDiXis/gkPooPY/0uvomv4ov48bUSQGUSF+Ka51WPc0kzNGwvLnm9ynHtB5B+hGkoaWDB/6t4AZOFe7ZkTxMAc1dqreU0TbnrunetbVvOsmzIPMoBrFwJYGgCY8wAgjFGDZlHFYCNK9EAXPUYmUcNgL0v1dAFMKjfRSsVx/H0hC0eOfhLmWwbfTcYozbXNsEbO/int8nhEPz4CnbAUuhfwFOAAQAA48KKOuexjwAAAABJRU5ErkJggg==');
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* noty modal */
|
||||
.noty_modal.noty_theme_default {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
/* LAYOUTS */
|
||||
|
||||
/* noty_layout_top */
|
||||
.noty_bar.noty_theme_default.noty_layout_top {
|
||||
border-bottom: 3px solid #eee;
|
||||
}
|
||||
|
||||
/* noty_layout_bottom */
|
||||
.noty_bar.noty_theme_default.noty_layout_bottom {
|
||||
border-top: 3px solid #eee;
|
||||
}
|
||||
|
||||
.noty_bar.noty_theme_default.noty_layout_center .noty_close {
|
||||
top: 8px;
|
||||
}
|
||||
|
||||
.noty_bar.noty_theme_default.noty_layout_center .noty_message .noty_buttons {
|
||||
margin-top: -2px
|
||||
}
|
||||
|
||||
/* noty_layout_topLeft & noty_layout_topRight */
|
||||
.noty_bar.noty_theme_default.noty_layout_center,
|
||||
.noty_bar.noty_theme_default.noty_layout_topLeft,
|
||||
.noty_bar.noty_theme_default.noty_layout_topRight,
|
||||
.noty_bar.noty_theme_default.noty_layout_bottomLeft,
|
||||
.noty_bar.noty_theme_default.noty_layout_bottomRight {
|
||||
border: 1px solid #eee;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_layout_center .noty_message,
|
||||
.noty_bar.noty_theme_default.noty_layout_topLeft .noty_message,
|
||||
.noty_bar.noty_theme_default.noty_layout_topRight .noty_message,
|
||||
.noty_bar.noty_theme_default.noty_layout_bottomLeft .noty_message,
|
||||
.noty_bar.noty_theme_default.noty_layout_bottomRight .noty_message {
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_layout_topLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_layout_topRight .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_layout_bottomLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_layout_bottomRight .noty_message .noty_buttons {
|
||||
float: none;
|
||||
border-top: 1px solid #ccc;
|
||||
margin-left: 0;
|
||||
margin-top: 10px;
|
||||
padding-top: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* noty_layout_topCenter */
|
||||
.noty_bar.noty_theme_default.noty_layout_topCenter {
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_layout_topCenter .noty_message {
|
||||
font-weight: normal;
|
||||
font-size: 13px;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_layout_topCenter .noty_close {
|
||||
top: 50%;
|
||||
margin-top: -10px;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_layout_topCenter.noty_success {
|
||||
border: 1px solid #50C24E;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_layout_topCenter .noty_message .noty_buttons {
|
||||
margin-left: 15px;
|
||||
margin-top: 0px
|
||||
}
|
||||
|
||||
/* NOTIFICATION TYPES */
|
||||
|
||||
/* noty_notification */
|
||||
.noty_bar.noty_theme_default.noty_notification {
|
||||
background-color: #fff;
|
||||
border-color: #ccc;
|
||||
color: #555;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_notification.noty_layout_topLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_notification.noty_layout_topRight .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_notification.noty_layout_bottomLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_notification.noty_layout_bottomRight .noty_message .noty_buttons {
|
||||
border-color: #ccc;
|
||||
}
|
||||
|
||||
/* noty_warning */
|
||||
.noty_bar.noty_theme_default.noty_warning {
|
||||
background-color: #FFEAA8;
|
||||
border-color: #FFC237;
|
||||
color: #826200;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_warning.noty_layout_topLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_warning.noty_layout_topRight .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_warning.noty_layout_bottomLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_warning.noty_layout_bottomRight .noty_message .noty_buttons {
|
||||
border-color: #FFC237;
|
||||
}
|
||||
|
||||
/* noty_alert */
|
||||
.noty_bar.noty_theme_default.noty_alert {
|
||||
background-color: #fff;
|
||||
border-color: #ccc;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_alert.noty_layout_topLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_alert.noty_layout_topRight .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_alert.noty_layout_bottomLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_alert.noty_layout_bottomRight .noty_message .noty_buttons {
|
||||
border-color: #ccc;
|
||||
}
|
||||
|
||||
/* noty_error */
|
||||
.noty_bar.noty_theme_default.noty_error {
|
||||
background-color: red;
|
||||
color: #fff;
|
||||
border-color: darkred;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_error .noty_message {
|
||||
font-weight: bold;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_error.noty_layout_topLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_error.noty_layout_topRight .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_error.noty_layout_bottomLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_error.noty_layout_bottomRight .noty_message .noty_buttons {
|
||||
border-color: darkred;
|
||||
}
|
||||
|
||||
/* noty_success */
|
||||
.noty_bar.noty_theme_default.noty_success {
|
||||
background-color: lightgreen;
|
||||
color: darkgreen;
|
||||
border-color: #50C24E;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_success.noty_layout_topLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_success.noty_layout_topRight .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_success.noty_layout_bottomLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_success.noty_layout_bottomRight .noty_message .noty_buttons {
|
||||
border-color: #50C24E;
|
||||
}
|
||||
|
||||
/* noty_information */
|
||||
.noty_bar.noty_theme_default.noty_information {
|
||||
background-color: #57B7E2;
|
||||
border-color: #0B90C4;
|
||||
color: #fff;
|
||||
}
|
||||
.noty_bar.noty_theme_default.noty_information.noty_layout_topLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_information.noty_layout_topRight .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_information.noty_layout_bottomLeft .noty_message .noty_buttons,
|
||||
.noty_bar.noty_theme_default.noty_information.noty_layout_bottomRight .noty_message .noty_buttons {
|
||||
border-color: #0B90C4;
|
||||
}
|
||||
|
||||
90
data/interfaces/brink/css/theme/default.css
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* * * * * * * * *
|
||||
* Colors Styles *
|
||||
* * * * * * * * *
|
||||
* A great site to adjust the colors is:
|
||||
* http://gradients.glrzad.com/
|
||||
* Just copy the lines, and replace it in here.
|
||||
*/
|
||||
/* Main Header */
|
||||
body{
|
||||
background: #192126;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#nav-container{
|
||||
background: #222D33;
|
||||
}
|
||||
#header
|
||||
{
|
||||
background: rgb(57,69,81); /* Old browsers */
|
||||
background: -moz-linear-gradient(top, rgba(57,69,81,1) 0%, rgba(36,43,51,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(57,69,81,1)), color-stop(100%,rgba(36,43,51,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(57,69,81,1) 0%,rgba(36,43,51,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(57,69,81,1) 0%,rgba(36,43,51,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(57,69,81,1) 0%,rgba(36,43,51,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(top, rgba(57,69,81,1) 0%,rgba(36,43,51,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#394551', endColorstr='#242b33',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
#nav li
|
||||
{
|
||||
background: rgb(45,54,63); /* Old browsers */
|
||||
background: -moz-linear-gradient(top, rgba(45,54,63,1) 0%, rgba(36,43,51,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(45,54,63,1)), color-stop(100%,rgba(36,43,51,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d363f', endColorstr='#242b33',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
#footer{
|
||||
background: rgb(45,54,63); /* Old browsers */
|
||||
background: -moz-linear-gradient(top, rgba(45,54,63,1) 0%, rgba(36,43,51,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(45,54,63,1)), color-stop(100%,rgba(36,43,51,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(top, rgba(45,54,63,1) 0%,rgba(36,43,51,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d363f', endColorstr='#242b33',GradientType=0 ); /* IE6-9 */
|
||||
border-top: 1px solid rgb(100,122,132);
|
||||
}
|
||||
#nav li:hover{
|
||||
background: rgb(55,65,76); /* Old browsers */
|
||||
background: -moz-linear-gradient(top, rgba(55,65,76,1) 0%, rgba(45,53,63,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(55,65,76,1)), color-stop(100%,rgba(45,53,63,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(top, rgba(55,65,76,1) 0%,rgba(45,53,63,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#37414c', endColorstr='#2d353f',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
|
||||
#subhead_container{
|
||||
}
|
||||
/*Tooltip popup Color*/
|
||||
.tooltip span
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(219,219,140) 0%, rgb(240,240,178) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(219,219,140) 0%, rgb(240,240,178) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(219,219,140) 0%, rgb(240,240,178) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(219,219,140) 0%, rgb(240,240,178) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(219,219,140) 0%, rgb(240,240,178) 100%);
|
||||
/*Font Color*/
|
||||
color: #000;
|
||||
}
|
||||
/*Tablehead color*/
|
||||
table.display thead tr th
|
||||
{
|
||||
background: rgb(53,68,76); /* Old browsers */
|
||||
background: -moz-linear-gradient(top, rgba(53,68,76,1) 0%, rgba(44,57,63,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(53,68,76,1)), color-stop(100%,rgba(44,57,63,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(53,68,76,1) 0%,rgba(44,57,63,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(53,68,76,1) 0%,rgba(44,57,63,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(53,68,76,1) 0%,rgba(44,57,63,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(top, rgba(53,68,76,1) 0%,rgba(44,57,63,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#35444c', endColorstr='#2c393f',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
|
||||
/*
|
||||
* Scrollbar Colors
|
||||
* */
|
||||
@@ -1,7 +1,7 @@
|
||||
<%inherit file="base.html" />
|
||||
<%def name="body()">
|
||||
<div class="table_wrapper">
|
||||
<h1>Artists You Might Like</h1>
|
||||
<h1>Suggestions</h1>
|
||||
<div class="cloudtag">
|
||||
<ul id="cloud">
|
||||
%for artist in cloudlist:
|
||||
|
||||
BIN
data/interfaces/brink/fonts/websymbols-regular-webfont.eot
Normal file
108
data/interfaces/brink/fonts/websymbols-regular-webfont.svg
Normal file
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>
|
||||
This is a custom SVG webfont generated by Font Squirrel.
|
||||
Copyright : Copyright c 2011 by Just Be Nice studio All rights reserved
|
||||
Designer : Igor Kiselev
|
||||
Foundry : Just Be Nice studio
|
||||
Foundry URL : httpwwwjustbenicestudiocom
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="WebSymbolsRegular" horiz-adv-x="1000" >
|
||||
<font-face units-per-em="1000" ascent="801" descent="-199" />
|
||||
<missing-glyph horiz-adv-x="250" />
|
||||
<glyph unicode=" " horiz-adv-x="250" />
|
||||
<glyph unicode="	" horiz-adv-x="250" />
|
||||
<glyph unicode=" " horiz-adv-x="250" />
|
||||
<glyph unicode="!" />
|
||||
<glyph unicode="#" horiz-adv-x="965" d="M207 259q0 -26 -42 -26h-16v52h23q35 0 35 -26zM190 355q0 -23 -34 -23h-7v46h8q33 0 33 -23zM265 -112h62v241h-62v-148h-1l-115 148h-62v-241h62v147h1zM388 -112h63v241h-63v-241zM270 252q0 55 -49 62q27 14 27 49q0 63 -72 63h-89v-241h96q37 0 62 16t25 51z M684 -107v75q-21 -26 -54 -26q-29 0 -47 18.5t-18 47.5q0 28 18 47t46 19q35 0 55 -26v75q-31 12 -57 12q-53 0 -90 -37.5t-37 -89.5q0 -54 37.5 -90t91.5 -36q22 0 55 11zM309 185h137v53h-74v42h70v53h-70v40h74v53h-137v-241zM222 561v162h-136v-51h74v-112 q0 -31 -18 -31q-11 0 -27 19l-34 -36q23 -36 62 -36q38 0 58.5 23t20.5 62zM740 -112h137v53h-75v41h71v53h-71v41h75v53h-137v-241zM484 588v135h-63v-126q0 -20 -2 -32t-12 -23t-28 -11q-27 0 -35 17.5t-8 48.5v126h-63v-135q0 -57 24.5 -84.5t81.5 -27.5q56 0 80.5 27.5 t24.5 84.5zM697 564q0 27 -16.5 43t-35.5 20.5t-35.5 11.5t-16.5 18q0 10 8.5 15t18.5 5q23 0 42 -16l25 49q-35 20 -76 20q-36 0 -59.5 -22.5t-23.5 -58.5q0 -29 16 -45t35.5 -19.5t35.5 -10.5t16 -20q0 -12 -9 -18.5t-21 -6.5q-25 0 -56 25l-26 -50q37 -28 84 -28 q43 0 68.5 22.5t25.5 65.5zM838 670h52v53h-166v-53h51v-187h63v187zM965 801v-1000h-965v1000h965z" />
|
||||
<glyph unicode="%" d="M306 -32l161 -168h-467v467l168 -161l161 161q29 29 69 29t69 -29t29 -69t-29 -69zM1000 800v-467l-168 161l-161 -161q-29 -29 -69 -29t-69 29t-29 69t29 69l161 161l-161 168h467z" />
|
||||
<glyph unicode="&" d="M644 382l116 -102v280h-280l102 -116l-13 -13l-213 -213l-116 102v-280h280l-102 116zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="'" d="M654 300l346 -346l-154 -154l-346 346l-346 -346l-154 154l346 346l-346 346l154 154l346 -346l346 346l154 -154z" />
|
||||
<glyph unicode="(" d="M547 68l71 71l-161 161l161 161l-71 71l-233 -232zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode=")" d="M453 68l233 232l-233 232l-71 -71l161 -161l-161 -161zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="*" d="M740 220l180 180h-120q-30 92 -118.5 152.5t-186.5 60.5q-131 0 -224 -92.5t-93 -223.5t93 -223.5t224 -92.5t223 92l-62 71q-66 -64 -156 -64q-91 0 -155.5 64.5t-64.5 155.5t64.5 155.5t155.5 64.5q95 0 156 -64q8 -8 11.5 -16.5t6.5 -20.5t6 -19h-120zM1000 300 q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="+" d="M560 242h235v118h-235v235h-118v-235h-236v-118h236v-236h118v236zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="," d="M840 505q28 28 28 67.5t-28 67.5t-67.5 28t-67.5 -28t-28 -67.5t28 -67.5t67.5 -28t67.5 28zM1000 665v-270l-595 -595l-405 405l595 595h270z" />
|
||||
<glyph unicode="-" d="M206 242h589v118h-589v-118zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="." horiz-adv-x="1179" d="M1179 729q-250 -222 -600 -750l-115 -179q-144 180 -464 500l107 107l286 -250q150 150 279 271.5t205.5 187.5t131.5 111t77 59l21 14q4 0 11 -2t26 -19.5t35 -49.5z" />
|
||||
<glyph unicode="/" d="M260 354l-54 -53q71 -71 129 -133.5t81 -89.5l22 -26q8 13 22 35.5t56.5 85.5t83.5 118.5t95 119.5t99 104q-18 35 -36 35q-10 -6 -32 -22t-113.5 -97.5t-210.5 -200.5zM500 801q136 0 251 -67t182 -182t67 -251t-67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251 t67 251t182 182t251 67z" />
|
||||
<glyph unicode="0" d="M188 -26l-83 83l187 187l83 -83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
|
||||
<glyph unicode="1" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
|
||||
<glyph unicode="2" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
|
||||
<glyph unicode="3" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 604h-118v265h118v-265z" />
|
||||
<glyph unicode="4" d="M812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
|
||||
<glyph unicode="5" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
|
||||
<glyph unicode="6" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265zM559 604h-118v265h118v-265z" />
|
||||
<glyph unicode="7" d="M188 -26l-83 83l187 187l83 -83zM812 764l83 -83l-187 -187l-83 83zM812 -26l-187 187l83 83l187 -187zM292 494l-187 187l83 83l187 -187zM0 428h265v-118h-265v118zM735 310v118h265v-118h-265zM559 -131h-118v265h118v-265z" />
|
||||
<glyph unicode=":" d="M661 182l71 71l-232 233l-232 -233l71 -71l161 161zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode=";" d="M500 114l232 233l-71 71l-161 -161l-161 161l-71 -71zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="<" horiz-adv-x="654" d="M308 300l346 -346l-154 -154l-500 500l500 500l154 -154z" />
|
||||
<glyph unicode=">" horiz-adv-x="654" d="M154 800l500 -500l-500 -500l-154 154l346 346l-346 346z" />
|
||||
<glyph unicode="?" horiz-adv-x="586" d="M379 507q0 36 -25 61t-61 25t-61 -25t-25 -61t25 -61t61 -25t61 25t25 61zM586 507q0 -7 -1.5 -21t-17.5 -71.5t-43.5 -130t-88 -202t-142.5 -282.5q-82 153 -142.5 282t-88 204t-43 128t-17.5 73l-2 20q0 121 86 207t207 86t207 -86t86 -207z" />
|
||||
<glyph unicode="@" horiz-adv-x="1360" d="M157 -42h1048v558l-494 -412h-61l-493 412v-558zM174 639l507 -423l507 423h-1014zM105 796h1152q43 0 74 -31t31 -74v-785q0 -44 -31 -74.5t-74 -30.5h-1152q-43 0 -74 30.5t-31 74.5v785q0 43 31 74t74 31z" />
|
||||
<glyph unicode="A" horiz-adv-x="1113" d="M1113 507q0 -67 -26.5 -129.5t-73.5 -109.5l-448 -444l-62 61l448 444q74 72 74 178q0 89 -58.5 147.5t-147.5 58.5q-102 0 -180 -75l-493 -489q-59 -59 -59 -133q0 -57 37 -93.5t94 -36.5q75 0 134 59l377 372q53 55 53 97q0 21 -16 33t-38 12q-48 0 -86 -40l-340 -336 l-61 61l339 336q66 66 148 66q58 0 100 -37t42 -94q0 -78 -79 -159l-377 -372q-84 -84 -196 -84q-93 0 -155.5 61.5t-62.5 154.5q0 110 84 194l493 489q104 101 242 101q125 0 209.5 -84t84.5 -209z" />
|
||||
<glyph unicode="B" d="M250 -75q0 -52 -36.5 -88.5t-88.5 -36.5t-88.5 36.5t-36.5 88.5t36.5 88.5t88.5 36.5t88.5 -36.5t36.5 -88.5zM660 -200h-192q0 194 -137 331t-331 137v192q179 0 331 -88.5t240.5 -240.5t88.5 -331zM1000 -200h-193q0 164 -64 314t-172 258t-257.5 172t-313.5 64v192 q203 0 388 -79.5t319 -213.5t213.5 -319t79.5 -388z" />
|
||||
<glyph unicode="C" horiz-adv-x="1435" d="M1435 83q0 -111 -75.5 -192.5t-185.5 -89.5v-1h-870v1q-7 -1 -21 -1q-117 0 -200 83t-83 200q0 74 37 139t101 103q-8 32 -8 62q0 117 83 200t200 83q103 0 186 -70q43 91 128.5 145.5t185.5 54.5q144 0 246 -102t102 -246q0 -55 -16 -103q85 -29 137.5 -103t52.5 -163z " />
|
||||
<glyph unicode="D" horiz-adv-x="1091" d="M91 -108h636v364h-636v-364zM818 256h182v363h-636v-182h454v-181zM1091 801v-636h-273v-364h-818v636h273v364h818z" />
|
||||
<glyph unicode="F" horiz-adv-x="1391" d="M1391 419v-10l-68 -523q-5 -35 -33.5 -60.5t-64.5 -25.5h-1058q-36 0 -65.5 25.5t-33.5 60.5l-67 523q-1 3 -1 10q0 33 22.5 54.5t55.5 21.5h1235q33 0 55.5 -21.5t22.5 -54.5zM1313 583h-1235q9 48 27 67t34.5 17t34 3.5t25.5 28.5l24 72q77 29 208 29q89 0 164 -29 l25 -72q24 -23 32.5 -26t43.5 -3h485q84 0 110 -22q12 -11 22 -65z" />
|
||||
<glyph unicode="H" horiz-adv-x="1500" d="M308 300l346 -346l-154 -154l-500 500l500 500l154 -154zM1000 800l500 -500l-500 -500l-154 154l346 346l-346 346z" />
|
||||
<glyph unicode="I" horiz-adv-x="1360" d="M1163 7q2 -1 1 -4t-4 -3h-955h-1q-4 0 -4 4v2q18 36 135 280t144 299q1 2 3.5 2.5t3.5 -1.5l311 -386l152 122h7l1 -2q39 -50 101.5 -155t104.5 -158zM1120 480q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z M120 -80h1120v760h-1120v-760zM1360 800v-1000h-1360v1000h1360z" />
|
||||
<glyph unicode="J" horiz-adv-x="1360" d="M760 120l117 -120h-636l-1 360h-240l300 320l300 -320h-240v-240h400zM1120 320h240l-300 -320l-300 320h240v240h-400l-117 120h636z" />
|
||||
<glyph unicode="K" d="M613 445l-115 -115q-26 17 -56 17q-44 0 -75 -31l-175 -176q-31 -29 -31 -74q0 -44 30.5 -74.5t74.5 -30.5q25 0 49.5 12t32.5 34h238l-132 -129q-80 -78 -188 -78q-110 0 -188 78t-78 188q0 112 78 188l175 176q78 78 189 78q97 0 171 -63zM1000 534q0 -112 -78 -188 l-175 -176q-78 -78 -189 -78q-97 0 -171 63l115 115q26 -17 56 -17q44 0 75 31l175 176q31 29 31 74q0 44 -30.5 74.5t-74.5 30.5q-25 0 -49.5 -12t-32.5 -34h-238l132 129q80 78 188 78q110 0 188 -78t78 -188z" />
|
||||
<glyph unicode="L" d="M681 391q0 113 -79.5 193t-192.5 80t-193 -80t-80 -193t80 -192.5t193 -79.5t192.5 79.5t79.5 192.5zM746 160l254 -255l-105 -105l-254 254q-106 -72 -232 -72q-169 0 -289 120t-120 289t120 289t289 120t289 -120t120 -289q0 -127 -72 -231z" />
|
||||
<glyph unicode="M" horiz-adv-x="1360" d="M80 -120h120v80h-120v-80zM280 -120h120v80h-120v-80zM520 -120h120v80h-120v-80zM80 40h320v520h-320v-520zM720 -120h120v80h-120v-80zM80 640h120v80h-120v-80zM960 -120h120v80h-120v-80zM520 40h320v520h-320v-520zM280 640h120v80h-120v-80zM1160 -120h120v80h-120 v-80zM520 640h120v80h-120v-80zM960 40h320v520h-320v-520zM720 640h120v80h-120v-80zM960 640h120v80h-120v-80zM1160 640h120v80h-120v-80zM1360 800v-1000h-1360v1000h1360z" />
|
||||
<glyph unicode="N" horiz-adv-x="1063" d="M775 800q126 0 207 -80t81 -207v-60q0 -285 -532 -653q-531 367 -531 653v60q0 127 80.5 207t206.5 80q81 0 134 -30.5t110 -98.5q58 68 111 98.5t133 30.5z" />
|
||||
<glyph unicode="O" horiz-adv-x="1063" d="M946 458v50q0 58 -39 113.5t-95 61.5q-12 2 -37 2q-53 0 -83 -19.5t-72 -68.5l-89 -105l-89 105q-42 49 -72 68.5t-83 19.5q-24 0 -37 -2q-56 -6 -93.5 -60t-40.5 -115v-50q0 -30 17 -75q68 -199 398 -441q329 239 399 441q16 50 16 75zM1063 513v-60q0 -285 -532 -653 q-531 367 -531 653v60q0 127 80.5 207t206.5 80q81 0 134 -30.5t110 -98.5q58 68 111 98.5t133 30.5q126 0 207 -80t81 -207z" />
|
||||
<glyph unicode="P" d="M680 100q0 -25 -17.5 -42.5t-42.5 -17.5q-26 0 -42 18l-120 120q-18 18 -18 62v320q0 25 17.5 42.5t42.5 17.5t42.5 -17.5t17.5 -42.5v-315l102 -103q18 -16 18 -42zM883 300q0 158 -112.5 270.5t-270.5 112.5q-126 0 -226 -74l2 -2q-48 -35 -83 -83l-2 2 q-74 -100 -74 -226q0 -158 112.5 -270.5t270.5 -112.5q126 0 226 74l-2 2q48 35 83 83l2 -2q74 100 74 226zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="Q" d="M585 496q0 -36 -24.5 -62t-60.5 -26t-60.5 26t-24.5 62t24.5 62t60.5 26t60.5 -26t24.5 -62zM727 217q0 26 -17.5 44.5t-42.5 18.5q-15 0 -28 -8q-70 -36 -140 -36q-69 0 -138 36q-16 7 -28 7q-25 0 -42.5 -18.5t-17.5 -44.5q0 -68 147 -97l-117 -121q-18 -18 -18 -44 t17.5 -44.5t42.5 -18.5t43 18l112 116l112 -116q18 -18 43 -18t42.5 18.5t17.5 44.5t-18 44l-117 121q147 30 147 98zM705 496q0 87 -59 150t-146 63t-146 -63t-59 -150t59 -150t146 -63t146 63t59 150zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824 q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
|
||||
<glyph unicode="R" horiz-adv-x="1050" d="M1050 415q0 -15 -29 -38l-275 -200l105 -323q5 -17 5 -30q0 -24 -18 -24q-17 0 -38 17l-275 199l-275 -199q-23 -17 -39 -17q-18 0 -18 23q0 11 6 31l105 323l-275 200q-29 21 -29 37q0 23 49 23l340 -1l104 324q12 40 32 40q19 0 31 -40l106 -324l339 1q49 0 49 -22z " />
|
||||
<glyph unicode="S" d="M652 300q0 60 -43 102t-103 42t-102.5 -42t-42.5 -102t42.5 -102t102.5 -42t103 42t43 102zM1000 372v-142l-185 -26q-10 -27 -21 -50l120 -157l-102 -100l-159 118q-20 -10 -51 -21l-30 -194h-143l-27 197q-21 7 -43 18l-161 -119l-101 100l121 160q-11 21 -19 46 l-199 28v142l199 28q7 21 19 45l-120 159l101 100l160 -119q15 8 47 20l28 195h143l28 -195q22 -7 48 -19l158 117l102 -100l-119 -156q13 -27 20 -48z" />
|
||||
<glyph unicode="T" horiz-adv-x="925" d="M641 181v106q-33 -19 -87 -30.5t-100.5 -18.5t-90.5 -19.5t-70 -42.5t-26 -79q0 -62 40 -94.5t103 -32.5q103 0 167 55t64 156zM925 -173h-264q-15 40 -18 92q-120 -119 -306 -119q-95 0 -169 29t-121 95t-47 162q0 40 8.5 74t21 59.5t35.5 47.5t43 36.5t53.5 27.5 t57.5 20.5t64 15t63.5 11t65.5 8.5q50 6 100 15q24 4 37 7t34 11t32 17t19.5 25.5t8.5 38.5q0 126 -170 126q-87 0 -130.5 -31.5t-56.5 -113.5h-244q6 90 44 154t100.5 99t134.5 50.5t159 15.5q68 0 124.5 -7.5t111.5 -28.5t92.5 -54.5t60.5 -89t23 -128.5v-408 q0 -64 0.5 -91t8.5 -77.5t24 -88.5z" />
|
||||
<glyph unicode="U" horiz-adv-x="1070" d="M1070 -137q0 -21 -2 -63h-1067q0 10 -0.5 31t-0.5 32q0 30 1 37q12 49 64 84.5t111.5 53t125.5 47t97 65.5q17 22 17 38q0 22 -11 73q-4 21 -10.5 36.5t-16 33t-15.5 31.5q-15 35 -33 132q-6 38 -6 75q0 105 53.5 168t157.5 63t157.5 -63t53.5 -168q0 -31 -7 -75 q-14 -89 -32 -132q-6 -14 -15.5 -31.5t-16 -33t-10.5 -36.5q-11 -51 -11 -73q0 -18 17 -38q31 -36 97 -65.5t125 -47t111 -53t64 -84.5q2 -8 2 -37z" />
|
||||
<glyph unicode="V" horiz-adv-x="857" d="M429 -9q111 0 193 76t91 186h143q-9 -170 -133 -287t-294 -117q-158 0 -279 102l-150 -150v405h405l-153 -153q78 -62 177 -62zM707 651l150 150v-405h-405l153 153q-77 62 -176 62q-111 0 -193.5 -76t-91.5 -186h-143q9 170 133 287t295 117q157 0 278 -102z" />
|
||||
<glyph unicode="W" horiz-adv-x="1113" d="M626 5q0 29 -20.5 49t-49.5 20q-28 0 -48.5 -20t-20.5 -49t20.5 -49.5t48.5 -20.5q29 0 49.5 20.5t20.5 49.5zM626 392v146h-139v-146q0 -14 2 -26.5t5.5 -28t5.5 -26.5l26 -162h59l27 162q2 10 6 26t6 28.5t2 26.5zM1113 -119q0 -39 -27.5 -59.5t-67.5 -20.5h-923 q-40 0 -67.5 21t-27.5 59q0 30 18 61l461 804q33 55 78 55t76 -55l462 -805q18 -32 18 -60z" />
|
||||
<glyph unicode="X" horiz-adv-x="1188" d="M746 53l106 -107q-156 -146 -338 -146q-217 0 -365.5 143.5t-148.5 358.5q0 135 68 250t183.5 181.5t250.5 66.5q184 0 349 -148l-105 -106q-114 104 -243 104q-149 0 -251.5 -104t-102.5 -254q0 -140 105.5 -241t247.5 -101q131 0 244 103zM912 565l276 -266l-276 -264 v177h-413v176h413v177z" />
|
||||
<glyph unicode="Z" horiz-adv-x="1217" d="M870 300q0 27 -19.5 46t-46.5 19h-391q-27 0 -46 -19t-19 -46t19 -46t46 -19h391q27 0 46.5 19t19.5 46zM1174 452v-609q0 -17 -13 -30t-31 -13h-1043q-18 0 -31 13t-13 30v609q0 18 13 31t31 13h1043q18 0 31 -13t13 -31zM1217 757v-131q0 -18 -12.5 -30.5t-30.5 -12.5 h-1131q-17 0 -30 12.5t-13 30.5v131q0 17 13 30t30 13h1131q18 0 30.5 -13t12.5 -30z" />
|
||||
<glyph unicode="[" horiz-adv-x="529" d="M265 35l-265 530h529z" />
|
||||
<glyph unicode="\" d="M726 -9l-535 535q-74 -100 -74 -226q0 -158 112.5 -270.5t270.5 -112.5q126 0 226 74zM883 300q0 158 -112.5 270.5t-270.5 112.5q-126 0 -226 -74l535 -535q74 100 74 226zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182 t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="]" horiz-adv-x="529" d="M529 300l-529 -265v530z" />
|
||||
<glyph unicode="_" horiz-adv-x="1360" d="M160 277l317 135v96l-317 134v-99l209 -84l-209 -83v-99zM522 200h318v77h-318v-77zM1360 800v-1000h-1360v1000h1360z" />
|
||||
<glyph unicode="`" d="M848 241h-142v118h142q-19 110 -99 190t-190 99v-142h-118v142q-110 -19 -190 -99t-99 -190h142v-118h-142q19 -110 99 -190t190 -99v142h118v-142q110 19 190 99t99 190zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67 t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="a" horiz-adv-x="760" d="M160 -40h440v560h-120v120h-320v-680zM560 800l200 -200l-1 -800h-759v1000h560z" />
|
||||
<glyph unicode="b" horiz-adv-x="989" d="M158 108h671v316h-118v118h-553v-434zM987 503v-553h-987v750h789z" />
|
||||
<glyph unicode="c" horiz-adv-x="1137" d="M1137 700v-532q0 -41 -29.5 -70.5t-70.5 -29.5h-168v-268l-267 268h-502q-41 0 -70.5 29.5t-29.5 70.5v532q0 41 29.5 70.5t70.5 29.5h937q41 0 70.5 -29.5t29.5 -70.5z" />
|
||||
<glyph unicode="d" horiz-adv-x="1179" d="M1179 336q0 -126 -79 -233.5t-215 -169.5t-296 -62q-122 0 -234 39l2 -3l-357 -107q44 59 70.5 126.5t31.5 105.5l4 38q-106 120 -106 266q0 126 79 233t214.5 169t295.5 62t296 -62t215 -169t79 -233z" />
|
||||
<glyph unicode="e" horiz-adv-x="1179" d="M429 336q0 29 -21 50t-51 21q-29 0 -50 -21t-21 -50q0 -30 21 -51t50 -21q30 0 51 21t21 51zM679 336q0 29 -21 50t-51 21q-29 0 -50 -21t-21 -50q0 -30 21 -51t50 -21q30 0 51 21t21 51zM929 336q0 29 -21 50t-51 21q-29 0 -50 -21t-21 -50q0 -30 21 -51t50 -21 q30 0 51 21t21 51zM1179 336q0 -126 -79 -233.5t-215 -169.5t-296 -62q-122 0 -234 39l2 -3l-357 -107q44 59 70.5 126.5t31.5 105.5l4 38q-106 120 -106 266q0 126 79 233t214.5 169t295.5 62t296 -62t215 -169t79 -233z" />
|
||||
<glyph unicode="f" d="M813 552l20 118q-43 15 -143 15q-79 0 -123 -58q-26 -34 -26 -119v-6v-36v-36h-79v-115h79v-400h149v400h118l9 115h-127v36v42v12q0 42 59 42q31 0 64 -10zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62 z" />
|
||||
<glyph unicode="g" d="M468 121q0 -44 -43 -71t-90 -27t-85.5 24t-38.5 68q0 48 41 72t92 24q46 0 85 -23.5t39 -66.5zM413 466q0 -35 -15.5 -60t-48.5 -25q-43 0 -68.5 45.5t-25.5 91.5q0 35 15.5 60t48.5 25q43 0 68.5 -45.5t25.5 -91.5zM548 636q0 11 -22 11q-3 0 -52 0.5t-72.5 0t-60.5 -4 t-59 -10.5q-58 -19 -92.5 -62t-34.5 -102q0 -70 44 -113t114 -42h6q0 -24 2 -35t5 -11.5t7.5 -5t8.5 -14.5q-55 0 -102.5 -12t-85.5 -48t-38 -91q0 -77 61.5 -114.5t143.5 -37.5q92 0 159.5 45.5t67.5 133.5q0 38 -19.5 73t-43.5 55t-43.5 38.5t-19.5 28.5q0 11 15 25.5 t33.5 29t33.5 46.5t15 74q0 76 -44 107q1 0 15.5 1.5t20.5 3t17 5t15.5 10t4.5 15.5zM763 473h121v60h-121v122h-60v-122h-122v-60h122v-121h60v121zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
|
||||
<glyph unicode="h" horiz-adv-x="1185" d="M501 801v-319q110 -15 203.5 -45t159 -68t118.5 -82.5t86 -90.5t57 -90.5t35 -83.5t17.5 -69t6.5 -47l1 -17q-6 11 -19 29.5t-67.5 63t-124.5 76.5t-196.5 52t-276.5 7v-316l-501 499z" />
|
||||
<glyph unicode="i" horiz-adv-x="1550" d="M866 801v-319q110 -15 203.5 -45t159 -68t118.5 -82.5t86 -90.5t57 -90.5t35 -83.5t17.5 -69t7.5 -47v-17q-6 11 -19 29.5t-67.5 63t-124.5 76.5t-196.5 52t-276.5 7v-316l-501 499zM501 801v-182l-319 -319l319 -318v-181l-501 499z" />
|
||||
<glyph unicode="j" horiz-adv-x="1185" d="M0 482h684v319l501 -501l-501 -499v316h-684v365z" />
|
||||
<glyph unicode="k" d="M544 348h183l-1 119h-184l2 181h-112q-3 -68 -37 -118q-3 -5 -9 -16t-11.5 -19t-10.5 -12q-19 -15 -76 -15h-15v-120l91 -3v-303q0 -39 14.5 -65t41 -37.5t50 -15t55.5 -3.5h45q50 0 81 3.5t42.5 7.5t26.5 12v128v0q-54 -35 -105 -35q-27 0 -49 13t-22 25v273zM1000 712 v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
|
||||
<glyph unicode="l" d="M200 0h128v419h-128v-419zM332 535q0 28 -18.5 46.5t-48.5 18.5t-49 -18.5t-19 -46.5t18.5 -46.5t47.5 -18.5q32 0 51 18.5t18 46.5zM668 0h129v247q0 89 -41 135t-107 46q-47 0 -79.5 -21t-48.5 -47h-2l-6 59h-111q3 -114 3 -134v-285h128v241q0 21 4 33q20 49 66 49 q65 0 65 -91v-232zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
|
||||
<glyph unicode="m" d="M880 547q0 93 -112 93q-74 0 -139 -53t-89 -126q20 3 38 1t32 -7t22 -19.5t8 -38.5q0 -43 -38 -119t-75 -76q-19 0 -36 19q-24 25 -38 94.5t-20 134.5t-31 117t-70 52q-37 0 -80 -26t-104.5 -80.5t-67.5 -58.5v-5q5 -5 10.5 -14.5t12 -14t18.5 -4.5q11 0 33 7t34 7 q26 0 43 -40q5 -13 12.5 -37.5t10.5 -32.5q14 -40 37 -130l6.5 -26l8 -32t9.5 -32.5t12.5 -35t14 -31.5t17.5 -29.5t20.5 -22t25 -16.5t28.5 -5q67 0 145 65t138.5 156t105 182.5t55.5 149.5q3 18 3 34zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824 q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
|
||||
<glyph unicode="n" d="M89 349l150 -107l-150 -106v213zM1000 14v-213h-669v213h669zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
|
||||
<glyph unicode="o" d="M239 349v-213l-150 106zM1000 14v-213h-669v213h669zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
|
||||
<glyph unicode="p" d="M239 -93q0 -31 -22.5 -53.5t-53.5 -22.5t-53.5 22.5t-22.5 53.5q0 32 22.5 54.5t53.5 22.5t53.5 -22.5t22.5 -54.5zM239 242q0 -32 -22.5 -54t-53.5 -22t-53.5 22t-22.5 54t22.5 54t53.5 22t53.5 -22t22.5 -54zM1000 14v-213h-669v213h669zM239 577q0 -31 -22.5 -53.5 t-53.5 -22.5t-53.5 22.5t-22.5 53.5t22.5 53.5t53.5 22.5t53.5 -22.5t22.5 -53.5zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
|
||||
<glyph unicode="q" d="M233 -128q0 -29 -21 -45.5t-50 -16.5q-32 0 -51.5 17.5t-19.5 48.5v3h38q0 -37 32 -37q14 0 23 8t9 22t-10 21.5t-25 6.5h-9v27q40 -2 40 24q0 11 -7.5 17.5t-19.5 6.5q-29 0 -29 -33h-37q1 30 18.5 47t47.5 17q26 0 45 -13.5t19 -38.5q0 -13 -7.5 -24t-19.5 -14 q34 -8 34 -44zM232 175v-33h-141q1 28 17 48.5t34.5 30t34 23.5t15.5 30q0 12 -7.5 19.5t-20.5 7.5q-29 0 -31 -41h-37q0 34 18 54.5t52 20.5q28 0 46.5 -16t18.5 -43q0 -25 -16.5 -41t-40 -30.5t-33.5 -29.5h91zM1000 14v-213h-669v213h669zM196 662v-192h-42v125h-46v29 q49 0 56 38h32zM1000 349v-213h-669v213h669zM1000 683v-213h-669v213h669z" />
|
||||
<glyph unicode="r" d="M324 35q0 37 -26 63t-63 26q-36 0 -62 -26t-26 -63q0 -36 26 -62t62 -26q37 0 63 26t26 62zM477 -53h136q0 126 -62.5 233.5t-170 170t-233.5 62.5v-135q136 0 233 -97q97 -95 97 -234zM717 -53h136q0 143 -56 274t-150.5 225.5t-225.5 150.5t-274 56v-135 q154 0 285.5 -76.5t208 -208t76.5 -286.5zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
|
||||
<glyph unicode="s" d="M783 175q0 50 -22 86.5t-57.5 56.5t-78.5 34t-86 22.5t-78.5 18t-57.5 25.5t-22 39q0 34 36.5 49.5t75.5 15.5q40 0 66.5 -12.5t38.5 -30t21.5 -35t25 -30t40.5 -12.5q28 0 48.5 19t20.5 46t-15 54q-30 55 -96.5 80t-140.5 25q-46 0 -89.5 -9t-84.5 -28.5t-66 -56.5 t-25 -87q0 -66 40.5 -106.5t99 -57t116.5 -28.5t98.5 -33.5t40.5 -58.5q0 -42 -42 -62.5t-90 -20.5q-45 0 -74 15t-41.5 36t-22.5 42.5t-26 36.5t-42 15q-28 0 -49 -17.5t-21 -44.5q0 -42 31 -85q72 -104 249 -104q50 0 97 11t89 33.5t67.5 63.5t25.5 95zM1000 73 q0 -113 -81.5 -193t-195.5 -80q-69 0 -130 32q-46 -8 -88 -8q-196 0 -336.5 137.5t-140.5 333.5q0 42 10 94q-38 64 -38 138q0 113 81.5 193t195.5 80q81 0 147 -42q38 7 81 7q129 0 238.5 -62.5t174 -170.5t64.5 -237q0 -56 -11 -101q29 -58 29 -121z" />
|
||||
<glyph unicode="t" horiz-adv-x="1003" d="M1003 300q-43 -48 -120 -46q-37 -152 -177.5 -244t-304.5 -92q-121 0 -225.5 53t-175.5 151q75 -72 181 -72q113 0 191 83q-24 -4 -48 7.5t-24 34.5q0 27 41 45q-40 -5 -73 11t-51 51q22 25 69 28q-98 24 -112 102q27 8 53 8h8q-37 20 -62 51.5t-24 69.5l1 8 q155 -59 257 -116q30 -17 76 -63q32 87 67.5 150.5t89.5 98.5q-1 -16 -15 -31q33 32 78 38q-3 -23 -53 -41q7 2 25.5 9.5t33 11.5t25.5 4q15 0 15 -11q0 -8 -16.5 -16t-42.5 -15.5t-28 -8.5q81 8 141.5 -51.5t76.5 -142.5q18 -6 36 -6q50 0 83 19q-13 -30 -43.5 -47 t-66.5 -19q34 -15 83 -15q16 0 31 3z" />
|
||||
<glyph unicode="u" horiz-adv-x="963" d="M741 -199v1000h222v-1000h-222zM593 -199h-223v667h223v-667zM222 -199h-222v333h222v-333z" />
|
||||
<glyph unicode="v" d="M605 187q0 -12 -3 -22.5t-7 -18t-12.5 -13.5t-14.5 -10t-18 -6.5t-18.5 -4t-21 -2t-20 -0.5h-20.5h-18h-22v150h51h25.5t23 -1t24.5 -3.5t19 -8t18 -13t9.5 -19.5t4.5 -28zM567 430q0 -20 -7 -33t-15.5 -20t-26 -10t-27.5 -3.5t-31 -0.5h-30v127h39q18 0 27.5 -0.5 t25.5 -3.5t24 -9t14.5 -18t6.5 -29zM760 184q0 58 -32 95.5t-91 49.5v3q39 16 61 51t22 78q0 46 -19.5 75.5t-55.5 42.5t-68.5 17t-77.5 4h-219v-600h240q47 0 88 9.5t76 29.5t55.5 57.5t20.5 87.5zM1000 712v-824q0 -36 -26 -62t-62 -26h-824q-36 0 -62 26t-26 62v824 q0 36 26 62t62 26h824q36 0 62 -26t26 -62z" />
|
||||
<glyph unicode="w" horiz-adv-x="582" d="M582 388v-356q0 -32 -32 -32h-518q-32 0 -32 32v356q0 33 32 33h389v194q0 51 -37 74t-91 23q-53 0 -92 -25.5t-39 -76.5v-125h-97v128h1q9 87 74 140.5t153 53.5t151 -63t71 -151h1l2 -172q4 0 14.5 0.5t15 0t13 -2t12 -5t6.5 -10t3 -16.5z" />
|
||||
<glyph unicode="x" horiz-adv-x="582" d="M421 550q0 51 -37 74t-91 23q-53 0 -92 -25.5t-39 -76.5v-124h259v129zM582 388v-356q0 -32 -32 -32h-518q-32 0 -32 32v356q0 10 3 16.5t7 10t12 5t13 2t15.5 0t14.5 -0.5v127h1q9 87 74 140.5t153 53.5t151 -62.5t71 -151.5h1l2 -107q4 0 14.5 0.5t15 0t13 -2t12 -5 t6.5 -10t3 -16.5z" />
|
||||
<glyph unicode="y" d="M611 90v-133q0 -21 -18 -21q-14 0 -25 11v158q10 10 22 10q21 0 21 -25zM802 87v-28h-45v28q0 27 23 27q22 0 22 -27zM258 192h61v50h-179v-50h60v-293h58v293zM414 -101h51v253h-51v-192q-17 -19 -31 -19q-13 0 -13 17v194h-52v-213q0 -44 36 -44q30 0 60 32v-28z M664 -48v140q0 63 -50 63q-25 0 -46 -23v110h-52v-343h52v20q22 -23 49 -23q47 0 47 56zM855 -29v19h-53q0 -2 0.5 -13t0 -15.5t-2.5 -11.5t-7 -10t-14 -3q-10 0 -15.5 6t-6 12t-0.5 17v48h98v64q0 35 -19 55t-54 20q-34 0 -56.5 -20.5t-22.5 -54.5v-113q0 -36 19.5 -57.5 t55.5 -21.5q77 0 77 79zM926 62q0 -49 -6 -145q-4 -50 -38.5 -79.5t-84.5 -31.5q-99 -5 -297 -5q-199 0 -297 5q-50 2 -84.5 31.5t-38.5 79.5q-6 96 -6 145t6 145q4 50 38.5 79.5t84.5 31.5q98 5 297 5t297 -5q50 -2 84.5 -31.5t38.5 -79.5q6 -96 6 -145zM315 801h73 l-55 -165q-4 -12 -10 -27.5t-10.5 -28t-7.5 -27.5v-176h-72v168q-2 12 -29 85l-57 171h73l46 -169h5zM505 450v171q0 10 -9 16.5t-19 6.5t-18 -6.5t-8 -16.5v-171q0 -26 26 -26q28 0 28 26zM570 617v-162q0 -42 -25 -64t-68 -22q-41 0 -66.5 23.5t-25.5 63.5v162 q0 39 27.5 59.5t67.5 20.5q38 0 64 -22t26 -59zM807 690v-313h-64v35q-37 -39 -74 -39q-45 0 -45 56v261h64v-240q0 -21 17 -21t38 24v237h64z" />
|
||||
<glyph unicode="z" d="M1000 235v-9l-426 -426h-565l-9 9v565l426 426h9l139 -139zM574 384v277h-277l-10 -9v-555l10 -10h555l9 10v268l-9 9h-268z" />
|
||||
<glyph unicode="{" horiz-adv-x="471" d="M235 182l-235 236h471z" />
|
||||
<glyph unicode="}" horiz-adv-x="471" d="M471 182h-471l235 236z" />
|
||||
<glyph unicode="~" d="M412 360h103l-162 265l-162 -265h103v-294h118v294zM647 7l162 236h-103v293h-118v-293h-103zM1000 301q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="²" d="M1000 -39v-160h-1000v160h1000zM1000 241v-160h-1000v160h1000zM1000 521v-160h-1000v160h1000zM1000 801v-160h-1000v160h1000z" />
|
||||
<glyph unicode="³" d="M120 -79h200v200h-200v-200zM440 241v-440h-440v440h440zM1000 -39v-160h-440v160h440zM120 481h200v200h-200v-200zM440 801v-440h-440v440h440zM1000 241v-160h-440v160h440zM1000 521v-160h-440v160h440zM1000 801v-160h-440v160h440z" />
|
||||
<glyph unicode="¹" d="M120 -79h200v200h-200v-200zM440 241v-440h-440v440h440zM680 -79h200v200h-200v-200zM1000 241v-440h-440v440h440zM120 481h200v200h-200v-200zM440 801v-440h-440v440h440zM680 481h200v200h-200v-200zM1000 801v-440h-440v440h440z" />
|
||||
<glyph unicode="×" d="M661 68l71 71l-161 161l161 161l-71 71l-161 -161l-161 161l-71 -71l161 -161l-161 -161l71 -71l161 161zM1000 300q0 -136 -67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251t67 251t182 182t251 67t251 -67t182 -182t67 -251z" />
|
||||
<glyph unicode="" horiz-adv-x="740" d="M0 740h740v-740h-740v740z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 27 KiB |
BIN
data/interfaces/brink/fonts/websymbols-regular-webfont.ttf
Normal file
BIN
data/interfaces/brink/fonts/websymbols-regular-webfont.woff
Normal file
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
data/interfaces/brink/images/no-cover.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
@@ -7,8 +7,8 @@
|
||||
<table class="display" id="artist_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="albumart"></th>
|
||||
<th id="name">Artist Name</th>
|
||||
<th id="status">Status</th>
|
||||
<th id="album">Latest Album</th>
|
||||
<th id="have">Have</th>
|
||||
</tr>
|
||||
@@ -49,8 +49,21 @@
|
||||
|
||||
%>
|
||||
<tr class="grade${grade}">
|
||||
<td id="albumart">
|
||||
<div class="album-art-small">
|
||||
<div class="status ${artist['Status']}">
|
||||
<div>
|
||||
%if artist['Status'] == 'Active':
|
||||
<span class="web-symbol">/</span>
|
||||
%else:
|
||||
<span class="web-symbol loader"></span>
|
||||
%endif
|
||||
</div>
|
||||
</div>
|
||||
<img />
|
||||
</div>
|
||||
</td>
|
||||
<td id="name"><span title="${artist['ArtistSortName']}"></span><a href="artistPage?ArtistID=${artist['ArtistID']}">${artist['ArtistName']}</a></td>
|
||||
<td id="status">${artist['Status']}</td>
|
||||
<td id="album"><span title="${releasedate}"></span><a href="albumPage?AlbumID=${artist['AlbumID']}">${albumdisplay}</a></td>
|
||||
<td id="have"><span title="${percent}"></span>
|
||||
<div class="progress-container" title="You have ${havetracks} of ${totaltracks} total.">
|
||||
@@ -69,9 +82,10 @@
|
||||
</%def>
|
||||
|
||||
<%def name="javascriptIncludes()">
|
||||
<script src="interfaces/brink/js/libs/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="js/libs/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
getArtistArt();
|
||||
$('#artist_table').dataTable(
|
||||
{
|
||||
"aaSorting": [
|
||||
@@ -80,5 +94,18 @@
|
||||
"bFilter": true
|
||||
});
|
||||
});
|
||||
|
||||
function getArtistArt() {
|
||||
$("table#artist_table tr td#name").each(function(){
|
||||
var id = $(this).children('a').attr('title');
|
||||
var artist = $(this).children('a').text();
|
||||
var image = $(this).parent().find("td#albumart img");
|
||||
if ( !image.hasClass('done') ) {
|
||||
image.addClass('done');
|
||||
getArtistInfo(artist,image,1,id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</%def>
|
||||
30
data/interfaces/brink/js/albumart.js
Normal file
@@ -0,0 +1,30 @@
|
||||
$(document).ready(function() {
|
||||
$("img.getImgLink").each(function(){
|
||||
var artistId = $(this).attr('for');
|
||||
var image = $(this).attr('src');
|
||||
alert(artistId);
|
||||
|
||||
$.ajax({
|
||||
url: "getImageLinks?ArtistID=" + artistId,
|
||||
success: function(data){
|
||||
var artistImg = data;
|
||||
$(image).attr("src",artistImg);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
$("img.getThumb").each(function(){
|
||||
var artistId = $(this).attr('for');
|
||||
var image = $(this).attr('src');
|
||||
alert(artistId);
|
||||
|
||||
$.ajax({
|
||||
url: "getImageLinks?ArtistID=" + artistId,
|
||||
success: function(data){
|
||||
var artistImg = data;
|
||||
$(image).attr("src",artistImg);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
})
|
||||
248
data/interfaces/brink/js/configscript.js
Normal file
@@ -0,0 +1,248 @@
|
||||
|
||||
$(document).ready(function() {
|
||||
// Ajax Config Form
|
||||
$('.ajax').ajaxForm({
|
||||
success: function() {
|
||||
var noty_id = noty({
|
||||
"text":"Settings has been saved successfully!",
|
||||
"type":"success"
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Enabled/disabled label
|
||||
$(document).ready(function(){
|
||||
$( '.switch' ).each(function(){
|
||||
//set Label name to current active state
|
||||
var labelName = 'label[for="' + $(this).attr("name") + '"]';
|
||||
if ( $( this ).is(':checked') ){
|
||||
$( labelName ).text( 'Enabled' );
|
||||
}
|
||||
else {
|
||||
$( labelName ).text( 'Disabled' );
|
||||
}
|
||||
//Change label
|
||||
$( this ).change(function(){
|
||||
if ( $( this ).is( ':checked' ) ){
|
||||
|
||||
$( labelName ).text( 'Enabled' );
|
||||
}
|
||||
else{
|
||||
$( labelName ).text( 'Disabled' );
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//Slider for interval
|
||||
$(function(){
|
||||
$( '.sliderInterval' ).each(function(){
|
||||
var sliderName = $(this).attr("for");
|
||||
var a = $('input[name="' + sliderName + '"]').val();
|
||||
var b = 60;
|
||||
var c = a % b;
|
||||
if (a == 60){
|
||||
$('#' + sliderName ).text( (a-c)/b + " hour" );
|
||||
}
|
||||
else if (c <= 0){
|
||||
$('#' + sliderName ).text( (a-c)/b + " hours" );
|
||||
} else if ( a >= b ){
|
||||
$('#' + sliderName ).text( (a-c)/b + " hours " + c + " minutes" );
|
||||
} else {
|
||||
$('#' + sliderName ).text( a + " minutes" );
|
||||
}
|
||||
// Slider Function
|
||||
$( this ).slider({
|
||||
range: "max",
|
||||
min: 30,
|
||||
max: 1440,
|
||||
step: 10,
|
||||
value: a,
|
||||
slide: function( event, ui ) {
|
||||
a = ui.value;
|
||||
c = a % b;
|
||||
if (a == 60){
|
||||
$('input[name="' + sliderName + '"]').val( ui.value );
|
||||
$('#' + sliderName ).text( (a-c)/b + " hour" );
|
||||
}
|
||||
else if (c <= 0){
|
||||
$('input[name="' + sliderName + '"]').val( ui.value );
|
||||
$('#' + sliderName ).text( (a-c)/b + " hours" );
|
||||
} else if ( a >= b ){
|
||||
$('input[name="' + sliderName + '"]').val( ui.value );
|
||||
$('#' + sliderName ).text( (a-c)/b + " hours " + c + " minutes" );
|
||||
} else {
|
||||
$('input[name="' + sliderName + '"]').val( ui.value );
|
||||
$('#' + sliderName ).text( a + " minutes" );
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Sliders
|
||||
$(document).ready(function() {
|
||||
var amountDwnld = $( "#amount-download-scan" ).val();
|
||||
$( "#slider-download-scan" ).slider({
|
||||
value: amountDwnld,
|
||||
min: 1,
|
||||
max: 120,
|
||||
slide: function( event, ui ) {
|
||||
$( "#amount-download-scan" ).val(ui.value);
|
||||
}
|
||||
});
|
||||
});
|
||||
$(function() {
|
||||
var amountSearch = $( "#amount-nbz-search" ).val();
|
||||
$( "#slider-nbz-search" ).slider({
|
||||
value: amountSearch,
|
||||
min: 1,
|
||||
max: 120,
|
||||
slide: function( event, ui ) {
|
||||
$( "#amount-nbz-search" ).val(ui.value);
|
||||
}
|
||||
});
|
||||
});
|
||||
$(function() {
|
||||
var amountLib = $( "#amount-lib-scan" ).val();
|
||||
$( "#slider-lib-scan" ).slider({
|
||||
value: amountLib,
|
||||
min: 1,
|
||||
max: 120,
|
||||
slide: function( event, ui ) {
|
||||
$( "#amount-lib-scan" ).val( ui.value );
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
hideServerDivs = function () {
|
||||
$("#customoptions").hide("fast");
|
||||
$("#hpserveroptions").hide("fast");
|
||||
};
|
||||
// end sliders
|
||||
|
||||
handleNewSelection = function () {
|
||||
|
||||
hideServerDivs();
|
||||
|
||||
switch ($(this).val()) {
|
||||
case 'custom':
|
||||
$("#customoptions").show("fast");
|
||||
break;
|
||||
case 'headphones':
|
||||
$("#hpserveroptions").show("fast");
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
$( 'input[type="checkbox"]' ).change(function()
|
||||
{
|
||||
if ($("#api_enabled").is(":checked"))
|
||||
{
|
||||
$("#apioptions").show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#apioptions").hide();
|
||||
}
|
||||
|
||||
$("#api_enabled").is(":checked", function(){
|
||||
$("#apioptions").show();
|
||||
});
|
||||
|
||||
$("#api_key").click(function(){ $("#api_key").select() });
|
||||
$("#generate_api").click(function(){
|
||||
$.get('generateAPI',
|
||||
function(data){
|
||||
if (data.error != undefined) {
|
||||
alert(data.error);
|
||||
return;
|
||||
}
|
||||
$('#api_key').val(data);
|
||||
});
|
||||
});
|
||||
if ($("#encode").is(":checked"))
|
||||
{
|
||||
$("#encoderoptions").show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#encoderoptions").hide();
|
||||
}
|
||||
|
||||
$("#encode").click(function(){
|
||||
if ($("#encode").is(":checked"))
|
||||
{
|
||||
$("#encoderoptions").show("fast");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#encoderoptions").hide("fast");
|
||||
}
|
||||
});
|
||||
|
||||
if ($("#prowl").is(":checked"))
|
||||
{
|
||||
$("#prowloptions").show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#prowloptions").hide();
|
||||
}
|
||||
|
||||
$("#prowl").click(function(){
|
||||
if ($("#prowl").is(":checked"))
|
||||
{
|
||||
$("#prowloptions").show("fast");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#prowloptions").hide("fast");
|
||||
}
|
||||
});
|
||||
|
||||
if ($("#xbmc").is(":checked"))
|
||||
{
|
||||
$("#xbmcoptions").show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#xbmcoptions").hide();
|
||||
}
|
||||
|
||||
$("#xbmc").click(function(){
|
||||
if ($("#xbmc").is(":checked"))
|
||||
{
|
||||
$("#xbmcoptions").show("fast");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#xbmcoptions").hide("fast");
|
||||
}
|
||||
});
|
||||
|
||||
if ($("#nma").is(":checked"))
|
||||
{
|
||||
$("#nmaoptions").show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#nmaoptions").hide();
|
||||
}
|
||||
|
||||
$("#nma").click(function(){
|
||||
if ($("#nma").is(":checked"))
|
||||
{
|
||||
$("#nmaoptions").show("fast");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#nmaoptions").hide("fast");
|
||||
}
|
||||
});
|
||||
$("#mirror").change(handleNewSelection);
|
||||
handleNewSelection.apply($("#mirror"));
|
||||
|
||||
});
|
||||
4
data/interfaces/brink/js/jquery-1.7.2.min.js
vendored
Normal file
125
data/interfaces/brink/js/jquery-ui-1.8.21.custom.min.js
vendored
Normal file
125
data/interfaces/brink/js/libs/jquery-ui-1.8.20.custom.min.js
vendored
Normal file
1076
data/interfaces/brink/js/libs/jquery.form.js
Normal file
56
data/interfaces/brink/js/libs/jquery.nicescroll.min.js
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
/* jquery.nicescroll 2.9.2 InuYaksa*2012 MIT http://areaaperta.com/nicescroll */(function(f){var l=false,o=false,r=5E3,s=2E3,t=function(){var e=document.getElementsByTagName("script"),e=e[e.length-1].src.split("?")[0];return e.split("/").length>0?e.split("/").slice(0,-1).join("/")+"/":""}(),m=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||false,n=window.cancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||
|
||||
window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||false,x=function(e,d){var b=this;this.version="2.9.2";this.name="nicescroll";this.me=d;this.opt={doc:f("body"),win:false,zindex:9E3,cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"5px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:60,mousescrollstep:40,touchbehavior:false,hwacceleration:true,usetransition:true,boxzoom:false,dblclickzoom:true,gesturezoom:true,grabcursorenabled:true,
|
||||
autohidemode:true,background:"",iframeautoresize:true,cursorminheight:20,preservenativescrolling:true,railoffset:false,bouncescroll:false,spacebarenabled:true};if(e)for(var h in b.opt)typeof e[h]!="undefined"&&(b.opt[h]=e[h]);this.iddoc=(this.doc=b.opt.doc)&&this.doc[0]?this.doc[0].id||"":"";this.ispage=/BODY|HTML/.test(b.opt.win?b.opt.win[0].nodeName:this.doc[0].nodeName);this.haswrapper=b.opt.win!==false;this.win=b.opt.win||(this.ispage?f(window):this.doc);this.docscroll=this.ispage&&!this.haswrapper?
|
||||
f(window):this.win;this.body=f("body");this.iframe=false;this.isiframe=this.doc[0].nodeName=="IFRAME"&&this.win[0].nodeName=="IFRAME";this.istextarea=this.win[0].nodeName=="TEXTAREA";this.page=this.view=this.onclick=this.ongesturezoom=this.onkeypress=this.onmousewheel=this.onmousemove=this.onmouseup=this.onmousedown=false;this.scroll={x:0,y:0};this.scrollratio={x:0,y:0};this.cursorheight=20;this.scrollvaluemax=0;this.scrollmom=false;do this.id="ascrail"+s++;while(document.getElementById(this.id));
|
||||
this.hasmousefocus=this.hasfocus=this.zoomactive=this.zoom=this.cursorfreezed=this.cursor=this.rail=false;this.visibility=true;this.nativescrollingarea=this.hidden=this.locked=false;this.events=[];this.saved={};this.delaylist={};var i=document.createElement("DIV");this.isopera="opera"in window;this.isieold=(this.isie="all"in document&&"attachEvent"in i&&!this.isopera)&&!("msInterpolationMode"in i.style);this.isie7=this.isie&&!this.isieold&&(!("documentMode"in document)||document.documentMode==7);
|
||||
this.isie8=this.isie&&"documentMode"in document&&document.documentMode==8;this.isie9=this.isie&&"performance"in window&&document.documentMode>=9;this.ismozilla="MozAppearance"in i.style;this.ischrome="chrome"in window;this.isios4=(this.isios=(this.cantouch="ontouchstart"in document.documentElement)&&/iphone|ipad|ipod/i.test(navigator.platform))&&!("seal"in Object);if(b.opt.hwacceleration){if((this.trstyle=window.opera?"OTransform":document.all?"msTransform":i.style.webkitTransform!==void 0?"webkitTransform":
|
||||
i.style.MozTransform!==void 0?"MozTransform":false)&&typeof i.style[this.trstyle]=="undefined")this.trstyle=false;if(this.hastransform=this.trstyle!=false)i.style[this.trstyle]="translate3d(1px,2px,3px)",this.hastranslate3d=/translate3d/.test(i.style[this.trstyle]);this.transitionstyle=false;this.prefixstyle="";this.transitionend=false;var p="transition,webkitTransition,MozTransition,OTransition,msTransition,KhtmlTransition".split(","),k=",-webkit-,-moz-,-o-,-ms-,-khtml-".split(","),u="transitionEnd,webkitTransitionEnd,transitionend,oTransitionEnd,msTransitionEnd,KhtmlTransitionEnd".split(",");
|
||||
for(h=0;h<p.length;h++)if(p[h]in i.style){this.transitionstyle=p[h];this.prefixstyle=k[h];this.transitionend=u[h];break}this.hastransition=this.transitionstyle}else this.transitionend=this.hastransition=this.transitionstyle=this.hastranslate3d=this.hastransform=this.trstyle=false;this.cursorgrabvalue="";if(b.opt.grabcursorenabled&&b.opt.touchbehavior)this.cursorgrabvalue=function(){var c=["-moz-grab","-webkit-grab","grab"];if(b.ischrome||b.isie)c=[];for(var g=0;g<c.length;g++){var d=c[g];i.style.cursor=
|
||||
d;if(i.style.cursor==d)return d}return"url(http://www.google.com/intl/en_ALL/mapfiles/openhand.cur),n-resize"}();i=null;this.ishwscroll=b.hastransform&&b.opt.hwacceleration&&b.haswrapper;this.delayed=function(c,g,d){var j=b.delaylist[c],e=(new Date).getTime();if(j&&j.tt)return false;if(j&&j.last+d>e&&!j.tt)b.delaylist[c]={last:e+d,tt:setTimeout(function(){b.delaylist[c].tt=0;g.call()},d)};else if(!j||!j.tt)b.delaylist[c]={last:e,tt:0},setTimeout(function(){g.call()},0)};this.css=function(c,g){for(var d in g)b.saved.css.push([c,
|
||||
d,c.css(d)]),c.css(d,g[d])};this.scrollTop=function(c){return typeof c=="undefined"?b.getScrollTop():b.setScrollTop(c)};BezierClass=function(b,g,d,j,e,v,f){this.st=b;this.ed=g;this.spd=d;this.p1=j||0;this.p2=e||1;this.p3=v||0;this.p4=f||1;this.ts=(new Date).getTime();this.df=this.ed-this.st};BezierClass.prototype={B2:function(b){return 3*b*b*(1-b)},B3:function(b){return 3*b*(1-b)*(1-b)},B4:function(b){return(1-b)*(1-b)*(1-b)},getNow:function(){var b=1-((new Date).getTime()-this.ts)/this.spd,g=this.B2(b)+
|
||||
this.B3(b)+this.B4(b);return b<0?this.ed:this.st+Math.round(this.df*g)},update:function(b,g){this.st=this.getNow();this.ed=b;this.spd=g;this.ts=(new Date).getTime();this.df=this.ed-this.st;return this}};this.ishwscroll?(this.doc.translate={x:0,y:0},this.hastranslate3d&&this.doc.css(this.prefixstyle+"backface-visibility","hidden"),this.getScrollTop=function(c){return b.timerscroll&&!c?b.timerscroll.bz.getNow():b.doc.translate.y},this.notifyScrollEvent=document.createEvent?function(b){var g=document.createEvent("UIEvents");
|
||||
g.initUIEvent("scroll",false,true,window,1);b.dispatchEvent(g)}:document.fireEvent?function(b){var g=document.createEventObject();b.fireEvent("onscroll");g.cancelBubble=true}:function(){},this.setScrollTop=this.hastranslate3d?function(c,g){b.doc.css(b.trstyle,"translate3d(0px,"+c*-1+"px,0px)");b.doc.translate.y=c;g||b.notifyScrollEvent(b.win[0])}:function(c,g){b.doc.css(b.trstyle,"translate(0px,"+c*-1+"px)");b.doc.translate.y=c;g||b.notifyScrollEvent(b.win[0])}):(this.getScrollTop=function(){return b.docscroll.scrollTop()},
|
||||
this.setScrollTop=function(c){return b.docscroll.scrollTop(c)});this.getTarget=function(b){return!b?false:b.target?b.target:b.srcElement?b.srcElement:false};this.hasParent=function(b,g){if(!b)return false;for(var d=b.target||b.srcElement||b||false;d&&d.id!=g;)d=d.parentNode||false;return d!==false};this.updateScrollBar=function(c){if(b.ishwscroll)b.rail.css({height:b.win.innerHeight()});else{var g=b.win.offset();g.top+=2;var d=(b.win.outerWidth()-b.win.innerWidth())/2;g.left+=b.win.innerWidth()+d-
|
||||
b.rail.width-1;if(d=b.opt.railoffset)d.top&&(g.top+=d.top),d.left&&(g.left+=d.left);b.rail.css({top:g.top,left:g.left,height:c?c.h:b.win.innerHeight()});b.zoom&&b.zoom.css({top:g.top+1,left:g.left-20})}};b.hasanimationframe=m;b.hascancelanimationframe=n;b.hasanimationframe?b.hascancelanimationframe||(n=function(){b.cancelAnimationFrame=true}):(m=function(b){return setTimeout(b,1E3/60)},n=clearInterval);this.init=function(){b.saved.css=[];if(!b.ispage||!b.cantouch&&!b.isieold){var c=b.docscroll;b.ispage&&
|
||||
(c=b.haswrapper?b.win:b.doc);b.css(c,{"overflow-y":"hidden"});b.ispage&&b.isie7&&b.win[0].nodeName=="BODY"&&b.css(f("html"),{"overflow-y":"hidden"});var d=f(document.createElement("div"));d.css({position:"relative",top:0,"float":"right",width:b.opt.cursorwidth,height:"0px","background-color":b.opt.cursorcolor,border:b.opt.cursorborder,"background-clip":"padding-box","-webkit-border-radius":b.opt.cursorborderradius,"-moz-border-radius":b.opt.cursorborderradius,"border-radius":b.opt.cursorborderradius});
|
||||
d.hborder=parseFloat(d.outerHeight()-d.innerHeight());b.cursor=d;c=f(document.createElement("div"));c.attr("id",b.id);c.width=1+Math.max(parseFloat(b.opt.cursorwidth),d.outerWidth());c.css({"padding-left":"0px","padding-right":"1px",width:c.width+"px",zIndex:b.ispage?b.opt.zindex:b.opt.zindex+2,background:b.opt.background});c.append(d);b.rail=c;d=b.rail.drag=false;if(b.opt.boxzoom&&!b.ispage&&!b.isieold&&(d=document.createElement("div"),b.bind(d,"click",b.doZoom),b.zoom=f(d),b.zoom.css({cursor:"pointer",
|
||||
"z-index":b.opt.zindex,backgroundImage:"url("+t+"zoomico.png)",height:18,width:18,backgroundPosition:"0px 0px"}),b.opt.dblclickzoom&&b.bind(b.win,"dblclick",b.doZoom),b.cantouch&&b.opt.gesturezoom))b.ongesturezoom=function(c){c.scale>1.5&&b.doZoomIn(c);c.scale<0.8&&b.doZoomOut(c);return b.cancelEvent(c)},b.bind(b.win,"gestureend",b.ongesturezoom);b.ispage?(c.css({position:"fixed",top:"0px",right:"0px",height:"100%"}),b.body.append(c)):(b.ishwscroll?(b.win.css("position")=="static"&&b.css(b.win,{position:"relative"}),
|
||||
d=b.win[0].nodeName=="HTML"?b.body:b.win,b.zoom&&(b.zoom.css({position:"absolute",top:1,right:0,"margin-right":c.width+4}),d.append(b.zoom)),c.css({position:"absolute",top:0,right:0}),d.append(c)):(c.css({position:"absolute"}),b.zoom&&b.zoom.css({position:"absolute"}),b.updateScrollBar(),b.body.append(c),b.zoom&&b.body.append(b.zoom)),b.isios&&b.css(b.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}));if(b.opt.autohidemode===false)b.autohidedom=false;else if(b.opt.autohidemode===
|
||||
true)b.autohidedom=b.rail;else if(b.opt.autohidemode=="cursor")b.autohidedom=b.cursor;b.cantouch||b.opt.touchbehavior?(b.scrollmom={y:new w(b)},b.onmousedown=function(c){if(!b.locked&&(b.cancelScroll(),b.rail.drag={x:c.clientX,y:c.clientY,sx:b.scroll.x,sy:b.scroll.y,st:b.getScrollTop()},b.hasmoving=false,b.lastmouseup=false,b.scrollmom.y.reset(c.clientY),!b.cantouch))return b.cancelEvent(c)},b.onmouseup=function(c){if(b.rail.drag&&(b.scrollmom.y.doMomentum(),b.rail.drag=false,b.hasmoving&&(b.hasmoving=
|
||||
false,b.lastmouseup=true,b.hideCursor(),!b.cantouch)))return b.cancelEvent(c)},b.onclick=b.isios?false:function(c){return b.lastmouseup?(b.lastmouseup=false,b.cancelEvent(c)):true},b.onmousemove=function(c){if(b.rail.drag){if(b.cantouch&&typeof c.original=="undefined")return true;b.hasmoving=true;var d=c.clientY,g=b.rail.drag.st-(c.clientY-b.rail.drag.y);if(b.ishwscroll)g<0?(g=Math.round(g/2),d=0):g>b.page.maxh&&(g=b.page.maxh+Math.round((g-b.page.maxh)/2),d=0);else if(g<0&&(g=0),g>b.page.maxh)g=
|
||||
b.page.maxh;b.prepareTransition&&b.prepareTransition(0);b.setScrollTop(g);b.showCursor(g);b.scrollmom.y.update(d);return b.cancelEvent(c)}},b.cursorgrabvalue&&(b.css(b.ispage?b.doc:b.win,{cursor:b.cursorgrabvalue}),b.css(b.rail,{cursor:b.cursorgrabvalue}))):(b.onmousedown=function(c){if(b.locked)return b.cancelEvent(c);b.cancelScroll();b.rail.drag={x:c.pageX,y:c.clientY,sx:b.scroll.x,sy:b.scroll.y};return b.cancelEvent(c)},b.onmouseup=function(c){if(b.rail.drag)return b.rail.drag=false,b.cancelEvent(c)},
|
||||
b.onmousemove=function(c){if(b.rail.drag){b.scroll.y=b.rail.drag.sy+(c.clientY-b.rail.drag.y);if(b.scroll.y<0)b.scroll.y=0;var d=b.scrollvaluemax;if(b.scroll.y>d)b.scroll.y=d;b.showCursor();b.cursorfreezed=true;b.doScroll(Math.round(b.scroll.y*b.scrollratio.y));return b.cancelEvent(c)}else b.checkarea=true});(b.cantouch||b.opt.touchbehavior)&&b.bind(b.win,"mousedown",b.onmousedown);b.bind(b.cursor,"mousedown",b.onmousedown);b.bind(b.cursor,"mouseup",function(c){b.rail.drag=false;b.hasmoving=false;
|
||||
b.hideCursor();return b.cancelEvent(c)});b.bind(document,"mouseup",b.onmouseup);b.bind(document,"mousemove",b.onmousemove);b.onclick&&b.bind(document,"click",b.onclick);b.cantouch||(b.rail.mouseenter(function(){b.showCursor();b.rail.active=true}),b.rail.mouseleave(function(){b.rail.active=false;b.rail.drag||b.hideCursor()}),b.isiframe||b.bind(b.isie&&b.ispage?document:b.docscroll,"mousewheel",b.onmousewheel),b.bind(b.rail,"mousewheel",b.onmousewheel));b.zoom&&(b.zoom.mouseenter(function(){b.showCursor();
|
||||
b.rail.active=true}),b.zoom.mouseleave(function(){b.rail.active=false;b.rail.drag||b.hideCursor()}));!b.ispage&&!b.cantouch&&!/HTML|BODY/.test(b.win[0].nodeName)&&(b.win.attr("tabindex")||b.win.attr({tabindex:r++}),b.win.focus(function(c){l=b.getTarget(c).id||true;b.hasfocus=true;b.noticeCursor()}),b.win.blur(function(){l=false;b.hasfocus=false}),b.win.mouseenter(function(c){o=b.getTarget(c).id||true;b.hasmousefocus=true;b.noticeCursor()}),b.win.mouseleave(function(){o=false;b.hasmousefocus=false}));
|
||||
b.onkeypress=function(c){if(b.locked&&b.page.maxh==0)return true;var c=c?c:window.e,d=b.getTarget(c);if(d&&/INPUT|TEXTAREA|SELECT|OPTION/.test(d.nodeName)&&(!d.getAttribute("type")&&!d.type||!/submit|button|cancel/i.tp))return true;if(b.hasfocus||b.hasmousefocus&&!l||b.ispage&&!l&&!o){d=c.keyCode;if(b.locked&&d!=27)return b.cancelEvent(c);var g=false;switch(d){case 38:case 63233:b.doScrollBy(72);g=true;break;case 40:case 63235:b.doScrollBy(-72);g=true;break;case 33:case 63276:b.doScrollBy(b.view.h);
|
||||
g=true;break;case 34:case 63277:b.doScrollBy(-b.view.h);g=true;break;case 36:case 63273:b.doScrollTo(0);g=true;break;case 35:case 63275:b.doScrollTo(b.page.maxh);g=true;break;case 32:b.opt.spacebarenabled&&(b.doScrollBy(-b.view.h),g=true);break;case 27:b.zoomactive&&(b.doZoom(),g=true)}if(g)return b.cancelEvent(c)}};b.bind(document,b.isopera?"keypress":"keydown",b.onkeypress);b.bind(window,"resize",b.resize);b.bind(window,"orientationchange",b.resize);b.bind(window,"load",b.resize);!b.ispage&&b.opt.boxzoom&&
|
||||
b.bind(window,"resize",b.resizeZoom);b.istextarea&&b.bind(b.win,"mouseup",b.resize);b.resize()}if(this.doc[0].nodeName=="IFRAME"){var e=function(){b.iframexd=false;try{var c="contentDocument"in this?this.contentDocument:this.contentWindow.document}catch(d){b.iframexd=true,c=false}if(b.iframexd)return true;if(b.isiframe)b.iframe={html:b.doc.contents().find("html")[0],body:b.doc.contents().find("body")[0]},b.docscroll=f(this.contentWindow);if(b.opt.iframeautoresize&&!b.isiframe){b.win.scrollTop(0);
|
||||
b.doc.height("");var g=Math.max(c.getElementsByTagName("html")[0].scrollHeight,c.body.scrollHeight);b.doc.height(g)}b.resize();b.isie7&&b.css(f(c).find("html"),{"overflow-y":"hidden"});b.css(f(c.body),{"overflow-y":"hidden"});"contentWindow"in this?b.bind(this.contentWindow,"scroll",b.onscroll):b.bind(c,"scroll",b.onscroll);b.bind(c,"mouseup",b.onmouseup);b.bind(c,"mousewheel",b.onmousewheel);b.bind(c,b.isopera?"keypress":"keydown",b.onkeypress);if(b.cantouch||b.opt.touchbehavior)b.bind(c,"mousedown",
|
||||
b.onmousedown),b.cursorgrabvalue&&b.css(f(c.body),{cursor:b.cursorgrabvalue});b.bind(c,"mousemove",b.onmousemove);b.zoom&&(b.opt.dblclickzoom&&b.bind(c,"dblclick",b.doZoom),b.ongesturezoom&&b.bind(c,"gestureend",b.ongesturezoom))};this.doc[0].readyState&&this.doc[0].readyState=="complete"&&setTimeout(function(){e.call(b.doc[0],false)},500);b.bind(this.doc,"load",e)}};this.showCursor=function(c){if(b.cursortimeout)clearTimeout(b.cursortimeout),b.cursortimeout=0;if(b.rail){b.autohidedom&&b.autohidedom.stop().css({opacity:b.opt.cursoropacitymax});
|
||||
if(typeof c!="undefined")b.scroll.y=Math.round(c*1/b.scrollratio.y);b.cursor.css({height:b.cursorheight,top:b.scroll.y});b.zoom&&b.zoom.stop().css({opacity:b.opt.cursoropacitymax})}};this.hideCursor=function(c){if(!b.cursortimeout&&b.rail&&b.autohidedom)b.cursortimeout=setTimeout(function(){b.rail.active||(b.autohidedom.stop().animate({opacity:b.opt.cursoropacitymin}),b.zoom&&b.zoom.stop().animate({opacity:b.opt.cursoropacitymin}));b.cursortimeout=0},c||400)};this.noticeCursor=function(c,d){b.showCursor(d);
|
||||
b.hideCursor(c)};this.getContentSize=function(){return b.ispage?{w:Math.max(document.body.scrollWidth,document.documentElement.scrollWidth),h:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}:b.haswrapper?{w:b.doc.outerWidth()+parseInt(b.win.css("paddingLeft"))+parseInt(b.win.css("paddingRight")),h:b.doc.outerHeight()+parseInt(b.win.css("paddingTop"))+parseInt(b.win.css("paddingBottom"))}:b.iframe?{w:Math.max(b.iframe.html.scrollWidth,b.iframe.body.scrollWidth),h:Math.max(b.iframe.html.scrollHeight,
|
||||
b.iframe.body.scrollHeight)}:{w:b.docscroll[0].scrollWidth,h:b.docscroll[0].scrollHeight}};this.resize=this.onResize=function(c,d){if(!b.haswrapper&&!b.ispage)if(b.win.css("display")!="none")!b.hidden&&!b.visibility&&b.showRail();else return b.visibility&&b.hideRail(),false;var e=b.page.maxh,f=b.page.maxw,h=b.view.w;b.view={w:b.ispage?b.win.width():parseInt(b.win[0].clientWidth),h:b.ispage?b.win.height():parseInt(b.win[0].clientHeight)};b.page=d?d:b.getContentSize();b.page.maxh=Math.max(0,b.page.h-
|
||||
b.view.h);b.page.maxw=Math.max(0,b.page.w-b.view.w);if(b.page.maxh==e&&b.page.maxw==f&&b.view.w==h)if(b.ispage)return b;else{e=b.win.offset();if(b.lastposition&&(f=b.lastposition,f.top==e.top&&f.left==e.left))return b;b.lastposition=e}if(b.page.maxh==0)return b.hideRail(),b.scrollvaluemax=0,b.scroll.y=0,b.scrollratio={x:0,y:0},b.cursorheight=0,b.locked=true,b.setScrollTop(0),false;else if(!b.hidden&&!b.visibility)b.showRail(),b.locked=false;b.istextarea&&b.win.css("resize")&&b.win.css("resize")!=
|
||||
"none"&&(b.view.h-=20);b.ispage||b.updateScrollBar(b.view);b.cursorheight=Math.min(b.view.h,Math.round(b.view.h*(b.view.h/b.page.h)));b.cursorheight=Math.max(b.opt.cursorminheight,b.cursorheight);b.scrollvaluemax=b.view.h-b.cursorheight-b.cursor.hborder;b.scrollratio={x:0,y:b.page.maxh/b.scrollvaluemax};b.getScrollTop()>b.page.maxh?b.doScroll(b.page.maxh):(b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y)),b.noticeCursor());return b};this._bind=function(c,d,e,f){b.events.push({e:c,n:d,f:e});
|
||||
c.addEventListener?c.addEventListener(d,e,f||false):c.attachEvent?c.attachEvent("on"+d,e):c["on"+d]=e};this.bind=function(c,d,e,f){var h="jquery"in c?c[0]:c;h.addEventListener?(b.cantouch&&/mouseup|mousedown|mousemove/.test(d)&&b._bind(h,d=="mousedown"?"touchstart":d=="mouseup"?"touchend":"touchmove",function(b){if(b.touches.length<2){var c=b.touches.length?b.touches[0]:b;c.original=b;e.call(this,c)}},f||false),b._bind(h,d,e,f||false),d=="mousewheel"&&b._bind(h,"DOMMouseScroll",e,f||false),b.cantouch&&
|
||||
d=="mouseup"&&b._bind(h,"touchcancel",e,f||false)):b._bind(h,d,function(c){if((c=c||window.event||false)&&c.srcElement)c.target=c.srcElement;return e.call(h,c)===false||f===false?b.cancelEvent(c):true})};this._unbind=function(b,d,e){b.removeEventListener?b.removeEventListener(d,e,false):b.detachEvent?b.detachEvent("on"+d,e):b["on"+d]=false};this.unbindAll=function(){for(var c=0;c<b.events.length;c++){var d=b.events[c];b._unbind(d.e,d.n,d.f)}};this.cancelEvent=function(c){c=b.cantouch?c.original?c.original:
|
||||
c||false:c?c:window.event||false;if(!c)return false;c.stopPropagation&&c.stopPropagation();c.preventDefault&&c.preventDefault();c.cancelBubble=true;c.cancel=true;return c.returnValue=false};this.showRail=function(){if(b.page.maxh!=0&&(b.ispage||b.win.css("display")!="none"))b.visibility=true,b.rail.css("display","block");return b};this.hideRail=function(){b.visibility=false;b.rail.css("display","none");return b};this.show=function(){b.hidden=false;b.locked=false;return b.showRail()};this.hide=function(){b.hidden=
|
||||
true;b.locked=true;return b.hideRail()};this.remove=function(){b.doZoomOut();b.unbindAll();b.events=[];b.rail.remove();b.zoom&&b.zoom.remove();b.cursor=false;b.rail=false;b.zoom=false;for(var c=0;c<b.saved.css.length;c++){var d=b.saved.css[c];d[0].css(d[1],typeof d[2]=="undefined"?"":d[2])}b.saved=false;b.me.data("__nicescroll","");return b};this.isScrollable=function(b){for(b=b.target?b.target:b;b&&b.nodeName&&!/BODY|HTML/.test(b.nodeName);){var d=f(b);if(/scroll|auto/.test(d.css("overflowY")||d.css("overflow")||
|
||||
""))return b.clientHeight!=b.scrollHeight;b=b.parentNode?b.parentNode:false}return false};this.onmousewheel=function(c){if(b.locked&&b.page.maxh==0)return true;if(b.opt.preservenativescrolling&&b.checkarea)b.checkarea=false,b.nativescrollingarea=b.isScrollable(c);if(b.nativescrollingarea)return true;if(b.locked)return b.cancelEvent(c);if(b.rail.drag)return b.cancelEvent(c);var d=0;if(d=c.detail?c.detail*-1:c.wheelDelta/40)b.scrollmom&&b.scrollmom.y.stop(),b.doScrollBy(d*b.opt.mousescrollstep);return b.cancelEvent(c)};
|
||||
this.stop=function(){b.cancelScroll();b.scrollmon&&b.scrollmon.stop();b.cursorfreezed=false;b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y));b.noticeCursor();return b};b.ishwscroll&&b.hastransition&&b.opt.usetransition?(this.prepareTransition=function(c){var d=Math.round(b.opt.scrollspeed*10),c=Math.min(d,Math.round(c/20*b.opt.scrollspeed)),d=c>20?b.prefixstyle+"transform "+c+"ms ease-out 0s":"";if(!b.lasttransitionstyle||b.lasttransitionstyle!=d)b.lasttransitionstyle=d,b.doc.css(b.transitionstyle,
|
||||
d);return c},this.doScroll=function(c,d){var e=b.getScrollTop();if(c<0&&e<=0)return b.noticeCursor();else if(c>b.page.maxh&&e>=b.page.maxh)return b.checkContentSize(),b.noticeCursor();b.newscrolly=c;b.newscrollspeed=d||false;if(b.timer)return false;if(!b.scrollendtrapped)b.scrollendtrapped=true,b.bind(b.doc,b.transitionend,b.onScrollEnd,false);b.timer=setTimeout(function(){var c=b.getScrollTop(),c=b.newscrollspeed?b.newscrollspeed:Math.abs(c-b.newscrolly),d=b.prepareTransition(c);b.timer=setTimeout(function(){if(b.newscrolly<
|
||||
0&&!b.opt.bouncescroll)b.newscrolly=0;else if(b.newscrolly>b.page.maxh&&!b.opt.bouncescroll)b.newscrolly=b.page.maxh;if(b.newscrolly==b.getScrollTop())b.timer=0,b.onScrollEnd();else{var c=b.getScrollTop();b.timerscroll&&b.timerscroll.tm&&clearInterval(b.timerscroll.tm);if(d>0&&(b.timerscroll={ts:(new Date).getTime(),s:b.getScrollTop(),e:b.newscrolly,sp:d,bz:new BezierClass(c,b.newscrolly,d,0,1,0,1)},!b.cursorfreezed))b.timerscroll.tm=setInterval(function(){b.showCursor(b.getScrollTop())},60);b.setScrollTop(b.newscrolly);
|
||||
b.timer=0}},15)},b.opt.scrollspeed)},this.cancelScroll=function(){if(!b.scrollendtrapped)return true;var c=b.getScrollTop();b.scrollendtrapped=false;b._unbind(b.doc,b.transitionend,b.onScrollEnd);b.prepareTransition(0);b.setScrollTop(c);b.timerscroll&&b.timerscroll.tm&&clearInterval(b.timerscroll.tm);b.timerscroll=false;b.cursorfreezed=false;b.noticeCursor(false,c);return b},this.onScrollEnd=function(){b.scrollendtrapped=false;b._unbind(b.doc,b.transitionend,b.onScrollEnd);b.timerscroll&&b.timerscroll.tm&&
|
||||
clearInterval(b.timerscroll.tm);b.timerscroll=false;b.cursorfreezed=false;var c=b.getScrollTop();b.setScrollTop(c);b.noticeCursor(false,c);c<0?b.doScroll(0,60):c>b.page.maxh&&b.doScroll(b.page.maxh,60)}):(this.doScroll=function(c){function d(){if(b.cancelAnimationFrame)return true;if(h=1-h)return b.timer=m(d)||1;var c=b.getScrollTop(),e=b.bzscroll?b.bzscroll.getNow():b.newscrolly,c=e-c;if(c<0&&e<b.newscrolly||c>0&&e>b.newscrolly)e=b.newscrolly;b.setScrollTop(e);e==b.newscrolly?(b.timer=0,b.cursorfreezed=
|
||||
false,b.bzscroll=false,e<0?b.doScroll(0):e>b.page.maxh&&b.doScroll(b.page.maxh)):b.timer=m(d)||1}var e=b.getScrollTop();b.newscrolly=c;if(!b.bouncescroll)if(b.newscrolly<0){if(b.newspeedy)b.newspeedy.x=0;b.newscrolly=0}else if(b.newscrolly>b.page.maxh){if(b.newspeedy)b.newspeedy.x=b.page.maxh;b.newscrolly=b.page.maxh}var f=Math.floor(Math.abs(c-e)/40);f>0?(f=Math.min(10,f)*100,b.bzscroll=b.bzscroll?b.bzscroll.update(c,f):new BezierClass(e,c,f,0,1,0,1)):b.bzscroll=false;if(!b.timer){e==b.page.maxh&&
|
||||
c>=b.page.maxh&&b.checkContentSize();var h=1;b.cancelAnimationFrame=false;b.timer=1;d();e==b.page.maxh&&c>=e&&b.checkContentSize();b.noticeCursor()}},this.cancelScroll=function(){b.timer&&n(b.timer);b.timer=0;b.bzscroll=false;return b});this.doScrollBy=function(c,d){var e=0,e=d?Math.floor((b.scroll.y-c)*b.scrollratio.y):(b.timer?b.newscrolly:b.getScrollTop(true))-c;if(b.bouncescroll){var f=Math.round(b.view.h/2);e<-f?e=-f:e>b.page.maxh+f&&(e=b.page.maxh+f)}b.cursorfreezed=false;b.doScroll(e)};this.doScrollTo=
|
||||
function(c,d){d&&Math.round(c*b.scrollratio.y);b.cursorfreezed=false;b.doScroll(c)};this.checkContentSize=function(){var c=b.getContentSize();c.h!=b.page.h&&b.resize(false,c)};b.onscroll=function(){b.rail.drag||b.cursorfreezed||b.delayed("onscroll",function(){b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y));b.noticeCursor()},30)};b.bind(b.docscroll,"scroll",b.onscroll);this.doZoomIn=function(c){if(!b.zoomactive){b.zoomactive=true;b.zoomrestore={style:{}};var d="position,top,left,zIndex,backgroundColor,marginTop,marginBottom,marginLeft,marginRight".split(","),
|
||||
e=b.win[0].style,h;for(h in d){var i=d[h];b.zoomrestore.style[i]=typeof e[i]!="undefined"?e[i]:""}b.zoomrestore.style.width=b.win.css("width");b.zoomrestore.style.height=b.win.css("height");b.zoomrestore.padding={w:b.win.outerWidth()-b.win.width(),h:b.win.outerHeight()-b.win.height()};if(b.isios4)b.zoomrestore.scrollTop=f(window).scrollTop(),f(window).scrollTop(0);b.win.css({position:b.isios4?"absolute":"fixed",top:0,left:0,"z-index":b.opt.zindex+100,margin:"0px"});d=b.win.css("backgroundColor");
|
||||
(d==""||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(d))&&b.win.css("backgroundColor","#fff");b.rail.css({"z-index":b.opt.zindex+110});b.zoom.css({"z-index":b.opt.zindex+112});b.zoom.css("backgroundPosition","0px -18px");b.resizeZoom();return b.cancelEvent(c)}};this.doZoomOut=function(c){if(b.zoomactive)return b.zoomactive=false,b.win.css("margin",""),b.win.css(b.zoomrestore.style),b.isios4&&f(window).scrollTop(b.zoomrestore.scrollTop),b.rail.css({"z-index":b.ispage?b.opt.zindex:b.opt.zindex+
|
||||
2}),b.zoom.css({"z-index":b.opt.zindex}),b.zoomrestore=false,b.zoom.css("backgroundPosition","0px 0px"),b.onResize(),b.cancelEvent(c)};this.doZoom=function(c){return b.zoomactive?b.doZoomOut(c):b.doZoomIn(c)};this.resizeZoom=function(){if(b.zoomactive){var c=b.getScrollTop();b.win.css({width:f(window).width()-b.zoomrestore.padding.w+"px",height:f(window).height()-b.zoomrestore.padding.h+"px"});b.onResize();b.setScrollTop(Math.min(b.page.maxh,c))}};this.init()},w=function(e){var d=this;this.nc=e;this.lasttime=
|
||||
this.speedy=this.lasty=0;this.snapy=false;this.timer=this.demuly=0;this.time=function(){return(new Date).getTime()};this.reset=function(b){d.stop();d.lasttime=d.time();d.speedy=0;d.lasty=b};this.update=function(b){d.lasttime=d.time();var f=b-d.lasty,i=e.getScrollTop()+f;d.snapy=i<0||i>d.nc.page.maxh;d.speedy=f;d.lasty=b};this.stop=function(){if(d.timer)clearTimeout(d.timer),d.timer=0};this.doSnapy=function(b){b<0?d.nc.doScroll(0,60):b>d.nc.page.maxh&&d.nc.doScroll(d.nc.page.maxh,60)};this.doMomentum=
|
||||
function(){var b=d.lasttime,e=d.time();d.speedy=Math.min(60,d.speedy);if(d.speedy&&b&&e-b<=50&&d.speedy){var f=e-b,k=d.nc.page.maxh;d.demuly=0;var l=function(){var b=Math.floor(d.nc.getScrollTop()-d.speedy*(1-d.demuly));d.demuly+=b<0||b>k?0.08:0.01;d.nc.setScrollTop(b);d.nc.showCursor(b);d.demuly<1?d.timer=setTimeout(l,f):(d.timer=0,d.nc.hideCursor(),d.doSnapy(b))};l()}else d.snapy&&d.doSnapy(d.nc.getScrollTop())}},k=f.fn.scrollTop;f.cssHooks.scrollTop={get:function(e){var d=f.data(e,"__nicescroll")||
|
||||
false;return d&&d.ishwscroll?d.getScrollTop():k.call(e)},set:function(e,d){var b=f.data(e,"__nicescroll")||false;b&&b.ishwscroll?b.setScrollTop(parseInt(d)):k.call(e,d);return this}};f.fn.scrollTop=function(e){if(typeof e=="undefined"){var d=this[0]?f.data(this[0],"__nicescroll")||false:false;return d&&d.ishwscroll?d.getScrollTop():k.call(this)}else return this.each(function(){var b=f.data(this,"__nicescroll")||false;b&&b.ishwscroll?b.setScrollTop(parseInt(e)):k.call(f(this),e)})};var q=function(e){var d=
|
||||
this;this.length=0;this.name="nicescrollarray";this.each=function(b){for(var e=0;e<d.length;e++)b.call(d[e]);return d};this.push=function(b){d[d.length]=b;d.length++};this.eq=function(b){return d[b]};if(e)for(a=0;a<e.length;a++){var b=f.data(e[a],"__nicescroll")||false;b&&(this[this.length]=b,this.length++)}return this};(function(e,d,b){for(var f=0;f<d.length;f++)b(e,d[f])})(q.prototype,"show,hide,onResize,resize,remove,stop".split(","),function(e,d){e[d]=function(){return this.each(function(){this[d].call()})}});
|
||||
f.fn.getNiceScroll=function(e){return typeof e=="undefined"?new q(this):f.data(this[e],"__nicescroll")||false};f.extend(f.expr[":"],{nicescroll:function(e){return f.data(e,"__nicescroll")?true:false}});f.fn.niceScroll=function(e,d){typeof d=="undefined"&&typeof e=="object"&&!("jquery"in e)&&(d=e,e=false);var b=new q;typeof d=="undefined"&&(d={});if(e)d.doc=f(e),d.win=f(this);var h=!("doc"in d);if(!h&&!("win"in d))d.win=f(this);this.each(function(){var e=f(this).data("__nicescroll")||false;if(!e)d.doc=
|
||||
h?f(this):d.doc,e=new x(d,f(this)),f(this).data("__nicescroll",e);b.push(e)});return b.length==1?b[0]:b};window.NiceScroll={getjQuery:function(){return f}}})(jQuery);
|
||||
265
data/interfaces/brink/js/libs/jquery.noty.js
Normal file
@@ -0,0 +1,265 @@
|
||||
/**
|
||||
* noty - jQuery Notification Plugin v1.2.1
|
||||
* Contributors: https://github.com/needim/noty/graphs/contributors
|
||||
*
|
||||
* Examples and Documentation - http://needim.github.com/noty/
|
||||
*
|
||||
* Licensed under the MIT licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
**/
|
||||
(function($) {
|
||||
$.noty = function(options, customContainer) {
|
||||
|
||||
var base = {};
|
||||
var $noty = null;
|
||||
var isCustom = false;
|
||||
|
||||
base.init = function(options) {
|
||||
base.options = $.extend({}, $.noty.defaultOptions, options);
|
||||
base.options.type = base.options.cssPrefix+base.options.type;
|
||||
base.options.id = base.options.type+'_'+new Date().getTime();
|
||||
base.options.layout = base.options.cssPrefix+'layout_'+base.options.layout;
|
||||
|
||||
if (base.options.custom.container) customContainer = base.options.custom.container;
|
||||
isCustom = ($.type(customContainer) === 'object') ? true : false;
|
||||
|
||||
return base.addQueue();
|
||||
};
|
||||
|
||||
// Push notification to queue
|
||||
base.addQueue = function() {
|
||||
var isGrowl = ($.inArray(base.options.layout, $.noty.growls) == -1) ? false : true;
|
||||
if (!isGrowl) (base.options.force) ? $.noty.queue.unshift({options: base.options}) : $.noty.queue.push({options: base.options});
|
||||
return base.render(isGrowl);
|
||||
};
|
||||
|
||||
// Render the noty
|
||||
base.render = function(isGrowl) {
|
||||
|
||||
// Layout spesific container settings
|
||||
var container = (isCustom) ? customContainer.addClass(base.options.theme+' '+base.options.layout+' noty_custom_container') : $('body');
|
||||
if (isGrowl) {
|
||||
if ($('ul.noty_cont.' + base.options.layout).length == 0)
|
||||
container.prepend($('<ul/>').addClass('noty_cont ' + base.options.layout));
|
||||
container = $('ul.noty_cont.' + base.options.layout);
|
||||
} else {
|
||||
if ($.noty.available) {
|
||||
var fromQueue = $.noty.queue.shift(); // Get noty from queue
|
||||
if ($.type(fromQueue) === 'object') {
|
||||
$.noty.available = false;
|
||||
base.options = fromQueue.options;
|
||||
} else {
|
||||
$.noty.available = true; // Queue is over
|
||||
return base.options.id;
|
||||
}
|
||||
} else {
|
||||
return base.options.id;
|
||||
}
|
||||
}
|
||||
base.container = container;
|
||||
|
||||
// Generating noty bar
|
||||
base.bar = $('<div class="noty_bar"/>').attr('id', base.options.id).addClass(base.options.theme+' '+base.options.layout+' '+base.options.type);
|
||||
$noty = base.bar;
|
||||
$noty.append(base.options.template).find('.noty_text').html(base.options.text);
|
||||
$noty.data('noty_options', base.options);
|
||||
|
||||
// Close button display
|
||||
(base.options.closeButton) ? $noty.addClass('noty_closable').find('.noty_close').show() : $noty.find('.noty_close').remove();
|
||||
|
||||
// Bind close event to button
|
||||
$noty.find('.noty_close').bind('click', function() { $noty.trigger('noty.close'); });
|
||||
|
||||
// If we have a button we must disable closeOnSelfClick and closeOnSelfOver option
|
||||
if (base.options.buttons) base.options.closeOnSelfClick = base.options.closeOnSelfOver = false;
|
||||
// Close on self click
|
||||
if (base.options.closeOnSelfClick) $noty.bind('click', function() { $noty.trigger('noty.close'); }).css('cursor', 'pointer');
|
||||
// Close on self mouseover
|
||||
if (base.options.closeOnSelfOver) $noty.bind('mouseover', function() { $noty.trigger('noty.close'); }).css('cursor', 'pointer');
|
||||
|
||||
// Set buttons if available
|
||||
if (base.options.buttons) {
|
||||
$buttons = $('<div/>').addClass('noty_buttons');
|
||||
$noty.find('.noty_message').append($buttons);
|
||||
$.each(base.options.buttons, function(i, button) {
|
||||
bclass = (button.type) ? button.type : 'gray';
|
||||
$button = $('<button/>').addClass(bclass).html(button.text).appendTo($noty.find('.noty_buttons'))
|
||||
.bind('click', function() {
|
||||
if ($.isFunction(button.click)) {
|
||||
button.click.call($button, $noty);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return base.show(isGrowl);
|
||||
};
|
||||
|
||||
base.show = function(isGrowl) {
|
||||
|
||||
// is Modal?
|
||||
if (base.options.modal) $('<div/>').addClass('noty_modal').addClass(base.options.theme).prependTo($('body')).fadeIn('fast');
|
||||
|
||||
$noty.close = function() { return this.trigger('noty.close'); };
|
||||
|
||||
// Prepend noty to container
|
||||
(isGrowl) ? base.container.prepend($('<li/>').append($noty)) : base.container.prepend($noty);
|
||||
|
||||
// topCenter and center specific options
|
||||
if (base.options.layout == 'noty_layout_topCenter' || base.options.layout == 'noty_layout_center') {
|
||||
$.noty.reCenter($noty);
|
||||
}
|
||||
|
||||
$noty.bind('noty.setText', function(event, text) {
|
||||
$noty.find('.noty_text').html(text);
|
||||
|
||||
if (base.options.layout == 'noty_layout_topCenter' || base.options.layout == 'noty_layout_center') {
|
||||
$.noty.reCenter($noty);
|
||||
}
|
||||
});
|
||||
|
||||
$noty.bind('noty.setType', function(event, type) {
|
||||
$noty.removeClass($noty.data('noty_options').type);
|
||||
|
||||
type = $noty.data('noty_options').cssPrefix+type;
|
||||
|
||||
$noty.data('noty_options').type = type;
|
||||
|
||||
$noty.addClass(type);
|
||||
|
||||
if (base.options.layout == 'noty_layout_topCenter' || base.options.layout == 'noty_layout_center') {
|
||||
$.noty.reCenter($noty);
|
||||
}
|
||||
});
|
||||
|
||||
$noty.bind('noty.getId', function(event) {
|
||||
return $noty.data('noty_options').id;
|
||||
});
|
||||
|
||||
// Bind close event
|
||||
$noty.one('noty.close', function(event) {
|
||||
var options = $noty.data('noty_options');
|
||||
if(options.onClose){options.onClose();}
|
||||
|
||||
// Modal Cleaning
|
||||
if (options.modal) $('.noty_modal').fadeOut('fast', function() { $(this).remove(); });
|
||||
|
||||
$noty.clearQueue().stop().animate(
|
||||
$noty.data('noty_options').animateClose,
|
||||
$noty.data('noty_options').speed,
|
||||
$noty.data('noty_options').easing,
|
||||
$noty.data('noty_options').onClosed)
|
||||
.promise().done(function() {
|
||||
|
||||
// Layout spesific cleaning
|
||||
if ($.inArray($noty.data('noty_options').layout, $.noty.growls) > -1) {
|
||||
$noty.parent().remove();
|
||||
} else {
|
||||
$noty.remove();
|
||||
|
||||
// queue render
|
||||
$.noty.available = true;
|
||||
base.render(false);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
// Start the show
|
||||
if(base.options.onShow){base.options.onShow();}
|
||||
$noty.animate(base.options.animateOpen, base.options.speed, base.options.easing, base.options.onShown);
|
||||
|
||||
// If noty is have a timeout option
|
||||
if (base.options.timeout) $noty.delay(base.options.timeout).promise().done(function() { $noty.trigger('noty.close'); });
|
||||
return base.options.id;
|
||||
};
|
||||
|
||||
// Run initializer
|
||||
return base.init(options);
|
||||
};
|
||||
|
||||
// API
|
||||
$.noty.get = function(id) { return $('#'+id); };
|
||||
$.noty.close = function(id) {
|
||||
//remove from queue if not already visible
|
||||
for(var i=0;i<$.noty.queue.length;) {
|
||||
if($.noty.queue[i].options.id==id)
|
||||
$.noty.queue.splice(id,1);
|
||||
else
|
||||
i++;
|
||||
}
|
||||
//close if already visible
|
||||
$.noty.get(id).trigger('noty.close');
|
||||
};
|
||||
$.noty.setText = function(id, text) {
|
||||
$.noty.get(id).trigger('noty.setText', text);
|
||||
};
|
||||
$.noty.setType = function(id, type) {
|
||||
$.noty.get(id).trigger('noty.setType', type);
|
||||
};
|
||||
$.noty.closeAll = function() {
|
||||
$.noty.clearQueue();
|
||||
$('.noty_bar').trigger('noty.close');
|
||||
};
|
||||
$.noty.reCenter = function(noty) {
|
||||
noty.css({'left': ($(window).width() - noty.outerWidth()) / 2 + 'px'});
|
||||
};
|
||||
$.noty.clearQueue = function() {
|
||||
$.noty.queue = [];
|
||||
};
|
||||
|
||||
var windowAlert = window.alert;
|
||||
$.noty.consumeAlert = function(options){
|
||||
window.alert = function(text){
|
||||
if(options){options.text = text;}
|
||||
else{options = {text:text};}
|
||||
$.noty(options);
|
||||
};
|
||||
}
|
||||
$.noty.stopConsumeAlert = function(){
|
||||
window.alert = windowAlert;
|
||||
}
|
||||
|
||||
$.noty.queue = [];
|
||||
$.noty.growls = ['noty_layout_topLeft', 'noty_layout_topRight', 'noty_layout_bottomLeft', 'noty_layout_bottomRight'];
|
||||
$.noty.available = true;
|
||||
$.noty.defaultOptions = {
|
||||
layout: 'bottomRight',
|
||||
theme: 'noty_theme_default',
|
||||
animateOpen: {height: 'toggle'},
|
||||
animateClose: {height: 'toggle'},
|
||||
easing: 'swing',
|
||||
text: '',
|
||||
type: 'alert',
|
||||
speed: 500,
|
||||
timeout: 5000,
|
||||
closeButton: false,
|
||||
closeOnSelfClick: true,
|
||||
closeOnSelfOver: false,
|
||||
force: false,
|
||||
onShow: false,
|
||||
onShown: false,
|
||||
onClose: false,
|
||||
onClosed: false,
|
||||
buttons: false,
|
||||
modal: false,
|
||||
template: '<div class="noty_message"><span class="noty_text"></span><div class="noty_close"></div></div>',
|
||||
cssPrefix: 'noty_',
|
||||
custom: {
|
||||
container: null
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.noty = function(options) {
|
||||
return this.each(function() {
|
||||
(new $.noty(options, $(this)));
|
||||
});
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
|
||||
//Helper
|
||||
function noty(options) {
|
||||
return jQuery.noty(options); // returns an id
|
||||
}
|
||||
432
data/interfaces/brink/js/libs/promise.js
Normal file
@@ -0,0 +1,432 @@
|
||||
/*!
|
||||
* Noty Helpers Javascript From JQuery Javascript Library
|
||||
*
|
||||
* Ported by Maksim Pecherskiy. Original Licensing:
|
||||
*
|
||||
* http://jquery.com/
|
||||
*
|
||||
* Copyright 2011, John Resig
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* http://sizzlejs.com/
|
||||
* Copyright 2011, The Dojo Foundation
|
||||
* Released under the MIT, BSD, and GPL Licenses.
|
||||
*
|
||||
* Date: Mon Nov 21 21:11:03 2011 -0500
|
||||
*/
|
||||
|
||||
|
||||
(function(){
|
||||
|
||||
// String to Object flags format cache
|
||||
var flagsCache = {};
|
||||
|
||||
// Convert String-formatted flags into Object-formatted ones and store in cache
|
||||
function createFlags( flags ) {
|
||||
var object = flagsCache[ flags ] = {},
|
||||
i, length;
|
||||
flags = flags.split( /\s+/ );
|
||||
for ( i = 0, length = flags.length; i < length; i++ ) {
|
||||
object[ flags[i] ] = true;
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
jQuery.extend({
|
||||
|
||||
_mark: function( elem, type ) {
|
||||
if ( elem ) {
|
||||
type = (type || "fx") + "mark";
|
||||
jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true );
|
||||
}
|
||||
},
|
||||
|
||||
_unmark: function( force, elem, type ) {
|
||||
if ( force !== true ) {
|
||||
type = elem;
|
||||
elem = force;
|
||||
force = false;
|
||||
}
|
||||
if ( elem ) {
|
||||
type = type || "fx";
|
||||
var key = type + "mark",
|
||||
count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 );
|
||||
if ( count ) {
|
||||
jQuery.data( elem, key, count, true );
|
||||
} else {
|
||||
jQuery.removeData( elem, key, true );
|
||||
handleQueueMarkDefer( elem, type, "mark" );
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
queue: function( elem, type, data ) {
|
||||
if ( elem ) {
|
||||
type = (type || "fx") + "queue";
|
||||
var q = jQuery.data( elem, type, undefined, true );
|
||||
// Speed up dequeue by getting out quickly if this is just a lookup
|
||||
if ( data ) {
|
||||
if ( !q || jQuery.isArray(data) ) {
|
||||
q = jQuery.data( elem, type, jQuery.makeArray(data), true );
|
||||
} else {
|
||||
q.push( data );
|
||||
}
|
||||
}
|
||||
return q || [];
|
||||
}
|
||||
},
|
||||
|
||||
dequeue: function( elem, type ) {
|
||||
type = type || "fx";
|
||||
|
||||
var queue = jQuery.queue( elem, type ),
|
||||
fn = queue.shift(),
|
||||
defer;
|
||||
|
||||
// If the fx queue is dequeued, always remove the progress sentinel
|
||||
if ( fn === "inprogress" ) {
|
||||
fn = queue.shift();
|
||||
}
|
||||
|
||||
if ( fn ) {
|
||||
// Add a progress sentinel to prevent the fx queue from being
|
||||
// automatically dequeued
|
||||
if ( type === "fx" ) {
|
||||
queue.unshift("inprogress");
|
||||
}
|
||||
|
||||
fn.call(elem, function() {
|
||||
jQuery.dequeue(elem, type);
|
||||
});
|
||||
}
|
||||
|
||||
if ( !queue.length ) {
|
||||
jQuery.removeData( elem, type + "queue", true );
|
||||
handleQueueMarkDefer( elem, type, "queue" );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.fn.extend({
|
||||
queue: function( type, data ) {
|
||||
if ( typeof type !== "string" ) {
|
||||
data = type;
|
||||
type = "fx";
|
||||
}
|
||||
|
||||
if ( data === undefined ) {
|
||||
return jQuery.queue( this[0], type );
|
||||
}
|
||||
return this.each(function() {
|
||||
var queue = jQuery.queue( this, type, data );
|
||||
|
||||
if ( type === "fx" && queue[0] !== "inprogress" ) {
|
||||
jQuery.dequeue( this, type );
|
||||
}
|
||||
});
|
||||
},
|
||||
dequeue: function( type ) {
|
||||
return this.each(function() {
|
||||
jQuery.dequeue( this, type );
|
||||
});
|
||||
},
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
delay: function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
|
||||
type = type || "fx";
|
||||
|
||||
return this.queue( type, function() {
|
||||
var elem = this;
|
||||
setTimeout(function() {
|
||||
jQuery.dequeue( elem, type );
|
||||
}, time );
|
||||
});
|
||||
},
|
||||
clearQueue: function( type ) {
|
||||
return this.queue( type || "fx", [] );
|
||||
},
|
||||
// Get a promise resolved when queues of a certain type
|
||||
// are emptied (fx is the type by default)
|
||||
promise: function( type, object ) {
|
||||
if ( typeof type !== "string" ) {
|
||||
object = type;
|
||||
type = undefined;
|
||||
}
|
||||
type = type || "fx";
|
||||
var defer = jQuery.Deferred(),
|
||||
elements = this,
|
||||
i = elements.length,
|
||||
count = 1,
|
||||
deferDataKey = type + "defer",
|
||||
queueDataKey = type + "queue",
|
||||
markDataKey = type + "mark",
|
||||
tmp;
|
||||
function resolve() {
|
||||
if ( !( --count ) ) {
|
||||
defer.resolveWith( elements, [ elements ] );
|
||||
}
|
||||
}
|
||||
while( i-- ) {
|
||||
if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
|
||||
( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
|
||||
jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
|
||||
jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) {
|
||||
count++;
|
||||
tmp.done( resolve );
|
||||
}
|
||||
}
|
||||
resolve();
|
||||
return defer.promise();
|
||||
}
|
||||
});
|
||||
|
||||
function handleQueueMarkDefer( elem, type, src ) {
|
||||
var deferDataKey = type + "defer",
|
||||
queueDataKey = type + "queue",
|
||||
markDataKey = type + "mark",
|
||||
defer = jQuery._data( elem, deferDataKey );
|
||||
if ( defer &&
|
||||
( src === "queue" || !jQuery._data(elem, queueDataKey) ) &&
|
||||
( src === "mark" || !jQuery._data(elem, markDataKey) ) ) {
|
||||
// Give room for hard-coded callbacks to fire first
|
||||
// and eventually mark/queue something else on the element
|
||||
setTimeout( function() {
|
||||
if ( !jQuery._data( elem, queueDataKey ) &&
|
||||
!jQuery._data( elem, markDataKey ) ) {
|
||||
jQuery.removeData( elem, deferDataKey, true );
|
||||
defer.fire();
|
||||
}
|
||||
}, 0 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
jQuery.Callbacks = function( flags ) {
|
||||
|
||||
// Convert flags from String-formatted to Object-formatted
|
||||
// (we check in cache first)
|
||||
flags = flags ? ( /*flagsCache[ flags ] || */createFlags( flags ) ) : {};
|
||||
|
||||
var // Actual callback list
|
||||
list = [],
|
||||
// Stack of fire calls for repeatable lists
|
||||
stack = [],
|
||||
// Last fire value (for non-forgettable lists)
|
||||
memory,
|
||||
// Flag to know if list is currently firing
|
||||
firing,
|
||||
// First callback to fire (used internally by add and fireWith)
|
||||
firingStart,
|
||||
// End of the loop when firing
|
||||
firingLength,
|
||||
// Index of currently firing callback (modified by remove if needed)
|
||||
firingIndex,
|
||||
// Add one or several callbacks to the list
|
||||
add = function( args ) {
|
||||
var i,
|
||||
length,
|
||||
elem,
|
||||
type,
|
||||
actual;
|
||||
for ( i = 0, length = args.length; i < length; i++ ) {
|
||||
elem = args[ i ];
|
||||
type = jQuery.type( elem );
|
||||
if ( type === "array" ) {
|
||||
// Inspect recursively
|
||||
add( elem );
|
||||
} else if ( type === "function" ) {
|
||||
// Add if not in unique mode and callback is not in
|
||||
if ( !flags.unique || !self.has( elem ) ) {
|
||||
list.push( elem );
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
// Fire callbacks
|
||||
fire = function( context, args ) {
|
||||
args = args || [];
|
||||
memory = !flags.memory || [ context, args ];
|
||||
firing = true;
|
||||
firingIndex = firingStart || 0;
|
||||
firingStart = 0;
|
||||
firingLength = list.length;
|
||||
for ( ; list && firingIndex < firingLength; firingIndex++ ) {
|
||||
if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {
|
||||
memory = true; // Mark as halted
|
||||
break;
|
||||
}
|
||||
}
|
||||
firing = false;
|
||||
if ( list ) {
|
||||
if ( !flags.once ) {
|
||||
if ( stack && stack.length ) {
|
||||
memory = stack.shift();
|
||||
self.fireWith( memory[ 0 ], memory[ 1 ] );
|
||||
}
|
||||
} else if ( memory === true ) {
|
||||
self.disable();
|
||||
} else {
|
||||
list = [];
|
||||
}
|
||||
}
|
||||
},
|
||||
// Actual Callbacks object
|
||||
self = {
|
||||
// Add a callback or a collection of callbacks to the list
|
||||
add: function() {
|
||||
if ( list ) {
|
||||
var length = list.length;
|
||||
add( arguments );
|
||||
// Do we need to add the callbacks to the
|
||||
// current firing batch?
|
||||
if ( firing ) {
|
||||
firingLength = list.length;
|
||||
// With memory, if we're not firing then
|
||||
// we should call right away, unless previous
|
||||
// firing was halted (stopOnFalse)
|
||||
} else if ( memory && memory !== true ) {
|
||||
firingStart = length;
|
||||
fire( memory[ 0 ], memory[ 1 ] );
|
||||
}
|
||||
}
|
||||
return this;
|
||||
},
|
||||
// Remove a callback from the list
|
||||
remove: function() {
|
||||
if ( list ) {
|
||||
var args = arguments,
|
||||
argIndex = 0,
|
||||
argLength = args.length;
|
||||
for ( ; argIndex < argLength ; argIndex++ ) {
|
||||
for ( var i = 0; i < list.length; i++ ) {
|
||||
if ( args[ argIndex ] === list[ i ] ) {
|
||||
// Handle firingIndex and firingLength
|
||||
if ( firing ) {
|
||||
if ( i <= firingLength ) {
|
||||
firingLength--;
|
||||
if ( i <= firingIndex ) {
|
||||
firingIndex--;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Remove the element
|
||||
list.splice( i--, 1 );
|
||||
// If we have some unicity property then
|
||||
// we only need to do this once
|
||||
if ( flags.unique ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
},
|
||||
// Control if a given callback is in the list
|
||||
has: function( fn ) {
|
||||
if ( list ) {
|
||||
var i = 0,
|
||||
length = list.length;
|
||||
for ( ; i < length; i++ ) {
|
||||
if ( fn === list[ i ] ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
// Remove all callbacks from the list
|
||||
empty: function() {
|
||||
list = [];
|
||||
return this;
|
||||
},
|
||||
// Have the list do nothing anymore
|
||||
disable: function() {
|
||||
list = stack = memory = undefined;
|
||||
return this;
|
||||
},
|
||||
// Is it disabled?
|
||||
disabled: function() {
|
||||
return !list;
|
||||
},
|
||||
// Lock the list in its current state
|
||||
lock: function() {
|
||||
stack = undefined;
|
||||
if ( !memory || memory === true ) {
|
||||
self.disable();
|
||||
}
|
||||
return this;
|
||||
},
|
||||
// Is it locked?
|
||||
locked: function() {
|
||||
return !stack;
|
||||
},
|
||||
// Call all callbacks with the given context and arguments
|
||||
fireWith: function( context, args ) {
|
||||
if ( stack ) {
|
||||
if ( firing ) {
|
||||
if ( !flags.once ) {
|
||||
stack.push( [ context, args ] );
|
||||
}
|
||||
} else if ( !( flags.once && memory ) ) {
|
||||
fire( context, args );
|
||||
}
|
||||
}
|
||||
return this;
|
||||
},
|
||||
// Call all the callbacks with the given arguments
|
||||
fire: function() {
|
||||
self.fireWith( this, arguments );
|
||||
return this;
|
||||
},
|
||||
// To know if the callbacks have already been called at least once
|
||||
fired: function() {
|
||||
return !!memory;
|
||||
}
|
||||
};
|
||||
|
||||
return self;
|
||||
};
|
||||
|
||||
|
||||
|
||||
jQuery.fn.extend({
|
||||
// Get a promise resolved when queues of a certain type
|
||||
// are emptied (fx is the type by default)
|
||||
promise: function( type, object ) {
|
||||
if ( typeof type !== "string" ) {
|
||||
object = type;
|
||||
type = undefined;
|
||||
}
|
||||
type = type || "fx";
|
||||
var defer = jQuery.Deferred(),
|
||||
elements = this,
|
||||
i = elements.length,
|
||||
count = 1,
|
||||
deferDataKey = type + "defer",
|
||||
queueDataKey = type + "queue",
|
||||
markDataKey = type + "mark",
|
||||
tmp;
|
||||
function resolve() {
|
||||
if ( !( --count ) ) {
|
||||
defer.resolveWith( elements, [ elements ] );
|
||||
}
|
||||
}
|
||||
while( i-- ) {
|
||||
if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
|
||||
( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
|
||||
jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
|
||||
jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) {
|
||||
count++;
|
||||
tmp.add( resolve );
|
||||
}
|
||||
}
|
||||
resolve();
|
||||
return defer.promise();
|
||||
}
|
||||
});
|
||||
})();
|
||||
@@ -3,13 +3,16 @@
|
||||
<%def name="body()">
|
||||
|
||||
<div id="paddingheader">
|
||||
<h1>Search Results</h1>
|
||||
<h1><span>L</span>Search Results</h1>
|
||||
</div>
|
||||
<table class="display" id="searchresults_table">
|
||||
<thead>
|
||||
<tr>
|
||||
%if type == 'album':
|
||||
<th id="albumart"></th>
|
||||
<th id="albumname">Album Name</th>
|
||||
%elif type == 'artist':
|
||||
<th id="artistart"></th>
|
||||
%endif
|
||||
<th id="artistname">Artist Name</th>
|
||||
<th id="score">Score</th>
|
||||
@@ -25,15 +28,24 @@
|
||||
else:
|
||||
grade = 'Z'
|
||||
%>
|
||||
|
||||
<tr class="grade${grade}">
|
||||
%if type == 'album':
|
||||
<td id="albumname"><a href="${result['albumurl']}">${result['title']}</a></td>
|
||||
%endif
|
||||
<td id="artistname"><a href="${result['url']}">${result['uniquename']}</a></td>
|
||||
%if type == 'album':
|
||||
<td id="albumart">
|
||||
<div class="album-art-small">
|
||||
<div class="status">
|
||||
<div>
|
||||
<a class="web-symbol" href="addReleaseById?rid=${result['albumid']}" title="Add to collection"><span>+</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<img />
|
||||
</div>
|
||||
</td>
|
||||
<td id="albumname"><a href="${result['albumurl']}">${result['title']}</a></td>
|
||||
%endif
|
||||
<td id="artistname"><a href="${result['url']}" for="${result['id']}">${result['uniquename']}</a></td>
|
||||
<td id="score">
|
||||
<div class="searchscore" title="The match result is: ${result['score']}%">
|
||||
|
||||
|
||||
<div class="progress-container" title="Match result is ${result['score']}%">
|
||||
<span class="searchmatch">${result['score']}%</span>
|
||||
<div style="width: ${result['score']}%"></div>
|
||||
@@ -41,8 +53,8 @@
|
||||
</div>
|
||||
</td>
|
||||
%if type == 'album':
|
||||
<td id="add"><a class="btnAdd" href="addReleaseById?rid=${result['albumid']}" title="Add this Album"></a></td>
|
||||
%else:
|
||||
<td id="add"></td>
|
||||
%elif type == 'artist':
|
||||
<td id="add"><a class="btnAdd" href="addArtist?artistid=${result['id']}" title="Add this Artist"></a></td>
|
||||
%endif
|
||||
</tr>
|
||||
@@ -57,26 +69,21 @@
|
||||
</%def>
|
||||
|
||||
<%def name="javascriptIncludes()">
|
||||
<script src="interfaces/brink/JS/libs/jquery.dataTables.min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#searchresults_table').dataTable(
|
||||
{
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
{ "bSortable": false}
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu":"Show _MENU_ albums per page",
|
||||
"sEmptyTable": "No search results found",
|
||||
"sInfo":"Showing _TOTAL_ albums",
|
||||
"sInfoEmpty":"No albums found",
|
||||
"sInfoFiltered":"(Filtered from _MAX_ total albums)"},
|
||||
"bPaginate": false,
|
||||
"aaSorting": [[4, 'asc'],[3,'desc']]
|
||||
<script src="js/libs/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function getArtistArt() {
|
||||
$("table#searchresults_table tr td#artistname").each(function(){
|
||||
var id = $(this).attr('for');
|
||||
var artist = $(this).children('a').text();
|
||||
var image = $(this).parent().find("td#albumart img");
|
||||
if ( !image.hasClass('done') ) {
|
||||
image.addClass('done');
|
||||
getArtistInfo(artist,image,1,id);
|
||||
}
|
||||
});
|
||||
}
|
||||
$(document).ready(function(){
|
||||
getArtistArt();
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
</%def>
|
||||
@@ -1,7 +1,7 @@
|
||||
<%inherit file="base.html"/>
|
||||
|
||||
<%def name="headIncludes()">
|
||||
<meta http-equiv="refresh" content="${timer};url=index">
|
||||
<meta http-equiv="refresh" content="${timer};url=home">
|
||||
</%def>
|
||||
|
||||
<%def name="body()">
|
||||
@@ -9,13 +9,10 @@
|
||||
<div id="shutdown">
|
||||
<div>
|
||||
<div>
|
||||
<span>
|
||||
<h1>Headphones is ${message}</h1>
|
||||
</span>
|
||||
<h1><span><script>loader();</script></span>${message}</h1>
|
||||
<br />
|
||||
<span>
|
||||
Estimate ${timer} seconds
|
||||
</span>
|
||||
<br />
|
||||
<h3>Estimate ${timer} seconds</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
<%inherit file="base.html" />
|
||||
<%def name="body()">
|
||||
<div class="table_wrapper">
|
||||
<h1>Upcoming Albums</h1>
|
||||
<h1><span>O</span>Upcoming Albums</h1>
|
||||
<table class="display" id="upcoming_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th id="albumart"></th>
|
||||
<th id="artistname">Artist</th>
|
||||
<th id="name">Artist</th>
|
||||
<th id="albumname">Album Name</th>
|
||||
<th id="reldate">Release Date</th>
|
||||
<th id="type">Type</th>
|
||||
<th id="status">Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -19,7 +18,7 @@
|
||||
<td id="albumart">
|
||||
<div class="album-art-small">
|
||||
<a href="albumPage?AlbumID=${album['AlbumID']}">
|
||||
<img src="http://ec1.images-amazon.com/images/P/${album['AlbumASIN']}.01.MZZZZZZZ.jpg">
|
||||
<img />
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
@@ -32,7 +31,6 @@
|
||||
<td id="albumname"><a href="albumPage?AlbumID=${album['AlbumID']}">${album['AlbumTitle']}</a></td>
|
||||
<td id="reldate">${album['ReleaseDate']}</td>
|
||||
<td id="type">${album['Type']}</td>
|
||||
<td id="status">${album['Status']}</td>
|
||||
</tr>
|
||||
%endfor
|
||||
</tbody>
|
||||
@@ -50,7 +48,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="table_wrapper">
|
||||
<h1>Wanted Albums</h1>
|
||||
<h1><span>N</span>Wanted Albums</h1>
|
||||
<table class="display" id="wanted_table">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -68,9 +66,20 @@
|
||||
<td id="select"><input class="styled" type="checkbox" name="${album['AlbumID']}" class="checkbox" /></th>
|
||||
<td id="albumart">
|
||||
<div class="album-art-small">
|
||||
<a href="albumPage?AlbumID=${album['AlbumID']}">
|
||||
<img src="http://ec1.images-amazon.com/images/P/${album['AlbumASIN']}.01.MZZZZZZZ.jpg">
|
||||
</a>
|
||||
<div class="status ${album['Status']}">
|
||||
<div>
|
||||
%if album['Status'] == 'Skipped':
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Get this album"><span>N</span></a>
|
||||
%elif album['Status'] == 'Wanted':
|
||||
<a class="web-symbol" href="#" title="Mark downloaded"><span>/</span></a>
|
||||
<a class="web-symbol" href="unqueueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Unmark"><span>×</span></a>
|
||||
%else:
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}" title="Retry the same nbz"><span>*</span></a>
|
||||
<a class="web-symbol" href="queueAlbum?AlbumID=${album['AlbumID']}&ArtistID=${album['ArtistID']}&new=True" title="Try a new download, skipping all previously tried nzbs">J</a>
|
||||
%endif
|
||||
</div>
|
||||
</div>
|
||||
<img />
|
||||
</div>
|
||||
</td>
|
||||
<td id="artistname">
|
||||
@@ -95,8 +104,31 @@
|
||||
<%def name="javascriptIncludes()">
|
||||
<script src="interfaces/brink/JS/libs/jquery.dataTables.min.js"></script>
|
||||
<script>
|
||||
function getArtistArt() {
|
||||
$("table#upcoming_table tr td#artistname").each(function(){
|
||||
var id = $(this).parent().find("td#select input").attr('name');
|
||||
var artist = $(this).children('a').text();
|
||||
var image = $(this).parent().find("td#albumart img");
|
||||
if ( !image.hasClass('done') ) {
|
||||
image.addClass('done');
|
||||
getArtistInfo(artist,image,1,id);
|
||||
}
|
||||
});
|
||||
$("table#wanted_table tr td#artistname").each(function(){
|
||||
var id = $(this).parent().find("td#select input").attr('name');
|
||||
var artist = $(this).children('a').text();
|
||||
var image = $(this).parent().find("td#albumart img");
|
||||
if ( !image.hasClass('done') ) {
|
||||
image.addClass('done');
|
||||
getArtistInfo(artist,image,1,id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
getArtistArt();
|
||||
$('#wanted_table').dataTable(
|
||||
{
|
||||
"aoColumns": [
|
||||
|
||||
@@ -164,24 +164,21 @@ def addArtisttoDB(artistid, extrasonly=False):
|
||||
continue
|
||||
|
||||
logger.info(u"Now adding/updating album: " + rg['title'])
|
||||
|
||||
controlValueDict = {"AlbumID": rg['id']}
|
||||
|
||||
newValueDict = {"ArtistID": artistid,
|
||||
"ArtistName": artist['artist_name'],
|
||||
"AlbumTitle": rg['title'],
|
||||
"AlbumASIN": release_dict['asin'],
|
||||
"ReleaseDate": release_dict['releasedate'],
|
||||
"Type": rg['type']
|
||||
}
|
||||
|
||||
if len(rg_exists):
|
||||
|
||||
newValueDict = {"AlbumASIN": release_dict['asin'],
|
||||
"ReleaseDate": release_dict['releasedate'],
|
||||
}
|
||||
|
||||
else:
|
||||
|
||||
newValueDict = {"ArtistID": artistid,
|
||||
"ArtistName": artist['artist_name'],
|
||||
"AlbumTitle": rg['title'],
|
||||
"AlbumASIN": release_dict['asin'],
|
||||
"ReleaseDate": release_dict['releasedate'],
|
||||
"DateAdded": helpers.today(),
|
||||
"Type": rg['type']
|
||||
}
|
||||
# Only change the status & add DateAdded if the album is not already in the database
|
||||
if not len(rg_exists):
|
||||
|
||||
newValueDict['DateAdded']= helpers.today()
|
||||
|
||||
if headphones.AUTOWANT_ALL:
|
||||
newValueDict['Status'] = "Wanted"
|
||||
@@ -191,18 +188,14 @@ def addArtisttoDB(artistid, extrasonly=False):
|
||||
newValueDict['Status'] = "Skipped"
|
||||
|
||||
myDB.upsert("albums", newValueDict, controlValueDict)
|
||||
|
||||
# I changed the albumid from releaseid -> rgid, so might need to delete albums that have a releaseid
|
||||
for release in release_dict['releaselist']:
|
||||
myDB.action('DELETE from albums WHERE AlbumID=?', [release['releaseid']])
|
||||
myDB.action('DELETE from tracks WHERE AlbumID=?', [release['releaseid']])
|
||||
|
||||
|
||||
for track in release_dict['tracks']:
|
||||
|
||||
cleanname = helpers.cleanName(artist['artist_name'] + ' ' + rg['title'] + ' ' + track['title'])
|
||||
|
||||
controlValueDict = {"TrackID": track['id'],
|
||||
"AlbumID": rg['id']}
|
||||
|
||||
newValueDict = {"ArtistID": artistid,
|
||||
"ArtistName": artist['artist_name'],
|
||||
"AlbumTitle": rg['title'],
|
||||
|
||||