/**
* @file jQuery Plugin: jquery.add-input-area
* @version 4.7.2
* @author Yuusaku Miyazaki [toumin.m7@gmail.com]
* @license MIT License
*/
!function(t){function e(t,e){this.elem=t,this.option=e,this._setOption(),this._setDelBtnVisibility(),this._ehAddBtn(),this._ehDelBtn(),this._setNameAttribute(),this._saveOriginal()}t.fn.addInputArea=function(t){return this.each(function(){new e(this,t)})},t.extend(e.prototype,{_setOption:function(){var e=t(this.elem).attr("id");this.option=t.extend({attr_name:e?e+"_%d":"aia_%d",area_var:e?"."+e+"_var":".aia_var",area_del:"",btn_del:e?"."+e+"_del":".aia_del",btn_add:e?"."+e+"_add":".aia_add",after_add:null,maximum:0},this.option),this.option.area_del||(this.option.area_del=this.option.btn_del)},_setDelBtnVisibility:function(){1==t(this.elem).find(this.option.area_var).length&&t(this.elem).find(this.option.area_del).hide()},_ehAddBtn:function(){var e=this;t(document).on("click",this.option.btn_add,function(){var a=t(e.elem).find(e.option.area_var).length,n=t(e.option.original).clone(!0);t(n).find("[name]").each(function(n,i){e._changeAttrAlongFormat(i,a,"name"),e._changeAttrAlongFormat(i,a,"id"),"false"!=t(i).attr("empty_val")&&("checkbox"==t(i).attr("type")||"radio"==t(i).attr("type")?i.checked=!1:"submit"!=t(i).attr("type")&&"reset"!=t(i).attr("type")&&"image"!=t(i).attr("type")&&"button"!=t(i).attr("type")&&t(i).val(""))}).end().find("[for]").each(function(t,n){e._changeAttrAlongFormat(n,a,"for")}),t(e.elem).append(n),t(e.elem).find(e.option.area_del).show(),e.option.maximum>0&&t(e.elem).find(e.option.area_var).length>=e.option.maximum&&t(e.option.btn_add).hide(),"function"==typeof e.option.after_add&&e.option.after_add()})},_ehDelBtn:function(){var e=this;t(e.elem).on("click",e.option.btn_del,function(a){a.preventDefault();var n=t(e.elem).find(e.option.btn_del).index(a.target);t(e.elem).find(e.option.area_var).eq(n).remove(),e._setDelBtnVisibility(),e._setNameAttribute(),e.option.maximum>0&&t(e.elem).find(e.option.area_var).length<e.option.maximum&&t(e.option.btn_add).show()})},_setNameAttribute:function(){var e=this;t(this.elem).find(this.option.area_var).each(function(a,n){t(n).find("[name]").each(function(){e._changeAttrAlongFormat(this,a,"name"),e._changeAttrAlongFormat(this,a,"id")}).end().find("[for]").each(function(){e._changeAttrAlongFormat(this,a,"for")})})},_saveOriginal:function(){this.option.original=t(this.elem).find(this.option.area_var).eq(0).clone(!0)},_changeAttrAlongFormat:function(e,a,n){var i=null;if(/^.+_\d+$/.test(t(e).attr(n)))i=t(e).attr(n).replace(/^(.+_)\d+$/,"$1"+a);else try{switch(n){case"name":if(!t(e).attr("name_format"))throw new Error('(jquery.addInputArea)\nNot found "name_format" attribute in\n<'+t(e)[0].tagName+" "+n+'="'+t(e).attr(n)+'">');i=t(e).attr("name_format").replace("%d",a);break;case"id":if(t(e).attr("id_format"))i=t(e).attr("id_format").replace("%d",a);else if(t(e).attr("id"))throw new Error('(jquery.addInputArea)\nNot found "name_format" attribute in\n<'+t(e)[0].tagName+" "+n+'="'+t(e).attr(n)+'">');break;case"for":if(!t(e).attr("id_format"))throw new Error('(jquery.addInputArea)\nNot found "name_format" attribute in\n<'+t(e)[0].tagName+" "+n+'="'+t(e).attr(n)+'">');i=t(e).attr("id_format").replace("%d",a)}}catch(o){alert(o)}t(e).attr(n,i)}})}(jQuery);