var 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"],wdays:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],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"],wdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],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:"%dd.%mm.%yyyy",flipYears:false,caseSensitive:false,lang:"en"},idDefaults:{},fields:{},_36:false};Event.add(window,"load",function(){var _5=DOM.getLang();if(_5&&datePicker[_5]){datePicker.defaults.lang=_5}});datePicker.capitalize=function(s){return s&&(s.charAt(0).toUpperCase()+s.substr(1))};datePicker.init=function(_44){if(!document.getElementsByTagName){return true}if(!this._36&&this.defaultCssFile!==""){if(!this.defaultCssFile){var _40=DOM.get("script");var i=_40.length;while(i--){var _30=_40[i];if(_30.src&&_30.src.indexOf("datepicker/1.0/dp")>-1){this.defaultCssFile=_30.src.replace(/[^\/]+$/,"dp.css?v=2");break}}}DOM.insertLink(this.defaultCssFile)}this._19=new Date();this._19.setHours(0);this._19.setMinutes(0);this._19.setSeconds(0);this._19.setMilliseconds(0);var _45=DOM.get("input",_44);var _46=new RegExp(" "+this.cssTriggers.join(" | ")+" ");for(var i=0,_12;_12=_45[i];i++){if(_12.id&&this.fields[_12.id]&&(this.fields[_12.id]._15==_12)){continue}if(!_12.type||(_12.type=="text")){var id=DOM.aquireId(_12),_35="",_22=_12;while(!/form|body/.test(_22.tagName.toLowerCase())){_35+=" "+_22.className;_22=_22.parentNode}if(_46.test(_35+" ")){this.fields[id]=new DateUI(id);this.fields[id].init()}}}this._36=true};datePicker.getMY=function(dt,_5){return datePicker.capitalize(this[_5].months[dt.getMonth()])+" "+dt.getFullYear()};datePicker.printDateValue=function(dt,_9,_5){if(!dt){return""}_5=_5||this.defaults.lang;_9=_9||this.defaults.dateFormat;var yr=dt.getFullYear()+"";var m=(dt.getMonth()+1)+"";var d=dt.getDate()+"";var _3=(_9.match(/\%d+/))?_9.match(/\%(d+)/)[1].length:0;if((_3>=2)&&(d<10)){d="0"+d}_3=(_9.match(/\%m+/))?_9.match(/\%(m+)/)[1].length:0;if((_3==2)&&(m<10)){m="0"+m}else if(_3>2){m=this[_5].months[dt.getMonth()]}if(_3==3){m=m.substr(0,3)}_3=(_9.match(/\%y+/))?_9.match(/\%(y+)/)[1].length:0;if(_3==2){yr=yr.substr(2,2)}return _9.replace(/\%y+/,yr).replace(/\%m+/,m).replace(/\%d+/,d)};datePicker.parseDate=function(myId){var _4=this.fields[myId]._15.value;if(!_4){return null}var dateFormat=this.fields[myId].dateFormat,d=1,m=0,yr=null,_14,_3,_6,re;if(dateFormat.indexOf("%m")>-1){_6=dateFormat.substr(0,dateFormat.indexOf("%m")).replace(/\%(d|m|y)/g,"$1").length;_3=dateFormat.match(/\%(m+)/)[1].length;if(_3>2){var _37=datePicker[this.fields[myId].lang].months;_14=_4.substr(_6,999).toLowerCase();for(var i=0;i<_37.length;i++){var _23=_37[i].toLowerCase();if(_3==3){_23=_23.substr(0,3)}if(_14.indexOf(_23)>-1){m=i;_4=_4.substr(0,_6+1)+_4.substr(_6+_23.length+1,999);break}}}else{_14=_4.substr(_6,2).replace(/^0+/,"");m=parseInt(_14);if(isNaN(m)||(m<1)){m=1}m=m-1;re=new RegExp("(.{"+_6+"})\\d\\d?(.*)$");_4=_4.replace(re,"$1$2")}dateFormat=dateFormat.replace(/\%m+/,"")}if(dateFormat.indexOf("%d")>-1){_6=dateFormat.substr(0,dateFormat.indexOf("%d")).replace(/\%(d|m|y)/g,"$1").length;_14=_4.substr(_6,2).replace(/^0+/,"");d=parseInt(_14);if(isNaN(d)||(d<1)){d=1}re=new RegExp("(.{"+_6+"})\\d\\d?(.*)$");_4=_4.replace(re,"$1$2");dateFormat=dateFormat.replace(/\%d+/,"")}if(dateFormat.indexOf("%y")>-1){_6=dateFormat.substr(0,dateFormat.indexOf("%y")).replace(/\%(d|m|y)/g,"$1").length;_3=dateFormat.match(/y+/)[0].length;_14=_4.substr(_6,_3).replace(/^0+/,"");yr=parseInt(_14);if(isNaN(yr)||(yr<=0)){return null}if(_3!=4){yr+=(yr<70)?2000:1900}re=new RegExp("(.{"+_6+"})\\d{"+_3+"}(.*)$");_4=_4.replace(re,"$1$2");dateFormat=dateFormat.replace(/\%y+/,"")}return new Date(yr,m,d)};datePicker.buildCalendar=function(myId){var _13=datePicker.fields[myId],dt=_13.dateActive,_5=_13.lang,_1=this[_5];var _26=DOM.makeElement(''+'<div id="'+myId+'´-cal" class="pickdate'+(_13.flipYears?' pickdate-yearnav':'')+'">'+(is_ie?'<iframe src="javascript:false" frameborder="0" width="1" height="1"></iframe>':'')+'<div class="pickdatewrap">'+'<h4>'+this.getMY(dt,_5)+'</h4>'+'</div>'+'</div>');_26.fieldId=myId;Event.add(_26,"click",Event.kill);var _25=DOM.get("div",_26)[0];var _31=DOM.makeElement(''+'<ul class="month">'+'<li class="prev"><a href="#" title="'+(_1.prevMLong||_1.prevM)+'">'+_1.prevM+'</a></li>'+'<li class="next"><a href="#" title="'+(_1.nextMLong||_1.nextM)+'">'+_1.nextM+'</a></li>'+'</ul>');Event.add(DOM.get("a",_31)[0],"click",function(e){datePicker.flipCal(myId,-1,"m");return false});Event.add(DOM.get("a",_31)[1],"click",function(e){datePicker.flipCal(myId,1,"m");return false});_25.appendChild(_31);if(_13.flipYears){var _28=DOM.makeElement(''+'<ul class="year">'+'<li class="prev"><a href="#" title="'+(_1.prevYLong||_1.prevY)+'">'+_1.prevY+'</a></li>'+'<li class="next"><a href="#" title="'+(_1.nextYLong||_1.nextY)+'">'+_1.nextY+'</a></li>'+'</ul>');Event.add(DOM.get("a",_28)[0],"click",function(){datePicker.flipCal(myId,-1,"y");return false});Event.add(DOM.get("a",_28)[1],"click",function(){datePicker.flipCal(myId,1,"y");return false});_25.appendChild(_28)}var _29='<table cellspacing="0" summary=""><thead><tr>';for(var i=0;i<7;i++){var _38=datePicker.capitalize(_1.wdays[i]);_29+='<th><acronym title="'+_38+'">'+_38.substr(0,this.wDLength)+'</acronym></th>'}_29+='</tr></thead><tbody><tr><td colspan="7"></td></tr></tbody></table>';_25.appendChild(DOM.makeElement(_29));var _41=DOM.makeElement('<a href="#" class="close" title="'+(_1.closeLong||_1.close)+'">'+_1.close+'</a>');_25.appendChild(_41);Event.add(_41,"click",function(e){datePicker.closeCalendar(myId);return false});return _26};datePicker.buildCalendarDays=function(myId){var _0=datePicker.fields[myId];var dt=_0.dateActive;var _27=dt.getMonth();var _32=_0._7;var _8=new Date(dt.getFullYear(),_27,1);var _33=document.createElement("tbody");var _43=function(){datePicker.doPickDate(myId,this.newDay);return false};while(_8.getMonth()==_27){var tr=document.createElement("tr");_33.appendChild(tr);for(var i=1;i<8;i++){var td=document.createElement("td");tr.appendChild(td);if(_8.getMonth()==_27){if((_8.getDate()==1)&&(i<=_8.getDay())){td.className="o";td.appendChild(document.createTextNode(String.fromCharCode(160)))}else{if(_8.getTime()==this._19.getTime()){td.className+=" today"}if(_32){if(_8.getTime()==_32.getTime()){td.className+=" active"}}td.className=td.className.replace(/^\s/,"");var tda;if(datePicker.isValidChoice(_8,myId)){tda=document.createElement("a");tda.href="#";tda.fieldId=myId;tda.newDay=_8.getDate();Event.add(tda,"click",_43)}else{tda=document.createElement("i")}tda.appendChild(document.createTextNode(_8.getDate()));td.appendChild(tda);_8.setDate(_8.getDate()+1)}}else{td.className="o";td.appendChild(document.createTextNode(String.fromCharCode(160)))}}}return _33};datePicker.isValidChoice=function(qDate,myId){var _0=datePicker.fields[myId];var dateMin=_0.dateMin;var dateMax=_0.dateMax;var _47=(!dateMin||(qDate.getTime()>=dateMin.getTime()));var _48=(!dateMax||(qDate.getTime()<=dateMax.getTime()));return(_47&&_48)};datePicker.openCalendar=function(myId){var _0=this.fields[myId];_0.dateMin=_0.getDateBoundry("min");_0.dateMax=_0.getDateBoundry("max");this.updateCalendar(myId);if(_0.isOpen){return false}_0.isOpen=true;DOM.appendChild(_0._18,_0._15.parentNode);Event.add(document.body,"click",this.delayedCloseAll)};datePicker.closeCalendar=function(myId){var _0=this.fields[myId];if(!_0.isOpen){return false}_0.isOpen=false;DOM.removeNode(_0._18);Event.remove(document.body,"click",this.delayedCloseAll)};datePicker.toggleCalendar=function(myId){this[(this.fields[myId].isOpen)?"closeCalendar":"openCalendar"](myId)};datePicker.flipCal=function(myId,_10,_50){var _0=this.fields[myId];var dateMin=_0.dateMin;var dateMax=_0.dateMax;var d=_0.dateActive;var _2=new Date(d.getFullYear(),d.getMonth(),1);if(_50=="y"){_2.setFullYear(_2.getFullYear()+_10)}else{_2.setMonth(_2.getMonth()+_10)}if(_10<0){_2.setMonth(_2.getMonth()+1);_2.setDate(0)}var _24=false;if((!dateMin||(_2.getTime()>=dateMin.getTime()))&&(!dateMax||(_2.getTime()<=dateMax.getTime()))){_24=true}else if(dateMin&&(_2.getTime()<dateMin.getTime())&&(_10>0)){_2=dateMin;_24=true}else if(dateMax&&(_2.getTime()>dateMax.getTime())&&(_10<0)){_2=dateMax;_24=true}if(_24){_0.dateActive=new Date(_2.getFullYear(),_2.getMonth(),_2.getDate());this.updateCalendar(myId);_0._49.focus();return true}return false};datePicker.updateCalendar=function(myId){var _0=datePicker.fields[myId];var _39=_0._18;var _52=DOM.get("h4",_39)[0];var _51=datePicker.getMY(_0.dateActive,_0.lang);DOM.replaceNode(document.createTextNode(_51),_52.firstChild);var _53=DOM.get("tbody",_39)[0];DOM.replaceNode(datePicker.buildCalendarDays(myId),_53)};datePicker.doPickDate=function(myId,_54){var _0=$(myId);var _13=this.fields[myId];var _20=_13.dateActive;_20.setDate(_54);var _21=_13._7;_21.setFullYear(_20.getFullYear());_21.setMonth(_20.getMonth());_21.setDate(_20.getDate());_0.value=this.printDateValue(_21,_13.dateFormat,_13.lang);this.closeCalendar(myId);this.updateCalendar(myId);_0.focus()};datePicker.closeAll=function(){for(var myId in datePicker.fields){if(!datePicker.fields[myId].isHovered){datePicker.closeCalendar(myId)}}return false};datePicker.delayedCloseAll=function(e){setTimeout(datePicker.closeAll,10)};var DateUI=function(myId){this._15=$(myId);if(datePicker.openOnFieldClick){Event.add(this._15,"mouseup",function(e){if(!datePicker.fields[this.id].isOpen){setTimeout("datePicker.openCalendar('"+this.id+"')",20);e.stopPropagation()}});Event.add(this._15,"blur",function(){var funcStr="if (!datePicker.fields['"+this.id+"'].isHovered) { datePicker.closeCalendar('"+this.id+"'); }";setTimeout(funcStr,20)})}this.getDateBoundry=function(varId){var _11=this["date"+varId.substr(0,1).toUpperCase()+varId.substr(1,999)+"Src"];if(!_11){return null}var y,m,d,_17,_16,_10,_42;if(!_11.join){_17=_11}else{_17=_11[0];if(_11[1]&&(typeof(_11[1])=="string")&&_11[1].match(/^[-+]?\d+[dmy]$/)){_10=parseInt(_11[1]);_42=_11[1].match(/[dmy]$/)[0]}}if(typeof(_17)=="string"){if(!datePicker.fields[_17]){return null}_16=datePicker.parseDate(_17)}else{_16=_17}if(!_16){return null}y=_16.getFullYear();m=_16.getMonth();d=_16.getDate();if(_10){eval(_42+" += _10")}return new Date(y,m,d)};this.isOpen=false;var def=datePicker.defaults;this.dateActiveSrc=def.dateActiveSrc;this.dateMinSrc=def.dateMinSrc;this.dateMaxSrc=def.dateMaxSrc;this.dateFormat=def.dateFormat;this.flipYears=def.flipYears;this.caseSensitive=def.caseSensitive;this.lang=def.lang;var _34=DOM.getLang(this._15);if(datePicker[_34]){this.lang=_34}for(var methd in datePicker.idDefaults[myId]){this[methd]=datePicker.idDefaults[myId][methd]}this.dateActive=this.getDateBoundry("active");this.init=function(){this._7=datePicker.parseDate(myId);if(this._7){this.dateActive=new Date(this._7.getFullYear(),this._7.getMonth(),this._7.getDate())}else{this._7=new Date();this._7.setHours(0);this._7.setMinutes(0);this._7.setSeconds(0);this._7.setMilliseconds(0)}this.dateMin=this.getDateBoundry("min");this.dateMax=this.getDateBoundry("max");var btn=document.createElement("a");this._15.parentNode.appendChild(btn);this._49=btn;btn.className="pickdatelink";btn.appendChild(document.createTextNode(datePicker[this.lang].popBtn));btn.title=(datePicker[this.lang].popBtnLong)?datePicker[this.lang].popBtnLong:datePicker[this.lang].popBtn;btn.href="#";btn.fieldId=myId;Event.add(btn,"click",function(e){datePicker.toggleCalendar(this.fieldId);e.stopPropagation();return false});this._18=datePicker.buildCalendar(myId);this.isHovered=false;Event.add(btn,"focus",function(){datePicker.fields[this.fieldId].isHovered=true});Event.add(btn,"mouseout",function(){datePicker.fields[this.fieldId].isHovered=false});Event.add(this._18,"mouseover",function(){datePicker.fields[this.fieldId].isHovered=true});Event.add(this._18,"mouseout",function(){datePicker.fields[this.fieldId].isHovered=false})}};