First commit

This commit is contained in:
Nathan
2026-09-18 20:29:17 -06:00
commit 3b09abe571
2840 changed files with 467153 additions and 0 deletions
@@ -0,0 +1,117 @@
/*!
* jQuery Cookie Plugin v1.4.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// CommonJS
factory(require('jquery'));
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
var pluses = /\+/g;
function encode(s) {
return config.raw ? s : encodeURIComponent(s);
}
function decode(s) {
return config.raw ? s : decodeURIComponent(s);
}
function stringifyCookieValue(value) {
return encode(config.json ? JSON.stringify(value) : String(value));
}
function parseCookieValue(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape...
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
// Replace server-side written pluses with spaces.
// If we can't decode the cookie, ignore it, it's unusable.
// If we can't parse the cookie, ignore it, it's unusable.
s = decodeURIComponent(s.replace(pluses, ' '));
return config.json ? JSON.parse(s) : s;
} catch(e) {}
}
function read(s, converter) {
var value = config.raw ? s : parseCookieValue(s);
return $.isFunction(converter) ? converter(value) : value;
}
var config = $.cookie = function (key, value, options) {
// Write
if (value !== undefined && !$.isFunction(value)) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setTime(+t + days * 864e+5);
}
return (document.cookie = [
encode(key), '=', stringifyCookieValue(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// Read
var result = key ? undefined : {};
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling $.cookie().
var cookies = document.cookie ? document.cookie.split('; ') : [];
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = parts.join('=');
if (key && key === name) {
// If second argument (value) is a function it's a converter...
result = read(cookie, value);
break;
}
// Prevent storing a cookie that we couldn't decode.
if (!key && (cookie = read(cookie)) !== undefined) {
result[name] = cookie;
}
}
return result;
};
config.defaults = {};
$.removeCookie = function (key, options) {
if ($.cookie(key) === undefined) {
return false;
}
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return !$.cookie(key);
};
}));
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

@@ -0,0 +1,430 @@
/* @group Base */
.chosen-container {
position: relative;
display: inline-block;
vertical-align: middle;
font-size: 13px;
zoom: 1;
*display: inline;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.chosen-container .chosen-drop {
position: absolute;
top: 100%;
left: -9999px;
z-index: 1010;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
border: 1px solid #aaa;
border-top: 0;
background: #fff;
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
.chosen-container.chosen-with-drop .chosen-drop {
left: 0;
}
.chosen-container a {
cursor: pointer;
}
/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
position: relative;
display: block;
overflow: hidden;
padding: 0 0 0 8px;
height: 23px;
border: 1px solid #aaa;
border-radius: 5px;
background-color: #fff;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-clip: padding-box;
box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
color: #444;
text-decoration: none;
white-space: nowrap;
line-height: 24px;
}
.chosen-container-single .chosen-default {
color: #999;
}
.chosen-container-single .chosen-single span {
display: block;
overflow: hidden;
margin-right: 26px;
text-overflow: ellipsis;
white-space: nowrap;
}
.chosen-container-single .chosen-single-with-deselect span {
margin-right: 38px;
}
.chosen-container-single .chosen-single abbr {
position: absolute;
top: 6px;
right: 26px;
display: block;
width: 12px;
height: 12px;
background: url('chosen-sprite.png') -42px 1px no-repeat;
font-size: 1px;
}
.chosen-container-single .chosen-single abbr:hover {
background-position: -42px -10px;
}
.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
background-position: -42px -10px;
}
.chosen-container-single .chosen-single div {
position: absolute;
top: 0;
right: 0;
display: block;
width: 18px;
height: 100%;
}
.chosen-container-single .chosen-single div b {
display: block;
width: 100%;
height: 100%;
background: url('chosen-sprite.png') no-repeat 0px 2px;
}
.chosen-container-single .chosen-search {
position: relative;
z-index: 1010;
margin: 0;
padding: 3px 4px;
white-space: nowrap;
}
.chosen-container-single .chosen-search input[type="text"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 1px 0;
padding: 4px 20px 4px 5px;
width: 100%;
height: auto;
outline: 0;
border: 1px solid #aaa;
background: white url('chosen-sprite.png') no-repeat 100% -20px;
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
font-size: 1em;
font-family: sans-serif;
line-height: normal;
border-radius: 0;
}
.chosen-container-single .chosen-drop {
margin-top: -1px;
border-radius: 0 0 4px 4px;
background-clip: padding-box;
}
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
position: absolute;
left: -9999px;
}
/* @end */
/* @group Results */
.chosen-container .chosen-results {
position: relative;
overflow-x: hidden;
overflow-y: auto;
margin: 0 4px 4px 0;
padding: 0 0 0 4px;
max-height: 240px;
-webkit-overflow-scrolling: touch;
}
.chosen-container .chosen-results li {
display: none;
margin: 0;
padding: 5px 6px;
list-style: none;
line-height: 15px;
}
.chosen-container .chosen-results li.active-result {
display: list-item;
cursor: pointer;
}
.chosen-container .chosen-results li.disabled-result {
display: list-item;
color: #ccc;
cursor: default;
}
.chosen-container .chosen-results li.highlighted {
background-color: #3875d7;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
color: #fff;
}
.chosen-container .chosen-results li.no-results {
display: list-item;
background: #f4f4f4;
}
.chosen-container .chosen-results li.group-result {
display: list-item;
font-weight: bold;
cursor: default;
}
.chosen-container .chosen-results li.group-option {
padding-left: 15px;
}
.chosen-container .chosen-results li em {
font-style: normal;
text-decoration: underline;
}
/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
position: relative;
overflow: hidden;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
width: 100%;
height: auto !important;
height: 1%;
border: 1px solid #aaa;
background-color: #fff;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
cursor: text;
}
.chosen-container-multi .chosen-choices li {
float: left;
list-style: none;
}
.chosen-container-multi .chosen-choices li.search-field {
margin: 0;
padding: 0;
white-space: nowrap;
}
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
margin: 1px 0;
padding: 5px;
height: 15px;
outline: 0;
border: 0 !important;
background: transparent !important;
box-shadow: none;
color: #666;
font-size: 100%;
font-family: sans-serif;
line-height: normal;
border-radius: 0;
}
.chosen-container-multi .chosen-choices li.search-field .default {
color: #999;
}
.chosen-container-multi .chosen-choices li.search-choice {
position: relative;
margin: 3px 0 3px 5px;
padding: 3px 20px 3px 5px;
border: 1px solid #aaa;
border-radius: 3px;
background-color: #e4e4e4;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-clip: padding-box;
box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
color: #333;
line-height: 13px;
cursor: default;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
position: absolute;
top: 4px;
right: 3px;
display: block;
width: 12px;
height: 12px;
background: url('chosen-sprite.png') -42px 1px no-repeat;
font-size: 1px;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
background-position: -42px -10px;
}
.chosen-container-multi .chosen-choices li.search-choice-disabled {
padding-right: 5px;
border: 1px solid #ccc;
background-color: #e4e4e4;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
color: #666;
}
.chosen-container-multi .chosen-choices li.search-choice-focus {
background: #d4d4d4;
}
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
background-position: -42px -10px;
}
.chosen-container-multi .chosen-results {
margin: 0;
padding: 0;
}
.chosen-container-multi .chosen-drop .result-selected {
display: list-item;
color: #ccc;
cursor: default;
}
/* @end */
/* @group Active */
.chosen-container-active .chosen-single {
border: 1px solid #5897fb;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.chosen-container-active.chosen-with-drop .chosen-single {
border: 1px solid #aaa;
-moz-border-radius-bottomright: 0;
border-bottom-right-radius: 0;
-moz-border-radius-bottomleft: 0;
border-bottom-left-radius: 0;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
box-shadow: 0 1px 0 #fff inset;
}
.chosen-container-active.chosen-with-drop .chosen-single div {
border-left: none;
background: transparent;
}
.chosen-container-active.chosen-with-drop .chosen-single div b {
background-position: -18px 2px;
}
.chosen-container-active .chosen-choices {
border: 1px solid #5897fb;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.chosen-container-active .chosen-choices li.search-field input[type="text"] {
color: #111 !important;
}
/* @end */
/* @group Disabled Support */
.chosen-disabled {
opacity: 0.5 !important;
cursor: default;
}
.chosen-disabled .chosen-single {
cursor: default;
}
.chosen-disabled .chosen-choices .search-choice .search-choice-close {
cursor: default;
}
/* @end */
/* @group Right to Left */
.chosen-rtl {
text-align: right;
}
.chosen-rtl .chosen-single {
overflow: visible;
padding: 0 8px 0 0;
}
.chosen-rtl .chosen-single span {
margin-right: 0;
margin-left: 26px;
direction: rtl;
}
.chosen-rtl .chosen-single-with-deselect span {
margin-left: 38px;
}
.chosen-rtl .chosen-single div {
right: auto;
left: 3px;
}
.chosen-rtl .chosen-single abbr {
right: auto;
left: 26px;
}
.chosen-rtl .chosen-choices li {
float: right;
}
.chosen-rtl .chosen-choices li.search-field input[type="text"] {
direction: rtl;
}
.chosen-rtl .chosen-choices li.search-choice {
margin: 3px 5px 3px 0;
padding: 3px 5px 3px 19px;
}
.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
right: auto;
left: 4px;
}
.chosen-rtl.chosen-container-single-nosearch .chosen-search,
.chosen-rtl .chosen-drop {
left: 9999px;
}
.chosen-rtl.chosen-container-single .chosen-results {
margin: 0 0 4px 4px;
padding: 0 4px 0 0;
}
.chosen-rtl .chosen-results li.group-option {
padding-right: 15px;
padding-left: 0;
}
.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
border-right: none;
}
.chosen-rtl .chosen-search input[type="text"] {
padding: 4px 5px 4px 20px;
background: white url('chosen-sprite.png') no-repeat -30px -20px;
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
direction: rtl;
}
.chosen-rtl.chosen-container-single .chosen-single div b {
background-position: 6px 2px;
}
.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
background-position: -12px 2px;
}
/* @end */
/* @group Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
.chosen-rtl .chosen-search input[type="text"],
.chosen-container-single .chosen-single abbr,
.chosen-container-single .chosen-single div b,
.chosen-container-single .chosen-search input[type="text"],
.chosen-container-multi .chosen-choices .search-choice .search-choice-close,
.chosen-container .chosen-results-scroll-down span,
.chosen-container .chosen-results-scroll-up span {
background-image: url('chosen-sprite@2x.png') !important;
background-size: 52px 37px !important;
background-repeat: no-repeat !important;
}
}
/* @end */
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Arabic (ar)
translated by: A.Rhman Sayes
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "الصورة {current} من {total}",
previous: "السابق",
next: "التالي",
close: "إغلاق",
xhrError: "حدث خطأ أثناء تحميل المحتوى.",
imgError: "حدث خطأ أثناء تحميل الصورة.",
slideshowStart: "تشغيل العرض",
slideshowStop: "إيقاف العرض"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Bulgarian (bg)
translated by: Marian M.Bida
site: webmax.bg
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "изображение {current} от {total}",
previous: "предишна",
next: "следваща",
close: "затвори",
xhrError: "Неуспешно зареждане на съдържанието.",
imgError: "Неуспешно зареждане на изображението.",
slideshowStart: "пусни слайд-шоу",
slideshowStop: "спри слайд-шоу"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Bengali (bn)
translated by: Arkaprava Majumder
http://github.com/arkaindas
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "ছবি {current} এর {total}",
previous: "আগে",
next: "পরে",
close: "বন্ধ",
xhrError: "এই কন্টেন্ট লোড করা যায়নি.",
imgError: "এই ছবিটি লোড করা যায়নি.",
slideshowStart: "স্লাইডশো শুরু",
slideshowStop: "স্লাইডশো বন্ধ"
});
@@ -0,0 +1,13 @@
/*
jQuery Colorbox language configuration
language: Catala (ca)
translated by: eduard salla
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imatge {current} de {total}",
previous: "Anterior",
next: "Següent",
close: "Tancar",
xhrError: "Error en la càrrega del contingut.",
imgError: "Error en la càrrega de la imatge."
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Czech (cs)
translated by: Filip Novak
site: mame.napilno.cz/filip-novak
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}. obrázek z {total}",
previous: "Předchozí",
next: "Následující",
close: "Zavřít",
xhrError: "Obsah se nepodařilo načíst.",
imgError: "Obrázek se nepodařilo načíst.",
slideshowStart: "Spustit slideshow",
slideshowStop: "Zastavit slideshow"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Danish (da)
translated by: danieljuhl
site: danieljuhl.dk
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Billede {current} af {total}",
previous: "Forrige",
next: "Næste",
close: "Luk",
xhrError: "Indholdet fejlede i indlæsningen.",
imgError: "Billedet fejlede i indlæsningen.",
slideshowStart: "Start slideshow",
slideshowStop: "Stop slideshow"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: German (de)
translated by: wallenium
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Bild {current} von {total}",
previous: "Zurück",
next: "Vor",
close: "Schließen",
xhrError: "Dieser Inhalt konnte nicht geladen werden.",
imgError: "Dieses Bild konnte nicht geladen werden.",
slideshowStart: "Slideshow starten",
slideshowStop: "Slideshow anhalten"
});
@@ -0,0 +1,13 @@
/*
jQuery Colorbox language configuration
language: Spanish (es)
translated by: migolo
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imagen {current} de {total}",
previous: "Anterior",
next: "Siguiente",
close: "Cerrar",
xhrError: "Error en la carga del contenido.",
imgError: "Error en la carga de la imagen."
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Estonian (et)
translated by: keevitaja
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}/{total}",
previous: "eelmine",
next: "järgmine",
close: "sulge",
xhrError: "Sisu ei õnnestunud laadida.",
imgError: "Pilti ei õnnestunud laadida.",
slideshowStart: "Käivita slaidid",
slideshowStop: "Peata slaidid"
});
@@ -0,0 +1,18 @@
/*
jQuery Colorbox language configuration
language: Persian (Farsi)
translated by: Mahdi Jaberzadeh Ansari (MJZSoft)
site: www.mjzsoft.ir
email: mahdijaberzadehansari (at) yahoo.co.uk
Please note : Persian language is right to left like arabic.
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "تصویر {current} از {total}",
previous: "قبلی",
next: "بعدی",
close: "بستن",
xhrError: "متاسفانه محتویات مورد نظر قابل نمایش نیست.",
imgError: "متاسفانه بارگذاری این عکس با مشکل مواجه شده است.",
slideshowStart: "آغاز نمایش خودکار",
slideshowStop: "توقف نمایش خودکار"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Finnish (fi)
translated by: Mikko
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Kuva {current} / {total}",
previous: "Edellinen",
next: "Seuraava",
close: "Sulje",
xhrError: "Sisällön lataaminen epäonnistui.",
imgError: "Kuvan lataaminen epäonnistui.",
slideshowStart: "Aloita kuvaesitys.",
slideshowStop: "Lopeta kuvaesitys."
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: French (fr)
translated by: oaubert
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "image {current} sur {total}",
previous: "pr&eacute;c&eacute;dente",
next: "suivante",
close: "fermer",
xhrError: "Impossible de charger ce contenu.",
imgError: "Impossible de charger cette image.",
slideshowStart: "d&eacute;marrer la pr&eacute;sentation",
slideshowStop: "arr&ecirc;ter la pr&eacute;sentation"
});
@@ -0,0 +1,13 @@
/*
jQuery Colorbox language configuration
language: Galician (gl)
translated by: donatorouco
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imaxe {current} de {total}",
previous: "Anterior",
next: "Seguinte",
close: "Pechar",
xhrError: "Erro na carga do contido.",
imgError: "Erro na carga da imaxe."
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Greek (gr)
translated by: S.Demirtzoglou
site: webiq.gr
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Εικόνα {current} από {total}",
previous: "Προηγούμενη",
next: "Επόμενη",
close: "Απόκρυψη",
xhrError: "Το περιεχόμενο δεν μπόρεσε να φορτωθεί.",
imgError: "Απέτυχε η φόρτωση της εικόνας.",
slideshowStart: "Έναρξη παρουσίασης",
slideshowStop: "Παύση παρουσίασης"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Hebrew (he)
translated by: DavidCo
site: DavidCo.me
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "תמונה {current} מתוך {total}",
previous: "הקודם",
next: "הבא",
close: "סגור",
xhrError: "שגיאה בטעינת התוכן.",
imgError: "שגיאה בטעינת התמונה.",
slideshowStart: "התחל מצגת",
slideshowStop: "עצור מצגת"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Croatian (hr)
translated by: Mladen Bicanic (base.hr)
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Slika {current} od {total}",
previous: "Prethodna",
next: "Sljedeća",
close: "Zatvori",
xhrError: "Neuspješno učitavanje sadržaja.",
imgError: "Neuspješno učitavanje slike.",
slideshowStart: "Pokreni slideshow",
slideshowStop: "Zaustavi slideshow"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Hungarian (hu)
translated by: kovadani
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}/{total} kép",
previous: "Előző",
next: "Következő",
close: "Bezár",
xhrError: "A tartalmat nem sikerült betölteni.",
imgError: "A képet nem sikerült betölteni.",
slideshowStart: "Diavetítés indítása",
slideshowStop: "Diavetítés leállítása"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Indonesian (id)
translated by: sarwasunda
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "ke {current} dari {total}",
previous: "Sebelumnya",
next: "Berikutnya",
close: "Tutup",
xhrError: "Konten ini tidak dapat dimuat.",
imgError: "Gambar ini tidak dapat dimuat.",
slideshowStart: "Putar",
slideshowStop: "Berhenti"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Italian (it)
translated by: maur8ino
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Immagine {current} di {total}",
previous: "Precedente",
next: "Successiva",
close: "Chiudi",
xhrError: "Errore nel caricamento del contenuto.",
imgError: "Errore nel caricamento dell'immagine.",
slideshowStart: "Inizia la presentazione",
slideshowStop: "Termina la presentazione"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Japanaese (ja)
translated by: Hajime Fujimoto
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{total}枚中{current}枚目",
previous: "前",
next: "次",
close: "閉じる",
xhrError: "コンテンツの読み込みに失敗しました",
imgError: "画像の読み込みに失敗しました",
slideshowStart: "スライドショー開始",
slideshowStop: "スライドショー終了"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Korean (kr)
translated by: lunareffect
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "총 {total} 중 {current}",
previous: "이전",
next: "다음",
close: "닫기",
xhrError: "컨텐츠를 불러오는 데 실패했습니다.",
imgError: "이미지를 불러오는 데 실패했습니다.",
slideshowStart: "슬라이드쇼 시작",
slideshowStop: "슬라이드쇼 중지"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Lithuanian (lt)
translated by: Tomas Norkūnas
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Nuotrauka {current} iš {total}",
previous: "Atgal",
next: "Pirmyn",
close: "Uždaryti",
xhrError: "Nepavyko užkrauti turinio.",
imgError: "Nepavyko užkrauti nuotraukos.",
slideshowStart: "Pradėti automatinę peržiūrą",
slideshowStop: "Sustabdyti automatinę peržiūrą"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Latvian (lv)
translated by: Matiss Roberts Treinis
site: x0.lv
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "attēls {current} no {total}",
previous: "iepriekšējais",
next: "nākamais",
close: "aizvērt",
xhrError: "Neizdevās ielādēt saturu.",
imgError: "Neizdevās ielādēt attēlu.",
slideshowStart: "sākt slaidrādi",
slideshowStop: "apturēt slaidrādi"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Myanmar (my)
translated by: Yan Naing
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "ပုံ {total} မှာ {current} မြောက်ပုံ",
previous: "ရှေ့သို့",
next: "နောက်သို့",
close: "ပိတ်မည်",
xhrError: "ပါဝင်သော အကြောင်းအရာများ ဖော်ပြရာတွင် အနည်းငယ် ချို့ယွင်းမှုရှိနေပါသည်",
imgError: "ပုံပြသရာတွင် အနည်းငယ် ချို့ယွင်းချက် ရှိနေပါသည်",
slideshowStart: "ပုံများ စတင်ပြသမည်",
slideshowStop: "ပုံပြသခြင်း ရပ်ဆိုင်မည်"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Dutch (nl)
translated by: barryvdh
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Afbeelding {current} van {total}",
previous: "Vorige",
next: "Volgende",
close: "Sluiten",
xhrError: "Deze inhoud kan niet geladen worden.",
imgError: "Deze afbeelding kan niet geladen worden.",
slideshowStart: "Diashow starten",
slideshowStop: "Diashow stoppen"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Norwegian (no)
translated by: lars-erik
site: markedspartner.no
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Bilde {current} av {total}",
previous: "Forrige",
next: "Neste",
close: "Lukk",
xhrError: "Feil ved lasting av innhold.",
imgError: "Feil ved lasting av bilde.",
slideshowStart: "Start lysbildefremvisning",
slideshowStop: "Stopp lysbildefremvisning"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Polski (pl)
translated by: Tomasz Wasiński
site: 2bevisible.pl
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}. obrazek z {total}",
previous: "Poprzedni",
next: "Następny",
close: "Zamknij",
xhrError: "Nie udało się załadować treści.",
imgError: "Nie udało się załadować obrazka.",
slideshowStart: "rozpocznij pokaz slajdów",
slideshowStop: "zatrzymaj pokaz slajdów"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Brazilian Portuguese (pt-BR)
translated by: ReinaldoMT
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Imagem {current} de {total}",
previous: "Anterior",
next: "Próxima",
close: "Fechar",
slideshowStart: "iniciar apresentação de slides",
slideshowStop: "parar apresentação de slides",
xhrError: "Erro ao carregar o conteúdo.",
imgError: "Erro ao carregar a imagem."
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Romanian (ro)
translated by: shurub3l
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "imagine {current} din {total}",
previous: "precedenta",
next: "următoarea",
close: "închideți",
xhrError: "Acest conținut nu poate fi încărcat.",
imgError: "Această imagine nu poate fi încărcată",
slideshowStart: "începeți prezentarea (slideshow)",
slideshowStop: "opriți prezentarea (slideshow)"
});
@@ -0,0 +1,16 @@
/*
jQuery Colorbox language configuration
language: Russian (ru)
translated by: Marfa
site: themarfa.name
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "изображение {current} из {total}",
previous: "назад",
next: "вперёд",
close: "закрыть",
xhrError: "Не удалось загрузить содержимое.",
imgError: "Не удалось загрузить изображение.",
slideshowStart: "начать слайд-шоу",
slideshowStop: "остановить слайд-шоу"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Slovenian (si)
translated by: Boštjan Pišler (pisler.si)
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Slika {current} od {total}",
previous: "Prejšnja",
next: "Naslednja",
close: "Zapri",
xhrError: "Vsebine ni bilo mogoče naložiti.",
imgError: "Slike ni bilo mogoče naložiti.",
slideshowStart: "Zaženi prezentacijo",
slideshowStop: "Zaustavi prezentacijo"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Slovak (sk)
translated by: Jaroslav Kostal
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "{current}. obrázok z {total}",
previous: "Predchádzajúci",
next: "Následujúci",
close: "Zatvoriť",
xhrError: "Obsah sa nepodarilo načítať.",
imgError: "Obrázok sa nepodarilo načítať.",
slideshowStart: "Spustiť slideshow",
slideshowStop: "zastaviť slideshow"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Serbian (sr)
translated by: Sasa Stefanovic (baguje.com)
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Slika {current} od {total}",
previous: "Prethodna",
next: "Sledeća",
close: "Zatvori",
xhrError: "Neuspešno učitavanje sadržaja.",
imgError: "Neuspešno učitavanje slike.",
slideshowStart: "Pokreni slideshow",
slideshowStop: "Zaustavi slideshow"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Swedish (sv)
translated by: Mattias Reichel
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Bild {current} av {total}",
previous: "Föregående",
next: "Nästa",
close: "Stäng",
xhrError: "Innehållet kunde inte laddas.",
imgError: "Den här bilden kunde inte laddas.",
slideshowStart: "Starta bildspel",
slideshowStop: "Stoppa bildspel"
});
@@ -0,0 +1,19 @@
/*
jQuery Colorbox language configuration
language: Turkish (tr)
translated by: Caner ÖNCEL
site: egonomik.com
edited by: Sinan Eldem
www.sinaneldem.com.tr
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "Görsel {current} / {total}",
previous: "Önceki",
next: "Sonraki",
close: "Kapat",
xhrError: "İçerik yüklenirken hata meydana geldi.",
imgError: "Resim yüklenirken hata meydana geldi.",
slideshowStart: "Slaytı Başlat",
slideshowStop: "Slaytı Durdur"
});
@@ -0,0 +1,16 @@
/*
jQuery ColorBox language configuration
language: Ukrainian (uk)
translated by: Andrew
http://acisoftware.com.ua
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "зображення {current} з {total}",
previous: "попереднє",
next: "наступне",
close: "закрити",
xhrError: "Не вдалося завантажити вміст.",
imgError: "Не вдалося завантажити зображення.",
slideshowStart: "почати слайд-шоу",
slideshowStop: "зупинити слайд-шоу"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Chinese Simplified (zh-CN)
translated by: zhao weiming
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "当前图像 {current} 总共 {total}",
previous: "前一页",
next: "后一页",
close: "关闭",
xhrError: "此内容无法加载",
imgError: "此图片无法加载",
slideshowStart: "开始播放幻灯片",
slideshowStop: "停止播放幻灯片"
});
@@ -0,0 +1,15 @@
/*
jQuery Colorbox language configuration
language: Chinese Traditional (zh-TW)
translated by: Atans Chiu
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "圖片 {current} 總共 {total}",
previous: "上一頁",
next: "下一頁",
close: "關閉",
xhrError: "此內容加載失敗.",
imgError: "此圖片加載失敗.",
slideshowStart: "開始幻燈片",
slideshowStop: "結束幻燈片"
});
@@ -0,0 +1,70 @@
/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:url(images/overlay.png) repeat 0 0; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
#cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px 0;}
#cboxTopRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px 0;}
#cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px -29px;}
#cboxBottomRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px -29px;}
#cboxMiddleLeft{width:21px; background:url(images/controls.png) left top repeat-y;}
#cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;}
#cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;}
#cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;}
#cboxContent{background:#fff; overflow:hidden;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{margin-bottom:28px;}
#cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
#cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
#cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
#cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
#cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
#cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
#cboxPrevious:hover{background-position:-75px -25px;}
#cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
#cboxNext:hover{background-position:-50px -25px;}
#cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
#cboxClose:hover{background-position:-25px -25px;}
/*
The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

@@ -0,0 +1,50 @@
/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
#cboxContent{margin-top:32px; overflow:visible; background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{background:#f1f1f1; padding:1px;}
#cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
#cboxLoadingOverlay{background:#000;}
#cboxTitle{position:absolute; top:-22px; left:0; color:#fff;}
#cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(images/controls.png) no-repeat 0 0;}
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
#cboxPrevious{background-position:0px 0px; right:44px;}
#cboxPrevious:hover{background-position:0px -25px;}
#cboxNext{background-position:-25px 0px; right:22px;}
#cboxNext:hover{background-position:-25px -25px;}
#cboxClose{background-position:-50px 0px; right:0;}
#cboxClose:hover{background-position:-50px -25px;}
.cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;}
.cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
.cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

@@ -0,0 +1,45 @@
/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
#cboxContent{margin-top:20px;background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{border:5px solid #000; background:#fff;}
#cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
#cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
#cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
#cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
#cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
#cboxPrevious:hover{background-position:bottom left;}
#cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
#cboxNext:hover{background-position:bottom right;}
#cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(images/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
#cboxClose:hover{background-position:bottom center;}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

@@ -0,0 +1,66 @@
/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
#cboxTopLeft{width:25px; height:25px; background:url(images/border1.png) no-repeat 0 0;}
#cboxTopCenter{height:25px; background:url(images/border1.png) repeat-x 0 -50px;}
#cboxTopRight{width:25px; height:25px; background:url(images/border1.png) no-repeat -25px 0;}
#cboxBottomLeft{width:25px; height:25px; background:url(images/border1.png) no-repeat 0 -25px;}
#cboxBottomCenter{height:25px; background:url(images/border1.png) repeat-x 0 -75px;}
#cboxBottomRight{width:25px; height:25px; background:url(images/border1.png) no-repeat -25px -25px;}
#cboxMiddleLeft{width:25px; background:url(images/border2.png) repeat-y 0 0;}
#cboxMiddleRight{width:25px; background:url(images/border2.png) repeat-y -25px 0;}
#cboxContent{background:#fff; overflow:hidden;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{margin-bottom:20px;}
#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
#cboxLoadingOverlay{background:#fff url(images/loading.gif) no-repeat 5px 5px;}
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
#cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
/*
The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

@@ -0,0 +1,58 @@
/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
#cboxTopLeft{width:14px; height:14px; background:url(images/controls.png) no-repeat 0 0;}
#cboxTopCenter{height:14px; background:url(images/border.png) repeat-x top left;}
#cboxTopRight{width:14px; height:14px; background:url(images/controls.png) no-repeat -36px 0;}
#cboxBottomLeft{width:14px; height:43px; background:url(images/controls.png) no-repeat 0 -32px;}
#cboxBottomCenter{height:43px; background:url(images/border.png) repeat-x bottom left;}
#cboxBottomRight{width:14px; height:43px; background:url(images/controls.png) no-repeat -36px -32px;}
#cboxMiddleLeft{width:14px; background:url(images/controls.png) repeat-y -175px 0;}
#cboxMiddleRight{width:14px; background:url(images/controls.png) repeat-y -211px 0;}
#cboxContent{background:#fff; overflow:visible;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{margin-bottom:5px;}
#cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
#cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
#cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
#cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
#cboxPrevious{left:0px; background-position: -51px -25px;}
#cboxPrevious:hover{background-position:-51px 0px;}
#cboxNext{left:27px; background-position:-75px -25px;}
#cboxNext:hover{background-position:-75px 0px;}
#cboxClose{right:0; background-position:-100px -25px;}
#cboxClose:hover{background-position:-100px 0px;}
.cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
.cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}
Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

@@ -0,0 +1,453 @@
/*
* Table styles
*/
table.dataTable {
width: 100%;
margin: 0 auto;
clear: both;
border-collapse: separate;
border-spacing: 0;
/*
* Header and footer styles
*/
/*
* Body styles
*/
}
table.dataTable thead th,
table.dataTable tfoot th {
font-weight: bold;
}
table.dataTable thead th,
table.dataTable thead td {
padding: 10px 18px;
border-bottom: 1px solid #111;
}
table.dataTable thead th:active,
table.dataTable thead td:active {
outline: none;
}
table.dataTable tfoot th,
table.dataTable tfoot td {
padding: 10px 18px 6px 18px;
border-top: 1px solid #111;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
cursor: pointer;
*cursor: hand;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
background-repeat: no-repeat;
background-position: center right;
}
table.dataTable thead .sorting {
background-image: url("../images/sort_both.png");
}
table.dataTable thead .sorting_asc {
background-image: url("../images/sort_asc.png");
}
table.dataTable thead .sorting_desc {
background-image: url("../images/sort_desc.png");
}
table.dataTable thead .sorting_asc_disabled {
background-image: url("../images/sort_asc_disabled.png");
}
table.dataTable thead .sorting_desc_disabled {
background-image: url("../images/sort_desc_disabled.png");
}
table.dataTable tbody tr {
background-color: #ffffff;
}
table.dataTable tbody tr.selected {
background-color: #B0BED9;
}
table.dataTable tbody th,
table.dataTable tbody td {
padding: 8px 10px;
}
table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
border-top: 1px solid #ddd;
}
table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
border-top: none;
}
table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
border-left: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
border-top: none;
}
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
background-color: #f9f9f9;
}
table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
background-color: #acbad4;
}
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
background-color: #f6f6f6;
}
table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
background-color: #aab7d1;
}
table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3 {
background-color: #fafafa;
}
table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3 {
background-color: #acbad5;
}
table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
background-color: #f1f1f1;
}
table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
background-color: #f3f3f3;
}
table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
background-color: whitesmoke;
}
table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
background-color: #a6b4cd;
}
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
background-color: #a8b5cf;
}
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
background-color: #a9b7d1;
}
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
background-color: #fafafa;
}
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
background-color: #fcfcfc;
}
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
background-color: #fefefe;
}
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
background-color: #acbad5;
}
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
background-color: #aebcd6;
}
table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
background-color: #afbdd8;
}
table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
background-color: #eaeaea;
}
table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
background-color: #ececec;
}
table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
background-color: #efefef;
}
table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
background-color: #a2aec7;
}
table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
background-color: #a3b0c9;
}
table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
background-color: #a5b2cb;
}
table.dataTable.no-footer {
border-bottom: 1px solid #111;
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
white-space: nowrap;
}
table.dataTable.compact thead th,
table.dataTable.compact thead td {
padding: 4px 17px 4px 4px;
}
table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td {
padding: 4px;
}
table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
padding: 4px;
}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
text-align: left;
}
table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
text-align: center;
}
table.dataTable th.dt-right,
table.dataTable td.dt-right {
text-align: right;
}
table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
text-align: justify;
}
table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
white-space: nowrap;
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
text-align: left;
}
table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
text-align: center;
}
table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
text-align: right;
}
table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
text-align: justify;
}
table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
white-space: nowrap;
}
table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
text-align: left;
}
table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
text-align: center;
}
table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
text-align: right;
}
table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
text-align: justify;
}
table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
white-space: nowrap;
}
table.dataTable,
table.dataTable th,
table.dataTable td {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
/*
* Control feature layout
*/
.dataTables_wrapper {
position: relative;
clear: both;
*zoom: 1;
zoom: 1;
}
.dataTables_wrapper .dataTables_length {
float: left;
}
.dataTables_wrapper .dataTables_filter {
float: right;
text-align: right;
}
.dataTables_wrapper .dataTables_filter input {
margin-left: 0.5em;
}
.dataTables_wrapper .dataTables_info {
clear: both;
float: left;
padding-top: 0.755em;
}
.dataTables_wrapper .dataTables_paginate {
float: right;
text-align: right;
padding-top: 0.25em;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
box-sizing: border-box;
display: inline-block;
min-width: 1.5em;
padding: 0.5em 1em;
margin-left: 2px;
text-align: center;
text-decoration: none !important;
cursor: pointer;
*cursor: hand;
color: #333 !important;
border: 1px solid transparent;
border-radius: 2px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
color: #333 !important;
border: 1px solid #979797;
background-color: white;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
/* IE10+ */
background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
/* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
cursor: default;
color: #666 !important;
border: 1px solid transparent;
background: transparent;
box-shadow: none;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
color: white !important;
border: 1px solid #111;
background-color: #585858;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, #585858 0%, #111 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, #585858 0%, #111 100%);
/* IE10+ */
background: -o-linear-gradient(top, #585858 0%, #111 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, #585858 0%, #111 100%);
/* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
outline: none;
background-color: #2b2b2b;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* FF3.6+ */
background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* IE10+ */
background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
/* Opera 11.10+ */
background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
/* W3C */
box-shadow: inset 0 0 3px #111;
}
.dataTables_wrapper .dataTables_paginate .ellipsis {
padding: 0 1em;
}
.dataTables_wrapper .dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 40px;
margin-left: -50%;
margin-top: -25px;
padding-top: 20px;
text-align: center;
font-size: 1.2em;
background-color: white;
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
color: #333;
}
.dataTables_wrapper .dataTables_scroll {
clear: both;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
*margin-top: -1px;
-webkit-overflow-scrolling: touch;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td {
vertical-align: middle;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {
height: 0;
overflow: hidden;
margin: 0 !important;
padding: 0 !important;
}
.dataTables_wrapper.no-footer .dataTables_scrollBody {
border-bottom: 1px solid #111;
}
.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
border-bottom: none;
}
.dataTables_wrapper:after {
visibility: hidden;
display: block;
content: "";
clear: both;
height: 0;
}
@media screen and (max-width: 767px) {
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
float: none;
text-align: center;
}
.dataTables_wrapper .dataTables_paginate {
margin-top: 0.5em;
}
}
@media screen and (max-width: 640px) {
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
float: none;
text-align: center;
}
.dataTables_wrapper .dataTables_filter {
margin-top: 0.5em;
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1,184 @@
ul.jqtree-tree {
list-style: none outside;
margin-left: 0;
margin-bottom: 0;
padding: 0;
}
ul.jqtree-tree ul.jqtree_common {
list-style: none outside;
margin-left: 12px;
margin-right: 0;
margin-bottom: 0;
padding: 0;
display: block;
}
ul.jqtree-tree li.jqtree-closed > ul.jqtree_common {
display: none;
}
ul.jqtree-tree li.jqtree_common {
clear: both;
list-style-type: none;
}
ul.jqtree-tree .jqtree-toggler {
border-bottom: none;
color: #333;
text-decoration: none;
vertical-align: middle;
}
ul.jqtree-tree .jqtree-toggler:hover {
color: #000;
text-decoration: none;
}
ul.jqtree-tree .jqtree-toggler.jqtree-closed {
background-position: 0 0;
}
ul.jqtree-tree .jqtree-toggler.jqtree-toggler-left {
margin-right: 0.5em;
}
ul.jqtree-tree .jqtree-toggler.jqtree-toggler-right {
margin-left: 0.5em;
}
ul.jqtree-tree .jqtree-element {
cursor: pointer;
position: relative;
display: -webkit-box;
display: flex;
}
ul.jqtree-tree .jqtree-title {
color: #1C4257;
vertical-align: middle;
margin-left: 1.5em;
}
ul.jqtree-tree .jqtree-title.jqtree-title-folder {
margin-left: 0;
}
ul.jqtree-tree li.jqtree-folder {
margin-bottom: 4px;
}
ul.jqtree-tree li.jqtree-folder.jqtree-closed {
margin-bottom: 1px;
}
ul.jqtree-tree li.jqtree-ghost {
position: relative;
z-index: 10;
margin-right: 10px;
}
ul.jqtree-tree li.jqtree-ghost span {
display: block;
}
ul.jqtree-tree li.jqtree-ghost span.jqtree-circle {
border: solid 2px #0000ff;
border-radius: 100px;
height: 8px;
width: 8px;
position: absolute;
top: -4px;
left: -6px;
box-sizing: border-box;
}
ul.jqtree-tree li.jqtree-ghost span.jqtree-line {
background-color: #0000ff;
height: 2px;
padding: 0;
position: absolute;
top: -1px;
left: 2px;
width: 100%;
}
ul.jqtree-tree li.jqtree-ghost.jqtree-inside {
margin-left: 48px;
}
ul.jqtree-tree span.jqtree-border {
position: absolute;
display: block;
left: -2px;
top: 0;
border: solid 2px #0000ff;
border-radius: 6px;
margin: 0;
box-sizing: content-box;
}
ul.jqtree-tree li.jqtree-selected > .jqtree-element,
ul.jqtree-tree li.jqtree-selected > .jqtree-element:hover {
background-color: #97BDD6;
background: -webkit-gradient(linear, left top, left bottom, from(#BEE0F5), to(#89AFCA));
background: linear-gradient(#BEE0F5, #89AFCA);
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}
ul.jqtree-tree .jqtree-moving > .jqtree-element .jqtree-title {
outline: dashed 1px #0000ff;
}
ul.jqtree-tree.jqtree-rtl {
direction: rtl;
}
ul.jqtree-tree.jqtree-rtl ul.jqtree_common {
margin-left: 0;
margin-right: 12px;
}
ul.jqtree-tree.jqtree-rtl .jqtree-toggler {
margin-left: 0.5em;
margin-right: 0;
}
ul.jqtree-tree.jqtree-rtl .jqtree-title {
margin-left: 0;
margin-right: 1.5em;
}
ul.jqtree-tree.jqtree-rtl .jqtree-title.jqtree-title-folder {
margin-right: 0;
}
ul.jqtree-tree.jqtree-rtl li.jqtree-ghost {
margin-right: 0;
margin-left: 10px;
}
ul.jqtree-tree.jqtree-rtl li.jqtree-ghost span.jqtree-circle {
right: -6px;
}
ul.jqtree-tree.jqtree-rtl li.jqtree-ghost span.jqtree-line {
right: 2px;
}
ul.jqtree-tree.jqtree-rtl li.jqtree-ghost.jqtree-inside {
margin-left: 0;
margin-right: 48px;
}
ul.jqtree-tree.jqtree-rtl span.jqtree-border {
right: -2px;
}
span.jqtree-dragging {
color: #fff;
background: #000;
opacity: 0.6;
cursor: pointer;
padding: 2px 8px;
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,165 @@
/* jquery.Jcrop.css v0.9.12 - MIT License */
/*
The outer-most container in a typical Jcrop instance
If you are having difficulty with formatting related to styles
on a parent element, place any fixes here or in a like selector
You can also style this element if you want to add a border, etc
A better method for styling can be seen below with .jcrop-light
(Add a class to the holder and style elements for that extended class)
*/
.jcrop-holder {
direction: ltr;
text-align: left;
}
/* Selection Border */
.jcrop-vline,
.jcrop-hline {
background: #ffffff url("Jcrop.gif");
font-size: 0;
position: absolute;
}
.jcrop-vline {
height: 100%;
width: 1px !important;
}
.jcrop-vline.right {
right: 0;
}
.jcrop-hline {
height: 1px !important;
width: 100%;
}
.jcrop-hline.bottom {
bottom: 0;
}
/* Invisible click targets */
.jcrop-tracker {
height: 100%;
width: 100%;
/* "turn off" link highlight */
-webkit-tap-highlight-color: transparent;
/* disable callout, image save panel */
-webkit-touch-callout: none;
/* disable cut copy paste */
-webkit-user-select: none;
}
/* Selection Handles */
.jcrop-handle {
background-color: #333333;
border: 1px #eeeeee solid;
width: 7px;
height: 7px;
font-size: 1px;
}
.jcrop-handle.ord-n {
left: 50%;
margin-left: -4px;
margin-top: -4px;
top: 0;
}
.jcrop-handle.ord-s {
bottom: 0;
left: 50%;
margin-bottom: -4px;
margin-left: -4px;
}
.jcrop-handle.ord-e {
margin-right: -4px;
margin-top: -4px;
right: 0;
top: 50%;
}
.jcrop-handle.ord-w {
left: 0;
margin-left: -4px;
margin-top: -4px;
top: 50%;
}
.jcrop-handle.ord-nw {
left: 0;
margin-left: -4px;
margin-top: -4px;
top: 0;
}
.jcrop-handle.ord-ne {
margin-right: -4px;
margin-top: -4px;
right: 0;
top: 0;
}
.jcrop-handle.ord-se {
bottom: 0;
margin-bottom: -4px;
margin-right: -4px;
right: 0;
}
.jcrop-handle.ord-sw {
bottom: 0;
left: 0;
margin-bottom: -4px;
margin-left: -4px;
}
/* Dragbars */
.jcrop-dragbar.ord-n,
.jcrop-dragbar.ord-s {
height: 7px;
width: 100%;
}
.jcrop-dragbar.ord-e,
.jcrop-dragbar.ord-w {
height: 100%;
width: 7px;
}
.jcrop-dragbar.ord-n {
margin-top: -4px;
}
.jcrop-dragbar.ord-s {
bottom: 0;
margin-bottom: -4px;
}
.jcrop-dragbar.ord-e {
margin-right: -4px;
right: 0;
}
.jcrop-dragbar.ord-w {
margin-left: -4px;
}
/* The "jcrop-light" class/extension */
.jcrop-light .jcrop-vline,
.jcrop-light .jcrop-hline {
background: #ffffff;
filter: alpha(opacity=70) !important;
opacity: .70!important;
}
.jcrop-light .jcrop-handle {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #000000;
border-color: #ffffff;
border-radius: 3px;
}
/* The "jcrop-dark" class/extension */
.jcrop-dark .jcrop-vline,
.jcrop-dark .jcrop-hline {
background: #000000;
filter: alpha(opacity=70) !important;
opacity: 0.7 !important;
}
.jcrop-dark .jcrop-handle {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #ffffff;
border-color: #000000;
border-radius: 3px;
}
/* Simple macro to turn off the antlines */
.solid-line .jcrop-vline,
.solid-line .jcrop-hline {
background: #ffffff;
}
/* Fix for twitter bootstrap et al. */
.jcrop-holder img,
img.jcrop-preview {
max-width: none;
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,22 @@
/**
* jquery.Jcrop.min.js v0.9.12 (build:20130202)
* jQuery Image Cropping Plugin - released under MIT License
* Copyright (c) 2008-2013 Tapmodo Interactive LLC
* https://github.com/tapmodo/Jcrop
*/
(function(a){a.Jcrop=function(b,c){function i(a){return Math.round(a)+"px"}function j(a){return d.baseClass+"-"+a}function k(){return a.fx.step.hasOwnProperty("backgroundColor")}function l(b){var c=a(b).offset();return[c.left,c.top]}function m(a){return[a.pageX-e[0],a.pageY-e[1]]}function n(b){typeof b!="object"&&(b={}),d=a.extend(d,b),a.each(["onChange","onSelect","onRelease","onDblClick"],function(a,b){typeof d[b]!="function"&&(d[b]=function(){})})}function o(a,b,c){e=l(D),bc.setCursor(a==="move"?a:a+"-resize");if(a==="move")return bc.activateHandlers(q(b),v,c);var d=_.getFixed(),f=r(a),g=_.getCorner(r(f));_.setPressed(_.getCorner(f)),_.setCurrent(g),bc.activateHandlers(p(a,d),v,c)}function p(a,b){return function(c){if(!d.aspectRatio)switch(a){case"e":c[1]=b.y2;break;case"w":c[1]=b.y2;break;case"n":c[0]=b.x2;break;case"s":c[0]=b.x2}else switch(a){case"e":c[1]=b.y+1;break;case"w":c[1]=b.y+1;break;case"n":c[0]=b.x+1;break;case"s":c[0]=b.x+1}_.setCurrent(c),bb.update()}}function q(a){var b=a;return bd.watchKeys
(),function(a){_.moveOffset([a[0]-b[0],a[1]-b[1]]),b=a,bb.update()}}function r(a){switch(a){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function s(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(b)),b.stopPropagation(),b.preventDefault(),!1)}}function t(a,b,c){var d=a.width(),e=a.height();d>b&&b>0&&(d=b,e=b/a.width()*a.height()),e>c&&c>0&&(e=c,d=c/a.height()*a.width()),T=a.width()/d,U=a.height()/e,a.width(d).height(e)}function u(a){return{x:a.x*T,y:a.y*U,x2:a.x2*T,y2:a.y2*U,w:a.w*T,h:a.h*U}}function v(a){var b=_.getFixed();b.w>d.minSelect[0]&&b.h>d.minSelect[1]?(bb.enableHandles(),bb.done()):bb.release(),bc.setCursor(d.allowSelect?"crosshair":"default")}function w(a){if(d.disabled)return!1;if(!d.allowSelect)return!1;W=!0,e=l(D),bb.disableHandles(),bc.setCursor("crosshair");var b=m(a);return _.setPressed(b),bb.update(),bc.activateHandlers(x,v,a.type.substring
(0,5)==="touch"),bd.watchKeys(),a.stopPropagation(),a.preventDefault(),!1}function x(a){_.setCurrent(a),bb.update()}function y(){var b=a("<div></div>").addClass(j("tracker"));return g&&b.css({opacity:0,backgroundColor:"white"}),b}function be(a){G.removeClass().addClass(j("holder")).addClass(a)}function bf(a,b){function t(){window.setTimeout(u,l)}var c=a[0]/T,e=a[1]/U,f=a[2]/T,g=a[3]/U;if(X)return;var h=_.flipCoords(c,e,f,g),i=_.getFixed(),j=[i.x,i.y,i.x2,i.y2],k=j,l=d.animationDelay,m=h[0]-j[0],n=h[1]-j[1],o=h[2]-j[2],p=h[3]-j[3],q=0,r=d.swingSpeed;c=k[0],e=k[1],f=k[2],g=k[3],bb.animMode(!0);var s,u=function(){return function(){q+=(100-q)/r,k[0]=Math.round(c+q/100*m),k[1]=Math.round(e+q/100*n),k[2]=Math.round(f+q/100*o),k[3]=Math.round(g+q/100*p),q>=99.8&&(q=100),q<100?(bh(k),t()):(bb.done(),bb.animMode(!1),typeof b=="function"&&b.call(bs))}}();t()}function bg(a){bh([a[0]/T,a[1]/U,a[2]/T,a[3]/U]),d.onSelect.call(bs,u(_.getFixed())),bb.enableHandles()}function bh(a){_.setPressed([a[0],a[1]]),_.setCurrent([a[2],
a[3]]),bb.update()}function bi(){return u(_.getFixed())}function bj(){return _.getFixed()}function bk(a){n(a),br()}function bl(){d.disabled=!0,bb.disableHandles(),bb.setCursor("default"),bc.setCursor("default")}function bm(){d.disabled=!1,br()}function bn(){bb.done(),bc.activateHandlers(null,null)}function bo(){G.remove(),A.show(),A.css("visibility","visible"),a(b).removeData("Jcrop")}function bp(a,b){bb.release(),bl();var c=new Image;c.onload=function(){var e=c.width,f=c.height,g=d.boxWidth,h=d.boxHeight;D.width(e).height(f),D.attr("src",a),H.attr("src",a),t(D,g,h),E=D.width(),F=D.height(),H.width(E).height(F),M.width(E+L*2).height(F+L*2),G.width(E).height(F),ba.resize(E,F),bm(),typeof b=="function"&&b.call(bs)},c.src=a}function bq(a,b,c){var e=b||d.bgColor;d.bgFade&&k()&&d.fadeTime&&!c?a.animate({backgroundColor:e},{queue:!1,duration:d.fadeTime}):a.css("backgroundColor",e)}function br(a){d.allowResize?a?bb.enableOnly():bb.enableHandles():bb.disableHandles(),bc.setCursor(d.allowSelect?"crosshair":"default"),bb
.setCursor(d.allowMove?"move":"default"),d.hasOwnProperty("trueSize")&&(T=d.trueSize[0]/E,U=d.trueSize[1]/F),d.hasOwnProperty("setSelect")&&(bg(d.setSelect),bb.done(),delete d.setSelect),ba.refresh(),d.bgColor!=N&&(bq(d.shade?ba.getShades():G,d.shade?d.shadeColor||d.bgColor:d.bgColor),N=d.bgColor),O!=d.bgOpacity&&(O=d.bgOpacity,d.shade?ba.refresh():bb.setBgOpacity(O)),P=d.maxSize[0]||0,Q=d.maxSize[1]||0,R=d.minSize[0]||0,S=d.minSize[1]||0,d.hasOwnProperty("outerImage")&&(D.attr("src",d.outerImage),delete d.outerImage),bb.refresh()}var d=a.extend({},a.Jcrop.defaults),e,f=navigator.userAgent.toLowerCase(),g=/msie/.test(f),h=/msie [1-6]\./.test(f);typeof b!="object"&&(b=a(b)[0]),typeof c!="object"&&(c={}),n(c);var z={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},A=a(b),B=!0;if(b.tagName=="IMG"){if(A[0].width!=0&&A[0].height!=0)A.width(A[0].width),A.height(A[0].height);else{var C=new Image;C.src=A[0].src,A.width(C.width),A.height(C.height)}var D=A.clone().removeAttr("id").
css(z).show();D.width(A.width()),D.height(A.height()),A.after(D).hide()}else D=A.css(z).show(),B=!1,d.shade===null&&(d.shade=!0);t(D,d.boxWidth,d.boxHeight);var E=D.width(),F=D.height(),G=a("<div />").width(E).height(F).addClass(j("holder")).css({position:"relative",backgroundColor:d.bgColor}).insertAfter(A).append(D);d.addClass&&G.addClass(d.addClass);var H=a("<div />"),I=a("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),J=a("<div />").width("100%").height("100%").css("zIndex",320),K=a("<div />").css({position:"absolute",zIndex:600}).dblclick(function(){var a=_.getFixed();d.onDblClick.call(bs,a)}).insertBefore(D).append(I,J);B&&(H=a("<img />").attr("src",D.attr("src")).css(z).width(E).height(F),I.append(H)),h&&K.css({overflowY:"hidden"});var L=d.boundary,M=y().width(E+L*2).height(F+L*2).css({position:"absolute",top:i(-L),left:i(-L),zIndex:290}).mousedown(w),N=d.bgColor,O=d.bgOpacity,P,Q,R,S,T,U,V=!0,W,X,Y;e=l(D);var Z=function(){function a(){var a={},b=["touchstart"
,"touchmove","touchend"],c=document.createElement("div"),d;try{for(d=0;d<b.length;d++){var e=b[d];e="on"+e;var f=e in c;f||(c.setAttribute(e,"return;"),f=typeof c[e]=="function"),a[b[d]]=f}return a.touchstart&&a.touchend&&a.touchmove}catch(g){return!1}}function b(){return d.touchSupport===!0||d.touchSupport===!1?d.touchSupport:a()}return{createDragger:function(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(Z.cfilter(b)),!0),b.stopPropagation(),b.preventDefault(),!1)}},newSelection:function(a){return w(Z.cfilter(a))},cfilter:function(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,a},isSupported:a,support:b()}}(),_=function(){function h(d){d=n(d),c=a=d[0],e=b=d[1]}function i(a){a=n(a),f=a[0]-c,g=a[1]-e,c=a[0],e=a[1]}function j(){return[f,g]}function k(d){var f=d[0],g=d[1];0>a+f&&(f-=f+a),0>b+g&&(g-=g+b),F<e+g&&(g+=F-(e+g)),E<c+f&&(f+=E-(c+f)),a+=f,c+=f,b+=g,e+=g}function l(a){var b=m();switch(a){case"ne":return[
b.x2,b.y];case"nw":return[b.x,b.y];case"se":return[b.x2,b.y2];case"sw":return[b.x,b.y2]}}function m(){if(!d.aspectRatio)return p();var f=d.aspectRatio,g=d.minSize[0]/T,h=d.maxSize[0]/T,i=d.maxSize[1]/U,j=c-a,k=e-b,l=Math.abs(j),m=Math.abs(k),n=l/m,r,s,t,u;return h===0&&(h=E*10),i===0&&(i=F*10),n<f?(s=e,t=m*f,r=j<0?a-t:t+a,r<0?(r=0,u=Math.abs((r-a)/f),s=k<0?b-u:u+b):r>E&&(r=E,u=Math.abs((r-a)/f),s=k<0?b-u:u+b)):(r=c,u=l/f,s=k<0?b-u:b+u,s<0?(s=0,t=Math.abs((s-b)*f),r=j<0?a-t:t+a):s>F&&(s=F,t=Math.abs(s-b)*f,r=j<0?a-t:t+a)),r>a?(r-a<g?r=a+g:r-a>h&&(r=a+h),s>b?s=b+(r-a)/f:s=b-(r-a)/f):r<a&&(a-r<g?r=a-g:a-r>h&&(r=a-h),s>b?s=b+(a-r)/f:s=b-(a-r)/f),r<0?(a-=r,r=0):r>E&&(a-=r-E,r=E),s<0?(b-=s,s=0):s>F&&(b-=s-F,s=F),q(o(a,b,r,s))}function n(a){return a[0]<0&&(a[0]=0),a[1]<0&&(a[1]=0),a[0]>E&&(a[0]=E),a[1]>F&&(a[1]=F),[Math.round(a[0]),Math.round(a[1])]}function o(a,b,c,d){var e=a,f=c,g=b,h=d;return c<a&&(e=c,f=a),d<b&&(g=d,h=b),[e,g,f,h]}function p(){var d=c-a,f=e-b,g;return P&&Math.abs(d)>P&&(c=d>0?a+P:a-P),Q&&Math.abs
(f)>Q&&(e=f>0?b+Q:b-Q),S/U&&Math.abs(f)<S/U&&(e=f>0?b+S/U:b-S/U),R/T&&Math.abs(d)<R/T&&(c=d>0?a+R/T:a-R/T),a<0&&(c-=a,a-=a),b<0&&(e-=b,b-=b),c<0&&(a-=c,c-=c),e<0&&(b-=e,e-=e),c>E&&(g=c-E,a-=g,c-=g),e>F&&(g=e-F,b-=g,e-=g),a>E&&(g=a-F,e-=g,b-=g),b>F&&(g=b-F,e-=g,b-=g),q(o(a,b,c,e))}function q(a){return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]}}var a=0,b=0,c=0,e=0,f,g;return{flipCoords:o,setPressed:h,setCurrent:i,getOffset:j,moveOffset:k,getCorner:l,getFixed:m}}(),ba=function(){function f(a,b){e.left.css({height:i(b)}),e.right.css({height:i(b)})}function g(){return h(_.getFixed())}function h(a){e.top.css({left:i(a.x),width:i(a.w),height:i(a.y)}),e.bottom.css({top:i(a.y2),left:i(a.x),width:i(a.w),height:i(F-a.y2)}),e.right.css({left:i(a.x2),width:i(E-a.x2)}),e.left.css({width:i(a.x)})}function j(){return a("<div />").css({position:"absolute",backgroundColor:d.shadeColor||d.bgColor}).appendTo(c)}function k(){b||(b=!0,c.insertBefore(D),g(),bb.setBgOpacity(1,0,1),H.hide(),l(d.shadeColor||d.bgColor,1),bb.
isAwake()?n(d.bgOpacity,1):n(1,1))}function l(a,b){bq(p(),a,b)}function m(){b&&(c.remove(),H.show(),b=!1,bb.isAwake()?bb.setBgOpacity(d.bgOpacity,1,1):(bb.setBgOpacity(1,1,1),bb.disableHandles()),bq(G,0,1))}function n(a,e){b&&(d.bgFade&&!e?c.animate({opacity:1-a},{queue:!1,duration:d.fadeTime}):c.css({opacity:1-a}))}function o(){d.shade?k():m(),bb.isAwake()&&n(d.bgOpacity)}function p(){return c.children()}var b=!1,c=a("<div />").css({position:"absolute",zIndex:240,opacity:0}),e={top:j(),left:j().height(F),right:j().height(F),bottom:j()};return{update:g,updateRaw:h,getShades:p,setBgColor:l,enable:k,disable:m,resize:f,refresh:o,opacity:n}}(),bb=function(){function k(b){var c=a("<div />").css({position:"absolute",opacity:d.borderOpacity}).addClass(j(b));return I.append(c),c}function l(b,c){var d=a("<div />").mousedown(s(b)).css({cursor:b+"-resize",position:"absolute",zIndex:c}).addClass("ord-"+b);return Z.support&&d.bind("touchstart.jcrop",Z.createDragger(b)),J.append(d),d}function m(a){var b=d.handleSize,e=l(a,c++
).css({opacity:d.handleOpacity}).addClass(j("handle"));return b&&e.width(b).height(b),e}function n(a){return l(a,c++).addClass("jcrop-dragbar")}function o(a){var b;for(b=0;b<a.length;b++)g[a[b]]=n(a[b])}function p(a){var b,c;for(c=0;c<a.length;c++){switch(a[c]){case"n":b="hline";break;case"s":b="hline bottom";break;case"e":b="vline right";break;case"w":b="vline"}e[a[c]]=k(b)}}function q(a){var b;for(b=0;b<a.length;b++)f[a[b]]=m(a[b])}function r(a,b){d.shade||H.css({top:i(-b),left:i(-a)}),K.css({top:i(b),left:i(a)})}function t(a,b){K.width(Math.round(a)).height(Math.round(b))}function v(){var a=_.getFixed();_.setPressed([a.x,a.y]),_.setCurrent([a.x2,a.y2]),w()}function w(a){if(b)return x(a)}function x(a){var c=_.getFixed();t(c.w,c.h),r(c.x,c.y),d.shade&&ba.updateRaw(c),b||A(),a?d.onSelect.call(bs,u(c)):d.onChange.call(bs,u(c))}function z(a,c,e){if(!b&&!c)return;d.bgFade&&!e?D.animate({opacity:a},{queue:!1,duration:d.fadeTime}):D.css("opacity",a)}function A(){K.show(),d.shade?ba.opacity(O):z(O,!0),b=!0}function B
(){F(),K.hide(),d.shade?ba.opacity(1):z(1),b=!1,d.onRelease.call(bs)}function C(){h&&J.show()}function E(){h=!0;if(d.allowResize)return J.show(),!0}function F(){h=!1,J.hide()}function G(a){a?(X=!0,F()):(X=!1,E())}function L(){G(!1),v()}var b,c=370,e={},f={},g={},h=!1;d.dragEdges&&a.isArray(d.createDragbars)&&o(d.createDragbars),a.isArray(d.createHandles)&&q(d.createHandles),d.drawBorders&&a.isArray(d.createBorders)&&p(d.createBorders),a(document).bind("touchstart.jcrop-ios",function(b){a(b.currentTarget).hasClass("jcrop-tracker")&&b.stopPropagation()});var M=y().mousedown(s("move")).css({cursor:"move",position:"absolute",zIndex:360});return Z.support&&M.bind("touchstart.jcrop",Z.createDragger("move")),I.append(M),F(),{updateVisible:w,update:x,release:B,refresh:v,isAwake:function(){return b},setCursor:function(a){M.css("cursor",a)},enableHandles:E,enableOnly:function(){h=!0},showHandles:C,disableHandles:F,animMode:G,setBgOpacity:z,done:L}}(),bc=function(){function f(b){M.css({zIndex:450}),b?a(document).bind("touchmove.jcrop"
,k).bind("touchend.jcrop",l):e&&a(document).bind("mousemove.jcrop",h).bind("mouseup.jcrop",i)}function g(){M.css({zIndex:290}),a(document).unbind(".jcrop")}function h(a){return b(m(a)),!1}function i(a){return a.preventDefault(),a.stopPropagation(),W&&(W=!1,c(m(a)),bb.isAwake()&&d.onSelect.call(bs,u(_.getFixed())),g(),b=function(){},c=function(){}),!1}function j(a,d,e){return W=!0,b=a,c=d,f(e),!1}function k(a){return b(m(Z.cfilter(a))),!1}function l(a){return i(Z.cfilter(a))}function n(a){M.css("cursor",a)}var b=function(){},c=function(){},e=d.trackDocument;return e||M.mousemove(h).mouseup(i).mouseout(i),D.before(M),{activateHandlers:j,setCursor:n}}(),bd=function(){function e(){d.keySupport&&(b.show(),b.focus())}function f(a){b.hide()}function g(a,b,c){d.allowMove&&(_.moveOffset([b,c]),bb.updateVisible(!0)),a.preventDefault(),a.stopPropagation()}function i(a){if(a.ctrlKey||a.metaKey)return!0;Y=a.shiftKey?!0:!1;var b=Y?10:1;switch(a.keyCode){case 37:g(a,-b,0);break;case 39:g(a,b,0);break;case 38:g(a,0,-b);break;
case 40:g(a,0,b);break;case 27:d.allowSelect&&bb.release();break;case 9:return!0}return!1}var b=a('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}).addClass("jcrop-keymgr"),c=a("<div />").css({position:"absolute",overflow:"hidden"}).append(b);return d.keySupport&&(b.keydown(i).blur(f),h||!d.fixedSupport?(b.css({position:"absolute",left:"-20px"}),c.append(b).insertBefore(D)):b.insertBefore(D)),{watchKeys:e}}();Z.support&&M.bind("touchstart.jcrop",Z.newSelection),J.hide(),br(!0);var bs={setImage:bp,animateTo:bf,setSelect:bg,setOptions:bk,tellSelect:bi,tellScaled:bj,setClass:be,disable:bl,enable:bm,cancel:bn,release:bb.release,destroy:bo,focus:bd.watchKeys,getBounds:function(){return[E*T,F*U]},getWidgetSize:function(){return[E,F]},getScaleFactor:function(){return[T,U]},getOptions:function(){return d},ui:{holder:G,selection:K}};return g&&G.bind("selectstart",function(){return!1}),A.data("Jcrop",bs),bs},a.fn.Jcrop=function(b,c){var d;return this.each(function(){if(a(this).data("Jcrop")){if(
b==="api")return a(this).data("Jcrop");a(this).data("Jcrop").setOptions(b)}else this.tagName=="IMG"?a.Jcrop.Loader(this,function(){a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d)}):(a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d))}),this},a.Jcrop.Loader=function(b,c,d){function g(){f.complete?(e.unbind(".jcloader"),a.isFunction(c)&&c.call(f)):window.setTimeout(g,50)}var e=a(b),f=e[0];e.bind("load.jcloader",g).bind("error.jcloader",function(b){e.unbind(".jcloader"),a.isFunction(d)&&d.call(f)}),f.complete&&a.isFunction(c)&&(e.unbind(".jcloader"),c.call(f))},a.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:null,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges
:!0,fixedSupport:!0,touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}})(jQuery);
@@ -0,0 +1,342 @@
/**!
* project-site: http://plugins.jquery.com/project/AjaxManager
* repository: http://github.com/aFarkas/Ajaxmanager
* @author Alexander Farkas
* @version 3.12
* Copyright 2010, Alexander Farkas
* Dual licensed under the MIT or GPL Version 2 licenses.
*/
(function($){
"use strict";
var managed = {},
cache = {}
;
$.manageAjax = (function(){
function create(name, opts){
managed[name] = new $.manageAjax._manager(name, opts);
return managed[name];
}
function destroy(name){
if(managed[name]){
managed[name].clear(true);
delete managed[name];
}
}
var publicFns = {
create: create,
destroy: destroy
};
return publicFns;
})();
$.manageAjax._manager = function(name, opts){
this.requests = {};
this.inProgress = 0;
this.name = name;
this.qName = name;
this.opts = $.extend({}, $.manageAjax.defaults, opts);
if(opts && opts.queue && opts.queue !== true && typeof opts.queue === 'string' && opts.queue !== 'clear'){
this.qName = opts.queue;
}
};
$.manageAjax._manager.prototype = {
add: function(url, o){
if(typeof url == 'object'){
o = url;
} else if(typeof url == 'string'){
o = $.extend(o || {}, {url: url});
}
o = $.extend({}, this.opts, o);
var origCom = o.complete || $.noop,
origSuc = o.success || $.noop,
beforeSend = o.beforeSend || $.noop,
origError = o.error || $.noop,
strData = (typeof o.data == 'string') ? o.data : $.param(o.data || {}),
xhrID = o.type + o.url + strData,
that = this,
ajaxFn = this._createAjax(xhrID, o, origSuc, origCom)
;
if(o.preventDoubleRequests && o.queueDuplicateRequests){
if(o.preventDoubleRequests){
o.queueDuplicateRequests = false;
}
setTimeout(function(){
throw("preventDoubleRequests and queueDuplicateRequests can't be both true");
}, 0);
}
if(this.requests[xhrID] && o.preventDoubleRequests){
return;
}
ajaxFn.xhrID = xhrID;
o.xhrID = xhrID;
o.beforeSend = function(xhr, opts){
var ret = beforeSend.call(this, xhr, opts);
if(ret === false){
that._removeXHR(xhrID);
}
xhr = null;
return ret;
};
o.complete = function(xhr, status){
that._complete.call(that, this, origCom, xhr, status, xhrID, o);
xhr = null;
};
o.success = function(data, status, xhr){
that._success.call(that, this, origSuc, data, status, xhr, o);
xhr = null;
};
//always add some error callback
o.error = function(ahr, status, errorStr){
var httpStatus = '',
content = ''
;
if(status !== 'timeout' && ahr){
httpStatus = ahr.status;
content = ahr.responseXML || ahr.responseText;
}
if(origError) {
origError.call(this, ahr, status, errorStr, o);
} else {
setTimeout(function(){
throw status + '| status: ' + httpStatus + ' | URL: ' + o.url + ' | data: '+ strData + ' | thrown: '+ errorStr + ' | response: '+ content;
}, 0);
}
ahr = null;
};
if(o.queue === 'clear'){
$(document).clearQueue(this.qName);
}
if(o.queue || (o.queueDuplicateRequests && this.requests[xhrID])){
$.queue(document, this.qName, ajaxFn);
if(this.inProgress < o.maxRequests && (!this.requests[xhrID] || !o.queueDuplicateRequests)){
$.dequeue(document, this.qName);
}
return xhrID;
}
return ajaxFn();
},
_createAjax: function(id, o, origSuc, origCom){
var that = this;
return function(){
if(o.beforeCreate.call(o.context || that, id, o) === false){return;}
that.inProgress++;
if(that.inProgress === 1){
$.event.trigger(that.name +'AjaxStart');
}
if(o.cacheResponse && cache[id]){
if(!cache[id].cacheTTL || cache[id].cacheTTL < 0 || ((new Date().getTime() - cache[id].timestamp) < cache[id].cacheTTL)){
that.requests[id] = {};
setTimeout(function(){
that._success.call(that, o.context || o, origSuc, cache[id]._successData, 'success', cache[id], o);
that._complete.call(that, o.context || o, origCom, cache[id], 'success', id, o);
}, 0);
} else {
delete cache[id];
}
}
if(!o.cacheResponse || !cache[id]) {
if (o.async) {
that.requests[id] = $.ajax(o);
} else {
$.ajax(o);
}
}
return id;
};
},
_removeXHR: function(xhrID){
if(this.opts.queue || this.opts.queueDuplicateRequests){
$.dequeue(document, this.qName);
}
this.inProgress--;
this.requests[xhrID] = null;
delete this.requests[xhrID];
},
clearCache: function () {
cache = {};
},
_isAbort: function(xhr, status, o){
if(!o.abortIsNoSuccess || (!xhr && !status)){
return false;
}
var ret = !!( ( !xhr || xhr.readyState === 0 || this.lastAbort === o.xhrID ) );
xhr = null;
return ret;
},
_complete: function(context, origFn, xhr, status, xhrID, o){
if(this._isAbort(xhr, status, o)){
status = 'abort';
o.abort.call(context, xhr, status, o);
}
origFn.call(context, xhr, status, o);
$.event.trigger(this.name +'AjaxComplete', [xhr, status, o]);
if(o.domCompleteTrigger){
$(o.domCompleteTrigger)
.trigger(this.name +'DOMComplete', [xhr, status, o])
.trigger('DOMComplete', [xhr, status, o])
;
}
this._removeXHR(xhrID);
if(!this.inProgress){
$.event.trigger(this.name +'AjaxStop');
}
xhr = null;
},
_success: function(context, origFn, data, status, xhr, o){
var that = this;
if(this._isAbort(xhr, status, o)){
xhr = null;
return;
}
if(o.abortOld){
$.each(this.requests, function(name){
if(name === o.xhrID){
return false;
}
that.abort(name);
});
}
if(o.cacheResponse && !cache[o.xhrID]){
if(!xhr){
xhr = {};
}
cache[o.xhrID] = {
status: xhr.status,
statusText: xhr.statusText,
responseText: xhr.responseText,
responseXML: xhr.responseXML,
_successData: data,
cacheTTL: o.cacheTTL,
timestamp: new Date().getTime()
};
if('getAllResponseHeaders' in xhr){
var responseHeaders = xhr.getAllResponseHeaders();
var parsedHeaders;
var parseHeaders = function(){
if(parsedHeaders){return;}
parsedHeaders = {};
$.each(responseHeaders.split("\n"), function(i, headerLine){
var delimiter = headerLine.indexOf(":");
parsedHeaders[headerLine.substr(0, delimiter)] = headerLine.substr(delimiter + 2);
});
};
$.extend(cache[o.xhrID], {
getAllResponseHeaders: function() {return responseHeaders;},
getResponseHeader: function(name) {
parseHeaders();
return (name in parsedHeaders) ? parsedHeaders[name] : null;
}
});
}
}
origFn.call(context, data, status, xhr, o);
$.event.trigger(this.name +'AjaxSuccess', [xhr, o, data]);
if(o.domSuccessTrigger){
$(o.domSuccessTrigger)
.trigger(this.name +'DOMSuccess', [data, o])
.trigger('DOMSuccess', [data, o])
;
}
xhr = null;
},
getData: function(id){
if( id ){
var ret = this.requests[id];
if(!ret && this.opts.queue) {
ret = $.grep($(document).queue(this.qName), function(fn, i){
return (fn.xhrID === id);
})[0];
}
return ret;
}
return {
requests: this.requests,
queue: (this.opts.queue) ? $(document).queue(this.qName) : [],
inProgress: this.inProgress
};
},
abort: function(id){
var xhr;
if(id){
xhr = this.getData(id);
if(xhr && xhr.abort){
this.lastAbort = id;
xhr.abort();
this.lastAbort = false;
} else {
$(document).queue(
this.qName, $.grep($(document).queue(this.qName), function(fn, i){
return (fn !== xhr);
})
);
}
xhr = null;
return;
}
var that = this,
ids = []
;
$.each(this.requests, function(id){
ids.push(id);
});
$.each(ids, function(i, id){
that.abort(id);
});
},
clear: function(shouldAbort){
$(document).clearQueue(this.qName);
if(shouldAbort){
this.abort();
}
}
};
$.manageAjax._manager.prototype.getXHR = $.manageAjax._manager.prototype.getData;
$.manageAjax.defaults = {
beforeCreate: $.noop,
abort: $.noop,
abortIsNoSuccess: true,
maxRequests: 1,
cacheResponse: false,
async: true,
domCompleteTrigger: false,
domSuccessTrigger: false,
preventDoubleRequests: true,
queueDuplicateRequests: false,
cacheTTL: -1,
queue: false // true, false, clear
};
$.each($.manageAjax._manager.prototype, function(n, fn){
if(n.indexOf('_') === 0 || !$.isFunction(fn)){return;}
$.manageAjax[n] = function(name, o){
if(!managed[name]){
if(n === 'add'){
$.manageAjax.create(name, o);
} else {
return;
}
}
var args = Array.prototype.slice.call(arguments, 1);
managed[name][n].apply(managed[name], args);
};
});
})(jQuery);
@@ -0,0 +1,47 @@
(function($) {
/*
* Auto-growing textareas; technique ripped from Facebook
*/
$.fn.autogrow = function(options) {
this.filter('textarea').each(function() {
var $this = $(this),
minHeight = $this.height(),
lineHeight = $this.css('lineHeight');
var shadow = $('<div></div>').css({
position: 'absolute',
top: -10000,
left: -10000,
width: $(this).width(),
fontSize: $this.css('fontSize'),
fontFamily: $this.css('fontFamily'),
lineHeight: $this.css('lineHeight'),
resize: 'none'
}).appendTo(document.body);
var update = function() {
var val = this.value.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/&/g, '&amp;')
.replace(/\n/g, '<br/>');
shadow.html(val);
$(this).css('height', Math.max(shadow.height() + 20, minHeight));
}
$(this).change(update).keyup(update).keydown(update);
update.apply(this);
});
return this;
}
})(jQuery);
@@ -0,0 +1,872 @@
/*!
* jQuery clueTip plugin v1.2.6
*
* Date: Sun Sep 09 22:07:58 2012 EDT
* Requires: jQuery v1.3+
*
* Copyright 2012, Karl Swedberg
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*
* Examples can be found at http://plugins.learningjquery.com/cluetip/demo/
*
*/
(function($) {
$.cluetip = {
version: '1.2.6',
// the HTML that will be used for the tooltip
template: ['<div>',
'<div class="cluetip-outer">',
'<h3 class="cluetip-title ui-widget-header ui-cluetip-header"></h3>',
'<div class="cluetip-inner ui-widget-content ui-cluetip-content"></div>',
'</div>',
'<div class="cluetip-extra"></div>',
'</div>'].join(''),
/* clueTip setup
* the setup options are applied each time .cluetip() is called,
* BUT only if <div id="cluetip"> is not already in the document
*/
setup: {
// method to be used for inserting the clueTip into the DOM.
// Permitted values are 'appendTo', 'prependTo', 'insertBefore', and 'insertAfter'
insertionType: 'appendTo',
// element in the DOM the plugin will reference when inserting the clueTip.
insertionElement: 'body'
},
/*
* clueTip options
*
* each one can be explicitly overridden by changing its value.
* for example: $.cluetip.defaults.width = 200;
* or: $.fn.cluetip.defaults.width = 200; // for compatibility with previous clueTip versions
* would change the default width for all clueTips to 200.
*
* each one can also be overridden by passing an options map to the cluetip method.
* for example: $('a.example').cluetip({width: 200});
* would change the default width to 200 for clueTips invoked by a link with class of "example"
*
*/
defaults: {
multiple: false, // Allow a new tooltip to be created for each .cluetip() call
width: 275, // The width of the clueTip
height: 'auto', // The height of the clueTip
cluezIndex: 97, // Sets the z-index style property of the clueTip
positionBy: 'auto', // Sets the type of positioning: 'auto', 'mouse','bottomTop', 'topBottom', fixed'
topOffset: 15, // Number of px to offset clueTip from top of invoking element
leftOffset: 15, // Number of px to offset clueTip from left of invoking element
snapToEdge: false, // For bottomTop and topBottom, snap to the top or bottom of the element.
local: false, // Whether to use content from the same page for the clueTip's body
localPrefix: null, // string to be prepended to the tip attribute if local is true
localIdSuffix: null, // string to be appended to the cluetip content element's id if local is true
hideLocal: true, // If local option is set to true, this determines whether local content
// to be shown in clueTip should be hidden at its original location
attribute: 'rel', // the attribute to be used for fetching the clueTip's body content
titleAttribute: 'title', // the attribute to be used for fetching the clueTip's title
splitTitle: '', // A character used to split the title attribute into the clueTip title and divs
// within the clueTip body. more info below [6]
escapeTitle: false, // whether to html escape the title attribute
showTitle: true, // show title bar of the clueTip, even if title attribute not set
cluetipClass: 'default',// class added to outermost clueTip div in the form of 'cluetip-' + clueTipClass.
hoverClass: '', // class applied to the invoking element onmouseover and removed onmouseout
waitImage: true, // whether to show a "loading" img, which is set in jquery.cluetip.css
cursor: 'help',
arrows: false, // if true, displays arrow on appropriate side of clueTip
dropShadow: true, // set to false if you don't want the drop-shadow effect on the clueTip
dropShadowSteps: 6, // adjusts the size of the drop shadow
sticky: false, // keep visible until manually closed
mouseOutClose: false, // close when clueTip is moused out: false, 'cluetip', 'link', 'both'
delayedClose: 50, // close clueTip on a timed delay
activation: 'hover', // set to 'click' to force user to click to show clueTip
// set to 'focus' to show on focus of a form element and hide on blur
clickThrough: true, // if true, and activation is not 'click', then clicking on link will take user to the link's href,
// even if href and tipAttribute are equal
tracking: false, // if true, clueTip will track mouse movement (experimental)
closePosition: 'top', // location of close text for sticky cluetips; can be 'top', 'bottom', 'title' or 'none'
closeText: 'Close', // text (or HTML) to to be clicked to close sticky clueTips
truncate: 0, // number of characters to truncate clueTip's contents. if 0, no truncation occurs
// effect and speed for opening clueTips
fx: {
open: 'show', // can be 'show' or 'slideDown' or 'fadeIn'
openSpeed: ''
},
// settings for when hoverIntent plugin is used
hoverIntent: {
sensitivity: 3,
interval: 50,
timeout: 0
},
// short-circuit function to run just before clueTip is shown.
onActivate: function(e) {return true;},
// function to run just after clueTip is shown.
onShow: function(ct, ci){},
// function to run just after clueTip is hidden.
onHide: function(ct, ci){},
// whether to cache results of ajax request to avoid unnecessary hits to server
ajaxCache: true,
// process data retrieved via xhr before it's displayed
ajaxProcess: function(data) {
data = data.replace(/<(script|style|title)[^<]+<\/(script|style|title)>/gm, '').replace(/<(link|meta)[^>]+>/g,'');
return data;
},
// can pass in standard $.ajax() parameters. Callback functions, such as beforeSend,
// will be queued first within the default callbacks.
// The only exception is error, which overrides the default
ajaxSettings: {
// error: function(ct, ci) { /* override default error callback */ },
// beforeSend: function(ct, ci) { /* called first within default beforeSend callback */ },
dataType: 'html'
},
debug: false
}
};
var $cluetipWait,
standardClasses = 'cluetip ui-widget ui-widget-content ui-cluetip',
caches = {},
counter = 0,
imgCount = 0;
// use $.fn.prop() if available (jQuery 1.6+); otherwise, $.fn.attr()
$.fn.attrProp = $.fn.prop || $.fn.attr;
// .cluetip() method
$.fn.cluetip = function(js, options) {
var $cluetip, $cluetipInner, $cluetipOuter, $cluetipTitle, $cluetipArrows, $dropShadow;
if (typeof js == 'object') {
options = js;
js = null;
}
if (js == 'destroy') {
var data = this.data('cluetip');
if ( data ) {
$(data.selector).remove();
$.removeData(this, 'title');
$.removeData(this, 'cluetip');
$.removeData(this, 'cluetipMoc');
}
$(document).unbind('.cluetip');
return this.unbind('.cluetip');
}
// merge per-call options with defaults
options = $.extend(true, {}, $.cluetip.defaults, options || {});
/** =create cluetip divs **/
counter++;
var cluezIndex,
cluetipId = $.cluetip.backCompat || !options.multiple ? 'cluetip' : 'cluetip-' + counter,
cluetipSelector = '#' + cluetipId,
prefix = $.cluetip.backCompat ? '#' : '.',
insertionType = $.cluetip.setup.insertionType,
insertionElement = $.cluetip.setup.insertionElement || 'body';
insertionType = (/appendTo|prependTo|insertBefore|insertAfter/).test(insertionType) ? insertionType : 'appendTo';
$cluetip = $(cluetipSelector);
if (!$cluetip.length) {
$cluetip = $($.cluetip.template)
[insertionType](insertionElement)
.attr('id', cluetipId)
.css({position: 'absolute', display: 'none'});
cluezIndex = +options.cluezIndex;
$cluetipOuter = $cluetip.find(prefix + 'cluetip-outer').css({position: 'relative', zIndex: cluezIndex});
$cluetipInner = $cluetip.find(prefix + 'cluetip-inner');
$cluetipTitle = $cluetip.find(prefix + 'cluetip-title');
$cluetip.bind('mouseenter mouseleave', function(event) {
$(this).data('entered', event.type === 'mouseenter');
});
}
$cluetipWait = $('#cluetip-waitimage');
if (!$cluetipWait.length && options.waitImage) {
$cluetipWait = $('<div></div>').attr('id', 'cluetip-waitimage').css({position: 'absolute'});
$cluetipWait.insertBefore($cluetip).hide();
}
var cluetipPadding = (parseInt($cluetip.css('paddingLeft'), 10) || 0) + (parseInt($cluetip.css('paddingRight'), 10) || 0);
this.each(function(index) {
var link = this,
$link = $(this),
// support metadata plugin (v1.0 and 2.0)
opts = $.extend(true, {}, options, $.metadata ? $link.metadata() : $.meta ? $link.data() : $link.data('cluetip') || {}),
// start out with no contents (for ajax activation)
cluetipContents = false,
isActive = false,
closeOnDelay = null,
tipAttribute = opts[opts.attribute] ||
( opts.attribute == 'href' ? $link.attr(opts.attribute) : $link.attrProp(opts.attribute) || $link.attr(opts.attribute) ),
ctClass = opts.cluetipClass;
cluezIndex = +opts.cluezIndex;
$link.data('cluetip', {title: link.title, zIndex: cluezIndex, selector: cluetipSelector});
if (opts.arrows && !$cluetip.find('.cluetip-arrows').length) {
$cluetip.append('<div class="cluetip-arrows ui-state-default"></div>');
}
if (!tipAttribute && !opts.splitTitle && !js) {
return true;
}
// if hideLocal is set to true, on DOM ready hide the local content that will be displayed in the clueTip
if (opts.local && opts.localPrefix) {tipAttribute = opts.localPrefix + tipAttribute;}
if (opts.local && opts.hideLocal && tipAttribute) { $(tipAttribute + ':first').hide(); }
var tOffset = parseInt(opts.topOffset, 10), lOffset = parseInt(opts.leftOffset, 10);
// vertical measurement variables
var tipHeight, wHeight,
defHeight = isNaN(parseInt(opts.height, 10)) ? 'auto' : (/\D/g).test(opts.height) ? opts.height : opts.height + 'px';
var sTop, linkTop, linkBottom, posY, tipY, mouseY, baseline;
// horizontal measurement variables
var tipInnerWidth = parseInt(opts.width, 10) || 275,
tipWidth = tipInnerWidth + cluetipPadding + opts.dropShadowSteps,
linkWidth = this.offsetWidth,
linkLeft, posX, tipX, mouseX, winWidth;
// parse the title
var tipParts;
var tipTitle = (opts.attribute != 'title') ? $link.attrProp(opts.titleAttribute) || '' : '';
if (opts.splitTitle) {
tipParts = tipTitle.split(opts.splitTitle);
tipTitle = opts.showTitle || tipParts[0] === '' ? tipParts.shift() : '';
}
if (opts.escapeTitle) {
tipTitle = tipTitle.replace(/&/g,'&amp;').replace(/>/g,'&gt;').replace(/</g,'&lt;');
}
var localContent;
function returnFalse() { return false; }
// Keep track of mouse entered state on link
$link.bind('mouseenter mouseleave', function(event) {
var data = $link.data('cluetip');
data.entered = event.type === 'entered';
$link.data('cluetip', data);
});
/***************************************
* ACTIVATION
****************************************/
//activate clueTip
var activate = function(event) {
var pY, ajaxMergedSettings, cacheKey,
continueOn = opts.onActivate.call(link, event);
if (continueOn === false) {
return false;
}
isActive = true;
// activate function may get called after an initialization of a
// different target so need to re-get the Correct Cluetip object here
$cluetip = $(cluetipSelector).css({position: 'absolute'});
$cluetipOuter = $cluetip.find(prefix + 'cluetip-outer');
$cluetipInner = $cluetip.find(prefix + 'cluetip-inner');
$cluetipTitle = $cluetip.find(prefix + 'cluetip-title');
$cluetipArrows = $cluetip.find(prefix + 'cluetip-arrows');
$cluetip.removeClass().css({width: tipInnerWidth});
if (tipAttribute == $link.attr('href')) {
$link.css('cursor', opts.cursor);
}
if (opts.hoverClass) {
$link.addClass(opts.hoverClass);
}
linkTop = posY = $link.offset().top;
linkBottom = linkTop + $link.innerHeight();
linkLeft = $link.offset().left;
// FIX: (bug 4412)
linkWidth = $link.innerWidth();
if ( event.type == focus ) {
// in focus event, no mouse position is available; this is needed with bottomTop:
mouseX = linkLeft + ( linkWidth / 2 ) + lOffset;
$cluetip.css({left: posX});
mouseY = posY + tOffset;
} else {
mouseX = event.pageX;
mouseY = event.pageY;
}
//END OF FIX
if (link.tagName.toLowerCase() != 'area') {
sTop = $(document).scrollTop();
winWidth = $(window).width();
}
// position clueTip horizontally
if (opts.positionBy == 'fixed') {
posX = linkWidth + linkLeft + lOffset;
$cluetip.css({left: posX});
} else {
posX = (linkWidth > linkLeft && linkLeft > tipWidth) ||
linkLeft + linkWidth + tipWidth + lOffset > winWidth ?
linkLeft - tipWidth - lOffset :
linkWidth + linkLeft + lOffset;
if (link.tagName.toLowerCase() == 'area' || opts.positionBy == 'mouse' || linkWidth + tipWidth > winWidth) { // position by mouse
if (mouseX + 20 + tipWidth > winWidth) {
$cluetip.addClass('cluetip-' + ctClass);
posX = (mouseX - tipWidth - lOffset) >= 0 ? mouseX - tipWidth - lOffset - parseInt($cluetip.css('marginLeft'),10) + parseInt($cluetipInner.css('marginRight'),10) : mouseX - (tipWidth/2);
} else {
posX = mouseX + lOffset;
}
}
pY = posX < 0 ? event.pageY + tOffset : event.pageY;
if (posX < 0 || opts.positionBy == 'bottomTop' || opts.positionBy == 'topBottom') {
posX = (mouseX + (tipWidth/2) > winWidth) ? winWidth/2 - tipWidth/2 : Math.max(mouseX - (tipWidth/2),0);
}
}
$cluetipArrows.css({zIndex: $link.data('cluetip').zIndex+1});
$cluetip.css({
left: posX,
zIndex: $link.data('cluetip').zIndex
});
wHeight = $(window).height();
/***************************************
* load a string from cluetip method's first argument
***************************************/
if (js) {
if (typeof js == 'function') {
js = js.call(link);
}
$cluetipInner.html(js);
cluetipShow(pY);
}
/***************************************
* load the title attribute only (or user-selected attribute).
* clueTip title is the string before the first delimiter
* subsequent delimiters place clueTip body text on separate lines
***************************************/
else if (tipParts) {
var tpl = tipParts.length;
$cluetipInner.html(tpl ? tipParts[0] : '');
if (tpl > 1) {
for (var i=1; i < tpl; i++){
$cluetipInner.append('<div class="split-body">' + tipParts[i] + '</div>');
}
}
cluetipShow(pY);
}
/***************************************
* load external file via ajax
***************************************/
else if ( !opts.local && tipAttribute.indexOf('#') !== 0 ) {
if (/\.(jpe?g|tiff?|gif|png)(?:\?.*)?$/i.test(tipAttribute)) {
$cluetipInner.html('<img src="' + tipAttribute + '" alt="' + tipTitle + '" />');
cluetipShow(pY);
} else {
var optionBeforeSend = opts.ajaxSettings.beforeSend,
optionError = opts.ajaxSettings.error,
optionSuccess = opts.ajaxSettings.success,
optionComplete = opts.ajaxSettings.complete;
cacheKey = getCacheKey(tipAttribute, opts.ajaxSettings.data);
var ajaxSettings = {
cache: opts.ajaxCache, // force requested page not to be cached by browser
url: tipAttribute,
beforeSend: function(xhr, settings) {
if (optionBeforeSend) {optionBeforeSend.call(link, xhr, $cluetip, $cluetipInner, settings);}
$cluetipOuter.children().empty();
if (opts.waitImage) {
$cluetipWait
.css({top: mouseY+20, left: mouseX+20, zIndex: $link.data('cluetip').zIndex-1})
.show();
}
},
error: function(xhr, textStatus) {
if ( options.ajaxCache && !caches[cacheKey] ) {
caches[cacheKey] = {status: 'error', textStatus: textStatus, xhr: xhr};
}
if (isActive) {
if (optionError) {
optionError.call(link, xhr, textStatus, $cluetip, $cluetipInner);
} else {
$cluetipInner.html('<i>sorry, the contents could not be loaded</i>');
}
}
},
success: function(data, textStatus, xhr) {
if ( options.ajaxCache && !caches[cacheKey] ) {
caches[cacheKey] = {status: 'success', data: data, textStatus: textStatus, xhr: xhr};
}
cluetipContents = opts.ajaxProcess.call(link, data);
// allow for changing the title based on data returned by xhr
if ( typeof cluetipContents == 'object' && cluetipContents !== null ) {
tipTitle = cluetipContents.title;
cluetipContents = cluetipContents.content;
}
if (isActive) {
if (optionSuccess) {
optionSuccess.call(link, data, textStatus, $cluetip, $cluetipInner);
}
$cluetipInner.html(cluetipContents);
}
},
complete: function(xhr, textStatus) {
if (optionComplete) {
optionComplete.call(link, xhr, textStatus, $cluetip, $cluetipInner);
}
var imgs = $cluetipInner[0].getElementsByTagName('img');
imgCount = imgs.length;
for (var i=0, l = imgs.length; i < l; i++) {
if (imgs[i].complete) {
imgCount--;
}
}
if (imgCount && !$.browser.opera) {
$(imgs).bind('load.ct error.ct', function() {
imgCount--;
if (imgCount === 0) {
$cluetipWait.hide();
$(imgs).unbind('.ct');
if (isActive) { cluetipShow(pY); }
}
});
} else {
$cluetipWait.hide();
if (isActive) { cluetipShow(pY); }
}
}
};
ajaxMergedSettings = $.extend(true, {}, opts.ajaxSettings, ajaxSettings);
if ( caches[cacheKey] ) {
cachedAjax( caches[cacheKey], ajaxMergedSettings );
} else {
$.ajax(ajaxMergedSettings);
}
}
}
/***************************************
* load an element from the same page
***************************************/
else if (opts.local) {
var $localContent = $(tipAttribute + (/^#\S+$/.test(tipAttribute) ? '' : ':eq(' + index + ')')).clone(true).show();
if (opts.localIdSuffix) {
$localContent.attr('id', $localContent[0].id + opts.localIdSuffix);
}
$cluetipInner.html($localContent);
cluetipShow(pY);
}
};
// get dimensions and options for cluetip and prepare it to be shown
var cluetipShow = function(bpY) {
var $closeLink, dynamicClasses, heightDiff,
titleHTML = tipTitle || opts.showTitle && '&nbsp;',
bgY = '', direction = '', insufficientX = false;
var stickyClose = {
bottom: function($cLink) {
$cLink.appendTo($cluetipInner);
},
top: function($cLink) {
$cLink.prependTo($cluetipInner);
},
title: function($cLink) {
$cLink.prependTo($cluetipTitle);
}
};
$cluetip.addClass('cluetip-' + ctClass);
if (opts.truncate) {
var $truncloaded = $cluetipInner.text().slice(0,opts.truncate) + '...';
$cluetipInner.html($truncloaded);
}
if (titleHTML) {
$cluetipTitle.show().html(titleHTML);
} else {
$cluetipTitle.hide();
}
if (opts.sticky) {
if (stickyClose[opts.closePosition]) {
$closeLink = $('<div class="cluetip-close"><a href="#">' + opts.closeText + '</a></div>');
stickyClose[opts.closePosition]( $closeLink );
$closeLink.bind('click.cluetip', function() {
cluetipClose();
return false;
});
}
if (opts.mouseOutClose) {
$link.unbind('mouseleave.cluetipMoc');
$cluetip.unbind('mouseleave.cluetipMoc');
if (opts.mouseOutClose == 'both' || opts.mouseOutClose == 'cluetip' || opts.mouseOutClose === true) { // true implies 'cluetip' for backwards compatability
$cluetip.bind('mouseleave.cluetipMoc', mouseOutClose);
}
if (opts.mouseOutClose == 'both' || opts.mouseOutClose == 'link') {
$link.bind('mouseleave.cluetipMoc', mouseOutClose);
}
}
}
// now that content is loaded, finish the positioning
$cluetipOuter.css({zIndex: $link.data('cluetip').zIndex, overflow: defHeight == 'auto' ? 'visible' : 'auto', height: defHeight});
tipHeight = defHeight == 'auto' ? Math.max($cluetip.outerHeight(),$cluetip.height()) : parseInt(defHeight,10);
tipY = posY;
baseline = sTop + wHeight;
insufficientX = (posX < mouseX && (Math.max(posX, 0) + tipWidth > mouseX));
if (opts.positionBy == 'fixed') {
tipY = posY - opts.dropShadowSteps + tOffset;
} else if (opts.positionBy == 'topBottom' || opts.positionBy == 'bottomTop' || insufficientX) {
if (opts.positionBy == 'topBottom') {
if (posY + tipHeight + tOffset < baseline && mouseY - sTop < tipHeight + tOffset) {
direction = 'bottom';
} else {
direction = 'top';
}
} else if (opts.positionBy == 'bottomTop' || insufficientX) {
if (posY + tipHeight + tOffset > baseline && mouseY - sTop > tipHeight + tOffset) {
direction = 'top';
} else {
direction = 'bottom';
}
}
// We should now have a direction. Compute tipY
if (opts.snapToEdge) {
if (direction == 'top') {
tipY = linkTop - tipHeight - tOffset;
} else if (direction == 'bottom') {
tipY = linkBottom + tOffset;
}
} else {
if (direction == 'top') {
tipY = mouseY - tipHeight - tOffset;
} else if (direction == 'bottom') {
tipY = mouseY + tOffset;
}
}
} else if ( posY + tipHeight + tOffset > baseline ) {
tipY = (tipHeight >= wHeight) ? sTop : baseline - tipHeight - tOffset;
} else if ($link.css('display') == 'block' || link.tagName.toLowerCase() == 'area' || opts.positionBy == "mouse") {
tipY = bpY - tOffset;
} else {
tipY = posY - opts.dropShadowSteps;
}
if (direction === '') {
direction = posX < linkLeft ? 'left' : 'right';
}
// add classes
dynamicClasses = ' clue-' + direction + '-' + ctClass + ' cluetip-' + ctClass;
if (ctClass == 'rounded') {
dynamicClasses += ' ui-corner-all';
}
$cluetip.css({top: tipY + 'px'}).attrProp({'className': standardClasses + dynamicClasses});
// set up arrow positioning to align with element
if (opts.arrows) {
if ( /(left|right)/.test(direction) ) {
heightDiff = $cluetip.height() - $cluetipArrows.height();
bgY = posX >= 0 && bpY > 0 ? (posY - tipY - opts.dropShadowSteps) : 0;
bgY = heightDiff > bgY ? bgY : heightDiff;
bgY += 'px';
}
$cluetipArrows.css({top: bgY}).show();
} else {
$cluetipArrows.hide();
}
// (first hide, then) ***SHOW THE CLUETIP***
// handle dropshadow divs first
$dropShadow = createDropShadows($cluetip, opts);
if ($dropShadow && $dropShadow.length) {
$dropShadow.hide().css({height: tipHeight, width: tipInnerWidth, zIndex: $link.data('cluetip').zIndex-1}).show();
}
if (!closeOnDelay) {
$cluetip.hide();
}
clearTimeout(closeOnDelay);
closeOnDelay = null;
// show the cluetip
$cluetip[opts.fx.open](opts.fx.openSpeed || 0);
if ($.fn.bgiframe) { $cluetip.bgiframe(); }
// trigger the optional onShow function
opts.onShow.call(link, $cluetip, $cluetipInner);
};
/***************************************
=INACTIVATION
-------------------------------------- */
var inactivate = function(event) {
isActive = false;
$cluetipWait.hide();
if (!opts.sticky || (/click|toggle/).test(opts.activation) ) {
// delayed close (not fully tested)
if (opts.delayedClose > 0) {
clearTimeout(closeOnDelay);
closeOnDelay = null;
closeOnDelay = setTimeout(cluetipClose, opts.delayedClose);
}
}
if (opts.hoverClass) {
$link.removeClass(opts.hoverClass);
}
};
// close cluetip and reset some things
var cluetipClose = function(el) {
var $closer = el && el.data('cluetip') ? el : $link,
ct = $closer.data('cluetip') && $closer.data('cluetip').selector,
ctSelector = ct || 'div.cluetip',
$cluetip = $(ctSelector),
$cluetipInner = $cluetip.find(prefix + 'cluetip-inner'),
$cluetipArrows = $cluetip.find(prefix + 'cluetip-arrows');
$cluetip.hide().removeClass();
opts.onHide.call($closer[0], $cluetip, $cluetipInner);
if (ct) {
$closer.removeClass('cluetip-clicked');
$closer.css('cursor','');
}
if (ct && tipTitle) {
$closer.attrProp(opts.titleAttribute, tipTitle);
}
if (opts.arrows) {
$cluetipArrows.css({top: ''});
}
};
// Check to see if we should be closing by checking where the user is hovering.
// We do a short 50ms delay for two reasons: to prevent flicker, and to allow the user time to hover on other element
var mouseOutClose = function() {
var el = this;
clearTimeout(closeOnDelay);
closeOnDelay = setTimeout(function() {
var linkOver = $link.data('cluetip').entered,
cluetipOver = $cluetip.data('entered'),
entered = false;
if ( opts.mouseOutClose == 'both' && (linkOver || cluetipOver) ) {
entered = true;
}
// true implies 'cluetip' for backwards compatibility
else if ( (opts.mouseOutClose === true || opts.mouseOutClose == 'cluetip') && cluetipOver) {
entered = true;
}
else if (opts.mouseOutClose == 'link' && linkOver) {
entered = true;
}
if ( !entered ) {
// All checks pass, close the cluetip
cluetipClose.call(el);
}
}, opts.delayedClose);
};
$(document).unbind('hideCluetip.cluetip').bind('hideCluetip.cluetip', function(e) {
cluetipClose( $(e.target) );
});
/***************************************
=BIND EVENTS
-------------------------------------- */
// activate by click
if ( (/click|toggle/).test(opts.activation) ) {
$link.bind('click.cluetip', function(event) {
if ($cluetip.is(':hidden') || !$link.is('.cluetip-clicked')) {
activate(event);
$('.cluetip-clicked').removeClass('cluetip-clicked');
$link.addClass('cluetip-clicked');
} else {
inactivate(event);
}
return false;
});
// activate by focus; inactivate by blur
} else if (opts.activation == 'focus') {
$link.bind('focus.cluetip', function(event) {
$link.attrProp('title','');
activate(event);
});
$link.bind('blur.cluetip', function(event) {
$link.attrProp('title', $link.data('cluetip').title);
inactivate(event);
});
// activate by hover
} else {
// clicking is returned false if clickThrough option is set to false
$link[opts.clickThrough ? 'unbind' : 'bind']('click.cluetip', returnFalse);
//set up mouse tracking
var mouseTracks = function(evt) {
if (opts.tracking) {
var trackX = posX - evt.pageX;
var trackY = tipY ? tipY - evt.pageY : posY - evt.pageY;
$link.bind('mousemove.cluetip', function(evt) {
$cluetip.css({left: evt.pageX + trackX, top: evt.pageY + trackY });
});
}
};
if ($.fn.hoverIntent && opts.hoverIntent) {
$link.hoverIntent({
sensitivity: opts.hoverIntent.sensitivity,
interval: opts.hoverIntent.interval,
over: function(event) {
activate(event);
mouseTracks(event);
},
timeout: opts.hoverIntent.timeout,
out: function(event) {
inactivate(event);
$link.unbind('mousemove.cluetip');
}
});
} else {
$link.bind('mouseenter.cluetip', function(event) {
activate(event);
mouseTracks(event);
})
.bind('mouseleave.cluetip', function(event) {
inactivate(event);
$link.unbind('mousemove.cluetip');
});
}
$link.bind('mouseover.cluetip', function(event) {
$link.attrProp('title','');
}).bind('mouseleave.cluetip', function(event) {
$link.attrProp('title', $link.data('cluetip').title);
});
}
// trigger a cached Ajax response
function cachedAjax(info, settings) {
var status = info.status;
settings.beforeSend(info.xhr, settings);
if ( status == 'error' ) {
settings[status](info.xhr, info.textStatus);
} else if (status == 'success') {
settings[status](info.data, info.textStatus, info.xhr);
}
settings.complete(info.xhr, settings.textStatus);
}
}); // end this.each
/** =private functions
************************************************************/
//empty function
function doNothing() {}
// create a string to be used as an identifier for ajax caches
function getCacheKey(url, data) {
var cacheKey = url || '';
data = data || '';
if (typeof data == 'object') {
$.each(data, function(key, val) {
cacheKey += '-' + key + '-' + val;
});
} else if (typeof data == 'string') {
cacheKey += data;
}
return cacheKey;
}
/** =create dropshadow divs **/
function createDropShadows($cluetip, options, newDropShadow) {
var dsStyle = '',
dropShadowSteps = (options.dropShadow && options.dropShadowSteps) ? +options.dropShadowSteps : 0;
if ($.support.boxShadow) {
if ( dropShadowSteps ) {
dsStyle = '1px 1px ' + dropShadowSteps + 'px rgba(0,0,0,0.5)';
}
var dsOffsets = dropShadowSteps === 0 ? '0 0 ' : '1px 1px ';
$cluetip.css($.support.boxShadow, dsStyle);
return false;
}
var oldDropShadow = $cluetip.find('.cluetip-drop-shadow');
if (dropShadowSteps == oldDropShadow.length) {
return oldDropShadow;
}
oldDropShadow.remove();
var dropShadows = [];
for (var i=0; i < dropShadowSteps;) {
dropShadows[i++] = '<div style="top:' + i + 'px;left:' + i + 'px;"></div>';
}
newDropShadow = $(dropShadows.join(''))
.css({
position: 'absolute',
backgroundColor: '#000',
zIndex: cluezIndex -1,
opacity: 0.1
})
.addClass('cluetip-drop-shadow')
.prependTo($cluetip);
return newDropShadow;
}
return this;
};
(function() {
$.support = $.support || {};
// check support for CSS3 properties (currently only boxShadow)
var div = document.createElement('div'),
divStyle = div.style,
styleProps = ['boxShadow'],
prefixes = ['moz', 'Moz', 'webkit', 'o'];
for (var i=0, sl = styleProps.length; i < sl; i++) {
var prop = styleProps[i],
uProp = prop.charAt(0).toUpperCase() + prop.slice(1);
if ( typeof divStyle[ prop ] !== 'undefined' ) {
$.support[ prop ] = prop;
} else {
for (var j=0, pl = prefixes.length; j < pl; j++) {
if (typeof divStyle[ prefixes[j] + uProp ] !== 'undefined') {
$.support[ prop ] = prefixes[j] + uProp;
break;
}
}
}
}
div = null;
})();
$.fn.cluetip.defaults = $.cluetip.defaults;
})(jQuery);
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,158 @@
div.jGrowl {
z-index: 9999;
color: #fff;
font-size: 12px;
}
div.jGrowl-notification.success>div,
div.jGrowl-notification.error>div,
div.jGrowl-notification.warning>div{
margin-left:45px;
}
div.jGrowl-notification.success {
background: url(jgrowl-check.png) no-repeat 5px 5px;
}
div.jGrowl-notification.error {
background: url(jgrowl-error.png) no-repeat 5px 5px;
}
div.jGrowl-notification.warning {
background: url(jgrowl-alert.png) no-repeat 5px 5px;
}
div.jGrowl-notification.warning:before {
content:none;
}
/** Cross Browser Styling **/
div.center div.jGrowl-notification, div.center div.jGrowl-closer {
margin-left: auto;
margin-right: auto;
}
div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
background-color: #000;
opacity: .85;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
zoom: 1;
width: 300px;
padding: 5px;
margin-top: 5px;
margin-bottom: 5px;
font-family: Tahoma, Arial, Helvetica, sans-serif;
font-size: 1em;
text-align: left;
display: none;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
div.jGrowl div.jGrowl-notification {
min-height: 40px;
}
div.jGrowl div.jGrowl-notification,
div.jGrowl div.jGrowl-closer {
margin: 8px;
}
div.jGrowl div.jGrowl-notification div.jGrowl-header {
font-weight: bold;
font-size: 1em;
}
div.jGrowl div.jGrowl-notification div.jGrowl-message {
font-size: 0.9em;
}
div.jGrowl div.jGrowl-notification div.jGrowl-close {
z-index: 99;
float: right;
font-weight: bold;
font-size: 1em;
cursor: pointer;
}
div.jGrowl div.jGrowl-closer {
padding-top: 4px;
padding-bottom: 4px;
cursor: pointer;
font-size: .9em;
font-weight: bold;
text-align: center;
}
/** Hide jGrowl when printing **/
@media print {
div.jGrowl {
display: none;
}
}
/** Special IE6 Style Positioning **/
div.ie6 {
position: absolute;
}
div.ie6.top-right {
right: auto;
bottom: auto;
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.top-left {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.bottom-right {
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.bottom-left {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.center {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
width: 100%;
}
/** Normal Style Positions **/
div.jGrowl {
position: absolute;
}
body > div.jGrowl {
position: fixed;
}
div.jGrowl.top-left {
left: 0px;
top: 0px;
}
div.jGrowl.top-right {
right: 0px;
top: 0px;
}
div.jGrowl.bottom-left {
left: 0px;
bottom: 0px;
}
div.jGrowl.bottom-right {
right: 0px;
bottom: 0px;
}
div.jGrowl.center {
top: 0px;
width: 50%;
left: 25%;
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,186 @@
/*
* jQuery Progress Bar plugin
* Version 2.0 (06/22/2009)
* @requires jQuery v1.2.1 or later
*
* Copyright (c) 2008 Gary Teo
* http://t.wits.sg
USAGE:
$(".someclass").progressBar();
$("#progressbar").progressBar();
$("#progressbar").progressBar(45); // percentage
$("#progressbar").progressBar({showText: false }); // percentage with config
$("#progressbar").progressBar(45, {showText: false }); // percentage with config
*/
(function($) {
$.extend({
progressBar: new function() {
this.defaults = {
steps : 20, // steps taken to reach target
stepDuration : 20,
max : 100, // Upon 100% i'd assume, but configurable
showText : true, // show text with percentage in next to the progressbar? - default : true
textFormat : 'percentage', // Or otherwise, set to 'fraction'
width : 120, // Width of the progressbar - don't forget to adjust your image too!!! // Image to use in the progressbar. Can be a single image too: 'images/progressbg_green.gif'
height : 12, // Height of the progressbar - don't forget to adjust your image too!!!
callback : null, // Calls back with the config object that has the current percentage, target percentage, current image, etc
boxImage : 'images/progressbar.gif', // boxImage : image around the progress bar
barImage : {
0: 'images/progressbg_red.gif',
30: 'images/progressbg_orange.gif',
70: 'images/progressbg_green.gif'
},
// Internal use
running_value : 0,
value : 0,
image : null
};
/* public methods */
this.construct = function(arg1, arg2) {
var argvalue = null;
var argconfig = null;
if (arg1 != null) {
if (!isNaN(arg1)) {
argvalue = arg1;
if (arg2 != null) {
argconfig = arg2;
}
} else {
argconfig = arg1;
}
}
return this.each(function(child) {
var pb = this;
var config = this.config;
if (argvalue != null && this.bar != null && this.config != null) {
this.config.value = parseInt(argvalue)
if (argconfig != null)
pb.config = $.extend(this.config, argconfig);
config = pb.config;
} else {
var $this = $(this);
var config = $.extend({}, $.progressBar.defaults, argconfig);
config.id = $this.attr('id') ? $this.attr('id') : Math.ceil(Math.random() * 100000); // random id, if none provided
if (argvalue == null)
argvalue = $this.html().replace("%","") // parse percentage
config.value = parseInt(argvalue);
config.running_value = 0;
config.image = getBarImage(config);
var numeric = ['steps', 'stepDuration', 'max', 'width', 'height', 'running_value', 'value'];
for (var i=0; i<numeric.length; i++)
config[numeric[i]] = parseInt(config[numeric[i]]);
$this.html("");
var bar = document.createElement('img');
var text = document.createElement('span');
var $bar = $(bar);
var $text = $(text);
pb.bar = $bar;
$bar.attr('id', config.id + "_pbImage");
$text.attr('id', config.id + "_pbText");
$text.html(getText(config));
$bar.attr('title', getText(config));
$bar.attr('alt', getText(config));
$bar.attr('src', config.boxImage);
$bar.attr('width', config.width);
$bar.css("width", config.width + "px");
$bar.css("height", config.height + "px");
$bar.css("background-image", "url(" + config.image + ")");
$bar.css("background-position", ((config.width * -1)) + 'px 50%');
$bar.css("padding", "0");
$bar.css("margin", "0");
$this.append($bar);
$this.append($text);
}
function getPercentage(config) {
return config.running_value * 100 / config.max;
}
function getBarImage(config) {
var image = config.barImage;
if (typeof(config.barImage) == 'object') {
for (var i in config.barImage) {
if (config.running_value >= parseInt(i)) {
image = config.barImage[i];
} else { break; }
}
}
return image;
}
function getText(config) {
if (config.showText) {
if (config.textFormat == 'percentage') {
return " " + Math.round(config.running_value) + "%";
} else if (config.textFormat == 'fraction') {
return " " + config.running_value + '/' + config.max;
}
}
}
config.increment = Math.round((config.value - config.running_value)/config.steps);
if (config.increment < 0)
config.increment *= -1;
if (config.increment < 1)
config.increment = 1;
var t = setInterval(function() {
var pixels = config.width / 100; // Define how many pixels go into 1%
if (config.running_value > config.value) {
if (config.running_value - config.increment < config.value) {
config.running_value = config.value;
} else {
config.running_value -= config.increment;
}
}
else if (config.running_value < config.value) {
if (config.running_value + config.increment > config.value) {
config.running_value = config.value;
} else {
config.running_value += config.increment;
}
}
if (config.running_value == config.value)
clearInterval(t);
var $bar = $("#" + config.id + "_pbImage");
var $text = $("#" + config.id + "_pbText");
var image = getBarImage(config);
if (image != config.image) {
$bar.css("background-image", "url(" + image + ")");
config.image = image;
}
$bar.css("background-position", (((config.width * -1)) + (getPercentage(config) * pixels)) + 'px 50%');
$bar.attr('title', getText(config));
$text.html(getText(config));
if (config.callback != null && typeof(config.callback) == 'function')
config.callback(config);
pb.config = config;
}, config.stepDuration);
});
};
}
});
$.fn.extend({
progressBar: $.progressBar.construct
});
})(jQuery);
@@ -0,0 +1,20 @@
(function($){$.extend({progressBar:new function(){this.defaults={steps:20,stepDuration:20,max:100,showText:true,textFormat:'percentage',width:120,height:12,callback:null,boxImage:'images/progressbar.gif',barImage:{0:'images/progressbg_red.gif',30:'images/progressbg_orange.gif',70:'images/progressbg_green.gif'},running_value:0,value:0,image:null};this.construct=function(arg1,arg2){var argvalue=null;var argconfig=null;if(arg1!=null){if(!isNaN(arg1)){argvalue=arg1;if(arg2!=null){argconfig=arg2;}}else{argconfig=arg1;}}
return this.each(function(child){var pb=this;var config=this.config;if(argvalue!=null&&this.bar!=null&&this.config!=null){this.config.value=parseInt(argvalue)
if(argconfig!=null)
pb.config=$.extend(this.config,argconfig);config=pb.config;}else{var $this=$(this);var config=$.extend({},$.progressBar.defaults,argconfig);config.id=$this.attr('id')?$this.attr('id'):Math.ceil(Math.random()*100000);if(argvalue==null)
argvalue=$this.html().replace("%","")
config.value=parseInt(argvalue);config.running_value=0;config.image=getBarImage(config);var numeric=['steps','stepDuration','max','width','height','running_value','value'];for(var i=0;i<numeric.length;i++)
config[numeric[i]]=parseInt(config[numeric[i]]);$this.html("");var bar=document.createElement('img');var text=document.createElement('span');var $bar=$(bar);var $text=$(text);pb.bar=$bar;$bar.attr('id',config.id+"_pbImage");$text.attr('id',config.id+"_pbText");$text.html(getText(config));$bar.attr('title',getText(config));$bar.attr('alt',getText(config));$bar.attr('src',config.boxImage);$bar.attr('width',config.width);$bar.css("width",config.width+"px");$bar.css("height",config.height+"px");$bar.css("background-image","url("+config.image+")");$bar.css("background-position",((config.width*-1))+'px 50%');$bar.css("padding","0");$bar.css("margin","0");$this.append($bar);$this.append($text);}
function getPercentage(config){return config.running_value*100/config.max;}
function getBarImage(config){var image=config.barImage;if(typeof(config.barImage)=='object'){for(var i in config.barImage){if(config.running_value>=parseInt(i)){image=config.barImage[i];}else{break;}}}
return image;}
function getText(config){if(config.showText){if(config.textFormat=='percentage'){return" "+Math.round(config.running_value)+"%";}else if(config.textFormat=='fraction'){return" "+config.running_value+'/'+config.max;}}}
config.increment=Math.round((config.value-config.running_value)/config.steps);if(config.increment<0)
config.increment*=-1;if(config.increment<1)
config.increment=1;var t=setInterval(function(){var pixels=config.width/100;if(config.running_value>config.value){if(config.running_value-config.increment<config.value){config.running_value=config.value;}else{config.running_value-=config.increment;}}
else if(config.running_value<config.value){if(config.running_value+config.increment>config.value){config.running_value=config.value;}else{config.running_value+=config.increment;}}
if(config.running_value==config.value)
clearInterval(t);var $bar=$("#"+config.id+"_pbImage");var $text=$("#"+config.id+"_pbText");var image=getBarImage(config);if(image!=config.image){$bar.css("background-image","url("+image+")");config.image=image;}
$bar.css("background-position",(((config.width*-1))+(getPercentage(config)*pixels))+'px 50%');$bar.attr('title',getText(config));$text.html(getText(config));if(config.callback!=null&&typeof(config.callback)=='function')
config.callback(config);pb.config=config;},config.stepDuration);});};}});$.fn.extend({progressBar:$.progressBar.construct});})(jQuery);
@@ -0,0 +1,65 @@
/**
* jQuery.fn.sortElements
* --------------
* @param Function comparator:
* Exactly the same behaviour as [1,2,3].sort(comparator)
*
* @param Function getSortable
* A function that should return the element that is
* to be sorted. The comparator will run on the
* current collection, but you may want the actual
* resulting sort to occur on a parent or another
* associated element.
*
* E.g. $('td').sortElements(comparator, function(){
* return this.parentNode;
* })
*
* The <td>'s parent (<tr>) will be sorted instead
* of the <td> itself.
*/
jQuery.fn.sortElements = (function(){
var sort = [].sort;
return function(comparator, getSortable) {
getSortable = getSortable || function(){return this;};
var placements = this.map(function(){
var sortElement = getSortable.call(this),
parentNode = sortElement.parentNode,
// Since the element itself will change position, we have
// to have some way of storing its original position in
// the DOM. The easiest way is to have a 'flag' node:
nextSibling = parentNode.insertBefore(
document.createTextNode(''),
sortElement.nextSibling
);
return function() {
if (parentNode === this) {
throw new Error(
"You can't sort elements if any one is a descendant of another."
);
}
// Insert before flag:
parentNode.insertBefore(this, nextSibling);
// Remove flag:
parentNode.removeChild(nextSibling);
};
});
return sort.call(this, comparator).each(function(i){
placements[i].call(getSortable.call(this));
});
};
})();
@@ -0,0 +1,21 @@
/*
* TipTip
* Copyright 2010 Drew Wilson
* www.drewwilson.com
* code.drewwilson.com/entry/tiptip-jquery-plugin
*
* Version 1.3 - Updated: Mar. 23, 2010
*
* This Plug-In will create a custom tooltip to replace the default
* browser tooltip. It is extremely lightweight and very smart in
* that it detects the edges of the browser window and will make sure
* the tooltip stays within the current window size. As a result the
* tooltip will adjust itself to be displayed above, below, to the left
* or to the right depending on what is necessary to stay within the
* browser window. It is completely customizable as well via CSS.
*
* This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
(function($){$.fn.tipTip=function(options){var defaults={activation:"hover",keepAlive:false,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:400,fadeIn:200,fadeOut:200,attribute:"title",content:false,enter:function(){},exit:function(){}};var opts=$.extend(defaults,options);if($("#tiptip_holder").length<=0){var tiptip_holder=$('<div id="tiptip_holder" style="max-width:'+opts.maxWidth+';"></div>');var tiptip_content=$('<div id="tiptip_content"></div>');var tiptip_arrow=$('<div id="tiptip_arrow"></div>');$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')))}else{var tiptip_holder=$("#tiptip_holder");var tiptip_content=$("#tiptip_content");var tiptip_arrow=$("#tiptip_arrow")}return this.each(function(){var org_elem=$(this);if(opts.content){var org_title=opts.content}else{var org_title=org_elem.attr(opts.attribute)}if(org_title!=""){if(!opts.content){org_elem.removeAttr(opts.attribute)}var timeout=false;if(opts.activation=="hover"){org_elem.hover(function(){active_tiptip()},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}else if(opts.activation=="focus"){org_elem.focus(function(){active_tiptip()}).blur(function(){deactive_tiptip()})}else if(opts.activation=="click"){org_elem.click(function(){active_tiptip();return false}).hover(function(){},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}function active_tiptip(){opts.enter.call(this);tiptip_content.html(org_title);tiptip_holder.hide().removeAttr("class").css("margin","0").css("max-width",opts.maxWidth);tiptip_arrow.removeAttr("style");var top=parseInt(org_elem.offset()['top']);var left=parseInt(org_elem.offset()['left']);var org_width=parseInt(org_elem.outerWidth());var org_height=parseInt(org_elem.outerHeight());var tip_w=tiptip_holder.outerWidth();var tip_h=tiptip_holder.outerHeight();var w_compare=Math.round((org_width-tip_w)/2);var h_compare=Math.round((org_height-tip_h)/2);var marg_left=Math.round(left+w_compare);var marg_top=Math.round(top+org_height+opts.edgeOffset);var t_class="";var arrow_top="";var arrow_left=Math.round(tip_w-12)/2;if(opts.defaultPosition=="bottom"){t_class="_bottom"}else if(opts.defaultPosition=="top"){t_class="_top"}else if(opts.defaultPosition=="left"){t_class="_left"}else if(opts.defaultPosition=="right"){t_class="_right"}var right_compare=(w_compare+left)<parseInt($(window).scrollLeft());var left_compare=(tip_w+left)>parseInt($(window).width());if((right_compare&&w_compare<0)||(t_class=="_right"&&!left_compare)||(t_class=="_left"&&left<(tip_w+opts.edgeOffset+5))){t_class="_right";arrow_top=Math.round(tip_h-13)/2;arrow_left=-12;marg_left=Math.round(left+org_width+opts.edgeOffset);marg_top=Math.round(top+h_compare)}else if((left_compare&&w_compare<0)||(t_class=="_left"&&!right_compare)){t_class="_left";arrow_top=Math.round(tip_h-13)/2;arrow_left=Math.round(tip_w);marg_left=Math.round(left-(tip_w+opts.edgeOffset+5));marg_top=Math.round(top+h_compare)}var top_compare=(top+org_height+opts.edgeOffset+tip_h+8)>parseInt($(window).height()+$(window).scrollTop());var bottom_compare=((top+org_height)-(opts.edgeOffset+tip_h+8))<0;if(top_compare||(t_class=="_bottom"&&top_compare)||(t_class=="_top"&&!bottom_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_top"}else{t_class=t_class+"_top"}arrow_top=tip_h;marg_top=Math.round(top-(tip_h+5+opts.edgeOffset))}else if(bottom_compare|(t_class=="_top"&&bottom_compare)||(t_class=="_bottom"&&!top_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_bottom"}else{t_class=t_class+"_bottom"}arrow_top=-12;marg_top=Math.round(top+org_height+opts.edgeOffset)}if(t_class=="_right_top"||t_class=="_left_top"){marg_top=marg_top+5}else if(t_class=="_right_bottom"||t_class=="_left_bottom"){marg_top=marg_top-5}if(t_class=="_left_top"||t_class=="_left_bottom"){marg_left=marg_left+5}tiptip_arrow.css({"margin-left":arrow_left+"px","margin-top":arrow_top+"px"});tiptip_holder.css({"margin-left":marg_left+"px","margin-top":marg_top+"px"}).attr("class","tip"+t_class);if(timeout){clearTimeout(timeout)}timeout=setTimeout(function(){tiptip_holder.stop(true,true).fadeIn(opts.fadeIn)},opts.delay)}function deactive_tiptip(){opts.exit.call(this);if(timeout){clearTimeout(timeout)}tiptip_holder.fadeOut(opts.fadeOut)}}})}})(jQuery);
@@ -0,0 +1,16 @@
/* TokenInput (with Facebook style) */
ul.token-input-list {overflow: hidden; height: auto !important; height: 1%;width: 400px;border: 1px solid #8496ba;cursor: text;font-size: 12px;font-family: Verdana;min-height: 1px;z-index: 999;margin: 0;padding: 0;background-color: #fff;list-style-type: none;clear: left;}
ul.token-input-list li input {border: 0;width: 100px;padding: 3px 8px;background-color: white;margin: 2px 0;-webkit-appearance: caret;color: black;}
li.token-input-token {overflow: hidden; height: auto !important; height: 15px;margin: 3px;padding: 1px 3px;background-color: #eff2f7;color: #000;cursor: default;border: 1px solid #ccd5e4;font-size: 11px;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;float: left;white-space: nowrap;}
li.token-input-token p {display: inline;padding: 0;margin: 0;}
li.token-input-token span {color: #a6b3cf;margin-left: 5px;font-weight: bold;cursor: pointer;}
li.token-input-selected-token {background-color: #5670a6;border: 1px solid #3b5998;color: #fff;}
li.token-input-input-token {float: left;margin: 0;padding: 0;list-style-type: none;width:10px;}
div.token-input-dropdown {position: absolute;width: 400px;background-color: #fff;overflow: hidden;border-left: 1px solid #ccc;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;cursor: default;font-size: 11px;font-family: Verdana;z-index: 1;}
div.token-input-dropdown p {margin: 0;padding: 5px;font-weight: bold;color: #777;}
div.token-input-dropdown ul {margin: 0;padding: 0;}
div.token-input-dropdown ul li {background-color: #fff;padding: 3px;margin: 0;list-style-type: none;}
div.token-input-dropdown ul li.token-input-dropdown-item {background-color: #fff;}
div.token-input-dropdown ul li.token-input-dropdown-item2 {background-color: #fff;}
div.token-input-dropdown ul li em {font-weight: bold;font-style: normal;}
div.token-input-dropdown ul li.token-input-selected-dropdown-item {background-color: #3b5998;color: #fff;}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,189 @@
//
// piecon.js
//
// https://github.com/lipka/piecon
//
// Copyright (c) 2015 Lukas Lipka <lukaslipka@gmail.com>. All rights reserved.
//
(function(){
var Piecon = {};
var currentFavicon = null;
var originalFavicon = null;
var originalTitle = null;
var canvas = null;
var options = {};
var defaults = {
color: '#ff0084',
background: '#bbb',
shadow: '#fff',
fallback: false
};
var isRetina = window.devicePixelRatio > 1;
var ua = (function () {
var agent = navigator.userAgent.toLowerCase();
return function (browser) {
return agent.indexOf(browser) !== -1;
};
}());
var browser = {
ie: ua('msie'),
chrome: ua('chrome'),
webkit: ua('chrome') || ua('safari'),
safari: ua('safari') && !ua('chrome'),
mozilla: ua('mozilla') && !ua('chrome') && !ua('safari')
};
var getFaviconTag = function() {
var links = document.getElementsByTagName('link');
for (var i = 0, l = links.length; i < l; i++) {
if (links[i].getAttribute('rel') === 'icon' || links[i].getAttribute('rel') === 'shortcut icon') {
return links[i];
}
}
return false;
};
var removeFaviconTag = function() {
var links = Array.prototype.slice.call(document.getElementsByTagName('link'), 0);
var head = document.getElementsByTagName('head')[0];
for (var i = 0, l = links.length; i < l; i++) {
if (links[i].getAttribute('rel') === 'icon' || links[i].getAttribute('rel') === 'shortcut icon') {
head.removeChild(links[i]);
}
}
};
var setFaviconTag = function(url) {
removeFaviconTag();
var link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'icon';
link.href = url;
document.getElementsByTagName('head')[0].appendChild(link);
};
var getCanvas = function () {
if (!canvas) {
canvas = document.createElement("canvas");
if (isRetina) {
canvas.width = 32;
canvas.height = 32;
} else {
canvas.width = 16;
canvas.height = 16;
}
}
return canvas;
};
var drawFavicon = function(percentage) {
var canvas = getCanvas();
var context = canvas.getContext("2d");
percentage = percentage || 0;
if (context) {
context.clearRect(0, 0, canvas.width, canvas.height);
// Draw shadow
context.beginPath();
context.moveTo(canvas.width / 2, canvas.height / 2);
context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2), 0, Math.PI * 2, false);
context.fillStyle = options.shadow;
context.fill();
// Draw background
context.beginPath();
context.moveTo(canvas.width / 2, canvas.height / 2);
context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2) - 2, 0, Math.PI * 2, false);
context.fillStyle = options.background;
context.fill();
// Draw pie
if (percentage > 0) {
context.beginPath();
context.moveTo(canvas.width / 2, canvas.height / 2);
context.arc(canvas.width / 2, canvas.height / 2, Math.min(canvas.width / 2, canvas.height / 2) - 2, (-0.5) * Math.PI, (-0.5 + 2 * percentage / 100) * Math.PI, false);
context.lineTo(canvas.width / 2, canvas.height / 2);
context.fillStyle = options.color;
context.fill();
}
setFaviconTag(canvas.toDataURL());
}
};
var updateTitle = function(percentage) {
if (percentage > 0) {
document.title = '(' + percentage + '%) ' + originalTitle;
} else {
document.title = originalTitle;
}
};
Piecon.setOptions = function(custom) {
options = {};
for (var key in defaults){
options[key] = custom.hasOwnProperty(key) ? custom[key] : defaults[key];
}
return this;
};
Piecon.setProgress = function(percentage) {
if (!originalTitle) {
originalTitle = document.title;
}
if (!originalFavicon || !currentFavicon) {
var tag = getFaviconTag();
originalFavicon = currentFavicon = tag ? tag.getAttribute('href') : '/favicon.ico';
}
if (!isNaN(parseFloat(percentage)) && isFinite(percentage)) {
if (!getCanvas().getContext || browser.ie || browser.safari || options.fallback === true) {
// Fallback to updating the browser title if unsupported
return updateTitle(percentage);
} else if (options.fallback === 'force') {
updateTitle(percentage);
}
return drawFavicon(percentage);
}
return false;
};
Piecon.reset = function() {
if (originalTitle) {
document.title = originalTitle;
}
if (originalFavicon) {
currentFavicon = originalFavicon;
setFaviconTag(currentFavicon);
}
};
Piecon.setOptions(defaults);
if(typeof define === 'function' && define.amd) {
define(Piecon);
} else if (typeof module !== 'undefined') {
module.exports = Piecon;
} else {
window.Piecon = Piecon;
}
})();

Some files were not shown because too many files have changed in this diff Show More