/*
 *
 * jqTransform
 * by mathieu vilaplana mvilaplana@dfc-e.com
 * Designer ghyslain armand garmand@dfc-e.com
 *
 *
 * Version 1.0 25.09.08
 * Version 1.1 06.08.09
 * Add event click on Checkbox and Radio
 * Auto calculate the size of a select element
 * Can now, disabled the elements
 * Correct bug in ff if click on select (overflow=hidden)
 * No need any more preloading !!
 * 
 ******************************************** */(function(a){var b={preloadImg:!0},c=!1,d=function(a){a=a.replace(/^url\((.*)\)/,"$1").replace(/^\"(.*)\"$/,"$1");var b=new Image;b.src=a.replace(/\.([a-zA-Z]*)$/,"-hover.$1");var c=new Image;c.src=a.replace(/\.([a-zA-Z]*)$/,"-focus.$1")},e=function(b){var c=a(b.get(0).form),d=b.next();if(!d.is("label")){d=b.prev();if(d.is("label")){var e=b.attr("id");e&&(d=c.find('label[for="'+e+'"]'))}}if(d.is("label"))return d.css("cursor","pointer");return!1},f=function(b){var c=a(".jqTransformSelectWrapper ul:visible");c.each(function(){var c=a(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);(!b||!c.oLabel||c.oLabel.get(0)!=b.get(0))&&a(this).hide()})},g=function(b){a(b.target).parents(".jqTransformSelectWrapper").length===0&&f(a(b.target))},h=function(){a(document).mousedown(g)},i=function(b){var c;a(".jqTransformSelectWrapper select",b).each(function(){c=this.selectedIndex<0?0:this.selectedIndex,a("ul",a(this).parent()).each(function(){a("a:eq("+c+")",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 c=e(a(this));c&&c.bind("click",function(){b.focus()});var d=b.width();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 f=b.parent().parent().parent();f.css("width",d+10),b.focus(function(){f.addClass("jqTransformInputWrapper_focus")}).blur(function(){f.removeClass("jqTransformInputWrapper_focus")}).hover(function(){f.addClass("jqTransformInputWrapper_hover")},function(){f.removeClass("jqTransformInputWrapper_hover")}),a.browser.safari&&f.addClass("jqTransformSafari"),a.browser.safari&&b.css("width",f.width()+16),this.wrapper=f}})},a.fn.jqTransCheckBox=function(){return this.each(function(){if(!a(this).hasClass("jqTransformHidden")){var b=a(this),c=this,d=e(b);d&&d.click(function(){f.trigger("click")});var f=a('<a href="#" class="jqTransformCheckbox"></a>');b.addClass("jqTransformHidden").wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(f),b.change(function(){this.checked&&f.addClass("jqTransformChecked")||f.removeClass("jqTransformChecked");return!0}),f.click(function(){if(b.attr("disabled"))return!1;b.trigger("click").trigger("change");return!1}),this.checked&&f.addClass("jqTransformChecked")}})},a.fn.jqTransRadio=function(){return this.each(function(){if(!a(this).hasClass("jqTransformHidden")){var b=a(this),c=this;oLabel=e(b),oLabel&&oLabel.click(function(){d.trigger("click")});var d=a('<a href="#" class="jqTransformRadio" rel="'+this.name+'"></a>');b.addClass("jqTransformHidden").wrap('<span class="jqTransformRadioWrapper"></span>').parent().prepend(d),b.change(function(){c.checked&&d.addClass("jqTransformChecked")||d.removeClass("jqTransformChecked");return!0}),d.click(function(){if(b.attr("disabled"))return!1;b.trigger("click").trigger("change"),a('input[name="'+b.attr("name")+'"]',c.form).not(b).each(function(){a(this).attr("type")=="radio"&&a(this).trigger("change")});return!1}),c.checked&&d.addClass("jqTransformChecked")}})},a.fn.jqTransTextarea=function(){return this.each(function(){var b=a(this);if(!b.hasClass("jqtransformdone")){b.addClass("jqtransformdone"),oLabel=e(b),oLabel&&oLabel.click(function(){b.focus()});var c='<table cellspacing="0" cellpadding="0" border="0" class="jqTransformTextarea">';c+='<tr><td id="jqTransformTextarea-tl"></td><td id="jqTransformTextarea-tm"></td><td id="jqTransformTextarea-tr"></td></tr>',c+='<tr><td id="jqTransformTextarea-ml">&nbsp;</td><td id="jqTransformTextarea-mm"><div></div></td><td id="jqTransformTextarea-mr">&nbsp;</td></tr>',c+='<tr><td id="jqTransformTextarea-bl"></td><td id="jqTransformTextarea-bm"></td><td id="jqTransformTextarea-br"></td></tr>',c+="</table>";var d=a(c).insertAfter(b).hover(function(){!d.hasClass("jqTransformTextarea-focus")&&d.addClass("jqTransformTextarea-hover")},function(){d.removeClass("jqTransformTextarea-hover")});b.focus(function(){d.removeClass("jqTransformTextarea-hover").addClass("jqTransformTextarea-focus")}).blur(function(){d.removeClass("jqTransformTextarea-focus")}).appendTo(a("#jqTransformTextarea-mm div",d)),this.oTable=d,a.browser.safari&&a("#jqTransformTextarea-mm",d).addClass("jqTransformSafariTextarea").find("div").css("height",b.height()).css("width",b.width())}})},a.fn.jqTransSelect=function(){return this.each(function(b){var c=a(this);if(!c.hasClass("jqTransformHidden")){if(c.attr("multiple"))return;var d=e(c),g=c.addClass("jqTransformHidden").wrap('<div class="jqTransformSelectWrapper"></div>').parent().css({zIndex:10-b});g.prepend('<div><span></span><a href="#" class="jqTransformSelectOpen"></a></div><ul></ul>');var h=a("ul",g).css("width",c.width()).hide();a("option",this).each(function(b){var c=a('<li><a href="#" index="'+b+'">'+a(this).html()+"</a></li>");h.append(c)}),h.find("a").click(function(){a("a.selected",g).removeClass("selected"),a(this).addClass("selected"),c[0].selectedIndex!=a(this).attr("index")&&c[0].onchange&&(c[0].selectedIndex=a(this).attr("index"),c[0].onchange()),c[0].selectedIndex=a(this).attr("index"),a("span:eq(0)",g).html(a(this).html()),h.hide();return!1}),a("a:eq("+this.selectedIndex+")",h).click(),a("span:first",g).click(function(){a("a.jqTransformSelectOpen",g).trigger("click")}),d&&d.click(function(){a("a.jqTransformSelectOpen",g).trigger("click")}),this.oLabel=d;var i=a("a.jqTransformSelectOpen",g).click(function(){h.css("display")=="none"&&f();if(c.attr("disabled"))return!1;h.slideToggle("fast",function(){var b=a("a.selected",h).offset().top-h.offset().top;h.animate({scrollTop:b})});return!1}),j=c.outerWidth(),k=a("span:first",g),l=j>k.innerWidth()?j+i.outerWidth():g.width();g.css("width",l),h.css("width",l-2),k.css({width:j}),h.css({display:"block",visibility:"hidden"});var m=a("li",h).length*a("li:first",h).height();m<h.height()&&h.css({height:m,overflow:"hidden"}),h.css({display:"none",visibility:"visible"})}})},a.fn.jqTransform=function(c){var d=a.extend({},b,c);return this.each(function(){var b=a(this);b.hasClass("jqtransformdone")||(b.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&&h(),b.bind("reset",function(){var a=function(){i(this)};window.setTimeout(a,10)}))})}})(jQuery)

