/* 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=80;
	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()
			{
				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="24px";

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[2]),month:parseInt(array[1],10),day:parseInt(array[0],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(img/"+currentColorScheme+"_dayOver.gif)left top no-repeat";
}else {this.className="dayOver";
this.style.background="url(img/"+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(img/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";
}else {this.className="dayNormal";
this.style.background="url(img/"+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(img/"+currentColorScheme+"_dayDown.gif)left top no-repeat";
}else {this.className="dayDown";
this.style.background="url(img/"+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(img/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";
}else {this.className="dayNormal";
this.style.background="url(img/"+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(img/"+this.oConfiguration.cellColorScheme+"_dayDown.gif)left top no-repeat";
}else {aDayDiv.className="dayDown";
aDayDiv.style.background="url(img/"+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(img/"+this.oConfiguration.cellColorScheme+"_dayNormal.gif)left top no-repeat";
}else {aDayDiv.className="dayNormalToday";
aDayDiv.style.background="url(img/"+this.oConfiguration.cellColorScheme+"_dayNormal.gif)left top no-repeat";
}}else {if(disabledDayFlag){aDayDiv.className="dayDisabled";
aDayDiv.style.background="url(img/"+this.oConfiguration.cellColorScheme+"_dayNormal.gif)left top no-repeat";
}else {aDayDiv.className="dayNormal";
aDayDiv.style.background="url(img/"+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="";
	if(this.selectedDayObject.day >= 1 && this.selectedDayObject.day <= 9)
	{
		returnVal += "0"+this.selectedDayObject.day;
	}
	else
	{
		returnVal += this.selectedDayObject.day;
	}

	if(this.selectedDayObject.month >= 1 && this.selectedDayObject.month <= 9)
	{
		returnVal += "-"+"0"+this.selectedDayObject.month;
	}
	else 
	{
		returnVal += "-"+this.selectedDayObject.month;
	}
	returnVal+="-"+this.selectedDayObject.year;

	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(img/"+currentColorScheme+"_dayNormal.gif)left top no-repeat";
}else {this.lastMarkedDayObject.className="dayNormal";
this.lastMarkedDayObject.style.background="url(img/"+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(img/"+currentColorScheme+"_dayDown.gif)left top no-repeat";
}else {anElement.className="dayDown";
anElement.style.background="url(img/"+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;
};

