
			function calendars(){
				
				// in case we need the from date value while none of the events normally
				// have been triggered so the filter_date_from_cal reference is still nonexistant
				var from = false;
				if($('filter_date_from').value)
				{
					var m = $('filter_date_from').value.match(/\d+/g);
					from = new Date(Number(m[2]),Number(m[1])-1,Number(m[0]));
				}

				var filter_date_from_cal = false;
				var filter_date_to_cal = false;


				Calendar.setup({
					inputField     :    'filter_date_from',
					ifFormat       :    '%d/%m/%Y', 
					onUpdate       :    function(cal){

											// if the to field is not set (to calender reference not set yet) or
											// the new from date comes after the current to date increase the to field
											// till 2 days after the new from date
											if(!filter_date_to_cal || filter_date_to_cal.date.getTime() <= cal.date.getTime()){
												var date_new = new Date(cal.date.getTime() + Date.DAY*2);
												document.getElementById('filter_date_to').value = date_new.print('%d/%m/%Y');
											}

											// get a reference to this calendar for the other calendar cause for some
											// reason Calendar.setup doesnt return that reference
											filter_date_from_cal = cal;

										},
					dateStatusFunc :	function(date){

											// today and yesterday
											var today = new Date();
											var yesterday = new Date(today.getTime() - Date.DAY);


											return  date.getTime() < yesterday.getTime();

										}
					}
				);

				Calendar.setup({
					inputField     :    'filter_date_to',
					ifFormat       :    '%d/%m/%Y',
					onUpdate       :    function(cal){

											// get a reference to this calendar for the other calendar cause for some
											// reason Calendar.setup doesnt return that reference
											filter_date_to_cal = cal;
										},
					dateStatusFunc :	function(date){
											
											// if the to date is entered before there is a value in from, 
											// everything is unavailable
											if(!filter_date_from_cal && !from)
												return true;

											// otherwise, enable target_timestamps that are at least on day
											// further than the from field
											var target_timestamp = date.getTime();
											var from_timestamp = 0;
											if(!filter_date_from_cal)
												from_timestamp = from.getTime();
											else
												from_timestamp = filter_date_from_cal.date.getTime();

											// difference smaller or equal to zero (from_date), then the day is unavailable
											return target_timestamp-from_timestamp <= 0;

										}
					}
				);
			}

			Event.observe(window, 'load', calendars);

