/*
 * jQuery Corners 0.3
 * Copyright (c) 2008 David Turnbull, Steven Wittens
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 */
jQuery.fn.corners = function(C) {
    var N = "rounded_by_jQuery_corners";
    var V = B(C);
    var F = false;
    try {
        F = (document.body.style.WebkitBorderRadius !== undefined);
        var Y = navigator.userAgent.indexOf("Chrome");
        if (Y >= 0) { F = false } 
    } catch (E) { } var W = false;
    try {
        W = (document.body.style.MozBorderRadius !== undefined);
        var Y = navigator.userAgent.indexOf("Firefox");
        if (Y >= 0 && parseInt(navigator.userAgent.substring(Y + 8)) < 3) { W = false } 
    }
    catch (E) { }
    return this.each(function(b, h) {
        $e = jQuery(h); if ($e.hasClass(N)) { return } $e.addClass(N);
        var a = /{(.*)}/.exec(h.className);
        var c = a ? B(a[1], V) : V;
        var j = h.nodeName.toLowerCase();
        if (j == "input") { h = O(h) } if (F && c.webkit) { K(h, c) }
        else {
            if (W && c.mozilla && (c.sizex == c.sizey)) { M(h, c) }
            else { var d = D(h.parentNode); var f = D(h); switch (j) { case "a": case "input": Z(h, c, d, f); break; default: R(h, c, d, f); break } } 
        } 
    });
    function K(d, c) {
        var a = "" + c.sizex + "px " + c.sizey + "px";
        var b = jQuery(d);
        if (c.tl) { b.css("WebkitBorderTopLeftRadius", a) }
        if (c.tr) { b.css("WebkitBorderTopRightRadius", a) }
        if (c.bl) { b.css("WebkitBorderBottomLeftRadius", a) }
        if (c.br) { b.css("WebkitBorderBottomRightRadius", a) } 
    }
    function M(d, c) {
        var a = "" + c.sizex + "px";
        var b = jQuery(d);
        if (c.tl) { b.css("-moz-border-radius-topleft", a) }
        if (c.tr) { b.css("-moz-border-radius-topright", a) }
        if (c.bl) { b.css("-moz-border-radius-bottomleft", a) }
        if (c.br) { b.css("-moz-border-radius-bottomright", a) } 
    }
    function Z(k, n, l, a) {
        var m = S("table");
        var i = S("tbody"); m.appendChild(i);
        var j = S("tr");
        var d = S("td", "top"); j.appendChild(d);
        var h = S("tr");
        var c = T(k, n, S("td")); h.appendChild(c);
        var f = S("tr");
        var b = S("td", "bottom"); f.appendChild(b);
        if (n.tl || n.tr) { i.appendChild(j); X(d, n, l, a, true) } i.appendChild(h); if (n.bl || n.br) { i.appendChild(f); X(b, n, l, a, false) } k.appendChild(m); if (jQuery.browser.msie) { m.onclick = Q } k.style.overflow = "hidden"
    }
    function Q() {
        if (!this.parentNode.onclick) { this.parentNode.click() } 
    }
    function O(c) {
        var b = document.createElement("a");
        b.id = c.id; b.className = c.className;
        if (c.onclick) { b.href = "javascript:"; b.onclick = c.onclick }
        else { jQuery(c).parent("form").each(function() { b.href = this.action }); b.onclick = I }
        var a = document.createTextNode(c.value); b.appendChild(a); c.parentNode.replaceChild(b, c); return b
    }
    function I() {
        jQuery(this).parent("form").each(function() { this.submit() });
        return false
    }
    function R(d, a, b, c) {
        var f = T(d, a, document.createElement("div")); d.appendChild(f);
        if (a.tl || a.tr) { X(d, a, b, c, true) } if (a.bl || a.br) { X(d, a, b, c, false) } 
    }
    function T(j, i, k) {
        var b = jQuery(j);
        var l;
        while (l = j.firstChild) { k.appendChild(l) }
        if (j.style.height) {
            var f = parseInt(b.css("height")); k.style.height = f + "px"; f += parseInt(b.css("padding-top")) + parseInt(b.css("padding-bottom")); j.style.height = f + "px"
        }
        if (j.style.width) {
            var a = parseInt(b.css("width")); 
k.style.width = a + "px"; a += parseInt(b.css("padding-left")) + parseInt(b.css("padding-right")); j.style.width = a + "px" } k.style.paddingLeft = b.css("padding-left"); k.style.paddingRight = b.css("padding-right"); if (i.tl || i.tr) { k.style.paddingTop = U(j, i, b.css("padding-top"), true) } else { k.style.paddingTop = b.css("padding-top") } if (i.bl || i.br) { k.style.paddingBottom = U(j, i, b.css("padding-bottom"), false) } else { k.style.paddingBottom = b.css("padding-bottom") } j.style.padding = 0; return k } function U(f, a, d, c) { if (d.indexOf("px") < 0) { try { console.error("%s padding not in pixels", (c ? "top" : "bottom"), f) } catch (b) { } d = a.sizey + "px" } d = parseInt(d); if (d - a.sizey < 0) { try { console.error("%s padding is %ipx for %ipx corner:", (c ? "top" : "bottom"), d, a.sizey, f) } catch (b) { } d = a.sizey } return d - a.sizey + "px" } function S(b, a) { var c = document.createElement(b); c.style.border = "none"; c.style.borderCollapse = "collapse"; c.style.borderSpacing = 0; c.style.padding = 0; c.style.margin = 0; if (a) { c.style.verticalAlign = a } return c } function D(b) { try { var d = jQuery.css(b, "background-color"); if (d.match(/^(transparent|rgba\(0,\s*0,\s*0,\s*0\))$/i) && b.parentNode) { return D(b.parentNode) } if (d == null) { return "#ffffff" } if (d.indexOf("rgb") > -1) { d = A(d) } if (d.length == 4) { d = L(d) } return d } catch (a) { return "#ffffff" } } function L(a) { return "#" + a.substring(1, 2) + a.substring(1, 2) + a.substring(2, 3) + a.substring(2, 3) + a.substring(3, 4) + a.substring(3, 4) } function A(h) { var a = 255; var d = ""; var b; var e = /([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/; var f = e.exec(h); for (b = 1; b < 4; b++) { d += ("0" + parseInt(f[b]).toString(16)).slice(-2) } return "#" + d } function B(b, d) { var b = b || ""; var c = { sizex: 5, sizey: 5, tl: false, tr: false, bl: false, br: false, webkit: true, mozilla: true, transparent: false }; if (d) { c.sizex = d.sizex; c.sizey = d.sizey; c.webkit = d.webkit; c.transparent = d.transparent; c.mozilla = d.mozilla } var a = false; var e = false; jQuery.each(b.split(" "), function(f, j) { j = j.toLowerCase(); var h = parseInt(j); if (h > 0 && j == h + "px") { c.sizey = h; if (!a) { c.sizex = h } a = true } else { switch (j) { case "no-native": c.webkit = c.mozilla = false; break; case "webkit": c.webkit = true; break; case "no-webkit": c.webkit = false; break; case "mozilla": c.mozilla = true; break; case "no-mozilla": c.mozilla = false; break; case "anti-alias": c.transparent = false; break; case "transparent": c.transparent = true; break; case "top": e = c.tl = c.tr = true; break; case "right": e = c.tr = c.br = true; break; case "bottom": e = c.bl = c.br = true; break; case "left": e = c.tl = c.bl = true; break; case "top-left": e = c.tl = true; break; case "top-right": e = c.tr = true; break; case "bottom-left": e = c.bl = true; break; case "bottom-right": e = c.br = true; break } } }); if (!e) { if (!d) { c.tl = c.tr = c.bl = c.br = true } else { c.tl = d.tl; c.tr = d.tr; c.bl = d.bl; c.br = d.br } } return c } function P(f, d, h) { var e = Array(parseInt("0x" + f.substring(1, 3)), parseInt("0x" + f.substring(3, 5)), parseInt("0x" + f.substring(5, 7))); var c = Array(parseInt("0x" + d.substring(1, 3)), parseInt("0x" + d.substring(3, 5)), parseInt("0x" + d.substring(5, 7))); r = "0" + Math.round(e[0] + (c[0] - e[0]) * h).toString(16); g = "0" + Math.round(e[1] + (c[1] - e[1]) * h).toString(16); d = "0" + Math.round(e[2] + (c[2] - e[2]) * h).toString(16); return "#" + r.substring(r.length - 2) + g.substring(g.length - 2) + d.substring(d.length - 2) } function X(f, a, b, d, c) { if (a.transparent) { G(f, a, b, c) } else { J(f, a, b, d, c) } } function J(k, z, p, a, n) { var h, f; var l = document.createElement("div"); l.style.fontSize = "1px"; l.style.backgroundColor = p; var b = 0; for (h = 1; h <= z.sizey; h++) { var u, t, q; arc = Math.sqrt(1 - Math.pow(1 - h / z.sizey, 2)) * z.sizex; var c = z.sizex - Math.ceil(arc); var w = Math.floor(b); var v = z.sizex - c - w; var o = document.createElement("div"); var m = l; o.style.margin = "0px " + c + "px"; o.style.height = "1px"; o.style.overflow = "hidden"; for (f = 1; f <= v; f++) { if (f == 1) { if (f == v) { u = ((arc + b) * 0.5) - w } else { t = Math.sqrt(1 - Math.pow(1 - (c + 1) / z.sizex, 2)) * z.sizey; u = (t - (z.sizey - h)) * (arc - w - v + 1) * 0.5 } } else { if (f == v) { t = Math.sqrt(1 - Math.pow((z.sizex - c - f + 1) / z.sizex, 2)) * z.sizey; u = 1 - (1 - (t - (z.sizey - h))) * (1 - (b - w)) * 0.5 } else { q = Math.sqrt(1 - Math.pow((z.sizex - c - f) / z.sizex, 2)) * z.sizey; t = Math.sqrt(1 - Math.pow((z.sizex - c - f + 1) / z.sizex, 2)) * z.sizey; u = ((t + q) * 0.5) - (z.sizey - h) } } H(z, o, m, n, P(p, a, u)); m = o; var o = m.cloneNode(false); o.style.margin = "0px 1px" } H(z, o, m, n, a); b = arc } if (n) { k.insertBefore(l, k.firstChild) } else { k.appendChild(l) } } function H(c, a, e, d, b) { if (d && !c.tl) { a.style.marginLeft = 0 } if (d && !c.tr) { a.style.marginRight = 0 } if (!d && !c.bl) { a.style.marginLeft = 0 } if (!d && !c.br) { a.style.marginRight = 0 } a.style.backgroundColor = b; if (d) { e.appendChild(a) } else { e.insertBefore(a, e.firstChild) } } function G(c, o, l, h) { var f = document.createElement("div"); f.style.fontSize = "1px"; var a = document.createElement("div"); a.style.overflow = "hidden"; a.style.height = "1px"; a.style.borderColor = l; a.style.borderStyle = "none solid"; var m = o.sizex - 1; var j = o.sizey - 1; if (!j) { j = 1 } for (var b = 0; b < o.sizey; b++) { var n = m - Math.floor(Math.sqrt(1 - Math.pow(1 - b / j, 2)) * m); if (b == 2 && o.sizex == 6 && o.sizey == 6) { n = 2 } var k = a.cloneNode(false); k.style.borderWidth = "0 " + n + "px"; if (h) { k.style.borderWidth = "0 " + (o.tr ? n : 0) + "px 0 " + (o.tl ? n : 0) + "px" } else { k.style.borderWidth = "0 " + (o.br ? n : 0) + "px 0 " + (o.bl ? n : 0) + "px" } h ? f.appendChild(k) : f.insertBefore(k, f.firstChild) } if (h) { c.insertBefore(f, c.firstChild) } else { c.appendChild(f) } } };
