
function Epoch(name,mode,targetelement,multiselect,language){var self=this;function calConfig(){self.versionNumber='2.0.2';self.displayYearInitial=self.curDate.getFullYear();self.displayMonthInitial=self.curDate.getMonth();self.displayYear=self.displayYearInitial;self.displayMonth=self.displayMonthInitial;self.minDate=new Date(2000,0,1);self.maxDate=new Date(2020,11,31);self.startDay=1;self.showWeeks=true;self.selCurMonthOnly=true;}
function setLang(){if((self.language=='en')||(self.language=='EN')||(self.language=='PL')||(self.language=='pl')){self.daylist=new Array('S','M','T','W','T','F','S','S','M','T','W','T','F','S');self.months_sh=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');self.monthup_title='Go to the next month';self.monthdn_title='Go to the previous month';self.clearbtn_caption='Clear';self.clearbtn_title='Clears any dates selected on the calendar';self.maxrange_caption='This is the maximum range';self.closebtn_caption='Close';self.closebtn_title='Close the calendar';}else if((self.language=='nl')||(self.language=='NL')||(self.language=='')){self.daylist=new Array('Z','M','D','W','D','V','Z','Z','M','D','W','D','V','Z');self.months_sh=new Array('Jan','Feb','Maa','Apr','Mei','Jun','Jul','Aug','Sep','Oct','Nov','Dec');self.monthup_title='Ga naar de volgende maand';self.monthdn_title='Ga naar de vorige maand';self.clearbtn_caption='Wissen';self.clearbtn_title='Wist de geslecteerde datum';self.maxrange_caption='Dat is de maximum waarde';self.closebtn_caption='Sluiten';self.closebtn_title='Sluit de kalender';}else if((self.language=='fr')||(self.language=='FR')){self.daylist=new Array('D','L','M','M','J','V','S','D','L','M','M','J','V','S');self.months_sh=new Array('Jan','F�v','Mar','Avr','Mai','Jui','Jui','Ao�','Sep','Oct','Nov','Dec');self.monthup_title='Le mois prochain';self.monthdn_title='Le mois pr�c�dent';self.clearbtn_caption='Effacer';self.clearbtn_title='Efface la date pr�c�dante';self.maxrange_caption='Valeur maximale';self.closebtn_caption='Fermer';self.closebtn_title='Fermer le calendrier';}else if((self.language=='it')||(self.language=='IT')){self.daylist=new Array('D','L','M','M','G','V','S','D','L','M','M','G','V','S');self.months_sh=new Array('Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic');self.monthup_title='Go to the next month';self.monthdn_title='Go to the previous month';self.clearbtn_caption='Clear';self.clearbtn_title='Clears any dates selected on the calendar';self.maxrange_caption='This is the maximum range';self.closebtn_caption='Close';self.closebtn_title='Close the calendar';}else if((self.language=='es')||(self.language=='ES')){self.daylist=new Array('D','L','M','M','J','V','S','D','L','M','M','J','V','S');self.months_sh=new Array('Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dec');self.monthup_title='ir al mes siguiente';self.monthdn_title='ir al mes anterior';self.clearbtn_caption='Borrar';self.clearbtn_title='Borrar las fechas seleccionadas en el calendario';self.maxrange_caption='Es el intervalo m�xima';self.closebtn_caption='Cerrar';self.closebtn_title='Cerrar el calendario';}}
function setDays(){self.daynames=new Array();var j=0;for(var i=self.startDay;i<self.startDay+7;i++){self.daynames[j++]=self.daylist[i];}
self.monthDayCount=new Array(31,((self.curDate.getFullYear()-2000)%4?28:29),31,30,31,30,31,31,30,31,30,31);}
function createCalendar(){var tbody,tr,td;self.calendar=document.createElement('table');self.calendar.setAttribute('id',self.name+'_calendar');setClass(self.calendar,'ecalendar');self.calendar.style.display='none';addEventHandler(self.calendar,'selectstart',function(){return false;});addEventHandler(self.calendar,'drag',function(){return false;});tbody=document.createElement('tbody');tr=document.createElement('tr');td=document.createElement('td');td.appendChild(createMainHeading());tr.appendChild(td);tbody.appendChild(tr);tr=document.createElement('tr');td=document.createElement('td');self.calendar.celltable=document.createElement('table');setClass(self.calendar.celltable,'cells');self.calendar.celltable.appendChild(createDayHeading());self.calendar.celltable.appendChild(createCalCells());td.appendChild(self.calendar.celltable);tr.appendChild(td);tbody.appendChild(tr);tr=document.createElement('tr');td=document.createElement('td');td.appendChild(createFooter());tr.appendChild(td);tbody.appendChild(tr);self.calendar.appendChild(tbody);addEventHandler(self.calendar,'mouseover',cal_onmouseover);addEventHandler(self.calendar,'mouseout',cal_onmouseout);}
function createMainHeading(){var container=document.createElement('div');setClass(container,'mainheading');self.monthSelect=document.createElement('select');self.yearSelect=document.createElement('select');var monthDn=document.createElement('input'),monthUp=document.createElement('input');var opt,i;for(i=0;i<12;i++){opt=document.createElement('option');opt.setAttribute('value',i);if(self.displayMonth==i){opt.setAttribute('selected','selected');}
opt.appendChild(document.createTextNode(self.months_sh[i]));self.monthSelect.appendChild(opt);}
var yrMax=self.maxDate.getFullYear(),yrMin=self.minDate.getFullYear();for(i=yrMin;i<=yrMax;i++){opt=document.createElement('option');opt.setAttribute('value',i);if(self.displayYear==i){opt.setAttribute('selected','selected');}
opt.appendChild(document.createTextNode(i));self.yearSelect.appendChild(opt);}
monthUp.setAttribute('type','button');monthUp.setAttribute('value','>');monthUp.setAttribute('title',self.monthup_title);monthDn.setAttribute('type','button');monthDn.setAttribute('value','<');monthDn.setAttribute('title',self.monthdn_title);self.monthSelect.owner=self.yearSelect.owner=monthUp.owner=monthDn.owner=self;function selectonchange(){if(self.goToMonth(self.yearSelect.value,self.monthSelect.value)){self.displayMonth=self.monthSelect.value;self.displayYear=self.yearSelect.value;}
else{self.monthSelect.value=self.displayMonth;self.yearSelect.value=self.displayYear;}}
addEventHandler(monthUp,'click',function(){self.nextMonth();});addEventHandler(monthDn,'click',function(){self.prevMonth();});addEventHandler(self.monthSelect,'change',selectonchange);addEventHandler(self.yearSelect,'change',selectonchange);container.appendChild(monthDn);container.appendChild(self.monthSelect);container.appendChild(self.yearSelect);container.appendChild(monthUp);return container;}
function createFooter(){var container=document.createElement('div');var clearSelected=document.createElement('input');clearSelected.setAttribute('type','button');clearSelected.setAttribute('value',self.clearbtn_caption);clearSelected.setAttribute('title',self.clearbtn_title);clearSelected.owner=self;addEventHandler(clearSelected,'click',function(){self.resetSelections(false);});container.appendChild(clearSelected);if(self.mode=='popup'){var closeBtn=document.createElement('input');closeBtn.setAttribute('type','button');closeBtn.setAttribute('value',self.closebtn_caption);closeBtn.setAttribute('title',self.closebtn_title);addEventHandler(closeBtn,'click',function(){self.hide();});setClass(closeBtn,'closeBtn');container.appendChild(closeBtn);}
return container;}
function createDayHeading(){self.calHeading=document.createElement('thead');setClass(self.calHeading,'caldayheading');var tr=document.createElement('tr'),th;self.cols=new Array(false,false,false,false,false,false,false);if(self.showWeeks){th=document.createElement('th');setClass(th,'wkhead');tr.appendChild(th);}
for(var dow=0;dow<7;dow++){th=document.createElement('th');th.appendChild(document.createTextNode(self.daynames[dow]));if(self.selectMultiple){th.headObj=new CalHeading(self,th,(dow+self.startDay<7?dow+self.startDay:dow+self.startDay-7));}
tr.appendChild(th);}
self.calHeading.appendChild(tr);return self.calHeading;}
function createCalCells(){self.rows=new Array(false,false,false,false,false,false);self.cells=new Array();var row=-1,totalCells=(self.showWeeks?48:42);var beginDate=new Date(self.displayYear,self.displayMonth,1);var endDate=new Date(self.displayYear,self.displayMonth,self.monthDayCount[self.displayMonth]);var sdt=new Date(beginDate);sdt.setDate(sdt.getDate()+(self.startDay-beginDate.getDay())-(self.startDay-beginDate.getDay()>0?7:0));self.calCells=document.createElement('tbody');var tr,td;var cellIdx=0,cell,week,dayval;for(var i=0;i<totalCells;i++){if(self.showWeeks){if(i%8==0){row++;week=sdt.getWeek(self.startDay);tr=document.createElement('tr');td=document.createElement('td');if(self.selectMultiple){td.weekObj=new WeekHeading(self,td,week,row)}
else{setClass(td,'wkhead');}
td.appendChild(document.createTextNode(week));tr.appendChild(td);i++;}}
else if(i%7==0){row++;week=sdt.getWeek(self.startDay);tr=document.createElement('tr');}
dayval=sdt.getDate();td=document.createElement('td');td.appendChild(document.createTextNode(dayval));cell=new CalCell(self,td,sdt,row,week);self.cells[cellIdx]=cell;td.cellObj=cell;tr.appendChild(td);self.calCells.appendChild(tr);self.reDraw(cellIdx++);sdt.setDate(dayval+1);}
return self.calCells;}
function setMode(targetelement){if(self.mode=='popup'){self.calendar.style.position='absolute';}
if(targetelement){switch(self.mode){case'flat':self.tgt=targetelement;self.tgt.appendChild(self.calendar);self.visible=true;break;case'popup':self.calendar.style.position='absolute';document.body.appendChild(self.calendar);self.setTarget(targetelement,false);break;}}
else{document.body.appendChild(self.calendar);self.visible=false;}}
function deleteCells(){self.calendar.celltable.removeChild(self.calendar.celltable.childNodes[1]);}
function setClass(element,className){element.setAttribute('class',className);element.setAttribute('className',className);}
function setCellProperties(cellindex){var cell=self.cells[cellindex];var date;idx=self.dateInArray(self.dates,cell.date);if(idx>-1){date=self.dates[idx];cell.date.selected=date.selected||false;cell.date.type=date.type;cell.date.canSelect=date.canSelect;cell.setTitle(date.title);cell.setURL(date.href);cell.setHTML(date.cellHTML);}
else{cell.date.selected=false;}
if(cell.date.getTime()<self.minDate.getTime()||cell.date.getTime()>self.maxDate.getTime()){cell.date.canSelect=false;}
cell.setClass();}
function cal_onmouseover(){self.mousein=true;}
function cal_onmouseout(){self.mousein=false;}
function updateSelectedDates(){var idx=0;self.selectedDates=new Array();for(i=0;i<self.dates.length;i++){if(self.dates[i].selected){self.selectedDates[idx++]=self.dates[i];}}}
self.dateInArray=function(arr,searchVal,startIndex){startIndex=(startIndex!=null?startIndex:0);for(var i=startIndex;i<arr.length;i++){if(searchVal.getUeDay()==arr[i].getUeDay()){return i;}}
return-1;};self.setTarget=function(targetelement,focus)
{if(self.mode=='popup'){function popupFocus(){self.show();}
function popupBlur(){if(!self.mousein){self.hide();}}
function popupKeyDown(){self.hide();}
if(self.tgt){removeEventHandler(self.tgt,'focus',popupFocus);removeEventHandler(self.tgt,'blur',popupBlur);removeEventHandler(self.tgt,'keydown',popupKeyDown);}
self.tgt=targetelement;var dto=self.tgt.dateObj,pdateArr=new Array;if(dto){if(self.tgt.value.length){pdateArr[0]=dto;}
self.goToMonth(dto.getFullYear(),dto.getMonth());}
self.selectDates(pdateArr,true,true,true);self.topOffset=self.tgt.offsetHeight;self.leftOffset=0;self.updatePos(self.tgt);addEventHandler(self.tgt,'focus',popupFocus);addEventHandler(self.tgt,'blur',popupBlur);addEventHandler(self.tgt,'keydown',popupKeyDown);if(focus!==false){popupFocus();}}
else{if(self.tgt){self.tgt.removeChild(self.calendar);}
self.tgt=targetelement;self.tgt.appendChild(self.calendar);self.show();}};self.nextMonth=function(){var month=self.displayMonth;var year=self.displayYear;if(self.displayMonth<11){month++;}
else if(self.yearSelect.value<self.maxDate.getFullYear()){month=0;year++;}
return self.goToMonth(year,month);};self.prevMonth=function(){var month=self.displayMonth;var year=self.displayYear;if(self.displayMonth>0){month--;}
else{month=11;year--;}
return self.goToMonth(year,month);};self.goToMonth=function(year,month){var testdatemin=new Date(year,month,31);var testdatemax=new Date(year,month,1);if(testdatemin>=self.minDate&&testdatemax<=self.maxDate){self.monthSelect.value=self.displayMonth=month;self.yearSelect.value=self.displayYear=year;createCalCells();deleteCells();self.calendar.celltable.appendChild(self.calCells);return true;}
else{alert(self.maxrange_caption);return false;}};self.updatePos=function(target){if(self.mode=='popup'){self.calendar.style.top=getTop(target)+self.topOffset+'px';self.calendar.style.left=getLeft(target)+self.leftOffset+'px';}};self.show=function(){self.updatePos(self.tgt);self.calendar.style.display='block';self.visible=true;};self.hide=function(){self.calendar.style.display='none';self.visible=false;};self.toggle=function(){self.visible?self.hide():self.show();};self.addDates=function(dates,redraw){var i;for(i=0;i<dates.length;i++){if(self.dateInArray(self.dates,dates[i])==-1){self.dates[self.dates.length]=dates[i];}}
updateSelectedDates();if(redraw!=false){self.reDraw();}};self.removeDates=function(dates,redraw){var idx;for(var i=0;i<dates.length;i++){idx=self.dateInArray(self.dates,dates[i]);if(idx!=-1){self.dates.splice(idx,1);}}
updateSelectedDates();if(redraw!=false){self.reDraw();}};self.selectDates=function(inpdates,selectVal,redraw,removeothers){var i,idx;if(removeothers==true){for(i=0;i<self.dates.length;i++){self.dates[i].selected=false;}}
for(i=0;i<inpdates.length;i++){idx=self.dateInArray(self.dates,inpdates[i]);if(selectVal==true){inpdates[i].selected=true;if(idx==-1){self.dates[self.dates.length]=inpdates[i];}
else{self.dates[idx].selected=true;}}
else{if(idx>-1){self.dates[idx].selected=inpdates[i].selected=false;if(self.dates[idx].type=='normal'){self.dates.splice(idx,1);}}}}
updateSelectedDates();if(redraw!=false){self.reDraw();}};self.sendForm=function(form,inputname){var inpname=inputname||'epochdates',f,inp;f=(typeof(form)=='string'?document.getElementById(form):form);if(!f){alert('ERROR: Invalid form input');return false;}
for(var i=0;i<self.dates.length;i++){inp=document.createElement('input');inp.setAttribute('type','hidden');inp.setAttribute('name',inpname+'['+i+']');inp.setAttribute('value',encodeURIComponent(self.dates[i].dateFormat('Y-m-d')));f.appendChild(inp);}
return true;};self.resetSelections=function(retMonth){var dateArray=new Array();var dt=self.dates;for(var i=0;i<dt.length;i++){if(dt[i].selected){dateArray[dateArray.length]=dt[i];}}
self.selectDates(dateArray,false,false);self.rows=new Array(false,false,false,false,false,false,false);self.cols=new Array(false,false,false,false,false,false,false);if(self.mode=='popup'){self.tgt.value='';self.hide();}
retMonth==true?self.goToMonth(self.displayYearInitial,self.displayMonthInitial):self.reDraw();};self.reDraw=function(index){self.state=1;var len=index?index+1:self.cells.length;for(var i=index||0;i<len;i++){setCellProperties(i);}
self.state=2;};self.getCellIndex=function(date){for(var i=0;i<self.cells.length;i++){if(self.cells[i].date.getUeDay()==date.getUeDay()){return i;}}
return-1;};self.state=0;self.name=name;self.curDate=new Date();self.mode=mode;self.selectMultiple=(multiselect==true);self.dates=new Array();self.selectedDates=new Array();self.language=language;self.calendar;self.calHeading;self.calCells;self.rows;self.cols;self.cells=new Array();self.monthSelect;self.yearSelect;self.mousein=false;calConfig();setLang();setDays();createCalendar();targetelement=typeof(targetelement)=='string'?document.getElementById(targetelement):targetelement;setMode(targetelement);self.state=2;self.visible?self.show():self.hide();}
function CalHeading(owner,tableCell,dayOfWeek){function DayHeadingonclick(){var sdates=owner.dates;var cells=owner.cells;var dateArray=new Array();owner.cols[dayOfWeek]=!owner.cols[dayOfWeek];for(var i=0;i<cells.length;i++){if(cells[i].dayOfWeek==dayOfWeek&&cells[i].date.canSelect&&(!owner.selCurMonthOnly||cells[i].date.getMonth()==owner.displayMonth&&cells[i].date.getFullYear()==owner.displayYear)){dateArray[dateArray.length]=cells[i].date;}}
owner.selectDates(dateArray,owner.cols[dayOfWeek],true);}
var self=this;self.dayOfWeek=dayOfWeek;addEventHandler(tableCell,'mouseup',DayHeadingonclick);}
function WeekHeading(owner,tableCell,week,tableRow){function weekHeadingonclick(){var cells=owner.cells;var sdates=owner.dates;var dateArray=new Array();owner.rows[tableRow]=!owner.rows[tableRow];for(var i=0;i<cells.length;i++){if(cells[i].tableRow==tableRow&&cells[i].date.canSelect&&(!owner.selCurMonthOnly||cells[i].date.getMonth()==owner.displayMonth&&cells[i].date.getFullYear()==owner.displayYear)){dateArray[dateArray.length]=cells[i].date;}}
owner.selectDates(dateArray,owner.rows[tableRow],true);}
var self=this;self.week=week;tableCell.setAttribute('class','wkhead');tableCell.setAttribute('className','wkhead');addEventHandler(tableCell,'mouseup',weekHeadingonclick);}
function CalCell(owner,tableCell,dateObj,row,week){var self=this;function calCellonclick(){if(self.date.canSelect){if(owner.selectMultiple==true){owner.selectDates(new Array(self.date),!self.date.selected,false);self.setClass();}
else{owner.selectDates(new Array(self.date),true,false,true);if(owner.mode=='popup'){owner.tgt.value=self.date.dateFormat();owner.tgt.dateObj=new Date(self.date);owner.hide();}
owner.reDraw();}}}
function calCellonmouseover(){if(self.date.canSelect){tableCell.setAttribute('class',self.cellClass+' hover');tableCell.setAttribute('className',self.cellClass+' hover');}}
function calCellonmouseout(){self.setClass();}
self.setClass=function()
{if(self.date.canSelect!==false){if(self.date.selected){self.cellClass='cell_selected';}
else if(owner.displayMonth!=self.date.getMonth()){self.cellClass='notmnth';}
else if(self.date.type=='holiday'){self.cellClass='hlday';}
else if(self.dayOfWeek>0&&self.dayOfWeek<6){self.cellClass='wkday';}
else{self.cellClass='wkend';}}
else{self.cellClass='noselect';}
if(self.date.getUeDay()==owner.curDate.getUeDay()){self.cellClass=self.cellClass+' curdate';}
tableCell.setAttribute('class',self.cellClass);tableCell.setAttribute('className',self.cellClass);};self.setURL=function(href,type){if(href){if(type=='js'){addEventHandler(self.tableCell,'mousedown',function(){window.location.href=href;});}
else{var url=document.createElement('a');url.setAttribute('href',href);url.appendChild(document.createTextNode(self.date.getDate()));self.tableCell.replaceChild(url,self.tableCell.firstChild);}}};self.setTitle=function(titleStr){if(titleStr&&titleStr.length>0){self.title=titleStr;self.tableCell.setAttribute('title',titleStr);}};self.setHTML=function(html){if(html&&html.length>0){if(self.tableCell.childNodes[1]){self.tableCell.childNodes[1].innerHTML=html;}
else{var htmlCont=document.createElement('div');htmlCont.innerHTML=html;self.tableCell.appendChild(htmlCont);}}};self.cellClass;self.tableRow=row;self.tableCell=tableCell;self.date=new Date(dateObj);self.date.canSelect=true;self.date.type='normal';self.date.selected=false;self.date.cellHTML='';self.dayOfWeek=self.date.getDay();self.week=week;addEventHandler(tableCell,'click',calCellonclick);addEventHandler(tableCell,'mouseover',calCellonmouseover);addEventHandler(tableCell,'mouseout',calCellonmouseout);self.setClass();}
Date.prototype.getDayOfYear=function()
{return parseInt((this.getTime()-new Date(this.getFullYear(),0,1).getTime())/86400000+1);};Date.prototype.getWeek=function(dowOffset){dowOffset=typeof(dowOffset)=='int'?dowOffset:0;var newYear=new Date(this.getFullYear(),0,1);var day=newYear.getDay()-dowOffset;day=(day>=0?day:day+7);var weeknum,daynum=Math.floor((this.getTime()-newYear.getTime()-(this.getTimezoneOffset()-newYear.getTimezoneOffset())*60000)/86400000)+1;if(day<4){weeknum=Math.floor((daynum+day-1)/7)+1;if(weeknum>52){nYear=new Date(this.getFullYear()+1,0,1);nday=nYear.getDay()-dowOffset;nday=nday>=0?nday:nday+7;weeknum=nday<4?1:53;}}
else{weeknum=Math.floor((daynum+day-1)/7);}
return weeknum;};Date.prototype.getUeDay=function()
{return parseInt(Math.floor((this.getTime()-this.getTimezoneOffset()*60000)/86400000));};Date.prototype.dateFormat=function(format)
{if(!format){format='d-m-Y';}
LZ=function(x){return(x<0||x>9?'':'0')+x};var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');var result="";var i_format=0;var c="";var token="";var y=this.getFullYear().toString();var M=this.getMonth()+1;var d=this.getDate();var E=this.getDay();var H=this.getHours();var m=this.getMinutes();var s=this.getSeconds();value={Y:y.toString(),y:y.substring(2),n:M,m:LZ(M),F:MONTH_NAMES[M-1],M:MONTH_NAMES[M+11],j:d,d:LZ(d),D:DAY_NAMES[E+7],l:DAY_NAMES[E],G:H,H:LZ(H)};if(H==0){value['g']=12;}
else if(H>12){value['g']=H-12;}
else{value['g']=H;}
value['h']=LZ(value['g']);if(H>11){value['a']='pm';value['A']='PM';}
else{value['a']='am';value['A']='AM';}
value['i']=LZ(m);value['s']=LZ(s);while(i_format<format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c)&&(i_format<format.length)){token+=format.charAt(i_format++);}
if(value[token]!=null){result=result+value[token];}
else{result=result+token;}}
return result;};function addEventHandler(element,type,func){if(element.addEventListener){element.addEventListener(type,func,false);}
else if(element.attachEvent){element.attachEvent('on'+type,func);}}
function removeEventHandler(element,type,func){if(element.removeEventListener){element.removeEventListener(type,func,false);}
else if(element.attachEvent){element.detachEvent('on'+type,func);}}
function getTop(element){var oNode=element;var iTop=0;while(oNode.tagName!='HTML'){iTop+=oNode.offsetTop||0;if(oNode.offsetParent){oNode=oNode.offsetParent;}
else{break;}}
return iTop;}
function getLeft(element){var oNode=element;var iLeft=0;while(oNode.tagName!='HTML'){iLeft+=oNode.offsetLeft||0;if(oNode.offsetParent){oNode=oNode.offsetParent;}
else{break;}}
return iLeft;}
function sleep(naptime){var sleeping=true;var now=new Date();var alarm;var startingMSeconds=now.getTime();while(sleeping){alarm=new Date();alarmMSeconds=alarm.getTime();if(alarmMSeconds-startingMSeconds>naptime){sleeping=false;}}}
function showHide(layer_ref){var state='visible';if(document.all){eval("document.all."+layer_ref+".style.visibility = state");}
if(document.layers){layer=document.layers[layer_ref];if(layer.visibility=='hidden'||layer.visibility===''){layer.visibility='visible';}else{layer.visibility='hidden';}}
if(document.getElementById&&!document.all){layer=document.getElementById(layer_ref);if(layer.style.visibility=='hidden'||layer.style.visibility===''){layer.style.visibility='visible';}else{layer.style.visibility='hidden';}}
return false;}
function getCurrentDate(){var Today=new Date();var day=Today.getDate();var month=Today.getMonth()+1;var year=Today.getYear()%100;if(day<10){day="0"+day;}
if(month<10){month="0"+month;}
if(year<10){year="0"+year;}
var strDate=displayDate(day+""+month+""+year);return strDate;}
function displayDate(obj){var objValue=obj;var result="";if(obj.value!==undefined){objValue=obj.value;}
objValue=objValue.replace(".","").replace(".","");if(objValue.length==10){result=objValue.substr(0,2)+'-'+objValue.substr(3,2)+'-'+objValue.substr(6,4);}
if(objValue.length==8){result=objValue.substr(0,2)+'-'+objValue.substr(2,2)+'-'+objValue.substr(4,4);}
if(objValue.length==6){result=objValue.substr(0,2)+'-'+objValue.substr(2,2)+'-20'+objValue.substr(4,2);}
if(objValue.length==4){result='0'+objValue.substr(0,1)+'-0'+objValue.substr(1,1)+'-20'+objValue.substr(2,2);}
if(obj.value!==undefined){obj.value=result;}
return result;}
function displayTime(obj){if(obj.value.length>5||obj.value.length==5){var stringTime=obj.value;obj.value=stringTime.substr(0,2)+':'+stringTime.substr(stringTime.length-2,2);return;}
if(obj.value.length==1||obj.value.length==2){var intHour=parseInt(obj.value,10);if(!isNaN(intHour)){if(obj.value.length==1){obj.value='0'+obj.value+':00';}else{obj.value=obj.value+':00';}}}
if(obj.value.length==3||obj.value.length==4){var intTime=parseInt(obj.value);if(!isNaN(intTime)){var strTime=obj.value;if(strTime.length==3){if(strTime.substr(2,1)==':'){strTime=strTime.substr(0,2)+'00';}else{strTime='0'+strTime;}}
obj.value=strTime.substr(0,2)+':'+strTime.substr(2,2);}}}
function submitForm(actionURL){if(document.forms[2]!=undefined){document.forms[2].action=actionURL;document.forms[2].submit();}else if(document.forms[1]!=undefined){document.forms[1].action=actionURL;document.forms[1].submit();}else{document.forms[0].action=actionURL;document.forms[0].submit();}}
function submitFormById(formId,actionURL){var cForm=document.getElementById(formId);cForm.action=actionURL;cForm.submit();}
function limitText(field,maxlen){if(field.value.length>maxlen){field.value=field.value.substring(0,maxlen);}}
function checkAllLetterCommands(){for(var i=0;;i++){var field=eval("document.callForm.doCommand_"+i);if(typeof field=='undefined'){break;}
if(!field.disabled){field.checked=document.callForm.checkAll.checked;}}}
function checkLetterCommand(field){if(!field.checked){document.callForm.checkAll.checked=false;}}
function formatNumber(mnt){mnt-=0;mnt=(Math.round(mnt*100))/100;return(mnt==Math.floor(mnt))?mnt+'.00':((mnt*10==Math.floor(mnt*10))?mnt+'0':mnt);}
function unselectOptions(listBox){if(listBox!=null){for(var i=0;i<listBox.options.length;i=i+1){listBox.options[i].selected=false;}}}
function changeCheckboxes(checkboxes,value){if(checkboxes!=null){var count=checkboxes.length;for(var i=0;i<count;i=i+1){checkboxes[i].checked=value;}}}
String.prototype.trim=function(){return this.replace(/^\s*/,"").replace(/\s*$/,"");}
function setCities(formName){var zip=document.forms[formName].elements["zip"].value;var city=document.forms[formName].elements["city"].value;var country=document.forms[formName].elements["country"].value;AddressHandler.getCities(zip,city,country,showCities);}
function showCities(cities){dwr.util.removeAllOptions("cities");dwr.util.addOptions("cities",cities);}
function selectCity(formName){var zipId=document.forms[formName].elements["cities"].value;AddressHandler.getZipCity(zipId,showCity);}
function showCity(zipCode){dwr.util.setValue("zip",zipCode.zip);dwr.util.setValue("city",zipCode.city);}
function setContact(){var supplierId=dwr.util.getValue("supplierId");ContactHandler.getContact(supplierId,showContactName);}
function showContactName(contact){dwr.util.setValue("contactName",contact.name);dwr.util.setValue("contactPhone",contact.phone);}
function setQuotationEndDate(labourHours){RepairHandler.findQuotationEndDate(labourHours,showQuotationEndDate);}
function showQuotationEndDate(endDate){dwr.util.setValue("claim.repair.fulfillmentExpectedEndDate",endDate);}
function setPickupParty(){var partyId=dwr.util.getValue("pickupId");TransportPartyHandler.getTransportParty(partyId,showPickupParty);}
function showPickupParty(location){dwr.util.setValue("pickupName",location.name);dwr.util.setValue("pickupAddress",location.address);dwr.util.setValue("pickupZipCode",location.zip);dwr.util.setValue("pickupCity",location.city);dwr.util.setValue("pickupCountryIso",location.country);dwr.util.setValue("pickupContact",location.contact);dwr.util.setValue("pickupContactPhone",location.phone);}
function setDestinationParty(){var partyId=dwr.util.getValue("destinationId");TransportPartyHandler.getTransportParty(partyId,showDestinationParty);}
function showDestinationParty(location){dwr.util.setValue("destinationName",location.name);dwr.util.setValue("destinationAddress",location.address);dwr.util.setValue("destinationZipCode",location.zip);dwr.util.setValue("destinationCity",location.city);dwr.util.setValue("destinationCountryIso",location.country);dwr.util.setValue("destinationContact",location.contact);dwr.util.setValue("destinationContactPhone",location.phone);}
function setOptionsPrice(){var totals="";for(i=0;i<13;i++){if(i!=0){totals+="/";}
totals+=dwr.util.getValue("item["+i+"].formattedPrice");}
SelfServiceOptionsHandler.getTotal(totals,showOptionsPrice);}
function showOptionsPrice(total){dwr.util.setValue("totalPriceOptions",total);}
function expandInfo(){if(document.navigator.infoCollapsed.value!="1"){collapseInfo();}else{AvailableInfoHandler.getInfo(showInfo);dwr.util.setValue("infoCollapsed",0);}}
function expandInfoCar(){AvailableInfoHandler.getInfoCar(showInfo);dwr.util.setValue("infoCollapsed",0);}
function expandInfoContract(){AvailableInfoHandler.getInfoContract(showInfo);dwr.util.setValue("infoCollapsed",0);}
function expandInfoCustomer(){AvailableInfoHandler.getInfoCustomer(showInfo);dwr.util.setValue("infoCollapsed",0);}
function expandInfoSuppliers(){AvailableInfoHandler.getInfoSuppliers(showInfo);dwr.util.setValue("infoCollapsed",0);}
function showInfo(info){dwr.util.addOptions("availableInfo",info,{escapeHtml:false});}
function collapseInfo(){dwr.util.removeAllOptions("availableInfo");dwr.util.setValue("infoCollapsed",1);}
function showParty(partyVariable,party){if(party==null){dwr.util.setValue(partyVariable+".generalName","");dwr.util.setValue(partyVariable+".contactName","");dwr.util.setValue(partyVariable+".address","");dwr.util.setValue(partyVariable+".zip","");dwr.util.setValue(partyVariable+".city","");dwr.util.setValue(partyVariable+".phone","");dwr.util.setValue(partyVariable+".email","");dwr.util.setValue(partyVariable+".countryIso","");dwr.util.setValue(partyVariable+".longitudeFormatted","");dwr.util.setValue(partyVariable+".latitudeFormatted","");}else{dwr.util.setValue(partyVariable+".generalName",party.companyName);dwr.util.setValue(partyVariable+".contactName",party.contactName);dwr.util.setValue(partyVariable+".address",party.address);dwr.util.setValue(partyVariable+".zip",party.zip);dwr.util.setValue(partyVariable+".city",party.city);dwr.util.setValue(partyVariable+".phone",party.preferredPhone);dwr.util.setValue(partyVariable+".email",party.email);dwr.util.setValue(partyVariable+".countryIso",party.countryIso);dwr.util.setValue(partyVariable+".longitudeFormatted",party.longitude);dwr.util.setValue(partyVariable+".latitudeFormatted",party.latitude);}}
