!window.datePicker&&(function(){var o=function(b){return b&&(b.charAt(0).uc()+b.substr(1))},p=function(b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);return b},k=EEvent;datePicker={VERSION:1.0,defaultCssFile:null,cssTriggers:['fi_date','fi_dmy'],openOnFieldClick:true,wDLength:1,is:{months:'janúar,febrúar,mars,apríl,maí,júní,júlí,ágúst,september,október,nóvember,desember'.split(','),wdays:'sunnudagur,mánudagur,þriðjudagur,miðvikudagur,fimmtudagur,föstudagur,laugardagur'.split(','),popBtn:'Veldu dag',popBtnLong:'Veldu dagsetningu',close:'Fela',closeLong:'Fela dagatalið',prevM:'Fyrri',prevMLong:'Fyrri mánuður',nextM:'Næsti',nextMLong:'Næsti mánuður',prevY:'Fyrra ár',prevYLong:'Fyrra ár',nextY:'Næsta ár',nextYLong:'Næsta ár'},en:{months:'January,February,March,April,May,June,July,August,September,October,November,December'.split(','),wdays:'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','),popBtn:'Pick date',popBtnLong:'Pick date',close:'Close',closeLong:'Close Calendar',prevM:'Prev',prevMLong:'Previous month',nextM:'Next',nextMLong:'Next month',prevY:'Prev year',prevYLong:'Previous year',nextY:'Next year',nextYLong:'Next year'},defaults:{dateActiveSrc:new Date(),dateMinSrc:null,dateMaxSrc:null,dateFormat:'%d.%m.%yyyy',flipYears:false,caseSensitive:false,lang:'en'},idDefaults:{},fields:{},_2:false,init:function(b){if(!this._2&&this.defaultCssFile!==""){if(!this.defaultCssFile){var a=DOM.get('script');var d=a.length;while(d--){var g=a[d];if(g.src&&g.src.indexOf('datepicker/1.0/dp')>-1){this.defaultCssFile=g.src.replace(/[^\/]+$/,'dp.css?v=4');break}}}DOM.insertLink(this.defaultCssFile)}this._5=p(new Date());var f=DOM.get("input",b);var c=new RegExp(" "+this.cssTriggers.join(" | ")+" ");for(var d=0,i;i=f[d];d++){if(i.id&&this.fields[i.id]&&(this.fields[i.id]._0==i)){continue}if(!i.type||(i.type=="text")){var e=DOM.aquireId(i),h="",j=i;while(!/^(form|body)$/.test(j.tagName.lc())){h+=" "+j.className;j=j.parentNode}if(c.test(h+" ")){this.fields[e]=new s(e);this.fields[e].init()}}}this._2=true},getMY:function(b,a){return o(this[a].months[b.getMonth()])+" "+b.getFullYear()},_3:function(b){if(b.indexOf('%')==-1){b=b.replace(/(d+)/i,'%$1').replace(/(m+)/i,'%$1').replace(/(y+)/i,'%$1')}return b.lc()},printDateValue:function(b,a,d){if(!b){return""}var g=this[d||this.defaults.lang]||this.en;a=this._3(a||this.defaults.dateFormat);var f=b.getFullYear()+"";var c=(b.getMonth()+1)+"";var i=b.getDate()+"";var e=(a.match(/\%d+/))?a.match(/\%(d+)/)[1].length:0;if((e>=2)&&(i<10)){i="0"+i}e=(a.match(/\%m+/))?a.match(/\%(m+)/)[1].length:0;if((e==2)&&(c<10)){c="0"+c}else if(e>2){c=g.months[b.getMonth()]}if(e==3){c=c.substr(0,3)}e=(a.match(/\%y+/))?a.match(/\%(y+)/)[1].length:0;if(e==2){f=f.substr(2,2)}return a.replace(/\%y+/,f).replace(/\%m+/,c).replace(/\%d+/,i)},parseDate:function(b){var a=this.fields[b]._0.value;if(!a){return null}var d=this._3(this.fields[b].dateFormat),g=1,f=0,c=null,i,e,h,j;if(d.indexOf("%m")>-1){h=d.substr(0,d.indexOf("%m")).replace(/\%(d|m|y)/g,"$1").length;e=d.match(/\%(m+)/)[1].length;if(e>2){var m=this[this.fields[b].lang].months;i=a.substr(h).lc();for(var l=0;l<m.length;l++){var n=m[l].lc();if(e==3){n=n.substr(0,3)}if(i.indexOf(n)>-1){f=l;a=a.substr(0,h+1)+a.substr(h+n.length+1);break}}}else{i=a.substr(h,3).replace(/^\D/,"").substr(0,2);f=i.toInt();if(isNaN(f)||(f<1)){f=1}f=f-1;j=new RegExp("(.{"+h+"})\\d\\d?(.*)$");a=a.replace(j,"$1$2")}d=d.replace(/\%m+/,"")}if(d.indexOf("%d")>-1){h=d.substr(0,d.indexOf("%d")).replace(/\%(d|m|y)/g,"$1").length;i=a.substr(h,3).replace(/^\D/,"").substr(0,2);g=i.toInt();if(isNaN(g)||(g<1)){g=1}j=new RegExp("(.{"+h+"})\\d\\d?(.*)$");a=a.replace(j,"$1$2");d=d.replace(/\%d+/,"")}if(d.indexOf("%y")>-1){h=d.substr(0,d.indexOf("%y")).replace(/\%(d|m|y)/g,"$1").length;e=d.match(/y+/)[0].length;i=a.substr(h,e+2).replace(/^.?\D/,"").substr(0,e);c=i.toInt();if(isNaN(c)||(c<=0)){return null}if(e!=4){c+=(c<70)?2000:1900}j=new RegExp("(.{"+h+"})\\d{"+e+"}(.*)$");a=a.replace(j,"$1$2");d=d.replace(/\%y+/,"")}return new Date(c,f,g)},buildCalendar:function(a){var d=this.fields[a],g=d.dateActive,f=d.lang,c=this[f];var i=DOM.node('<div id="'+a+'-cal" class="pickdate'+(d.flipYears?' pickdate-yearnav':'')+'">'+(msie.version<8?'<iframe class="layerfix" frameborder="0"></iframe>':'')+'<div class="pickdatewrap"><h4>'+this.getMY(g,f)+'</h4></div></div>');i.fieldId=a;k.add(i,"click",k.kill);var e=DOM.get("div",i)[0];var h=DOM.node('<ul class="month"><li class="prev"><a href="#" title="'+(c.prevMLong||c.prevM)+'">'+c.prevM+'</a></li><li class="next"><a href="#" title="'+(c.nextMLong||c.nextM)+'">'+c.nextM+'</a></li></ul>');var j=DOM.get("a",h);k.add(j[0],"click",function(b){datePicker.flipCal(a,-1,"m")});k.add(j[1],"click",function(b){datePicker.flipCal(a,1,"m")});e.appendChild(h);if(d.flipYears){var m=DOM.node('<ul class="year"><li class="prev"><a href="#" title="'+(c.prevYLong||c.prevY)+'">'+c.prevY+'</a></li><li class="next"><a href="#" title="'+(c.nextYLong||c.nextY)+'">'+c.nextY+'</a></li></ul>');j=DOM.get("a",m);k.add(j[0],"click",function(){datePicker.flipCal(a,-1,"y")});k.add(j[1],"click",function(){datePicker.flipCal(a,1,"y")});e.appendChild(m)}var l='<table cellspacing="0" summary=""><thead><tr>';for(var n=0;n<7;n++){var q=o(c.wdays[n]);l+='<th><acronym title="'+q+'">'+q.substr(0,this.wDLength)+'</acronym></th>'}l+='</tr></thead><tbody><tr><td colspan="7"></td></tr></tbody></table>';e.appendChild(DOM.node(l));var r=DOM.node('<a href="#" class="close" title="'+(c.closeLong||c.close)+'">'+c.close+'</a>');e.appendChild(r);k.add(r,"click",function(b){return datePicker.closeCalendar(a)});return i},buildCalendarDays:function(b){var a=this.fields[b];var d=a.dateActive;var g=d.getMonth();var f=a._4;var c=new Date(d.getFullYear(),g,1);var i=DOM.newElm("tbody");var e=function(){return datePicker.doPickDate(b,this.newDay)};while(c.getMonth()==g){var h=DOM.newElm("tr");i.appendChild(h);for(var j=1;j<8;j++){var m=DOM.newElm("td");if(c.getMonth()==g&&!(c.getDate()==1&&j<=c.getDay())){if(c.getTime()==this._5.getTime()){DOM.addClass(m,'today')}if(f&&c.getTime()==f.getTime()){DOM.addClass(m,'active')}var l;if(this.isValidChoice(c,b)){l=DOM.newElm("a");l.href="#";l.fieldId=b;l.newDay=c.getDate();k.add(l,"click",e)}else{l=DOM.newElm("i")}l.appendChild(DOM.node(c.getDate()+''));m.appendChild(l);c.setDate(c.getDate()+1)}else{DOM.addClass(m,'o');m.appendChild(DOM.node(String.fromCharCode(160)))}if(j==1){DOM.addClass(m,'su')}else if(j==7){DOM.addClass(m,'sa')}h.appendChild(m)}}return i},isValidChoice:function(b,a){var d=this.fields[a];var g=d.dateMin;var f=d.dateMax;var c=!g||b.getTime()>=g.getTime();var i=!f||b.getTime()<=f.getTime();return(c&&i)},openCalendar:function(b){var a=this.fields[b];a.dateMin=a.getDateBoundry("min");a.dateMax=a.getDateBoundry("max");this.updateCalendar(b);if(a.isOpen){return false}a.isOpen=true;DOM.appendChild(a._1,a._0.parentNode);k.add(document.body,"click",this.delayedCloseAll)},closeCalendar:function(b){var a=this.fields[b];if(!a.isOpen){return false}a.isOpen=false;DOM.removeNode(a._1);k.remove(document.body,"click",this.delayedCloseAll);return false},toggleCalendar:function(b){this[(this.fields[b].isOpen?'close':'open')+'Calendar'](b)},flipCal:function(b,a,d){var g=this.fields[b];var f=g.dateMin;var c=g.dateMax;var i=g.dateActive;var e=new Date(i);e.setDate(1);if(d=="y"){e.setFullYear(e.getFullYear()+a)}else{e.setMonth(e.getMonth()+a)}if(a<0){e.setMonth(e.getMonth()+1);e.setDate(0)}var h=false,j=e.getTime();if((!f||j>=f.getTime())&&(!c||j<=c.getTime())){h=true}else if(f&&j<f.getTime()&&a>0){e=f;h=true}else if(c&&j>c.getTime()&&a<0){e=c;h=true}if(h){g.dateActive=new Date(e);this.updateCalendar(b);g._6.focus();return true}return false},updateCalendar:function(b){var a=this.fields[b];var d=a._1;var g=DOM.get("h4",d)[0];var f=this.getMY(a.dateActive,a.lang);DOM.replaceNode(DOM.node(f),g.firstChild);var c=DOM.get("tbody",d)[0];DOM.replaceNode(this.buildCalendarDays(b),c)},doPickDate:function(b,a){var d=DOM.$(b);var g=this.fields[b];var f=g.dateActive;f.setDate(a);var c=g._4;c.setTime(f.getTime());d.value=this.printDateValue(c,g.dateFormat,g.lang);this.closeCalendar(b);this.updateCalendar(b);d.focus();return false},closeAll:function(){for(var b in this.fields){if(!this.fields[b].isHovered){this.closeCalendar(b)}}return false},delayedCloseAll:function(b){setTimeout(datePicker.closeAll,10)}};var s=function(e){var h=datePicker;this._0=DOM.$(e);if(h.openOnFieldClick){k.add(this._0,"mouseup",function(b){if(!h.fields[this.id].isOpen){setTimeout("datePicker.openCalendar('"+this.id+"')",20);b.stopPropagation()}});k.add(this._0,"blur",function(){var b="if (!datePicker.fields['"+this.id+"'].isHovered) { datePicker.closeCalendar('"+this.id+"'); }";setTimeout(b,20)})}this.getDateBoundry=function(b){var a=b=='min'?this.dateMinSrc:b=='max'?this.dateMaxSrc:this.dateActiveSrc;if(!a){return null}var d={},g,f,c,i;if(!a.join){g=a}else{g=a[0];if(a[1]&&(typeof(a[1])=="string")&&a[1].match(/^[-+]?\d+[dmy]$/)){c=a[1].toInt();i=a[1].match(/[dmy]$/)[0]}}if(typeof(g)=="string"){if(!h.fields[g]){return null}f=h.parseDate(g)}else{f=g}if(!f){return null}d.y=f.getFullYear();d.m=f.getMonth();d.d=f.getDate();d[i]+=c||0;return new Date(d.y,d.m,d.d)};this.isOpen=false;Object.merge(this,h.defaults);Object.merge(this,h.idDefaults[e]||{});var j=DOM.getLang(this._0);if(h[j]){this.lang=j}this.dateActive=this.getDateBoundry("active");this.init=function(){var a=h.parseDate(e)||this.dateActive||p(new Date());this._4=a;this.dateActive=new Date(a);this.dateMin=this.getDateBoundry("min");this.dateMax=this.getDateBoundry("max");var d=DOM.node('<a href="#" class="pickdatelink">'+h[this.lang].popBtn+'</a>');d.title=(h[this.lang].popBtnLong)||h[this.lang].popBtn;d.fieldId=e;k.add(d,"click",function(b){h.toggleCalendar(this.fieldId);b.stopPropagation();return false});this._0.parentNode.appendChild(d);this._6=d;this._1=h.buildCalendar(e);this.isHovered=false;k.add(d,"focus",function(){datePicker.fields[this.fieldId].isHovered=true});k.add(d,"mouseout",function(){datePicker.fields[this.fieldId].isHovered=false});k.add(this._1,"mouseover",function(){datePicker.fields[this.fieldId].isHovered=true});k.add(this._1,"mouseout",function(){datePicker.fields[this.fieldId].isHovered=false})}}})();