		var calendarArray = new Array();
		function changeDateAction(y, m, d){
			// sample use: document.location= "eventdate.asp?date="+m + "/" + d + "/" + y;
		}
		
			
		// Resets the year to its previous valid value when something invalid is entered
		function FixYearInput(YearField) {
			 var todayDate = new Date(),	
		       YearRE = new RegExp('\\d{' + 4 + '}');
		   if (!YearRE.test(YearField.value)) YearField.value = todayDate.getFullYear();
		}
		
		function showCalendar(calendarId) {
			var linkToCalendar = document.getElementById("dateLink"+calendarId),
			    calendarContainer = document.getElementById(calendarId),
			    pos = YAHOO.util.Dom.getXY("dateLink"+calendarId);
			calendarContainer.style.display='block';
			YAHOO.util.Dom.setXY(calendarContainer, [pos[0],pos[1]+linkToCalendar.offsetHeight+1]);
		}

		function changeDate(calendarId) {
			var selMonth = document.getElementById("selMonth"+calendarId),
			    selDay = document.getElementById("selDay"+calendarId),
			    selYear = document.getElementById("selYear"+calendarId),
			    monthValue, dayValue, yearValue;
			
			if(selMonth.type=="select-one") monthValue = selMonth.selectedIndex+1;	
			else monthValue = selMonth.value;
			
			if(selDay.type=="select-one") dayValue = selDay.selectedIndex+1;	
			else dayValue = selDay.value;
			
			yearValue = selYear.value;
			calendarArray[calendarId].select(monthValue + "/" + dayValue + "/" + yearValue);
			calendarArray[calendarId].setMonth(monthValue-1);
			calendarArray[calendarId].setYear(yearValue);
			calendarArray[calendarId].render();
		}
		
		function initCalendar(calendarId,language, signaledDate, restrictionDate,controlPath) {
			function configLanguage(){
				var ms,	ml, wc,ws, wm, wl;
				switch(language){
					case "DE":
						ms = ["Jan", "Feb", "M&auml;r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
						ml = ["Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
						wc = ["S", "M", "D", "M", "D", "F", "S"];
						ws = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
						wm = ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"];
						wl = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
					break;
					case "SP":
						ms = ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"];
						ml = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
						wc = ["D", "L", "M", "M", "J", "V", "S"];
						ws = ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"];
						wm = ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"];
						wl = ["Domingo", "Lunes", "Martes", "Mi&eacute;rcoles", "Jueves", "Viernes", "S&acute;bado"];
					break;
					case "FR":
						ms = ["Jan", "F&eacute;v", "Mar", "Avr", "Mai", "Jui", "Jui", "Ao&ucirc;", "Sep", "Oct", "Nov", "D&eacute;c"];
						ml = ["Janvier", "F&eacute;vrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Ao&ucirc;t", "Septembre", "Octobre", "Novembre", "D&eacute;cembre"];
						wc = ["D", "L", "M", "M", "J", "V", "S"];
						ws = ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"];
						wm = ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"];
						wl = ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"];
					break;
					case "IT":
						ms = ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Aug", "Set", "Ott", "Nov", "Dic"];
						ml = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"];
						wc = ["D", "L", "M", "M", "G", "V", "S"];
						ws = ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"];
						wm = ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"];
						wl = ["Domenica", "Luned&igrave;", "Marted&igrave;", "Mercoled&igrave;", "Gioved&igrave;", "Venerd&igrave;", "Sabato"];
					break;
					case "PT":
						ms = ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"];
						ml = ["Janeiro", "Fevereiro", "Mar&ccedil;o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
						wc = ["D", "S", "T", "Q", "Q", "S", "S"];
						ws = ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa"];
						wm = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "S&aacute;b"];
						wl = ["Domingo", "Seg", "Ter", "Quarta", "Qui", "Sex", "S&aacute;bado"];
					break;			
					default:
						return;
					break;
				}
				calendarArray[calendarId].cfg.setProperty("MONTHS_SHORT", ms);
				calendarArray[calendarId].cfg.setProperty("MONTHS_LONG", ml);
				calendarArray[calendarId].cfg.setProperty("WEEKDAYS_1CHAR", wc);
				calendarArray[calendarId].cfg.setProperty("WEEKDAYS_SHORT", ws);
				calendarArray[calendarId].cfg.setProperty("WEEKDAYS_MEDIUM", wm);
				calendarArray[calendarId].cfg.setProperty("WEEKDAYS_LONG", wm);
			}
			
			var todayDate = new Date(),
			    selMonth = document.getElementById("selMonth"+calendarId),
			    selDay = document.getElementById("selDay"+calendarId),
			    selYear = document.getElementById("selYear"+calendarId),
			    calendarContainer = document.getElementById(calendarId),
			    calendarVisibility = calendarContainer.style.display,
			    attr = {},
			    calendarSelectHandler = function(type,args,obj) {
						 var calendarDate = this.getSelectedDates()[0];
						 if(selMonth.type=="select-one") selMonth.selectedIndex = calendarDate.getMonth();	
						 else selMonth.value = calendarDate.getMonth()+1;
			
		 		 		 if(selDay.type=="select-one") selDay.selectedIndex = calendarDate.getDate()-1;	
			 			 else selDay.value = calendarDate.getDate();
			
						 selYear.value = calendarDate.getFullYear();
						 calendarContainer.style.display=calendarVisibility;
						 changeDateAction(calendarDate.getFullYear(), calendarDate.getMonth()+1, calendarDate.getDate());
			    };
			
			if(selMonth.type=="select-one") selMonth.selectedIndex = todayDate.getMonth();	
			else selMonth.value = todayDate.getMonth()+1;
			
			if(selDay.type=="select-one") selDay.selectedIndex = todayDate.getDate()-1;	
			else selDay.value = todayDate.getDate();
			
			selYear.value = todayDate.getFullYear();
			if(calendarVisibility.toLowerCase() == "none")
				attr = {close:true};
			calendarArray[calendarId] = new YAHOO.widget.Calendar(calendarId+"Inst", calendarId, attr);
				
			if(signaledDate != undefined && signaledDate != ""){
				calendarArray[calendarId].renderBodyCellSignaled = function(workingDate, cell) {
					YAHOO.util.Dom.addClass(cell, "renderedDate");
				}
				calendarArray[calendarId].addRenderer(signaledDate, calendarArray[calendarId].renderBodyCellSignaled);
			}	
			if(restrictionDate != undefined && restrictionDate != ""){
				calendarArray[calendarId].addRenderer(restrictionDate, calendarArray[calendarId].renderBodyCellRestricted);
			}	
			configLanguage();
			calendarArray[calendarId].selectEvent.subscribe(calendarSelectHandler, calendarArray[calendarId], true);
			calendarArray[calendarId].render();
		}
