/*
* jQuery Form-Designer plugin v1.0.0 <http://code.google.com/p/jquery-formdesigner-plugin/> 
* @requires jQuery v1.3.2 or later 
* is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
(function(a){var b={cssSkipParameter:{position:"absolute",left:"-9999px",top:"-9999px",width:"auto",height:"auto"},SelectboxOptions_BorderSpacing:2,SelectboxOptions_MaxHeight:300,SelectboxOptions_OpenOptionListOnHover:false,elementWrapper:".formDesigner",elementWrapperHeader:".formDesignerHeader",elementWrapperOptions:".formDesignerOptions",classNameHover:"formDesignerHover",classNameChecked:"formDesignerChecked",classNameDisabled:"formDesignerDisabled",classNameSkip:"formDesignerSkip",layoutAppendContainer_SelectBox:'<div class="formDesignerHeader"><div class="formDesignerHeaderText"></div><div class="formDesignerHeaderIcon"><!-- - --></div></div><div class="formDesignerOptions"></div>',layoutAppendContainer_InputRadio:'<div class="formDesignerHeader"><div class="formDesignerHeaderIcon"><!-- - --></div></div>',layoutAppendContainer_InputCheckbox:'<div class="formDesignerHeader"><div class="formDesignerHeaderIcon"><!-- - --></div></div>',layoutAppendContainer_InputSubmit:'<div class="formDesignerHeader"><div class="formDesignerHeaderIcon"><!-- - --></div></div>',layoutWrapContainer_SelectBox:'<div class="formDesigner formDesignerSelectBox"></div>',layoutWrapContainer_InputRadio:'<div class="formDesigner formDesignerInputRadio"></div>',layoutWrapContainer_InputCheckbox:'<div class="formDesigner formDesignerInputCheckbox"></div>',layoutWrapContainer_InputSubmit:'<div class="formDesigner formDesignerInputSubmit"></div>',layoutWrapContainer_InputText:'<div class="formDesigner formDesignerInputText"><div class="formDesignerHeader"><div class="formDesignerHeaderIcon"></div></div></div>',layoutWrapContainer_Textarea:'<div class="formDesigner formDesignerTextarea"><div class="formDesignerHeader formDesignerTextareaWrapper_0"><div class="formDesignerTextareaWrapper_1"><div class="formDesignerTextareaWrapper_2"></div></div><div class="formDesignerTextareaWrapper_3"><div class="formDesignerTextareaWrapper_4"><!-- - --></div></div></div></div>',copyClassNamesFromFormElement:true,callFunctionAfterInit:function(){}};jQuery.fn.formDesigner=function(c){var c=jQuery.extend({},b,c);return this.each(function(){var j=jQuery(this);var i=false;if(j.is("form")){i=true;var d=jQuery("select",j);d.css(c.cssSkipParameter).wrap(c.layoutWrapContainer_SelectBox);jQuery("div.formDesignerSelectBox",j).append(c.layoutAppendContainer_SelectBox);var f=jQuery("input[type='radio']",j);f.css(c.cssSkipParameter).wrap(c.layoutWrapContainer_InputRadio);jQuery("div.formDesignerInputRadio",j).append(c.layoutAppendContainer_InputRadio);var g=jQuery("input[type='checkbox']",j);g.css(c.cssSkipParameter).wrap(c.layoutWrapContainer_InputCheckbox);jQuery("div.formDesignerInputCheckbox",j).append(c.layoutAppendContainer_InputCheckbox);var g=jQuery("input[type='submit'], input[type='button']",j);g.css(c.cssSkipParameter).wrap(c.layoutWrapContainer_InputSubmit);jQuery("div.formDesignerInputSubmit",j).append(c.layoutAppendContainer_InputCheckbox);jQuery("input[type='text']",j).wrap(c.layoutWrapContainer_InputText);jQuery("textarea",j).wrap(c.layoutWrapContainer_Textarea);}jQuery(c.elementWrapper,j).each(function(){if(i){var r=jQuery(this);var s=jQuery(".formDesignerHeader",r);var q=jQuery("select",r);var m=jQuery("input[type='radio'], input[type='checkbox']",r);var o=jQuery("input[type='submit'], input[type='button']",r);var u=jQuery("input[type='text']",r);var p=jQuery("textarea",r);var w=jQuery(c.elementWrapperHeader,r);if(q.length>0){if(c.SelectboxOptions_OpenOptionListOnHover){var n="";}else{var n=" doNotOpenOnHover";}if(c.copyClassNamesFromFormElement){q.parent(c.elementWrapper).addClass(q.attr("class")+n);}else{q.parent(c.elementWrapper).addClass(n);}jQuery(".formDesignerHeaderText",s).text(jQuery("option:selected",q).text());var l="";jQuery("option",q).each(function(x){var y=jQuery(this);y.attr({"formdesignerindex":x});l+='<a rel="nofollow" href="javascript:void(0);" formdesignerindex="'+x+'">'+y.text()+"</a>";});var k=jQuery(".formDesignerOptions",r);k.append(l);jQuery("a",k).die("click").live("click",function(){var y=jQuery(this);var x=y.attr("formdesignerindex");jQuery("option",q).each(function(z){if(jQuery(this).attr("formdesignerindex")==x){jQuery(this).attr("selected",true);}});jQuery(".formDesignerHeaderText",s).text(y.text());});}if(m.length>0){if(c.copyClassNamesFromFormElement){r.addClass(m.attr("class"));}var t=r.prev("label");var v=r.next("label");if(t.length>0){t.prependTo(r).addClass("formDesignerLabel formDesignerLabelLeft");}else{if(v.length>0){v.appendTo(r).addClass("formDesignerLabel formDesignerLabelRight");}}if(m.attr("checked")&&!w.hasClass(c.classNameChecked)){w.addClass(c.classNameChecked);}if(m.attr("disabled")&&!r.hasClass(c.classNameDisabled)){r.addClass(c.classNameDisabled);}jQuery(".formDesignerHeader",r).die("click").live("click",function(){if(!r.hasClass(c.classNameDisabled)){if(r.hasClass("formDesignerInputCheckbox")){if(w.hasClass(c.classNameChecked)){m.attr("checked",false);}else{m.attr("checked",true);}}else{if(!w.hasClass(c.classNameChecked)){m.attr("checked",true);}}}});}if(o.length>0){if(c.copyClassNamesFromFormElement){r.addClass(o.attr("class"));}jQuery(".formDesignerHeader .formDesignerHeaderIcon",r).text(o.val());if(o.attr("disabled")&&!r.hasClass(c.classNameDisabled)){r.addClass(c.classNameDisabled);}jQuery(".formDesignerHeader",r).die("click").live("click",function(){if(!r.hasClass(c.classNameDisabled)){o.click();}});}if(u.length>0){if(c.copyClassNamesFromFormElement){r.addClass(u.attr("class"));}var t=r.prev("label");var v=r.next("label");if(t.length>0){t.prependTo(r).addClass("formDesignerLabel formDesignerLabelLeft");}else{if(v.length>0){v.appendTo(r).addClass("formDesignerLabel formDesignerLabelRight");}}if(u.attr("disabled")&&!r.hasClass(c.classNameDisabled)){r.addClass(c.classNameDisabled);}}if(p.length>0){if(c.copyClassNamesFromFormElement){r.addClass(p.attr("class"));}var t=r.prev("label");var v=r.next("label");if(t.length>0){t.prependTo(r).addClass("formDesignerLabel formDesignerLabelLeft");}else{if(v.length>0){v.appendTo(r).addClass("formDesignerLabel formDesignerLabelRight");}}if(p.attr("disabled")&&!r.hasClass(c.classNameDisabled)){r.addClass(c.classNameDisabled);}}}}).hover(function(){var l=jQuery(this);var k=jQuery("select",l);if(k.length>0&&l.hasClass("doNotOpenOnHover")){l.addClass("isSelectAndHovered");}if(!l.hasClass(c.classNameDisabled)){e({obj:l,isSelectAndHovered:l.hasClass("isSelectAndHovered")});}},function(){var l=jQuery(this);var k=jQuery("select",l);if(k.length>0){l.removeClass("isSelectAndHovered");}h({obj:l});}).click(function(){var o=jQuery(this);var m=jQuery(c.elementWrapperHeader,o);var l=jQuery("select",o);var n=jQuery("input[type='radio'], input[type='checkbox']",o);if(l.length>0){if(!m.hasClass(c.classNameHover)||o.hasClass("isSelectAndHovered")){o.removeClass("isSelectAndHovered");m.addClass(c.classNameHover);e({obj:o});}else{h({obj:o});}}if(n.length>0){if(o.hasClass("formDesignerInputCheckbox")){if(n.attr("checked")&&!m.hasClass(c.classNameChecked)){m.addClass(c.classNameChecked);}else{m.removeClass(c.classNameChecked);}}else{if(n.attr("checked")&&!m.hasClass(c.classNameChecked)){var k=n.attr("name");jQuery("input[type='radio'][name='"+k+"'], input[type='checkbox'][name='"+k+"']").next(m).removeClass(c.classNameChecked);m.addClass(c.classNameChecked);}}}});c.callFunctionAfterInit();j.removeClass(c.classNameSkip);function e(m){var m=jQuery.extend({obj:null,isSelectAndHovered:false},m||{});if(m.obj){var q=m.obj;var l=jQuery(c.elementWrapperHeader,q);if(!l.hasClass("active")){l.addClass(c.classNameHover);}if(q.hasClass("formDesignerSelectBox")&&!m.isSelectAndHovered){var o=l.position();var p=l.outerHeight();var k=l.outerWidth();var n=jQuery(c.elementWrapperOptions,q);if(k>n.outerWidth()){n.width(Math.abs(k-c.SelectboxOptions_BorderSpacing));}if(c.SelectboxOptions_MaxHeight<n.outerHeight()){n.height(c.SelectboxOptions_MaxHeight).width(Math.abs(n.width()+18));}n.css({position:"absolute",left:o.left+"px",top:Math.abs((o.top+p)-1)+"px"});}}}function h(k){var k=jQuery.extend({obj:null},k||{});if(k.obj){var l=k.obj;if(!jQuery(c.elementWrapperHeader,l).hasClass("active")){jQuery(c.elementWrapperHeader,l).removeClass(c.classNameHover);}if(l.hasClass("formDesignerSelectBox")){jQuery(c.elementWrapperOptions,l).css(c.cssSkipParameter);}}}});};})(jQuery);
