/* Copyright 2009 Itamar Arjuan jsDatePick is distributed under the terms of the GNU General Public License. */ g_arrayOfUsedJsDatePickCalsGlobalNumbers=new Array();g_currentDateObject=new Object();g_currentDateObject.dateObject=new Date();g_currentDateObject.day=g_currentDateObject.dateObject.getDate();g_currentDateObject.month=g_currentDateObject.dateObject.getMonth()+1;g_currentDateObject.year=g_currentDateObject.dateObject.getFullYear();$=function(id){return document.getElementById(id);};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");};String.prototype.ltrim=function(){return this.replace(/^\s+/,"");};String.prototype.rtrim=function(){return this.replace(/\s+$/,"");};JsDatePick=function(configurationObject){this.oConfiguration=new Object();this.oCurrentDay=g_currentDateObject;this.monthsTextualRepresentation=new Array("Janaury","February","March","April","May","June","July","August","September","October","November","December");this.initialZIndex=2;this.globalNumber=this.getUnUsedGlobalNumber();eval("gRef_"+this.globalNumber+"=this;");this.setConfiguration(configurationObject);this.makeCalendar();};JsDatePick.prototype.getUnUsedGlobalNumber=function(){var aNum=Math.floor(Math.random()*1000);while(! this.isUnique_GlobalNumber(aNum)){aNum=Math.floor(Math.random()*1000);}return aNum;};JsDatePick.prototype.isUnique_GlobalNumber=function(aNum){var i;for(i=0;i<g_arrayOfUsedJsDatePickCalsGlobalNumbers.length;i++){if(g_arrayOfUsedJsDatePickCalsGlobalNumbers[i]==aNum){return false;}}return true;};JsDatePick.prototype.addOnSelectedDelegate=function(aDelegatedFunction){if(typeof(aDelegatedFunction)=="function"){this.addonSelectedDelegate=aDelegatedFunction;}return false;};JsDatePick.prototype.setOnSelectedDelegate=function(aDelegatedFunction){if(typeof(aDelegatedFunction)=="function"){this.onSelectedDelegate=aDelegatedFunction;return true;}return false;};JsDatePick.prototype.executeOnSelectedDelegateIfExists=function(){if(typeof(this.onSelectedDelegate)=="function"){this.onSelectedDelegate();}if(typeof(this.addonSelectedDelegate)=="function"){this.addonSelectedDelegate();}};JsDatePick.prototype.setRepopulationDelegate=function(aDelegatedFunction){if(typeof(aDelegatedFunction)=="function"){this.repopulationDelegate=aDelegatedFunction;return true;}return false;};JsDatePick.prototype.setConfiguration=function(aConf){this.oConfiguration.isStripped =(aConf["isStripped"]!=null)? aConf["isStripped"] : false;this.oConfiguration.useMode =(aConf["useMode"]!=null)? aConf["useMode"] : 1;this.oConfiguration.selectedDate =(aConf["selectedDate"]!=null)? aConf["selectedDate"] : null;this.oConfiguration.target=(aConf["target"]!=null)? aConf["target"] : null;this.oConfiguration.yearsRange=(aConf["yearsRange"]!=null)? aConf["yearsRange"] : new Array(1971,2100);this.oConfiguration.limitToToday=(aConf["limitToToday"]!=null)? aConf["limitToToday"] : false;this.oConfiguration.field=(aConf["field"]!=null)? aConf["field"] : false;this.oConfiguration.cellColorScheme =(aConf["cellColorScheme"]!=null)? aConf["cellColorScheme"] : "ocean_blue";this.selectedDayObject=new Object();this.flag_DayMarkedBeforeRepopulation=false;this.flag_aDayWasSelected=false;this.lastMarkedDayObject=null;if(this.oConfiguration.selectedDate!=null){if(typeof(this.oConfiguration.selectedDate)=="object"){if(!isNaN(this.oConfiguration.selectedDate.day)&& !isNaN(this.oConfiguration.selectedDate.month)&& !isNaN(this.oConfiguration.selectedDate.year)){this.currentDay=this.oCurrentDay.day;this.selectedDayObject.day=this.oConfiguration.selectedDate.day;this.currentMonth=this.selectedDayObject.month=this.oConfiguration.selectedDate.month;this.currentYear=this.selectedDayObject.year= this.oConfiguration.selectedDate.year;this.flag_aDayWasSelected=true;}else {alert("The initial selected date object is not complete or invalid!");}}else {alert("the initial selected date is wrong! you need to supply an object containing 3 properties(day,month,year)");}}else {this.currentYear=this.oCurrentDay.year;this.currentMonth= this.oCurrentDay.month;this.currentDay= this.oCurrentDay.day;}};JsDatePick.prototype.resizeCalendar=function(){this.leftWallStrechedElement.style.height="0px";this.rightWallStrechedElement.style.height="0px";var totalHeight=this.JsDatePickBox.offsetHeight;var newStrechedHeight=totalHeight-16;if(newStrechedHeight < 0){return;}this.leftWallStrechedElement.style.height=newStrechedHeight+"px";this.rightWallStrechedElement.style.height=newStrechedHeight+"px";return true;};JsDatePick.prototype.closeCalendar=function(){this.JsDatePickBox.style.display="none";};JsDatePick.prototype.populateFieldWithSelectedDate=function(){$(this.oConfiguration.target).value=this.getSelectedDayFormatted();this.closeCalendar();};JsDatePick.prototype.makeCalendar=function(){var d=document;var JsDatePickBox=d.createElement("div");var clearfix= d.createElement("div");var closeButton= d.createElement("div");JsDatePickBox.className="JsDatePickBox";clearfix.className="clearfix";closeButton.className="jsDatePickCloseButton";closeButton.setAttribute("globalNumber",this.globalNumber);closeButton.onmouseover=function(){this.className="jsDatePickCloseButtonOver";var globalRef="gRef_"+this.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Close the calendar\");");};closeButton.onmouseout=function(){this.className="jsDatePickCloseButton";var globalRef="gRef_"+this.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"\");");};closeButton.onmousedown=function(){this.className="jsDatePickCloseButtonDown";var globalRef="gRef_"+this.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Close the calendar\");");};closeButton.onmouseup=function(){this.className="jsDatePickCloseButton";var globalRef="gRef_"+this.getAttribute("globalNumber");eval("gRef_"+this.getAttribute("globalNumber")+".closeCalendar();");eval(globalRef+".setTooltipText(\"\");");};this.JsDatePickBox=JsDatePickBox;var leftWall=d.createElement("div");var rightWall=d.createElement("div");var topWall= d.createElement("div");var bottomWall= d.createElement("div");topWall.className="topWall";bottomWall.className="bottomWall";var topCorner=d.createElement("div");var bottomCorner=d.createElement("div");var wall=d.createElement("div");topCorner.className="leftTopCorner";bottomCorner.className="leftBottomCorner";wall.className="leftWall";this.leftWallStrechedElement=wall;this.leftWall=leftWall;this.rightWall=rightWall;leftWall.appendChild(topCorner);leftWall.appendChild(wall);leftWall.appendChild(bottomCorner);topCorner=d.createElement("div");bottomCorner=d.createElement("div");wall=d.createElement("div");topCorner.className="rightTopCorner";bottomCorner.className="rightBottomCorner";wall.className="rightWall";this.rightWallStrechedElement=wall;rightWall.appendChild(topCorner);rightWall.appendChild(wall);rightWall.appendChild(bottomCorner);if(this.oConfiguration.isStripped){leftWall.className="hiddenBoxLeftWall";rightWall.className="hiddenBoxRightWall";}else {leftWall.className="boxLeftWall";rightWall.className="boxRightWall";}JsDatePickBox.appendChild(leftWall);JsDatePickBox.appendChild(this.getDOMCalendarStripped());JsDatePickBox.appendChild(rightWall);JsDatePickBox.appendChild(clearfix);if(!this.oConfiguration.isStripped){JsDatePickBox.appendChild(closeButton);JsDatePickBox.appendChild(topWall);JsDatePickBox.appendChild(bottomWall);}if(this.oConfiguration.useMode==2){if(this.oConfiguration.target!=false){if(typeof($(this.oConfiguration.target))!=null){var inputElement=$(this.oConfiguration.target);var aSpan=document.createElement("span");inputElement.parentNode.replaceChild(aSpan,inputElement);aSpan.appendChild(inputElement);inputElement.setAttribute("globalNumber",this.globalNumber);
inputElement.onclick=function(){inputElement.value='';eval("gRef_"+this.getAttribute("globalNumber")+".showCalendar();");};
aSpan.style.position="relative";
this.initialZIndex++;
JsDatePickBox.style.zIndex=this.initialZIndex.toString();
JsDatePickBox.style.position="absolute";
JsDatePickBox.style.top="18px";
JsDatePickBox.style.left="0px";
JsDatePickBox.style.display="none";
aSpan.appendChild(JsDatePickBox);var aFunc=new Function("gRef_"+this.globalNumber+".populateFieldWithSelectedDate();");this.setOnSelectedDelegate(aFunc);}else {alert("There is no element with such an ID!");}}}else {if(this.oConfiguration.target!=null){$(this.oConfiguration.target).appendChild(JsDatePickBox);$(this.oConfiguration.target).style.position="relative";JsDatePickBox.style.position="absolute";JsDatePickBox.style.top="0px";JsDatePickBox.style.left="0px";this.resizeCalendar();this.executePopulationDelegateIfExists();}else {alert("No element ID to put this calendar on! check JsDatePick configuration");}}};JsDatePick.prototype.determineFieldDate=function(){var aField=$(this.oConfiguration.target);if(aField.value.trim().length==0){this.unsetSelection();return;}else {if(aField.value.trim().length > 7){var array=aField.value.trim().split("-");this.setSelectedDay({year:parseInt(array[0]),month:parseInt(array[1],10),day:parseInt(array[2],10)});return;}else {this.unsetSelection();return;}}};JsDatePick.prototype.showCalendar=function(){if(this.JsDatePickBox.style.display=="none"){this.determineFieldDate();this.JsDatePickBox.style.display="block";this.resizeCalendar();this.executePopulationDelegateIfExists();}else {return;}};JsDatePick.prototype.isAvailable=function(y,m,d){if(y > this.oCurrentDay.year){return false;}if(m > this.oCurrentDay.month && y==this.oCurrentDay.year){return false;}if(d > this.oCurrentDay.day && m==this.oCurrentDay.month && y==this.oCurrentDay.year){return false;}return true;};JsDatePick.prototype.getDOMCalendarStripped=function(){var d=document;var boxMain=d.createElement("div");if(this.oConfiguration.isStripped){boxMain.className="boxMainStripped";}else {boxMain.className="boxMain";}this.boxMain=boxMain;var boxMainInner=d.createElement("div");var clearfix=d.createElement("div");var boxMainCellsContainer=d.createElement("div");var tooltip= d.createElement("div");var weekDaysRow= d.createElement("div");var clearfix2= d.createElement("div");clearfix.className="clearfix";clearfix2.className= "clearfix";boxMainInner.className="boxMainInner";boxMainCellsContainer.className="boxMainCellsContainer";tooltip.className="tooltip";weekDaysRow.className= "weekDaysRow";this.tooltip=tooltip;boxMain.appendChild(boxMainInner);this.controlsBar=this.getDOMControlBar();this.makeDOMWeekDays(weekDaysRow);boxMainInner.appendChild(this.controlsBar);boxMainInner.appendChild(clearfix);boxMainInner.appendChild(tooltip);boxMainInner.appendChild(weekDaysRow);boxMainInner.appendChild(boxMainCellsContainer);boxMainInner.appendChild(clearfix2);this.boxMainCellsContainer=boxMainCellsContainer;this.populateMainBox(boxMainCellsContainer);return boxMain;};JsDatePick.prototype.makeDOMWeekDays=function(aWeekDaysRow){var i=0;var d=document;var weekDaysArray=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");var textNode;var weekDay;for(i=0;i<7;i++){weekDay=d.createElement("div");textNode=d.createTextNode(weekDaysArray[i]);weekDay.className="weekDay";if(weekDaysArray[i]=="Sat"){weekDay.style.marginRight="0px";}weekDay.appendChild(textNode);aWeekDaysRow.appendChild(weekDay);}};JsDatePick.prototype.repopulateMainBox=function(){while(this.boxMainCellsContainer.firstChild){this.boxMainCellsContainer.removeChild(this.boxMainCellsContainer.firstChild);}this.populateMainBox(this.boxMainCellsContainer);this.resizeCalendar();this.executePopulationDelegateIfExists();};JsDatePick.prototype.executePopulationDelegateIfExists=function(){if(typeof(this.repopulationDelegate)=="function"){this.repopulationDelegate();}};JsDatePick.prototype.populateMainBox=function(aMainBox){var d=document;var aDayDiv;var aTextNode;var columnNumber=1;var disabledDayFlag=false;var cmpMonth=this.currentMonth-1;var oDay=new Date(this.currentYear,cmpMonth,1);var iStamp= oDay.getTime();this.flag_DayMarkedBeforeRepopulation=false;this.setControlBarText(this.monthsTextualRepresentation[cmpMonth]+","+this.currentYear);var skipDays=parseInt(oDay.getDay());var i=0;for(i=0;i<skipDays;i++){aDayDiv=d.createElement("div");aDayDiv.className="skipDay";aMainBox.appendChild(aDayDiv);if(columnNumber==7){columnNumber=1;}else {columnNumber++;}}while(oDay.getMonth()==cmpMonth){disabledDayFlag=false;aDayDiv=d.createElement("div");aTextNode= d.createTextNode(oDay.getDate());aDayDiv.appendChild(aTextNode);aMainBox.appendChild(aDayDiv);aDayDiv.setAttribute("globalNumber",this.globalNumber);if(columnNumber==7){aDayDiv.style.marginRight="0px";}if(this.isToday(oDay)){aDayDiv.setAttribute("isToday",1);}if(this.oConfiguration.limitToToday){if(! this.isAvailable(this.currentYear,this.currentMonth,parseInt(oDay.getDate()))){disabledDayFlag=true;aDayDiv.setAttribute("isJsDatePickDisabled",1);}}aDayDiv.onmouseover=function(){var globalRef="gRef_"+this.getAttribute("globalNumber");var currentColorScheme=eval(globalRef+".getCurrentColorScheme()");if(parseInt(this.getAttribute("isSelected"))==1){return;}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}if(parseInt(this.getAttribute("isToday"))==1){this.className="dayOverToday";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayOver.gif)left top no-repeat";}else {this.className="dayOver";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayOver.gif)left top no-repeat";}};aDayDiv.onmouseout=function(){var globalRef="gRef_"+this.getAttribute("globalNumber");var currentColorScheme=eval(globalRef+".getCurrentColorScheme()");if(parseInt(this.getAttribute("isSelected"))==1){return;}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}if(parseInt(this.getAttribute("isToday"))==1){this.className="dayNormalToday";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";}else {this.className="dayNormal";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";}};aDayDiv.onmousedown=function(){var globalRef="gRef_"+this.getAttribute("globalNumber");var currentColorScheme=eval(globalRef+".getCurrentColorScheme()");if(parseInt(this.getAttribute("isSelected"))==1){return;}if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}if(parseInt(this.getAttribute("isToday"))==1){this.className="dayDownToday";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayDown.gif)left top no-repeat";}else {this.className="dayDown";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayDown.gif)left top no-repeat";}};aDayDiv.onmouseup=function(){var globalRef="gRef_"+this.getAttribute("globalNumber");var currentColorScheme=eval(globalRef+".getCurrentColorScheme()");if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}if(parseInt(this.getAttribute("isToday"))==1){this.className="dayNormalToday";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";}else {this.className="dayNormal";this.style.background="url(images/date_picker/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";}eval(globalRef+".setDaySelection(this);");eval(globalRef+".executeOnSelectedDelegateIfExists();");};if(this.isSelectedDay(oDay.getDate())){aDayDiv.setAttribute("isSelected",1);this.flag_DayMarkedBeforeRepopulation=true;this.lastMarkedDayObject=aDayDiv;if(parseInt(aDayDiv.getAttribute("isToday"))==1){aDayDiv.className="dayDownToday";aDayDiv.style.background="url(images/date_picker/"+this.oConfiguration.cellColorScheme+"_dayDown.gif)left top no-repeat";}else {aDayDiv.className="dayDown";aDayDiv.style.background="url(images/date_picker/"+this.oConfiguration.cellColorScheme+"_dayDown.gif)left top no-repeat";}}else {var globalRef="gRef_"+aDayDiv.getAttribute("globalNumber");var currentColorScheme=eval(globalRef+".getCurrentColorScheme()");if(parseInt(aDayDiv.getAttribute("isToday"))==1){if(disabledDayFlag){aDayDiv.className="dayDisabled";aDayDiv.style.background="url(images/date_picker/"+this.oConfiguration.cellColorScheme+"_dayNormal.gif)left top no-repeat";}else {aDayDiv.className="dayNormalToday";aDayDiv.style.background="url(images/date_picker/"+this.oConfiguration.cellColorScheme+"_dayNormal.gif)left top no-repeat";}}else {if(disabledDayFlag){aDayDiv.className="dayDisabled";aDayDiv.style.background="url(images/date_picker/"+this.oConfiguration.cellColorScheme+"_dayNormal.gif)left top no-repeat";}else {aDayDiv.className="dayNormal";aDayDiv.style.background="url(images/date_picker/"+this.oConfiguration.cellColorScheme+"_dayNormal.gif)left top no-repeat";}}}if(columnNumber==7){columnNumber=1;}else {columnNumber++;}iStamp += 86400000;oDay.setTime(iStamp);}return aMainBox;};JsDatePick.prototype.unsetSelection=function(){this.flag_aDayWasSelected=false;this.selectedDayObject=new Object();this.repopulateMainBox();};JsDatePick.prototype.setSelectedDay=function(dateObject){this.flag_aDayWasSelected=true;this.selectedDayObject.day=parseInt(dateObject.day,10);this.selectedDayObject.month=parseInt(dateObject.month,10);this.selectedDayObject.year=parseInt(dateObject.year);this.currentMonth=dateObject.month;this.currentYear= dateObject.year;this.repopulateMainBox();};JsDatePick.prototype.isSelectedDay=function(aDate){if(this.flag_aDayWasSelected){if(parseInt(aDate)==this.selectedDayObject.day && this.currentMonth==this.selectedDayObject.month && this.currentYear==this.selectedDayObject.year){return true;}else {return false;}}return false;};JsDatePick.prototype.getSelectedDay=function(){if(this.flag_aDayWasSelected){return this.selectedDayObject;}else {return false;}};

