/*e4*/ /** * Implemetation layer for HTMLSuite Calendar in PMOS - Processmaker Open source * licence: LGPL www.gnu.org/licences * * Author Erik Ortiz * @Date Oct 5th, 2009 La Paz - Bolivia */ var G_CALENDAR_CURRENT_OBJ = null; var G_CALENDAR_MEM_OFFSET; var NeyekCalendar = function(t, editable){ this.target = (typeof(t) != 'undefined')? t: null; this.editable = (typeof(editable) != 'undefined')? "1": "0"; this.calendarObjForForm = null; this.oCalendar = null; this.lang = null; this.mask = null; this.showTime = false; this.e = null; this.__init__ = function(initialDate, enableTime){ var dayClickCallbackParams = Array(this.target, this.mask, this.editable); this.calendarObjForForm = new DHTMLSuite.calendar({ minuteDropDownInterval :10, numberOfRowsInHourDropDown :5, callbackFunctionOnDayClick : {"func": 'getDateFromCalendar', "params": dayClickCallbackParams}, isDragable :true, displayTimeBar :this.showTime }); //this.calendarObjForForm.setCallbackFunctionOnClose('myOtherFunction'); this.oCalendar = new DHTMLSuite.calendarModel({ initialYear :initialDate.year, initialMonth :initialDate.month, initialDay :initialDate.day }); } this.picker = function(initialDate, mask, lang, beforeDate, afterDate, showTime, e){ if(G_CALENDAR_CURRENT_OBJ != null) return false; if(G_CALENDAR_MEM_OFFSET == 'lock') return false; if ( typeof(mask) != 'undefined') { this.mask = mask; } else { this.mask = 'Y-m-d h:i'; } //alert('->'+this.mask); if ( typeof(lang) != 'undefined') { this.lang = lang; } else { this.lang = 'en'; } if ( typeof(showTime) != 'undefined') { if (showTime) { this.showTime = true; } else { this.showTime = false; } } else { this.showTime = false; } this.__init__(initialDate); if ( typeof(e) != 'undefined') { this.calendarObjForForm.e = e; } if ( typeof(beforeDate) != 'undefined' && beforeDate != '') { /* before date from it will be set such as invalid*/ this.oCalendar.addInvalidDateRange(false,{ year : beforeDate.year, month : beforeDate.month, day : beforeDate.day }); } if ( typeof(beforeDate) != 'undefined' && beforeDate != '') { /* after date from it will be set such as invalid*/ this.oCalendar.addInvalidDateRange({ year : afterDate.year, month : afterDate.month, day : afterDate.day },false); } /* languaje set */ this.oCalendar.setLanguageCode(this.lang); this.calendarObjForForm.setCalendarModelReference(this.oCalendar); eInput = this.$(this.target); eDiv = this.$(this.target+'[div]'); // Position the calendar right below the form input if(this.editable === "1"){ this.calendarObjForForm.setCalendarPositionByHTMLElement(eInput, 0, eInput.offsetHeight+2); } else { this.calendarObjForForm.setCalendarPositionByHTMLElement(eDiv, 0, eDiv.offsetHeight+2); } // Specify that the calendar should set it's initial date from the value of the input field. submask = this.mask; if (submask.search(/Y/) != -1 ) { submask = submask.replace("Y", 'yyyy'); } else { submask = submask.replace("y", 'yy'); } submask = submask.replace("m", 'mm'); submask = submask.replace("d", 'dd'); submask = submask.replace("h", 'hh'); submask = submask.replace("i", 'ii'); this.calendarObjForForm.setInitialDateFromInput(eInput, submask); // Adding a reference to this element so that I can pick it up in the getDateFromCalendar below(myInput is a unique key) if(this.editable === "1"){ this.calendarObjForForm.addHtmlElementReference(this.target, eInput); } else { this.calendarObjForForm.addHtmlElementReference(this.target+'[div]', eDiv); } if(this.calendarObjForForm.isVisible()){ this.calendarObjForForm.hide(); }else{ // This line resets the view back to the inital display, i.e. it displays the inital month and not the month it displayed the last time it was open. this.calendarObjForForm.resetViewDisplayedMonth(); this.calendarObjForForm.display(); } G_CALENDAR_CURRENT_OBJ = this.calendarObjForForm; return false; } this.getDateFromCalendar = function(inputArray){ // Get back reference to form field. var references = this.calendarObjForForm.getHtmlElementReferences(); references.myDate.value = this.parseDateFromMask(inputArray, this.mask); //inputArray.year + '-' + inputArray.month + '-' + inputArray.day + ' ' + inputArray.hour + ':' + inputArray.minute; this.calendarObjForForm.hide(); return false; } this.parseDateFromMask = function(inputArray, mask){ /* inputArray is an associative array with properties year, month, day, hour, minute */ /* format mask * Y -> 2009 * y -> 09 * m -> 02 * d -> 01 * * h -> 12 * i -> 59 * * d/m/y -> 01/02/09 * d/m/Y -> 01/02/2009 * Y-m-d -> 2009-02-01 * * Y-m-d h:m -> 2009-02-01 12:59 * */ result = mask; result = result.replace("Y", inputArray.year); year = new String(inputArray.year); result = result.replace("y", year.substr(2,3)); result = result.replace("m", inputArray.month); result = result.replace("d", inputArray.day); result = result.replace("h", inputArray.hour); result = result.replace("i", inputArray.minute); return result; } this.$ = function(id){ return document.getElementById(id); } } function getDateFromCalendar(inputArray, targetId, mask, editable){ sClear = ''; result = mask; result = result.replace("Y", inputArray.year); year = new String(inputArray.year); result = result.replace("y", year.substr(2,3)); result = result.replace("m", inputArray.month); result = result.replace("d", inputArray.day); result = result.replace("h", inputArray.hour); result = result.replace("i", inputArray.minute); document.getElementById(targetId).value = result; if(editable !== "1"){ document.getElementById(targetId+'[div]').innerHTML = ' '+document.getElementById(targetId).value + ' ' + sClear; } G_CALENDAR_CURRENT_OBJ.hide(); if (document.getElementById(targetId).onchange){ try{ document.getElementById(targetId).onchange(); }catch(e){} } G_CALENDAR_CURRENT_OBJ = null; } /*e2*/ if(!window.DHTMLSuite)var DHTMLSuite=new Object();if(!String.trim)String.prototype.trim=function(){return this.replace(/^\s+|\s+$/,'')};var DHTMLSuite_funcs=new Object();if(!window.DHTML_SUITE_THEME)var DHTML_SUITE_THEME='blue';if(!window.DHTML_SUITE_THEME_FOLDER)var DHTML_SUITE_THEME_FOLDER='../themes/';if(!window.DHTML_SUITE_JS_FOLDER)var DHTML_SUITE_JS_FOLDER='../js/separateFiles/';var DHTMLSuite=new Object();var standardObjectsCreated=false;DHTMLSuite.eventEls=new Array();var widgetDep=new Object();widgetDep['formValidator']=['dhtmlSuite-formUtil.js'];widgetDep['paneSplitter']=['dhtmlSuite-paneSplitter.js','dhtmlSuite-paneSplitterModel.js','dhtmlSuite-dynamicContent.js','ajax.js'];widgetDep['menuBar']=['dhtmlSuite-menuBar.js','dhtmlSuite-menuItem.js','dhtmlSuite-menuModel.js'];widgetDep['windowWidget']=['dhtmlSuite-windowWidget.js','dhtmlSuite-resize.js','dhtmlSuite-dragDropSimple.js','ajax.js','dhtmlSuite-dynamicContent.js'];widgetDep['colorWidget']=['dhtmlSuite-colorWidgets.js','dhtmlSuite-colorUtil.js'];widgetDep['colorSlider']=['dhtmlSuite-colorWidgets.js','dhtmlSuite-colorUtil.js','dhtmlSuite-slider.js'];widgetDep['colorPalette']=['dhtmlSuite-colorWidgets.js','dhtmlSuite-colorUtil.js'];widgetDep['calendar']=['dhtmlSuite-calendar.js','dhtmlSuite-dragDropSimple.js'];widgetDep['dragDropTree']=['dhtmlSuite-dragDropTree.js'];widgetDep['slider']=['dhtmlSuite-slider.js'];widgetDep['dragDrop']=['dhtmlSuite-dragDrop.js'];widgetDep['imageEnlarger']=['dhtmlSuite-imageEnlarger.js','dhtmlSuite-dragDropSimple.js'];widgetDep['imageSelection']=['dhtmlSuite-imageSelection.js'];widgetDep['floatingGallery']=['dhtmlSuite-floatingGallery.js','dhtmlSuite-mediaModel.js'];widgetDep['contextMenu']=['dhtmlSuite-contextMenu.js','dhtmlSuite-menuBar.js','dhtmlSuite-menuItem.js','dhtmlSuite-menuModel.js'];widgetDep['dynamicContent']=['dhtmlSuite-dynamicContent.js','ajax.js'];widgetDep['textEdit']=['dhtmlSuite-textEdit.js','dhtmlSuite-textEditModel.js','dhtmlSuite-listModel.js'];widgetDep['listModel']=['dhtmlSuite-listModel.js'];widgetDep['resize']=['dhtmlSuite-resize.js'];widgetDep['dragDropSimple']=['dhtmlSuite-dragDropSimple.js'];widgetDep['dynamicTooltip']=['dhtmlSuite-dynamicTooltip.js','dhtmlSuite-dynamicContent.js','ajax.js'];widgetDep['modalMessage']=['dhtmlSuite-modalMessage.js','dhtmlSuite-dynamicContent.js','ajax.js'];widgetDep['tableWidget']=['dhtmlSuite-tableWidget.js','ajax.js'];widgetDep['progressBar']=['dhtmlSuite-progressBar.js'];widgetDep['tabView']=['dhtmlSuite-tabView.js','dhtmlSuite-dynamicContent.js','ajax.js'];widgetDep['infoPanel']=['dhtmlSuite-infoPanel.js','dhtmlSuite-dynamicContent.js','ajax.js'];widgetDep['form']=['dhtmlSuite-formUtil.js','dhtmlSuite-dynamicContent.js','ajax.js'];widgetDep['autoComplete']=['dhtmlSuite-autoComplete.js','ajax.js'];widgetDep['chainedSelect']=['dhtmlSuite-chainedSelect.js','ajax.js'];var depCache=new Object();DHTMLSuite.include=function(widget){if(!widgetDep[widget]){alert('Cannot find the files for widget '+widget+'. Please verify that the name is correct');return} var files=widgetDep[widget];for(var no=0;no');document.write('');depCache[files[no]]=true}}} DHTMLSuite.discardElement=function(element){element=DHTMLSuite.commonObj.getEl(element);var gBin=document.getElementById('IELeakGBin');if(!gBin){gBin=document.createElement('DIV');gBin.id='IELeakGBin';gBin.style.display='none';document.body.appendChild(gBin)} gBin.appendChild(element);gBin.innerHTML=''} DHTMLSuite.createStandardObjects=function(){DHTMLSuite.clientInfoObj=new DHTMLSuite.clientInfo();DHTMLSuite.clientInfoObj.init();if(!DHTMLSuite.configObj){DHTMLSuite.configObj=new DHTMLSuite.config();DHTMLSuite.configObj.init()} DHTMLSuite.commonObj=new DHTMLSuite.common();DHTMLSuite.variableStorage=new DHTMLSuite.globalVariableStorage();;DHTMLSuite.commonObj.init();DHTMLSuite.domQueryObj=new DHTMLSuite.domQuery();DHTMLSuite.commonObj.addEvent(window,'unload',function(){DHTMLSuite.commonObj.__clearMemoryGarbage()});standardObjectsCreated=true} DHTMLSuite.config=function(){var imagePath;var cssPath;var defaultCssPath;var defaultImagePath} DHTMLSuite.config.prototype={init:function(){this.imagePath=DHTML_SUITE_THEME_FOLDER+DHTML_SUITE_THEME+'/images/';this.cssPath=DHTML_SUITE_THEME_FOLDER+DHTML_SUITE_THEME+'/css/';this.defaultCssPath=this.cssPath;this.defaultImagePath=this.imagePath},setCssPath:function(newCssPath){this.cssPath=newCssPath},resetCssPath:function(){this.cssPath=this.defaultCssPath},resetImagePath:function(){this.imagePath=this.defaultImagePath},setImagePath:function(newImagePath){this.imagePath=newImagePath}} DHTMLSuite.globalVariableStorage=function(){var menuBar_highlightedItems;this.menuBar_highlightedItems=new Array();var arrayDSObjects;var arrayOfDhtmlSuiteObjects;this.arrayDSObjects=new Array();this.arrayOfDhtmlSuiteObjects=this.arrayDSObjects;var ajaxObjects;this.ajaxObjects=new Array()} DHTMLSuite.globalVariableStorage.prototype={} DHTMLSuite.common=function(){var loadedCSSFiles;var cssCacheStatus;var eventEls;var isOkToSelect;this.okToSelect=true;this.cssCacheStatus=true;this.eventEls=new Array()} DHTMLSuite.common.prototype={init:function(){this.loadedCSSFiles=new Array()},loadCSS:function(cssFile,prefixConfigPath){if(!prefixConfigPath&&prefixConfigPath!==false)prefixConfigPath=true;if(!this.loadedCSSFiles[cssFile]){this.loadedCSSFiles[cssFile]=true;var lt=document.createElement('LINK');if(!this.cssCacheStatus){if(cssFile.indexOf('?')>=0)cssFile=cssFile+'&';else cssFile=cssFile+'?';cssFile=cssFile+'rand='+Math.random()} if(prefixConfigPath){lt.href=DHTMLSuite.configObj.cssPath+cssFile}else{lt.href=cssFile} lt.rel='stylesheet';lt.media='screen';lt.type='text/css';document.getElementsByTagName('HEAD')[0].appendChild(lt)}},__setTextSelOk:function(okToSelect){this.okToSelect=okToSelect},__isTextSelOk:function(){return this.okToSelect},setCssCacheStatus:function(cssCacheStatus){this.cssCacheStatus=cssCacheStatus},getEl:function(elRef){if(typeof elRef=='string'){if(document.getElementById(elRef))return document.getElementById(elRef);if(document.forms[elRef])return document.forms[elRef];if(document[elRef])return document[elRef];if(window[elRef])return window[elRef]} return elRef},isArray:function(el){if(el.constructor.toString().indexOf("Array")!=-1)return true;return false},getStyle:function(el,property){el=this.getEl(el);if(document.defaultView&&document.defaultView.getComputedStyle){var retVal=null;var comp=document.defaultView.getComputedStyle(el,'');if(comp){retVal=comp[property]} return el.style[property]||retVal} if(document.documentElement.currentStyle&&DHTMLSuite.clientInfoObj.isMSIE){var retVal=null;if(el.currentStyle)value=el.currentStyle[property];return(el.style[property]||retVal)} return el.style[property]}, getLeftPos:function(el){ if(document.getBoxObjectFor){ if(el.tagName!='INPUT'&&el.tagName!='SELECT'&&el.tagName!='TEXTAREA') return document.getBoxObjectFor(el).x } var returnValue=el.offsetLeft; while((el=el.offsetParent)!=null){ if(el.tagName!='HTML'){ returnValue+= el.offsetLeft; if(document.all)returnValue+=el.clientLeft } } return returnValue }, getTopPos:function(el){ if(document.getBoxObjectFor){ if(el.tagName!='INPUT'&&el.tagName!='SELECT'&&el.tagName!='TEXTAREA') return document.getBoxObjectFor(el).y } var returnValue=el.offsetTop; while((el=el.offsetParent)!=null){ if(el.tagName!='HTML'){ returnValue+=(el.offsetTop-el.scrollTop); if(document.all)returnValue+=el.clientTop } } return returnValue }, sgetCookie:function(name){var start=document.cookie.indexOf(name+"=");var len=start+name.length+1;if((!start)&&(name!=document.cookie.substring(0,name.length)))return null;if(start==-1)return null;var end=document.cookie.indexOf(";",len);if(end==-1)end=document.cookie.length;return unescape(document.cookie.substring(len,end))},setCookie:function(name,value,expires,path,domain,secure){expires=expires*60*60*24*1000;var today=new Date();var expires_date=new Date(today.getTime()+(expires));var cookieString=name+"="+escape(value)+ ((expires)?";expires="+expires_date.toGMTString():"")+ ((path)?";path="+path:"")+ ((domain)?";domain="+domain:"")+ ((secure)?";secure":"");document.cookie=cookieString},deleteCookie:function(name,path,domain){if(this.getCookie(name))document.cookie=name+"="+ ((path)?";path="+path:"")+ ((domain)?";domain="+domain:"")+ ";expires=Thu,01-Jan-1970 00:00:01 GMT"},cancelEvent:function(){return false},addEvent:function(obj,type,fn,suffix){if(!suffix)suffix='';if(obj.attachEvent){if(typeof DHTMLSuite_funcs[type+fn+suffix]!='function'){DHTMLSuite_funcs[type+fn+suffix]=function(){fn.apply(window.event.srcElement)};obj.attachEvent('on'+type,DHTMLSuite_funcs[type+fn+suffix])} obj=null} else {obj.addEventListener(type,fn,false)} this.__addEventEl(obj)},removeEvent:function(obj,type,fn,suffix){if(obj.detachEvent){obj.detachEvent('on'+type,DHTMLSuite_funcs[type+fn+suffix]);DHTMLSuite_funcs[type+fn+suffix]=null;obj=null} else {obj.removeEventListener(type,fn,false)}},__clearMemoryGarbage:function(){if(!DHTMLSuite.clientInfoObj.isMSIE)return;for(var no=0;no';img.outerHTML=html},__evaluateJs:function(obj){obj=this.getEl(obj);var scriptTags=obj.getElementsByTagName('SCRIPT');var string='';var jsCode='';for(var no=0;no=0)?true:false;this.isFirefox=(this.browser.toLowerCase().indexOf('firefox')>=0)?true:false;this.isMSIE=(this.browser.toLowerCase().indexOf('msie')>=0)?true:false;this.isOldMSIE=(this.browser.toLowerCase().match(/msie\s[0-6]/gi))?true:false;this.isSafari=(this.browser.toLowerCase().indexOf('safari')>=0)?true:false;this.navigatorVersion=navigator.appVersion.replace(/.*?MSIE\s(\d\.\d).*/g,'$1')/1;this.isOldMSIE=(this.isMSIE&&this.navigatorVersion<7)?true:false},getBrowserWidth:function(){if(self.innerWidth)return self.innerWidth;return document.documentElement.offsetWidth},getBrowserHeight:function(){if(self.innerHeight)return self.innerHeight;return document.documentElement.offsetHeight}} DHTMLSuite.domQuery=function(){document.getElementsByClassName=this.getElementsByClassName;document.getElementsByAttribute=this.getElementsByAttribute} DHTMLSuite.domQuery.prototype={} /*e1*/ /* * Adapted By @Neyek * **/ if(!window.DHTMLSuite)var DHTMLSuite=new Object();DHTMLSuite.calendarLanguageModel=function(languageCode){var monthArray;var monthArrayShort;var dayArray;var weekString;var todayString;var todayIsString;var timeString;this.monthArray=new Array();this.monthArrayShort=new Array();this.dayArray=new Array();if(!languageCode)languageCode='en';this.languageCode=languageCode;this.__setCalendarProperties()} DHTMLSuite.calendarLanguageModel.prototype={ __setCalendarProperties:function(){ switch(this.languageCode){ case "fi": this.monthArray =['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu','Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu']; this.monthArrayShort=['Tam','Hel','Maa','Huh','Tou','Kes','Hei','Elo','Syy','Lok','Mar','Jou']; this.dayArray=['Maa','Tii','Kes','Tor','Per','Lau','Sun']; this.weekString='Viikko'; this.todayIsString='Tänään on'; this.todayString='Tänään'; this.timeString='Kello'; break; case "ge": this.monthArray=['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']; this.monthArrayShort=['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez']; this.dayArray=['Mon','Die','Mit','Don','Fre','Sam','Son']; this.weekString='Woche'; this.todayIsString='Heute'; this.todayString='Heute'; this.timeString=''; break; case "no": this.monthArray=['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember']; this.monthArrayShort=['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des']; this.dayArray=['Man','Tir','Ons','Tor','Fre','Lør','Søn']; this.weekString='Uke'; this.todayIsString='Dagen i dag er'; this.todayString='I dag'; this.timeString='Tid'; break; case "nl": this.monthArray=['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December']; this.monthArrayShort=['Jan','Feb','Mar','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec']; this.dayArray=['Ma','Di','Wo','Do','Vr','Za','Zo']; this.weekString='Week'; this.todayIsString='Vandaag'; this.todayString='Vandaag'; this.timeString=''; break; case "es": this.monthArray=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre']; this.monthArrayShort =['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic']; this.dayArray=['Lun','Mar','Mie','Jue','Vie','Sab','Dom']; this.weekString='Semana'; this.todayIsString='Hoy es'; this.todayString='Hoy'; this.timeString=''; break; case "pt-br": this.monthArray=['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro']; this.monthArrayShort=['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez']; this.dayArray=['Seg','Ter','Qua','Qui','Sex','Sáb','Dom']; this.weekString='Sem.'; this.todayIsString='Hoje é'; this.todayString='Hoje'; this.timeString=''; break; case "fr": this.monthArray=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']; this.monthArrayShort=['Jan','Fev','Mar','Avr','Mai','Jun','Jul','Aou','Sep','Oct','Nov','Dec']; this.dayArray=['Lun','Mar','Mer','Jeu','Ven','Sam','Dim']; this.weekString='Sem'; this.todayIsString="Aujourd'hui"; this.todayString='Aujourd'; this.timeString=''; break; case "da": this.monthArray=['januar','februar','marts','april','maj','juni','juli','august','september','oktober','november','december']; this.monthArrayShort=['jan','feb','mar','apr','maj','jun','jul','aug','sep','okt','nov','dec']; this.dayArray=['man','tirs','ons','tors','fre','lør','søn']; this.weekString='Uge'; this.todayIsString='I dag er den'; this.todayString='I dag'; this.timeString='Tid'; break; case "it": this.monthArray=['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre']; this.monthArrayShort=['Gen','Feb','Mar','Apr','Mag','Giu','Lugl','Ago','Set','Ott','Nov','Dic']; this.dayArray=['Lun','Mar','Mer','Gio','Ven','Sab','Dom']; this.weekString='Sett'; this.todayIsString='Oggi èil'; this.todayString='Oggi èil'; this.timeString=''; break; case "sv": this.monthArray=['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December']; this.monthArrayShort=['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec']; this.dayArray=['Mån','Tis','Ons','Tor','Fre','Lör','Sön']; this.weekString='Vecka'; this.todayIsString='Idag är det den'; this.todayString='Idag är det den'; this.timeString=''; break; default: this.monthArray=['January','February','March','April','May','June','July','August','September','October','November','December']; this.monthArrayShort=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; this.dayArray=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']; this.weekString='Week'; this.todayIsString=''; this.todayString='Today'; this.timeString='Time'; break}}} DHTMLSuite.calendarModel=function(inputArray){var initialDay;var initialMonth;var initialYear;var initialHour;var initialMinute;var displayedDay;var displayedMonth;var displayedYear;var displayedMinute;var displayedHour;var languageCode;var languageModel;var invalidDateRange;var weekStartsOnMonday;this.weekStartsOnMonday=true;this.languageCode='en';this.invalidDateRange=new Array();this.__createDefaultModel(inputArray)} DHTMLSuite.calendarModel.prototype= {setCallbackFunctionOnMonthChange:function(functionName){this.callbackFunctionOnMonthChange=functionName},addInvalidDateRange:function(fromDateAsArray,toDateAsArray){var index=this.invalidDateRange.length;this.invalidDateRange[index]=new Object();if(fromDateAsArray){fromDateAsArray.day=fromDateAsArray.day+'';fromDateAsArray.month=fromDateAsArray.month+'';fromDateAsArray.year=fromDateAsArray.year+'';if(!fromDateAsArray.month)fromDateAsArray.month=fromDateAsArray.month='1';if(!fromDateAsArray.day)fromDateAsArray.day=fromDateAsArray.day='1';if(fromDateAsArray.day.length==1)fromDateAsArray.day='0'+fromDateAsArray.day;if(fromDateAsArray.month.length==1)fromDateAsArray.month='0'+fromDateAsArray.month;this.invalidDateRange[index].fromDate=fromDateAsArray.year+fromDateAsArray.month+fromDateAsArray.day}else{this.invalidDateRange[index].fromDate=false} if(toDateAsArray){toDateAsArray.day=toDateAsArray.day+'';toDateAsArray.month=toDateAsArray.month+'';toDateAsArray.year=toDateAsArray.year+'';if(!toDateAsArray.month)toDateAsArray.month=toDateAsArray.month='1';if(!toDateAsArray.day)toDateAsArray.day=toDateAsArray.day='1';if(toDateAsArray.day.length==1)toDateAsArray.day='0'+toDateAsArray.day;if(toDateAsArray.month.length==1)toDateAsArray.month='0'+toDateAsArray.month;this.invalidDateRange[index].toDate=toDateAsArray.year+toDateAsArray.month+toDateAsArray.day}else{this.invalidDateRange[index].toDate=false}},isDateWithinValidRange:function(inputDate){if(this.invalidDateRange.length==0)return true;var month=inputDate.month+'';if(month.length==1)month='0'+month;var day=inputDate.day+'';if(day.length==1)day='0'+day;var dateToCheck=inputDate.year+month+day;for(var no=0;no=dateToCheck)return false;if(!this.invalidDateRange[no].toDate&&this.invalidDateRange[no].fromDate<=dateToCheck)return false;if(this.invalidDateRange[no].fromDate<=dateToCheck&&this.invalidDateRange[no].toDate>=dateToCheck)return false} return true},setInitialDateFromInput:function(inputReference,format){if(inputReference.value.length>0){if(!format.match(/^[0-9]*?$/gi)){var items=inputReference.value.split(/[^0-9]/gi);var positionArray=new Object();positionArray.m=format.indexOf('mm');if(positionArray.m==-1)positionArray.m=format.indexOf('m');positionArray.d=format.indexOf('dd');if(positionArray.d==-1)positionArray.d=format.indexOf('d');positionArray.y=format.indexOf('yyyy');positionArray.h=format.indexOf('hh');positionArray.i=format.indexOf('ii');this.initialHour='00';this.initialMinute='00';var elements=['y','m','d','h','i'];var properties=['initialYear','initialMonth','initialDay','initialHour','initialMinute'];var propertyLength=[4,2,2,2,2];for(var i=0;i=0){this[properties[i]]=inputReference.value.substr(positionArray[elements[i]],propertyLength[i])/1}}}else{var monthPos=format.indexOf('mm');this.initialMonth=inputReference.value.substr(monthPos,2)/1;var yearPos=format.indexOf('yyyy');this.initialYear=inputReference.value.substr(yearPos,4);var dayPos=format.indexOf('dd');tmpDay=inputReference.value.substr(dayPos,2);this.initialDay=tmpDay;var hourPos=format.indexOf('hh');if(hourPos>=0){tmpHour=inputReference.value.substr(hourPos,2);this.initialHour=tmpHour}else{this.initialHour='00'} var minutePos=format.indexOf('ii');if(minutePos>=0){tmpMinute=inputReference.value.substr(minutePos,2);this.initialMinute=tmpMinute}else{this.initialMinute='00'}}} this.__setDisplayedDateToInitialData()},__setDisplayedDateToInitialData:function(){this.displayedYear=this.initialYear;this.displayedMonth=this.initialMonth;this.displayedDay=this.initialDay;this.displayedHour=this.initialHour;this.displayedMinute=this.initialMinute},__calendarSortItems:function(a,b){return a/1-b/1},setWeekStartsOnMonday:function(weekStartsOnMonday){this.weekStartsOnMonday=weekStartsOnMonday},setLanguageCode:function(languageCode){this.languageModel=new DHTMLSuite.calendarLanguageModel(languageCode)},__isLeapYear:function(inputYear){if(inputYear%400==0||(inputYear%4==0&&inputYear%100!=0))return true;return false},getWeekStartsOnMonday:function(){return this.weekStartsOnMonday},__createDefaultModel:function(inputArray){var d=new Date();this.initialYear=d.getFullYear();this.initialMonth=d.getMonth()+1;this.initialDay=d.getDate();this.initialHour=d.getHours();if(inputArray){if(inputArray.initialYear)this.initialYear=inputArray.initialYear;if(inputArray.initialMonth)this.initialMonth=inputArray.initialMonth;if(inputArray.initialDay)this.initialDay=inputArray.initialDay;if(inputArray.initialHour)this.initialHour=inputArray.initialHour;if(inputArray.initialMinute)this.initialMinute=inputArray.initialMinute;if(inputArray.languageCode)this.languageCode=inputArray.languageCode} this.displayedYear=this.initialYear;this.displayedMonth=this.initialMonth;this.displayedDay=this.initialDay;this.displayedHour=this.initialHour;this.displayedMinute=this.initialMinute;this.languageModel=new DHTMLSuite.calendarLanguageModel()},__getDisplayedDay:function(){return this.displayedDay},__getDisplayedHourWithLeadingZeros:function(){var retVal=this.__getDisplayedHour()+'';if(retVal.length==1)retVal='0'+retVal;return retVal},__getDisplayedMinuteWithLeadingZeros:function(){var retVal=this.__getDisplayedMinute()+'';if(retVal.length==1)retVal='0'+retVal;return retVal},__getDisplayedDayWithLeadingZeros:function(){var retVal=this.__getDisplayedDay()+'';if(retVal.length==1)retVal='0'+retVal;return retVal},__getDisplayedMonthNumberWithLeadingZeros:function(){var retVal=this.__getDisplayedMonthNumber()+'';if(retVal.length==1)retVal='0'+retVal;return retVal},__getDisplayedYear:function(){return this.displayedYear},__getDisplayedHour:function(){if(!this.displayedHour)this.displayedHour=0;return this.displayedHour},__getDisplayedMinute:function(){if(!this.displayedMinute)this.displayedMinute=0;return this.displayedMinute},__getDisplayedMonthNumber:function(){return this.displayedMonth},__getInitialDay:function(){return this.initialDay},__getInitialYear:function(){return this.initialYear},__getInitialMonthNumber:function(){return this.initialMonth},__getMonthNameByMonthNumber:function(monthNumber){return this.languageModel.monthArray[monthNumber-1]},__moveOneYearBack:function(){this.displayedYear--},__moveOneYearForward:function(){this.displayedYear++},__moveOneMonthBack:function(){this.displayedMonth--;if(this.displayedMonth<1){this.displayedMonth=12;this.displayedYear--}},__moveOneMonthForward:function(){this.displayedMonth++;if(this.displayedMonth>12){this.displayedMonth=1;this.displayedYear++}},__setDisplayedYear:function(year){var success=year!=this.displayedYear;this.displayedYear=year;return success },__setDisplayedMonth:function(month){var success=month!=this.displayedMonth;this.displayedMonth=month;return success},__setDisplayedDay:function(day){this.displayedDay=day},__setDisplayedHour:function(hour){this.displayedHour=hour/1},__setDisplayedMinute:function(minute){this.displayedMinute=minute/1},__getPreviousYearAndMonthAsArray:function(){var month=this.displayedMonth-1;var year=this.displayedYear;if(month==0){month=12;year=year-1} var retArray=[year,month];return retArray},__getNumberOfDaysInCurrentDisplayedMonth:function(){return this.__getNumberOfDaysInAMonthByMonthAndYear(this.displayedYear,this.displayedMonth)},__getNumberOfDaysInAMonthByMonthAndYear:function(year,month){var daysInMonthArray=[31,28,31,30,31,30,31,31,30,31,30,31];var daysInMonth=daysInMonthArray[month-1];if(daysInMonth==28){if(this.__isLeapYear(year))daysInMonth=29} return daysInMonth/1},__getStringWeek:function(){return this.languageModel.weekString},__getDaysMondayToSunday:function(){return this.languageModel.dayArray},__getDaysSundayToSaturday:function(){var retArray=this.languageModel.dayArray.concat();var lastDay=new Array(retArray[retArray.length-1]);retArray.pop();return lastDay.concat(retArray)},__getWeekNumberFromDayMonthAndYear:function(year,month,day){day=day/1;year=year/1;month=month/1;if(!this.weekStartsOnMonday)return this.__getWeekNumberFromDayMonthAndYear_S(year,month,day);var a=Math.floor((14-(month))/12);var y=year+4800-a;var m=(month)+(12*a)-3;var jd=day+Math.floor(((153*m)+2)/5)+ (365*y)+Math.floor(y/4)- Math.floor(y/100)+ Math.floor(y/400)- 32045;var d4=(jd+31741-(jd%7))%146097%36524%1461;var L=Math.floor(d4/1460);var d1=((d4-L)%365)+L;NumberOfWeek=Math.floor(d1/7)+1;return NumberOfWeek},__getWeekNumberFromDayMonthAndYear_S:function(year,month,day){month--;now=Date.UTC(year,month,day+1,0,0,0);var firstDay=new Date();firstDay.setYear(year);firstDay.setMonth(0);firstDay.setDate(1);then=Date.UTC(year,0,1,0,0,0);var Compensation=firstDay.getDay();if(Compensation > 3)Compensation-= 4;else Compensation+= 3;NumberOfWeek= Math.round((((now-then)/86400000)+Compensation)/7);return NumberOfWeek},__getDayNumberFirstDayInYear:function(year){var d=new Date();d.setFullYear(year);d.setDate(1);d.setMonth(0);return d.getDay()},__getRemainingDaysInPreviousMonthAsArray:function(){var d=new Date();d.setFullYear(this.displayedYear);d.setDate(1);d.setMonth(this.displayedMonth-1);var dayStartOfMonth=d.getDay();if(this.weekStartsOnMonday){if(dayStartOfMonth==0)dayStartOfMonth=7;dayStartOfMonth--} var previousMonthArray=this.__getPreviousYearAndMonthAsArray();var daysInPreviousMonth=this.__getNumberOfDaysInAMonthByMonthAndYear(previousMonthArray[0],previousMonthArray[1]);var returnArray=new Array();for(var no=0;no';divNext.onmouseover=function(e){DHTMLSuite.variableStorage.arrayDSObjects[ind].__mouseoverUpAndDownArrowsInDropDownMinutes(e)} ;divNext.onmouseout =function(e){DHTMLSuite.variableStorage.arrayDSObjects[ind].__mouseoutUpAndDownArrowsInDropDownMinutes(e)} ;DHTMLSuite.commonObj.__addEventEl(divNext);this.divElMinuteDropdown.appendChild(divNext);if(60/this.minuteDropDownInterval< this.numberOfRowsInMinuteDropDown){divPrevious.style.display='none';divNext.style.display='none'}},__populateMinutesInsideDropDownMinutes:function(){var ind=this.objectIndex;this.divElMinuteDropdownParent.innerHTML='';if(60/this.minuteDropDownInterval< this.numberOfRowsInMinuteDropDown){startMinute=0}else{var startMinute=Math.max(0,(this.calendarModelReference.__getDisplayedMinute()-Math.round(this.numberOfRowsInMinuteDropDown/2)));startMinute+=(this.minuteDropDownOffsetInMinute*this.minuteDropDownInterval) if(startMinute<0){startMinute+=this.minuteDropDownInterval;this.minuteDropDownOffsetInMinute++} if(startMinute+(this.numberOfRowsInMinuteDropDown*this.minuteDropDownInterval)>60){/*start minute in drop down+number of records shown*interval larger than 60-> adjust it*/ startMinute-=this.minuteDropDownInterval;this.minuteDropDownOffsetInMinute--}} for(var no=startMinute;no';div.onmouseover=function(e){DHTMLSuite.variableStorage.arrayDSObjects[ind].__mouseoverUpAndDownArrowsInDropDownHours(e)} ;div.onmouseout =function(e){DHTMLSuite.variableStorage.arrayDSObjects[ind].__mouseoutUpAndDownArrowsInDropDownHours(e)} ;DHTMLSuite.commonObj.__addEventEl(div);this.divElHourDropdown.appendChild(div)},__populateHoursInsideDropDownHours:function(){var ind=this.objectIndex;this.divElHourDropdownParentHours.innerHTML='';var startHour=Math.max(0,(this.calendarModelReference.__getDisplayedHour()-Math.round(this.numberOfRowsInHourDropDown/2)));startHour=Math.min(14,startHour);if((startHour+this.hourDropDownOffsetInHour+this.numberOfRowsInHourDropDown)>24){this.hourDropDownOffsetInHour=(24-startHour-this.numberOfRowsInHourDropDown)} if((startHour+this.hourDropDownOffsetInHour)<0){this.hourDropDownOffsetInHour=startHour*-1} startHour+=this.hourDropDownOffsetInHour;if(startHour<0)startHour=0;if(startHour>(24-this.numberOfRowsInHourDropDown))startHour=(24-this.numberOfRowsInHourDropDown);for(var no=startHour;no';div.onmouseover=function(e){DHTMLSuite.variableStorage.arrayDSObjects[ind].__mouseoverUpAndDownArrowsInDropDownYears(e)} ;div.onmouseout =function(e){DHTMLSuite.variableStorage.arrayDSObjects[ind].__mouseoutUpAndDownArrowsInDropDownYears(e)} ;DHTMLSuite.commonObj.__addEventEl(div);this.divElYearDropdown.appendChild(div)},__populateYearsInsideDropDownYears:function(divElementToPopulate){var ind=this.objectIndex;this.divElYearDropdownParentYears.innerHTML='';var startYear=this.calendarModelReference.__getDisplayedYear()-5+this.yearDropDownOffsetInYear;for(var no=startYear;no=0||src.className.indexOf('HourAndMinute')>=0){if(DHTMLSuite.commonObj.isObjectClicked(this.divElement,e))return} this.__showHideDropDownBoxMonth('none');this.__showHideDropDownBoxYear('none');this.__showHideDropDownBoxHour('none');this.__showHideDropDownBoxMinute('none')},__showHideDropDownBoxMonth:function(forcedDisplayAttribute){if(!forcedDisplayAttribute){this.__showHideDropDownBoxYear('none');this.__showHideDropDownBoxHour('none')} if(forcedDisplayAttribute){this.divElMonthDropdown.style.display=forcedDisplayAttribute}else{this.divElMonthDropdown.style.display=(this.divElMonthDropdown.style.display=='block'?'none':'block')} this.__populateDropDownMonths();this.__positionDropDownMonths()},__showHideDropDownBoxYear:function(forcedDisplayAttribute){if(!forcedDisplayAttribute){this.__showHideDropDownBoxMonth('none');this.__showHideDropDownBoxHour('none');this.__showHideDropDownBoxMinute('none')} if(forcedDisplayAttribute){this.divElYearDropdown.style.display=forcedDisplayAttribute}else{this.divElYearDropdown.style.display=(this.divElYearDropdown.style.display=='block'?'none':'block')} if(this.divElYearDropdown.style.display=='none'){this.yearDropDownOffsetInYear=0}else{this.__populateDropDownYears()} this.__positionDropDownYears()},__showHideDropDownBoxHour:function(forcedDisplayAttribute){if(!forcedDisplayAttribute){this.__showHideDropDownBoxYear('none');this.__showHideDropDownBoxMonth('none');this.__showHideDropDownBoxMinute('none')} if(forcedDisplayAttribute){this.divElHourDropdown.style.display=forcedDisplayAttribute}else{this.divElHourDropdown.style.display=(this.divElHourDropdown.style.display=='block'?'none':'block')} if(this.divElHourDropdown.style.display=='none'){this.hourDropDownOffsetInHour=0}else{this.__populateDropDownHours()} this.__positionDropDownHours()},__showHideDropDownBoxMinute:function(forcedDisplayAttribute){if(!forcedDisplayAttribute){this.__showHideDropDownBoxYear('none');this.__showHideDropDownBoxMonth('none');this.__showHideDropDownBoxHour('none')} if(forcedDisplayAttribute){this.divElMinuteDropdown.style.display=forcedDisplayAttribute}else{this.divElMinuteDropdown.style.display=(this.divElMinuteDropdown.style.display=='block'?'none':'block')} if(this.divElMinuteDropdown.style.display=='none'){this.minuteDropDownOffsetInMinute=0}else{this.__populateDropDownMinutes()} this.__positionDropDownMinutes()},__createMainHtmlEls:function(){this.divElement=document.createElement('DIV');this.divElement.className='DHTMLSuite_calendar';this.divElContent=document.createElement('DIV');this.divElement.appendChild(this.divElContent);this.divElContent.className='DHTMLSuite_calendarContent';if(this.targetReference)this.targetReference.appendChild(this.divElement);else document.body.appendChild(this.divElement);if(this.isDragable){try{this.referenceToDragDropObject=new DHTMLSuite.dragDropSimple({elementReference: this.divElement })}catch(e){alert('Include DHTMLSuite-dragDropSimple.js for the drag feature')}} if(DHTMLSuite.clientInfoObj.isMSIE&&DHTMLSuite.clientInfoObj.navigatorVersion<8){this.iframeEl=document.createElement('