﻿/*
jQuery paging plugin v1.8 06/21/2010
http://www.xarg.org/project/jquery-color-plugin-xcolor/

Copyright (c) 2010, Robert Eisele (robert@xarg.org)
Dual licensed under the MIT or GPL Version 2 licenses.
*/
(function (i, k) {
    function e(a) {
        function d(a, b) { var d; k !== a && (a = parseFloat(a)); if (k === b) d = b = 255; else if (1 === b) { if (k === a || 1 === a) return 1; b = 100; d = 1 } else d = b; return isNaN(a) || a <= 0 ? 0 : b < a ? d : a < 1 || 1 === b ? 1 === d ? a : a * d | 0 : a * d / b } function b(a, b, c) {
            function e(a, b, d) { d = ++d % 1; return 6 * d < 1 ? a + (b - a) * 6 * d : 2 * d < 1 ? b : 3 * d < 2 ? a + (b - a) * (4 - 6 * d) : a } a = d(a, 360) / 360; b = d(b, 1); c = d(c, 1); if (0 === b) return c = Math.round(255 * c), [c, c, c]; b = c < 0.5 ? c + c * b : c + b - c * b; c = c + c - b; return [Math.round(255 * e(c, b, a + 1 / 3)), Math.round(255 * e(c, b, a)), Math.round(255 * e(c,
b, a - 1 / 3))]
        } function c(a, b, c) { var a = d(a, 360) / 60, b = d(b, 1), c = d(c, 1), e = a | 0, m = a - e, a = Math.round(255 * c * (1 - b)), j = Math.round(255 * c * (1 - b * m)), b = Math.round(255 * c * (1 - b * (1 - m))), c = Math.round(255 * c); switch (e) { case 1: return [j, c, a]; case 2: return [a, c, b]; case 3: return [a, j, c]; case 4: return [b, a, c]; case 5: return [c, a, j] } return [c, b, a] } this.setColor = function (a) {
            this.c = true; if ("number" === typeof a) this.a = (a >> 24 & 255) / 255, this.r = a >> 16 & 255, this.g = a >> 8 & 255, this.b = a & 255; else {
                for (; "object" === typeof a; ) {
                    if (0 in a && 1 in a && 2 in a) {
                        this.a =
d(a[3], 1); this.r = d(a[0]); this.g = d(a[1]); this.b = d(a[2]); return
                    } else if ("r" in a && "g" in a && "b" in a) { this.a = d(a.a, 1); this.r = d(a.r); this.g = d(a.g); this.b = d(a.b); return } else if ("h" in a && "s" in a) { var f; if ("l" in a) f = b(a.h, a.s, a.l); else if ("v" in a) f = c(a.h, a.s, a.v); else if ("b" in a) f = c(a.h, a.s, a.b); else break; this.a = d(a.a, 1); this.r = f[0]; this.g = f[1]; this.b = f[2]; return } break
                } if ("string" === typeof a) {
                    a = a.toLowerCase().replace(/[^a-z0-9,.()#%]/g, ""); if ("transparent" === a) { this.a = this.r = this.g = this.b = 0; return } if ("rand" ===
a) { a = Math.random() * 16777215 | 0; this.a = 1; this.r = a >> 16 & 255; this.g = a >> 8 & 255; this.b = a & 255; return } k !== o[a] && (a = "#" + o[a]); if (f = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/.exec(a)) { this.a = 1; this.r = parseInt(f[1], 16); this.g = parseInt(f[2], 16); this.b = parseInt(f[3], 16); return } if (f = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/.exec(a)) { this.a = 1; this.r = parseInt(f[1] + f[1], 16); this.g = parseInt(f[2] + f[2], 16); this.b = parseInt(f[3] + f[3], 16); return } if (f = /^rgba?\((\d{1,3}),(\d{1,3}),(\d{1,3})(,([0-9.]+))?\)$/.exec(a)) {
                        this.a = d(f[5],
1); this.r = d(f[1]); this.g = d(f[2]); this.b = d(f[3]); return
                    } if (f = /^rgba?\(([0-9.]+\%),([0-9.]+\%),([0-9.]+\%)(,([0-9.]+)\%?)?\)$/.exec(a)) { this.a = d(f[5], 1); this.r = Math.round(2.55 * d(f[1], 100)); this.g = Math.round(2.55 * d(f[2], 100)); this.b = Math.round(2.55 * d(f[3], 100)); return } if (f = /^hs([bvl])a?\((\d{1,3}),(\d{1,3}),(\d{1,3})(,([0-9.]+))?\)$/.exec(a)) { a = ("l" === f[1] ? b : c)(parseInt(f[2], 10), parseInt(f[3], 10), parseInt(f[4], 10)); this.a = d(f[6], 1); this.r = a[0]; this.g = a[1]; this.b = a[2]; return } if (f = /^(\d{1,3}),(\d{1,3}),(\d{1,3})(,([0-9.]+))?$/.exec(a)) {
                        this.a =
d(f[5], 1); this.r = d(f[1]); this.g = d(f[2]); this.b = d(f[3]); return
                    } 
                } this.c = false
            } 
        }; this.getColor = function (a) { if (k !== a) switch (a.toLowerCase()) { case "rgb": return this.getRGB(); case "hsv": case "hsb": return this.getHSV(); case "hsl": return this.getHSL(); case "int": return this.getInt(); case "array": return this.getArray(); case "fraction": return this.getFraction(); case "css": case "style": return this.getCSS(); case "name": return this.getName() } return this.getHex() }; this.getRGB = function () {
            return this.c ? { r: this.r,
                g: this.g, b: this.b, a: this.a
            } : null
        }; this.getCSS = function () { return this.c ? 0 === this.a ? "transparent" : 1 === this.a ? "rgb(" + this.r + "," + this.g + "," + this.b + ")" : p(this.r, this.g, this.b, this.a) : null }; this.getArray = function () { return this.c ? [this.r, this.g, this.b, 100 * this.a | 0] : null }; this.getName = function () { if (this.c) { var a = null, b, d = o, c = this.getHSL(), m; for (m in d) { var j = (new e(d[m])).getHSL(), j = Math.sqrt(0.5 * (c.h - j.h) * (c.h - j.h) + 0.5 * (c.s - j.s) * (c.s - j.s) + (c.l - j.l) * (c.l - j.l)); if (null === a || j < a) a = j, b = m } return b } return null }; this.getFraction =
function () { return this.c ? { r: this.r / 255, g: this.g / 255, b: this.b / 255, a: this.a} : null }; this.getHSL = function () { if (this.c) { var a = this.r / 255, b = this.g / 255, d = this.b / 255, c = Math.min(a, b, d), e = Math.max(a, b, d), j = e - c, i = (e + c) / 2; 0 === j ? c = a = 0 : (a = a === e ? (b - d) / j : b === e ? 2 + (d - a) / j : 4 + (a - b) / j, c = j / (i < 0.5 ? e + c : 2 - e - c)); return { h: Math.round(60 * ((6 + a) % 6)), s: Math.round(100 * c), l: Math.round(100 * i), a: this.a} } return null }; this.getHSV = function () {
    if (this.c) {
        var a = this.r / 255, b = this.g / 255, d = this.b / 255, c = Math.min(a, b, d), e = Math.max(a, b, d), c = e - c; return { h: Math.round(60 *
((6 + (0 === c ? 0 : a === e ? (b - d) / c : b === e ? 2 + (d - a) / c : 4 + (a - b) / c)) % 6)), s: Math.round(100 * (0 === e ? 0 : c / e)), v: Math.round(100 * e), a: this.a
        }
    } return null
}; this.getHex = function () {
    if (this.c) {
        var a = this.r >> 4, b = this.g >> 4, c = this.b >> 4, d = this.r & 15, e = this.g & 15, j = this.b & 15; return 0 === (a ^ d | b ^ e | c ^ j) ? "#" + "0123456789abcdef".charAt(a) + "0123456789abcdef".charAt(b) + "0123456789abcdef".charAt(c) : "#" + "0123456789abcdef".charAt(a) + "0123456789abcdef".charAt(d) + "0123456789abcdef".charAt(b) + "0123456789abcdef".charAt(e) + "0123456789abcdef".charAt(c) +
"0123456789abcdef".charAt(j)
    } return null
}; this.getInt = function (a) { return this.c ? k !== a ? (100 * this.a | 0) << 24 ^ this.r << 16 ^ this.g << 8 ^ this.b : (this.r << 16 ^ this.g << 8 ^ this.b) & 16777215 : null }; this.toString = function () { return this.getHex() }; this.setColor(a)
    } function q(a, d) { var b = ""; do if (b = i.curCSS(a, d), "" !== b && "transparent" !== b && "rgba(0, 0, 0, 0)" !== b || i.nodeName(a, "body")) break; while (a = a.parentNode); "" === b && (b = i.support.rgba ? "transparent" : "backgroundColor" === d ? "white" : "black"); return new e(b) } var o = { aliceblue: "f0f8ff",
        antiquewhite: "faebd7", aqua: "0ff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000", blanchedalmond: "ffebcd", blue: "00f", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", burntsienna: "ea7e5d", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "0ff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkgrey: "a9a9a9", darkkhaki: "bdb76b", darkmagenta: "8b008b",
        darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkslategrey: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dimgrey: "696969", dodgerblue: "1e90ff", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "f0f", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000",
        greenyellow: "adff2f", grey: "808080", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgray: "d3d3d3", lightgreen: "90ee90", lightgrey: "d3d3d3", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslategray: "789", lightslategrey: "789", lightsteelblue: "b0c4de",
        lightyellow: "ffffe0", lime: "0f0", limegreen: "32cd32", linen: "faf0e6", magenta: "f0f", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370db", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500",
        orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "db7093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", red: "f00", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", slategrey: "708090", snow: "fffafa", springgreen: "00ff7f",
        steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", wheat: "f5deb3", white: "fff", whitesmoke: "f5f5f5", yellow: "ff0", yellowgreen: "9acd32"
    }, p; i.each("color,backgroundColor,borderColor,borderTopColor,borderBottomColor,borderLeftColor,borderRightColor,outlineColor".split(","), function (a, d) {
        i.cssHooks[d] = { set: function (a, c) { a.style[d] = (new e(c)).getCSS() } }; i.fx.step[d] = function (a) {
            if (k === a.xinit) {
                if ("string" === typeof a.end && -1 !== a.end.indexOf(";")) {
                    var c,
h = a.end.split(";"); if (h.length > 2) { for (c in h) h[c] = -1 === h[c].indexOf("native") ? new e(h[c]) : q(a.elem, d); a.start = null; a.end = h } else a.start = new e(h[0]), a.end = new e(h[1])
                } else a.start = q(a.elem, d), a.end = new e(a.end); a.xinit = 1
            } c = a.start; var h = a.end, f = a.pos; if (null === c) { var i = f * (h.length - 1), f = f < 1 ? i | 0 : h.length - 2; c = h[f]; h = h[f + 1]; f = i - f } a.elem.style[d] = p(c.r + f * (h.r - c.r) | 0, c.g + f * (h.g - c.g) | 0, c.b + f * (h.b - c.b) | 0, c.a + f * (h.a - c.a))
        } 
    }); i(function () {
        var a = document.createElement("div").style; p = function (a, b, c, e) {
            return "rgba(" +
a + "," + b + "," + c + "," + e + ")"
        }; a.cssText = "background-color:rgba(1,1,1,.5)"; if (!(i.support.rgba = a.backgroundColor.indexOf("rgba") > -1)) p = function (a, b, c) { return "rgb(" + a + "," + b + "," + c + ")" } 
    }); i.xcolor = new function () {
        this.test = function (a) { a = new e(a); return a.c ? a : null }; this.red = function (a) { a = new e(a); return a.c ? (a.g = 255, a.b = 255, a) : null }; this.blue = function (a) { a = new e(a); return a.c ? (a.r = 255, a.g = 255, a) : null }; this.green = function (a) { a = new e(a); return a.c ? (a.r = 255, a.b = 255, a) : null }; this.sepia = function (a) {
            a = new e(a); if (a.c) {
                var d =
a.r, b = a.g, c = a.b; a.r = Math.round(d * 0.393 + b * 0.769 + c * 0.189); a.g = Math.round(d * 0.349 + b * 0.686 + c * 0.168); a.b = Math.round(d * 0.272 + b * 0.534 + c * 0.131); return a
            } return null
        }; this.random = function () { return new e([255 * Math.random() | 0, 255 * Math.random() | 0, 255 * Math.random() | 0]) }; this.inverse = function (a) { a = new e(a); return a.c ? (a.r ^= 255, a.g ^= 255, a.b ^= 255, a) : null }; this.opacity = function (a, d, b) {
            a = new e(a); d = new e(d); return a.c & d.c ? (b > 1 && (b /= 100), b = Math.max(b - 1 + d.a, 0), a.r = Math.round((d.r - a.r) * b + a.r), a.g = Math.round((d.g - a.g) * b + a.g),
a.b = Math.round((d.b - a.b) * b + a.b), a) : null
        }; this.greyfilter = function (a, d) { var b, c = new e(a); if (c.c) { switch (d) { case 1: b = 0.35 + 13 * (c.r + c.g + c.b) / 60; break; case 2: b = (13 * (c.r + c.g + c.b) + 5355) / 60; break; default: b = c.r * 0.3 + c.g * 0.59 + c.b * 0.11 } c.r = c.g = c.b = Math.min(b | 0, 255); return c } return null }; this.webround = function (a) { a = new e(a); if (a.c) { if ((a.r += 51 - a.r % 51) > 255) a.r = 255; if ((a.g += 51 - a.g % 51) > 255) a.g = 255; if ((a.b += 51 - a.b % 51) > 255) a.b = 255; return a } return null }; this.distance = function (a, d) {
            var b = new e(a), c = new e(d); return b.c & c.c ? Math.sqrt(3 *
(c.r - b.r) * (c.r - b.r) + 4 * (c.g - b.g) * (c.g - b.g) + 2 * (c.b - b.b) * (c.b - b.b)) : null
        }; this.readable = function (a, d, b) { d = new e(d); a = new e(a); b = b || 10; return d.c & a.c ? (a = a.r * 0.299 + a.g * 0.587 + a.b * 0.114 - d.r * 0.299 - d.g * 0.587 - d.b * 0.114, !(a < 1.5 + 141.162 * Math.pow(0.975, b) && a > -0.5 - 154.709 * Math.pow(0.99, b))) : null }; this.combine = function (a, d) { var b = new e(a), c = new e(d); return b.c & c.c ? (b.r ^= c.r, b.g ^= c.g, b.b ^= c.b, b) : null }; this.breed = function (a, d) {
            var b = new e(a), c = new e(d), h = 0, f = 6; if (b.c & c.c) {
                for (; f--; ) Math.random() < 0.5 && (h |= 15 << (f << 2)); b.r = b.r &
h >> 16 & 255 | c.r & (h >> 16 & 255 ^ 255); b.g = b.g & h >> 8 & 255 | c.g & (h >> 8 & 255 ^ 255); b.b = b.b & h >> 0 & 255 | c.b & (h >> 0 & 255 ^ 255); return b
            } return null
        }; this.additive = function (a, d) { var b = new e(a), c = new e(d); if (b.c & c.c) { if ((b.r += c.r) > 255) b.r = 255; if ((b.g += c.g) > 255) b.g = 255; if ((b.b += c.b) > 255) b.b = 255; return b } return null }; this.subtractive = function (a, d) { var b = new e(a), c = new e(d); if (b.c & c.c) { if ((b.r += c.r - 255) < 0) b.r = 0; if ((b.g += c.g - 255) < 0) b.g = 0; if ((b.b += c.b - 255) < 0) b.b = 0; return b } return null }; this.subtract = function (a, d) {
            var b = new e(a), c = new e(d);
            if (b.c & c.c) { if ((b.r -= c.r) < 0) b.r = 0; if ((b.g -= c.g) < 0) b.g = 0; if ((b.b -= c.b) < 0) b.b = 0; return b } return null
        }; this.multiply = function (a, d) { var b = new e(a), c = new e(d); return b.c & c.c ? (b.r = b.r / 255 * c.r | 0, b.g = b.g / 255 * c.g | 0, b.b = b.b / 255 * c.b | 0, b) : null }; this.average = function (a, d) { var b = new e(a), c = new e(d); return b.c & c.c ? (b.r = b.r + c.r >> 1, b.g = b.g + c.g >> 1, b.b = b.b + c.b >> 1, b) : null }; this.triad = function (a) { a = new e(a); return a.c ? [a, new e([a.b, a.r, a.g]), new e([a.g, a.b, a.r])] : null }; this.tetrad = function (a) {
            a = new e(a); return a.c ? [a, new e([a.b,
a.r, a.b]), new e([a.b, a.g, a.r]), new e([a.r, a.b, a.r])] : null
        }; this.gradientlevel = function (a, d, b, c) { k === c && (c = 1); if (b > c) return null; a = new e(a); d = new e(d); return a.c & d.c ? (a.r = a.r + (d.r - a.r) / c * b | 0, a.g = a.g + (d.g - a.g) / c * b | 0, a.b = a.b + (d.b - a.b) / c * b | 0, a) : null }; this.gradientarray = function (a, d, b) { if (d > b) return null; var c = d * (a.length - 1) / b | 0, d = (d - b * c / (a.length - 1)) / b, b = new e(a[c]), c = new e(a[c + 1]); return b.c & c.c ? (b.r = b.r + a.length * (c.r - b.r) * d | 0, b.g = b.g + a.length * (c.g - b.g) * d | 0, b.b = b.b + a.length * (c.b - b.b) * d | 0, b) : null }; this.nearestname =
function (a) { a = new e(a); return a.c ? a.getName() : null }; this.darken = function (a, d, b) { if (k === d) d = 1; else if (d < 0) return this.lighten(a, -d, b); k === b && (b = 32); a = new e(a); if (a.c) { if ((a.r -= b * d) < 0) a.r = 0; if ((a.g -= b * d) < 0) a.g = 0; if ((a.b -= b * d) < 0) a.b = 0; return a } return null }; this.lighten = function (a, d, b) { if (k === d) d = 1; else if (d < 0) return this.darken(a, -d, b); k === b && (b = 32); a = new e(a); if (a.c) { if ((a.r += b * d) > 255) a.r = 255; if ((a.g += b * d) > 255) a.g = 255; if ((a.b += b * d) > 255) a.b = 255; return a } return null }; this.analogous = function (a, d, b) {
    k === d && (d = 8);
    k === b && (b = 30); var c = new e(a); if (c.c) { a = c.getHSV(); b = 360 / b; c = [c]; for (a.h = (a.h - (b * d >> 1) + 720) % 360; --d; ) a.h += b, a.h %= 360, c.push(new e(a)); return c } return null
}; this.complementary = function (a) { a = new e(a); return a.c ? (a = a.getHSL(), a.h = (a.h + 180) % 360, new e(a)) : null }; this.splitcomplement = function (a) { var d = new e(a); return d.c ? (a = d.getHSV(), d = [d], a.h += 72, a.h %= 360, d.push(new e(a)), a.h += 144, a.h %= 360, d.push(new e(a)), d) : null }; this.monochromatic = function (a, d) {
    k === d && (d = 6); var b = new e(a); if (b.c) {
        for (var c = b.getHSV(), b = [b]; --d; ) c.v +=
20, c.v %= 100, b.push(new e(c)); return b
    } return null
} 
    }; i.fn.readable = function () { var a = this[0], d = "", b = ""; do { if ("" === d && ("transparent" === (d = i.curCSS(a, "color")) || "rgba(0, 0, 0, 0)" === d)) d = ""; if ("" === b && ("transparent" === (b = i.curCSS(a, "backgroundColor")) || "rgba(0, 0, 0, 0)" === b)) b = ""; if ("" !== d && "" !== b || i.nodeName(a, "body")) break } while (a = a.parentNode); "" === d && (d = "black"); "" === b && (b = "white"); return i.xcolor.readable(b, d) }; i.fn.colorize = function (a, d, b) {
        var c = { gradient: function (a, b) { return a / b }, flip: function (a,
b, c, d) { return " " === d ? c : !c }, pillow: function (a, b) { a *= 2; return a <= b ? a / b : 2 - a / b } 
        }; if ("function" !== typeof b) if (void 0 === c[b]) return; else b = c[b]; a = new e(a); d = new e(d); this.each(function () {
            var c = this.childNodes, e = 0, i = 0; if (a.c & d.c) {
                for (var k = c.length; k--; e += c[k].textContent.length); (function j(c) {
                    var h = 0, k; if (3 === c.nodeType) {
                        var l = a, r = d, o = e, s, t, n = 0, u, q = b; k = c.nodeValue.length; t = document.createElement("span"); for (h = 0; h < k; ++h) s = document.createElement("span"), u = c.nodeValue.charAt(h), n = q(i, o, n, u), s.style.color =
p(l.r + n * (r.r - l.r) | 0, l.g + n * (r.g - l.g) | 0, l.b + n * (r.b - l.b) | 0, l.a + n * (r.a - l.a)), s.appendChild(document.createTextNode(u)), t.appendChild(s), ++i; c.parentNode.replaceChild(t, c)
                    } else for (k = c.childNodes.length; h < k; ++h) j(c.childNodes[h])
                })(this)
            } 
        })
    } 
})(jQuery);



