// encoding: utf-8
fieldsetCloner=new EPLICA.JsModule({v:1,config:{'fieldset.repeatable':{}},defaults:{subElmSelector:'',rowTitleSelector:'',buttonPlacement:'after',addBtnTemplate:'<a class="%{className}" href="#" title="%{tooltip}">%{label}</a>',addBtnClass:'addrow',rowName:'',txt:{}},texts:{'en':{addBtnLabel:'Add ',addBtnTitle:'Add new ',rowName:'row'},'is':{addBtnLabel:'Bæta við ',addBtnTitle:'Bæta við auka ',rowName:'röð'}},_0:{before:'insertBefore',after:'insertAfter',top:'prependChild',bottom:'appendChild'},processBlock:function(f,a){var e=DOM.getLang(f),g=(a.txt=this.texts[e]||this.texts[(e='en')]),c=a.rowName||a.txt.rowName;if(c&&!c.charAt){c=c[e]}var d=DOM.node(a.addBtnTemplate.injectVars({className:a.addBtnClass,label:g.addBtnLabel+c,tooltip:g.addBtnTitle+c}));DOM[this._0[a.buttonPlacement]](d,f);EEvent.add(d,'click',this.copyLastFieldset);var b=(a.subElmSelector)?DOM.get(a.subElmSelector,f):[f];a.refElmIDs=Array.map(b,function(h){return DOM.aquireId(h)});this.setCfg(d,a)},copyLastFieldset:function(h){var f=fieldsetCloner,a=f.getCfg(this),e=a.refElmIDs,g=e.length,c,d;while(g--){c=DOM.$(e[g]);if(c){var d=f.cloneFragment(c,a);DOM.insertAfter(d,c);e.push(d.id);break}e.splice(g,1)}h.preventDefault();EEvent.fire(f,'clone',{newElm:d});return false},cloneFragment:function(h,f){var a=h.cloneNode(1),e=DOM.get('*',a),g=msie.version<8&&DOM.get('*',h),c={};if(a.id){c[a.id]=DOM.aquireId();a.id=c[a.id]}var d=0,b,m,j;while(b=e[d++]){if(b.id){c[b.id]=DOM.aquireId();b.id=c[b.id]}if(m=b.getAttribute("for")){var n=c[m];b.setAttribute("for",n)}if(j=b.name){var k=j.match(/^(.+)(\d+)(\D*)$/);b.name=j=(k)?k[1]+(k[2].toInt()+1)+k[3]:j+'_1'}var i=b;if(msie.version<8&&/^INPUT|SELECT|TEXTAREA|BUTTON$/.test(b.tagName)){i=DOM.node(b.outerHTML.replace(/( name=)[^ >]+/,'$1"'+j+'"'));DOM.replaceNode(i,b);b=g[d-1]}switch(b.type){case'radio':case'checkbox':i.checked=b.defaultChecked;break;case'text':case'password':case'file':case'textarea':case'hidden':i.value=b.defaultValue;break;case'select-one':case'select-multiple':for(var l=0;l<i.options.length;l++){i.options[l].selected=b.options[l].defaultSelected}break}}return a}});