JsDatePick.prototype.getSelectedDayFormatted=function(){
if(this.flag_aDayWasSelected){
	var returnVal=this.selectedDayObject.year+"-";
		returnVal += this.selectedDayObject.month+"-";
        returnVal += this.selectedDayObject.day;
		 
		var fullMonths = new Array("Janaury","February","March","April","May","June","July","August","September","October","November","December");
		arrNewReturnVal = returnVal.split("-");
		returnVal = parseInt(arrNewReturnVal[2])+" "+fullMonths[(parseInt(arrNewReturnVal[1])-1)]+" "+arrNewReturnVal[0];
		
		return returnVal;
}else{
return false;
}

};


JsDatePick.prototype.setDaySelection=function(anElement){var globalRef="gRef_"+anElement.getAttribute("globalNumber");var currentColorScheme=eval(globalRef+".getCurrentColorScheme()");if(this.flag_DayMarkedBeforeRepopulation){/* Un mark last selected day */ this.lastMarkedDayObject.setAttribute("isSelected",0);if(parseInt(this.lastMarkedDayObject.getAttribute("isToday"))==1){this.lastMarkedDayObject.className="dayNormalToday";this.lastMarkedDayObject.style.background="url(images/date_picker/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";}else {this.lastMarkedDayObject.className="dayNormal";this.lastMarkedDayObject.style.background="url(images/date_picker/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";}}this.flag_aDayWasSelected=true;this.selectedDayObject.year=this.currentYear;this.selectedDayObject.month=this.currentMonth;this.selectedDayObject.day =parseInt(anElement.innerHTML);this.flag_DayMarkedBeforeRepopulation=true;this.lastMarkedDayObject=anElement;anElement.setAttribute("isSelected",1);if(parseInt(anElement.getAttribute("isToday"))==1){anElement.className="dayDownToday";anElement.style.background="url(images/date_picker/"+currentColorScheme+"_dayDown.gif)left top no-repeat";}else {anElement.className="dayDown";anElement.style.background="url(images/date_picker/"+currentColorScheme+"_dayDown.gif)left top no-repeat";}};JsDatePick.prototype.isToday=function(aDateObject){var cmpMonth=this.oCurrentDay.month-1;if(aDateObject.getDate()==this.oCurrentDay.day && aDateObject.getMonth()==cmpMonth && aDateObject.getFullYear()==this.oCurrentDay.year){return true;}return false;};JsDatePick.prototype.setControlBarText=function(aText){var aTextNode=document.createTextNode(aText);while(this.controlsBarTextCell.firstChild){this.controlsBarTextCell.removeChild(this.controlsBarTextCell.firstChild);}this.controlsBarTextCell.appendChild(aTextNode);};JsDatePick.prototype.setTooltipText=function(aText){while(this.tooltip.firstChild){this.tooltip.removeChild(this.tooltip.firstChild);}var aTextNode=document.createTextNode(aText);this.tooltip.appendChild(aTextNode);};JsDatePick.prototype.moveForwardOneYear=function(){var desiredYear=this.currentYear+1;if(desiredYear < parseInt(this.oConfiguration.yearsRange[1])){this.currentYear++;this.repopulateMainBox();}else {return;}};JsDatePick.prototype.moveBackOneYear=function(){var desiredYear=this.currentYear - 1;if(desiredYear > parseInt(this.oConfiguration.yearsRange[0])){this.currentYear--;this.repopulateMainBox();}else {return;}};JsDatePick.prototype.moveForwardOneMonth=function(){if(this.currentMonth < 12){this.currentMonth++;}else {this.currentYear++;this.currentMonth=1;}this.repopulateMainBox();};JsDatePick.prototype.moveBackOneMonth=function(){if(this.currentMonth > 1){this.currentMonth--;}else {this.currentYear--;this.currentMonth=12;}this.repopulateMainBox();};JsDatePick.prototype.getCurrentColorScheme=function(){return this.oConfiguration.cellColorScheme;};JsDatePick.prototype.getDOMControlBar=function(){var d=document;var controlsBar=d.createElement("div");var monthForwardButton= d.createElement("div");var monthBackwardButton= d.createElement("div");var yearForwardButton= d.createElement("div");var yearBackwardButton= d.createElement("div");var controlsBarText= d.createElement("div");controlsBar.className="controlsBar";monthForwardButton.className="monthForwardButton";monthBackwardButton.className="monthBackwardButton";yearForwardButton.className="yearForwardButton";yearBackwardButton.className="yearBackwardButton";controlsBarText.className= "controlsBarText";controlsBar.setAttribute("globalNumber",this.globalNumber);this.controlsBarTextCell=controlsBarText;controlsBar.appendChild(monthForwardButton);controlsBar.appendChild(monthBackwardButton);controlsBar.appendChild(yearForwardButton);controlsBar.appendChild(yearBackwardButton);controlsBar.appendChild(controlsBarText);monthForwardButton.onmouseover=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthForwardButtonOver";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a month forward\");");};monthForwardButton.onmouseout=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthForwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"\");");};monthForwardButton.onmousedown=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthForwardButtonDown";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a month forward\");");};monthForwardButton.onmouseup=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthForwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a month forward\");");eval(globalRef+".moveForwardOneMonth();");};/* Month backward button event handlers */ monthBackwardButton.onmouseover=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthBackwardButtonOver";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a month backward\");");};monthBackwardButton.onmouseout=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthBackwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"\");");};monthBackwardButton.onmousedown=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthBackwardButtonDown";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a month backward\");");};monthBackwardButton.onmouseup=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="monthBackwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a month backward\");");eval(globalRef+".moveBackOneMonth();");};/* Year forward button */ yearForwardButton.onmouseover=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearForwardButtonOver";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a year forward\");");};yearForwardButton.onmouseout=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearForwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"\");");};yearForwardButton.onmousedown=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearForwardButtonDown";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a year forward\");");};yearForwardButton.onmouseup=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearForwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a year forward\");");eval(globalRef+".moveForwardOneYear();");};/* Year backward button */ yearBackwardButton.onmouseover=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearBackwardButtonOver";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a year backward\");");};yearBackwardButton.onmouseout=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearBackwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"\");");};yearBackwardButton.onmousedown=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearBackwardButtonDown";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a year backward\");");};yearBackwardButton.onmouseup=function(){if(parseInt(this.getAttribute("isJsDatePickDisabled"))==1){return;}this.className="yearBackwardButton";var parentElement=this.parentNode;while(parentElement.className!="controlsBar"){parentElement=parentElement.parentNode;}var globalRef="gRef_"+parentElement.getAttribute("globalNumber");eval(globalRef+".setTooltipText(\"Move a year backward\");");eval(globalRef+".moveBackOneYear();");};return controlsBar;};