(function(a) {
    var k = { preloadImg: true }, g = function(b) { var d = a(b.get(0).form), c = b.next(); if (!c.is("label")) { c = b.prev(); if (c.is("label")) if (b = b.attr("id")) c = d.find('label[for="' + b + '"]') } if (c.is("label")) return c.css("cursor", "pointer"); return false }, j = function(b) { a(".jqTransformSelectWrapper ul:visible").each(function() { var d = a(this).parents(".jqTransformSelectWrapper:first").find("select").get(0); b && d.oLabel && d.oLabel.get(0) == b.get(0) || a(this).hide() }) }, l = function(b) {
        a(b.target).parents(".jqTransformSelectWrapper").length ===
0 && j(a(b.target))
    }, m = function(b) { var d; a(".jqTransformSelectWrapper select", b).each(function() { d = this.selectedIndex < 0 ? 0 : this.selectedIndex; a("ul", a(this).parent()).each(function() { a("a:eq(" + d + ")", this).click() }) }); a("a.jqTransformCheckbox, a.jqTransformRadio", b).removeClass("jqTransformChecked"); a("input:checkbox, input:radio", b).each(function() { this.checked && a("a", a(this).parent()).addClass("jqTransformChecked") }) }; a.fn.jqTransInputButton = function() {
        return this.each(function() {
            var b = a('<button id="' +
this.id + '" name="' + this.name + '" type="' + this.type + '" class="' + this.className + ' jqTransformButton"><span><span>' + a(this).attr("value") + "</span></span>").hover(function() { b.addClass("jqTransformButton_hover") }, function() { b.removeClass("jqTransformButton_hover") }).mousedown(function() { b.addClass("jqTransformButton_click") }).mouseup(function() { b.removeClass("jqTransformButton_click") }); a(this).replaceWith(b)
        })
    }; a.fn.jqTransInputText = function() {
        return this.each(function() {
            var b = a(this); if (!(b.hasClass("jqtranformdone") ||
!b.is("input"))) {
                b.addClass("jqtranformdone"); var d = g(a(this)); d && d.bind("click", function() { b.focus() }); d = b.width(); if (b.attr("size")) { d = b.attr("size") * 10; b.css("width", d) } b.addClass("jqTransformInput").wrap('<div class="jqTransformInputWrapper"><div class="jqTransformInputInner"><div></div></div></div>'); var c = b.parent().parent().parent(); c.css("width", d + 10); b.focus(function() { c.addClass("jqTransformInputWrapper_focus") }).blur(function() { c.removeClass("jqTransformInputWrapper_focus") }).hover(function() { c.addClass("jqTransformInputWrapper_hover") },
function() { c.removeClass("jqTransformInputWrapper_hover") }); a.browser.safari && c.addClass("jqTransformSafari"); a.browser.safari && b.css("width", c.width() + 16); this.wrapper = c
            } 
        })
    }; a.fn.jqTransCheckBox = function() {
        return this.each(function() {
            if (!a(this).hasClass("jqTransformHidden")) {
                var b = a(this), d = g(b); d && d.click(function() { c.trigger("click") }); var c = a('<a href="#" class="jqTransformCheckbox"></a>'); b.addClass("jqTransformHidden").wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(c);
                b.change(function() { this.checked && c.addClass("jqTransformChecked") || c.removeClass("jqTransformChecked"); return true }); c.click(function() { if (b.attr("disabled")) return false; b.trigger("click").trigger("change"); return false }); this.checked && c.addClass("jqTransformChecked")
            } 
        })
    }; a.fn.jqTransRadio = function() {
        return this.each(function() {
            if (!a(this).hasClass("jqTransformHidden")) {
                var b = a(this), d = this; (oLabel = g(b)) && oLabel.click(function() { c.trigger("click") }); var c = a('<a href="#" class="jqTransformRadio" rel="' +
this.name + '"></a>'); b.addClass("jqTransformHidden").wrap('<span class="jqTransformRadioWrapper"></span>').parent().prepend(c); b.change(function() { d.checked && c.addClass("jqTransformChecked") || c.removeClass("jqTransformChecked"); return true }); c.click(function() { if (b.attr("disabled")) return false; b.trigger("click").trigger("change"); a('input[name="' + b.attr("name") + '"]', d.form).not(b).each(function() { a(this).attr("type") == "radio" && a(this).trigger("change") }); return false }); d.checked && c.addClass("jqTransformChecked")
            } 
        })
    };
    a.fn.jqTransTextarea = function() {
        return this.each(function() {
            var b = a(this); if (!b.hasClass("jqtransformdone")) {
                b.addClass("jqtransformdone"); (oLabel = g(b)) && oLabel.click(function() { b.focus() }); var d = '<table cellspacing="0" cellpadding="0" border="0" class="jqTransformTextarea">'; d += '<tr><td id="jqTransformTextarea-tl"></td><td id="jqTransformTextarea-tm"></td><td id="jqTransformTextarea-tr"></td></tr>'; d += '<tr><td id="jqTransformTextarea-ml">&nbsp;</td><td id="jqTransformTextarea-mm"><div></div></td><td id="jqTransformTextarea-mr">&nbsp;</td></tr>';
                d += '<tr><td id="jqTransformTextarea-bl"></td><td id="jqTransformTextarea-bm"></td><td id="jqTransformTextarea-br"></td></tr>'; d += "</table>"; var c = a(d).insertAfter(b).hover(function() { !c.hasClass("jqTransformTextarea-focus") && c.addClass("jqTransformTextarea-hover") }, function() { c.removeClass("jqTransformTextarea-hover") }); b.focus(function() { c.removeClass("jqTransformTextarea-hover").addClass("jqTransformTextarea-focus") }).blur(function() { c.removeClass("jqTransformTextarea-focus") }).appendTo(a("#jqTransformTextarea-mm div",
c)); this.oTable = c; a.browser.safari && a("#jqTransformTextarea-mm", c).addClass("jqTransformSafariTextarea").find("div").css("height", b.height()).css("width", b.width())
            } 
        })
    }; a.fn.jqTransSelect = function() {
        return this.each(function(b) {
            var d = a(this); if (!d.hasClass("jqTransformHidden")) if (!d.attr("multiple")) {
                var c = g(d), f = d.addClass("jqTransformHidden").wrap('<div class="jqTransformSelectWrapper"></div>').parent().css({ zIndex: 10 - b }); f.prepend('<div><span></span><a href="#" class="jqTransformSelectOpen"></a></div><ul></ul>');
                var e = a("ul", f).css("width", d.width()).hide(); a("option", this).each(function(h) { h = a('<li><a href="#" index="' + h + '">' + a(this).html() + "</a></li>"); e.append(h) }); e.find("a").click(function() { a("a.selected", f).removeClass("selected"); a(this).addClass("selected"); if (d[0].selectedIndex != a(this).attr("index") && d[0].onchange) { d[0].selectedIndex = a(this).attr("index"); d[0].onchange() } d[0].selectedIndex = a(this).attr("index"); a("span:eq(0)", f).html(a(this).html()); e.hide(); return false }); a("a:eq(" + this.selectedIndex +
")", e).click(); a("span:first", f).click(function() { a("a.jqTransformSelectOpen", f).trigger("click") }); c && c.click(function() { a("a.jqTransformSelectOpen", f).trigger("click") }); this.oLabel = c; var i = a("a.jqTransformSelectOpen", f).click(function() { e.css("display") == "none" && j(); if (d.attr("disabled")) return false; e.slideToggle("fast", function() { var h = a("a.selected", e).offset().top - e.offset().top; e.animate({ scrollTop: h }) }); return false }); b = d.outerWidth(); c = a("span:first", f); i = b > c.innerWidth() ? b + i.outerWidth() :
f.width(); f.css("width", i); e.css("width", i - 2); c.css({ width: b }); e.css({ display: "block", visibility: "hidden" }); b = a("li", e).length * a("li:first", e).height(); b < e.height() && e.css({ height: b, overflow: "hidden" }); e.css({ display: "none", visibility: "visible" })
            } 
        })
    }; a.fn.jqTransform = function(b) {
        a.extend({}, k, b); return this.each(function() {
            var d = a(this); if (!d.hasClass("jqtransformdone")) {
                d.addClass("jqtransformdone"); a('input:submit, input:reset, input[type="button"]', this).jqTransInputButton(); a("input:text, input:password",
this).jqTransInputText(); a("input:checkbox", this).jqTransCheckBox(); a("input:radio", this).jqTransRadio(); a("textarea", this).jqTransTextarea(); a("select", this).jqTransSelect().length > 0 && a(document).mousedown(l); d.bind("reset", function() { window.setTimeout(function() { m(this) }, 10) })
            } 
        })
    } 
})(jQuery);