defangForm={defaultLang:"en",scopeElm:null,resetButtons:{is:{"alertTxt":"Ath: Þú ert í þann mund að afturkalla öll innslegin gildi..."},en:{"alertTxt":"Note: You are about to reset all values in the form..."},buttonClass:"reset",init:function(){var a=DOM.get('input.'+this.buttonClass+', input[type=reset], .'+this.buttonClass+' input');for(var b=0,e;e=a[b];b++){if(!e.onclick){EEvent.add(e,"click",this._8)}}return true},_8:function(a){var b=DOM.getLang(this);if(!b||!defangResets[b]){b=defangForm.defaultLang}if(confirm(defangResets[b].alertTxt)){if(this.type=="button"){this.form.reset()}return true}return false}},enterKey:{disableAll:true,exceptList:[],emulateTab:false,init:function(){var a="add";if(this.disableAll){var b=DOM.get("form",defangForm.scopeElm);for(var e=0,d;d=b[e];e++){EEvent.add(d,"keypress",this._2)}a="remove"}for(var e=0,c;c=this.exceptList[e];e++){var d=DOM.$(c);if(d){Event[a](d,"keydown",this._2)}}return true},_2:function(a){var b=a.target,e=b.tagName.lc(),d=!((a.keyCode!=13)||(e!="input")||(b.type&&("button|reset|submit".indexOf(b.type)>-1)));if(d||(a.keyCode==13&&defangForm.enterKey.emulateTab&&e=="select")){if(!defangForm.enterKey.emulateTab){return false}var c=(b==this.elements[0]);for(var g=1,h;h=this.elements[g];g++){if(!autoValidate._3.test(h.tagName)){continue}if(c){setTimeout(function(){h.focus()},10);break}c=(b==h)}return(e=="select")}return true}}};defangResets=defangForm.resetButtons;autoValidate={_4:false,lang:"en",defaultCssFile:null,initAllForms:true,inclPattern:/\b(do)?validate\b/i,skipPattern:/\b(no|dont)validate\b/i,bullet:" * ",maxLabelLength:35,errorAction:"focus",focusElmClass:"stream",submittedClass:"issubmitted",validateEachField:"",errorMsgType:"alertonly",labelBeforeErrorMsg:0,inlineErrorClass:"errmsg",nextErrorLinkClass:"nexterror",en:{errorReqMsg:"Please fill out these fields:\n\n",errorTypeMsg:"These fields contain invalid input:\n\n",inlineMsgPrefix:"Error:",inlineReqMsg:"This field is required ",inlineTypeMsg:"This field contains an invalid value ",inlineNextError:"Next error",resubmitMsg:""},is:{errorReqMsg:"Það þarf að fylla út þessa liði:\n\n",errorTypeMsg:"Þessir liðir eru rangt útfylltir:\n\n",inlineMsgPrefix:"Villa:",inlineReqMsg:"Það þarf að fylla út þennan lið ",inlineTypeMsg:"Þessi liður er rangt út fylltur ",inlineNextError:"Næsta villa",resubmitMsg:""},types:{},customReqCheck:{},customTypeCheck:{},fiClassPattern:/\bfi_\w\w/,reqClassPattern:/\breq\b/,reqErrorClass:"reqerror",typeErrorClass:"typeerror",_0:{},_3:/input|select|textarea/i,init:function(a){if(!document.getElementsByTagName){return true}if(!this._4&&this.defaultCssFile!==""){if(!this.defaultCssFile){var b=DOM.get("script");var e=b.length;while(e--){var d=b[e];if(d.src&&d.src.indexOf("autovalidate/1.2/av")>-1){this.defaultCssFile=d.src.replace(/[^\/]+$/,"av.css?v=0");break}}}DOM.insertLink(this.defaultCssFile)}this._4=true;a=a||document.body;var c=a.tagName.lc()=="form"?[a]:DOM.get("form",a);for(var g=0,h;h=c[g];g++){var i='',k=h;while(k=k.parentNode){i+=" "+k.className}var j=this.initAllForms;if(j){j=!this.skipPattern.test(i)}else{j=this.inclPattern.test(i)}if(j){if(this.validateEachField){autoValidate.prepareTheForm(h)}EEvent.add(h,"submit",this.formSubmitHandler)}}},_9:function(a){var b=autoValidate.isValid(this.parentNode);return true},formSubmitHandler:function(a){if(!autoValidate.isValid(this)){return false}else{if(this.isSubmitted&&autoValidate[this.avLang].resubmitMsg){alert(autoValidate[this.avLang].resubmitMsg);return false}this.isSubmitted=true;DOM.addClass(this,autoValidate.submittedClass)}return true},prepareTheForm:function(a){var b=a;while(b.tagName.lc()!="form"&&b.parentNode!=document){b=b.parentNode}var e=DOM.getLang(b);b.avLang=(this[e])?e:this.lang;this._a(b);var d=this.validateEachField;if(d!="blur"&&d!="change"){d=""}b.avFields=[];for(var c=0,g;g=b.elements[c];c++){if(this._3.test(g.tagName)){this.findParent(g);DOM.aquireId(g.avParent);if(!g.avLang){e=DOM.getLang(g);g.avLang=(this[e])?e:b.avLang}this._b(g);if(d){EEvent.add(g,d,this._9)}b.avFields.push(g)}}},_a:function(a){var b=DOM.get("label",a);for(var e=0,d;d=b[e];e++){if(d.avDone){continue}d.avDone=true;var c=DOM.$(d.getAttribute("for")||d.htmlFor);if(c){c.labelElm=d}}},getFormElements:function(a){var b=a;while(b.tagName.lc()!="form"&&b.parentNode!=document){b=b.parentNode}a.avLang=a.avLang||b.avLang;var e=false;var d=[];for(var c=0,g;g=b.avFields[c];c++){if(DOM.isAncestor(a,g)){d.push(g);e=true}else if(e){break}}return d},findParent:function(a){var b=a;a.isRequired=false;while(b.tagName.lc()!="form"&&!(a.isRequired=this.reqClassPattern.test(b.className))&&!this.fiClassPattern.test(b.className)){b=b.parentNode}a.avParent=b;return true},_b:function(a){a.avCheck={};if(a.tagName.lc()=="input"&&(!a.type||"text|file|password".indexOf(a.type)>-1)){var b=a.avParent.className.split(" ");for(var e=0,d;d=b[e];e++){if(this.types[d]){a.avCheck=this.types[d];break}}}if(this.customTypeCheck[a.name]){a.avCustomTypeCheck=this.customTypeCheck[a.name]}var c;if(c=this.customReqCheck[a.name]){a.avCustomReqCheck=(typeof(c)=="string")?function(){return(!autoValidate._0[c.replace(/^!/,"")]==(c.substr(0,1)=="!"))}:c}return true},_5:function(a){a.errorMsgInline="";a.errorMsg="";if(a._1){DOM.removeNode(a._1);DOM.removeNode(a._6);a._1=null;a._6=null}DOM.removeClass(a.avParent,this.reqErrorClass);DOM.removeClass(a.avParent,this.typeErrorClass);return true},_c:function(a){var b=this[a[0].form.avLang];var e=document.createElement("a");e.className=this.nextErrorLinkClass;e.innerHTML=b.inlineNextError;for(var d=0,c;c=a[d];d++){var g=document.createElement("strong");g.className=this.inlineErrorClass;if(c.errorMsgInline){g.innerHTML=c.errorMsgInline}else{g.innerHTML=(this._0[c.name])?b.inlineTypeMsg:b.inlineReqMsg;if(c.errorMsg){g.innerHTML+=" ("+c.errorMsg+")"}}var h=document.createTextNode("");if(a[d+1]){h=e.cloneNode(-1);h.href="#"+a[d+1].avParent.id}if(c.avParent.id!=c.id&&c.avParent.tagName.lc()!="form"){if(this.labelBeforeErrorMsg&&c.labelElm){DOM.insertAfter(g,DOM.firstChildTag(c.avParent))}else{DOM.prependChild(g,c.avParent)}DOM.appendChild(h,c.avParent)}else{DOM.insertBefore(g,c);DOM.insertAfter(h,c)}c._1=g;c._6=h}return},isValid:function(b,e){this.prepareTheForm(b);var d=(b.tagName.lc()=="form")?b.avFields:(b.avParent)?[b]:this.getFormElements(b);var c="";var g="";var h=[];this._0={};var i=null;var k={};for(var j=0,f;f=d[j];j++){if(f.disabled){continue}if(f.avCustomReqCheck){f.isRequired=f.avCustomReqCheck(f)}else if(f.avCheck.isRequired){f.isRequired=f.avCheck.isRequired(f)}var m=f.tagName.lc(),s=false;if(((m=="input")&&(!f.type||"text|file|password".indexOf(f.type)>-1))||(m=="select")||(m=="textarea")){this._5(f);if(m=="select"){for(var v=0,t;t=f.options[v];v++){if(s=(t.selected&&DOM.getOptionValue(t))){break}}}if(!(this._0[f.name]=f.value||s)&&f.isRequired){c+=this.bullet+this.getFieldLabel(f,b)+"\n";DOM.addClass(f.avParent,this.reqErrorClass);i=i||f;h.push(f)}}else if((m=="input")&&"checkbox|radio".indexOf(f.type)>-1){if(f.isRequired){var o=f.name;if(!k[o]){this._5(f);DOM.addClass(f.avParent,this.reqErrorClass);c+="-AV-"+f.id+"-AV-\n";k[o]=[0,f,0,"",h.length];i=i||f;h.push(f)}var l=k[o];if(f.checked){DOM.removeClass(f.avParent,this.reqErrorClass);l[0]++;if(i==l[1]){i=null}h[l[4]]=null}l[3]=l[3]||f.errorMsg;l[2]++}if(f.checked){this._0[f.name]=true}}if(f.value||s){var u=true;if(f.avCustomTypeCheck){u=f.avCustomTypeCheck(f)}else if(f.avCheck.isValid){u=f.avCheck.isValid(f)}if(!u){var p=f.errorMsg;if(p){p=" ("+p+")"}g+=this.bullet+this.getFieldLabel(f,b)+p+"\n";DOM.addClass(f.avParent,this.typeErrorClass);i=i||f;h.push(f)}}}for(o in k){var l=k[o];var q="";if(l[0]<=0){q=this.bullet+this.getFieldLabel(l[1],b,(l[2]>1));if(l[3]){q+=" ("+l[3]+")"}q+="\n"}var x=new RegExp("-AV-"+l[1].id+"-AV-\\n");c=c.replace(x,q)}var w=[];for(var j=0,y=h.length;j<y;j++){if(h[j]){w.push(h[j])}}h=w;if(h.length&&!e){if(this.errorMsgType!="alertonly"){this._c(h)}if(this.errorMsgType!="inlineonly"){var r="";r+=(c)?this[b.avLang].errorReqMsg+c+"\n\n":"";r+=(g)?this[b.avLang].errorTypeMsg+g:"";if(r){alert(r)}}switch(this.errorAction){case"focus":if(this.errorMsgType=="alertonly"){if(i.id){setTimeout("DOM.$('"+i.id+"').focus()",200)}else{i.focus()}}else{var n=document.createElement("a");n.className=this.focusElmClass;n.href="#";n.innerHTML="#";DOM.prependChild(n,i._1);DOM.aquireId(n);EEvent.add(n,"click",function(a){return false});EEvent.add(n,"blur",function(a){setTimeout("DOM.removeNode(DOM.$('"+n.id+"'))",10);return true});DOM.get('a',i._1)[0].focus()}break;case"anchor":setTimeout("document.location.href = '#"+i.avParent.id+"';",200);break}return false}return true},cleanLabelString:function(a){if(!a){return""}a=a.replace(/\s\s+/g," ");a=a.replace(/ - /g,", ");a=a.replace(/\[/g,"(");a=a.replace(/\]/g,")");a=a.replace(/\([^)]+\)/g,"");a=a.replace(/[\s*:#]+$/,"");a=a.replace(/^[\s*#]+/,"");if(a.length>(this.maxLabelLength+1)){a=a.substr(0,(this.maxLabelLength-1));a=a.replace(/[.,:;\s]+$/,"");a+="..."}return a},getFieldLabel:function(a,b,e){if(!a._7){b=b||a.form;e=e||false;var d=(a.title)?this.cleanLabelString(a.title):"";if(!d&&a.labelElm){d=DOM.innerText(a.labelElm);d=this.cleanLabelString(d)}d=d||a.name;var c="";var g=a.parentNode;var h=true;var i=/ - $/;var k=/\n/g;while(g!=b){if(g.tagName.lc()=="fieldset"){var j;for(var f=0;j=g.childNodes[f];f++){if(j.nodeType==1&&DOM.innerText(j)&&DOM.innerText(j)!="#"){break}}if(j&&j.tagName.lc()!="fieldset"){var m=DOM.innerText(j);m=this.cleanLabelString(m);c=m+" - "+c;if(h&&e&&"checkbox|radio".indexOf(a.type)>-1){d=c.replace(i,"");c=""}h=false;break}}g=g.parentNode}if(c=c.replace(i,"")){c=" [ "+c+"]"}a._7=(d+c).replace(k,"")}return a._7}};autoValidate.types={fi_email:{is:{alertMsg:"dæmi: notandi@daemi.is",inlineMsg:"Vinsamlega sláðu inn löglegt netfang (dæmi: notandi@daemi.is):"},en:{alertMsg:"example: user@example.com",inlineMsg:"Please provide a valid e-mail address (example: user@example.com):"},isValid:function(a){if(a.value){a.value=a.value.trim();if(!(/^[a-z0-9-._+]+@([a-z0-9-_]+\.)+[a-z0-9-_]{2,99}$/i).test(a.value)){var b=this[a.avLang]||this.en;a.errorMsg=b.alertMsg;a.errorMsgInline=b.inlineMsg;return false}}return true},isRequired:null},fi_url:{is:{alertMsg:"dæmi: http://www.eitthvad.is/"},en:{alertMsg:"example: http://www.example.com/"},isValid:function(a){if(a.value){a.value=a.value.trim();var b=/^[a-z]+:\/\/.+\..+$/;var e=/[\(\)\<\>\,\:\"\[\]\\]/;var d=a.value.replace(/^[a-z]+:\/\/.+$/i,"");if(!b.test(a.value)||e.test(d)){a.errorMsg=this[a.avLang].alertMsg||this.en.alertMsg;return false}}return true}},fi_tel:{isValid:function(a){if(a.value){return!a.value.replace(/(\s|[-+]|\d)/g,"")}return true}},fi_ccnum:{isValid:function(a){if(a.value){var b=!0,e=a.value.replace(/[ -]/g,"");if(!/^(\d{16}|3[47]\d{13})$/.test(e)){return false}var b,d=0,c=e.length;while(c-->0){d+=e.charAt(c)*1;c--;var g=e.charAt(c)*2;d+=Math.floor(g/10)+(g%10)}b=((d%10)===0);if(b&&e.length==15&&DOM.hasClass(a.avParent,this.noAmExClass)){a.errorMsg=this[a.avLang].noAmEx||this.en.noAmEx;b=!b}}return b},is:{noAmEx:"American Express kort virka ekki."},en:{noAmEx:"American Express cards are not accepted."},noAmExClass:'no-amex'},fi_ccexp:{isValid:function(a){if(a.value){a.value=a.value.replace(/(\d\d)\s*[ -\/]?\s*(\d\d)/,"$1/$2").replace(/\s+/g,"");return/^(0\d|1[012])\/(\d\d)$/.test(a.value)}return true}},fi_kt:{isValid:function(a){if(a.value){var b=a.value.trim().replace(/[\s\-]/g,"");a.value=b;if(/\D/.test(b)||b.length!=10||!(/(9|0)$/).test(b)){return false}var e=[3,2,7,6,5,4,3,2,1],d=0,c=9;while(c--){d+=(e[c]*b.charAt(c))}if(d%11){return false}}return true}},fi_qty:{isValid:function(a){var b=a.value=a.value.trim();return!b||/^\d+$/.test(b)}},fi_num:{isValid:function(a){var b=a.value.trim().replace(/^-\s+/,'-').replace(/[,.]$/,'');a.value=b;return!b||(/\d/.test(b)&&/^-?\d*[.,]?\d*$/.test(b))}},fi_percent:{isValid:function(a){if(autoValidate.types.fi_num.isValid(a)){var b=parseFloat(a.value);if(b>=0&&b<=100){return true}a.errorMsg=this[a.avLang]||this.en}return false},is:"Sláðu inn gildi á bilinu 0 til 100.",en:"Enter a value between 0 and 100."},fi_date:{is:"dæmi: %format",en:"example: %format",isValid:function(a){if(!a.value){return true}var b=a.value.trim();a.value=b;if(!b){return true}var e=this[a.avLang]||this.en,d="27.5.2006",c=true;if(window.datePicker&&datePicker.VERSION<2){var g=a.id,h=datePicker.fields[g];if(h){var i=datePicker.parseDate(g);if(!i){c=false}else{var k=datePicker.printDateValue(i,h.dateFormat,h.lang).replace(/(^\s+|\s+$)/g,"");if(!h.caseSensitive){b=b.lc();k=k.lc()}c=(k==b);if(!c){d=datePicker.printDateValue(new Date(2006,4,27),h.dateFormat,h.lang)}}}}else{b=b.replace(/[ .-\/]+/g,".");b=b.replace(/\.(\d\d)$/,".20$1");a.value=b;c=/^(3[01]|[12]?[0-9]|(0)?[1-9])\.(1[012]|(0)?[1-9])\.(19|20)?\d\d$/.test(b)}if(!c){a.errorMsg=e.replace(/%format/,d);return false}return true}},fi_year:{is:"dæmi: 1998",en:"example: 1998",isValid:function(a){if(a.value){a.value=a.value.trim();if(!/^(19|20)\d\d$/.test(a.value)){a.errorMsg=this[a.avLang]||this.en;return false}}return true}},fi_postal_is:{is:"dæmi: 101",en:"example: 101",isValid:function(a){var b=a.value,e=autoValidate.postCodes;e=e&&e.is;if(b){b=b.trim();a.value=b;var d=false;if(!e){d=/^\d\d\d$/.test(b)}else if(e[b]){var d=true;var c=DOM.get("input",a.form);var g=c.length-2;if((g+1)>0){do{var h=c[g+1];if((c[g]==a)&&DOM.hasClass(h,"ff_baer")){h.value=e[b]}}while(g--)}}if(!d){a.errorMsg=this[a.avLang]||this.en;return false}}return true}},fi_pnrs:{is:"dæmi: 101, 107, 105",en:"example: 101, 107, 105",delimiter:", ",isValid:function(a){if(a.value){var b=a.value.trim().replace(/([ ,;]+)/g,this.delimiter),e=b.split(this.delimiter),d=e.length,c={avLang:a.avLang};while(d--){c.value=e[d];if(!autoValidate.types.fi_postal_is.isValid(c)){a.errorMsg=c.errorMsg;return false}}}return true}},fi_time:{config:{delimeter:':',ampm:false,amDelimeter:' ',leadingZero:true,seconds:""},fieldcfg:{},isValid:function(a){var b=a.value,e=true;if(b){var d={};Object.merge(d,this.config);Object.merge(d,this.fieldcfg[a.name]||{});b=b.trim().replace(/[^0-9a-z]+/gi,':').replace(/^(\d:)/,'0$1');if(d.ampm){b=b.lc().replace(/:?([ap])m?$/,' $1m').replace(/(\d)$/,'$1 am');e=/^(1[012]|0\d)(:[0-5]\d){1,2}\s[ap]m$/.test(b)}else{e=/^(2[0123]|[01]\d)(:[0-5]\d){1,2}$/.test(b)}if(e){switch(d.seconds){case'add':b=b.replace(/^(\d+:\d+) /,'$1:00 ');break;case'strip':b=b.replace(/^(\d+:\d+):\d+/,'$1');break;case'round':}if(!d.leadingZero){b=b.replace(/^0/,'')}if(d.ampm=="upper"){b=b.uc()}a.value=b.replace(/:/g,d.delimeter).replace(/ /,d.amDelimeter)}}return e}}};(function(){var a=autoValidate.types;a.fi_digits=a.fi_qty;a.fi_amount=a.fi_num;a.fi_dmy=a.fi_date;a.fi_pnr=a.fi_postal_is})();
