	var calendarEvent='';

	var mPos=new Object();
	
	var Calendar = new function(){
		this.loading  = false;
		this.id       = 'Calendar';
		this.timeout  = null;
		this.date     = null
		this.load = function(){
			if (getCookie('CalendarMonth')!=null){
				Ajax.request($('CalendarContainer'),'modules/Calendar/changecalendar.php?ccevent=4&ccvalue='+getCookie('CalendarYear')+'-'+getCookie('CalendarMonth')+'-1');
			}else{
				Ajax.request($('CalendarContainer'),'modules/Calendar/changecalendar.php?ccevent=4&ccvalue=0');
			}
		}
		this.reload = function(){
			Ajax.request($('CalendarDays'),'modules/Calendar/changecalendar.php?ccevent=1&ccvalue='+$('CalendarYear').value+'-'+$('CalendarMonth').value+'-1');
		}
		this.previousMonth = function(){
			if ($('CalendarMonth').selectedIndex!=0){
				$('CalendarMonth').selectedIndex--;
				this.reload();
				this.saveDateAsCookie();
				return true;
			}else{
				if (prevYear( false )){
					$('CalendarMonth').selectedIndex = 11;
					this.saveDateAsCookie();
					this.reload();
				}
			}
			return false;
		}
		this.nextMonth = function(){
			if ($('CalendarMonth').selectedIndex<11){
				$('CalendarMonth').selectedIndex++;
				this.reload();
				this.saveDateAsCookie();
				return true;
			}else{

				if (nextYear( false )){
					$('CalendarMonth').selectedIndex = 0;
					this.reload();
					this.saveDateAsCookie();
				}
			}
			return false;
		}
		this.saveDateAsCookie = function(){
			setCookie('CalendarMonth',$('CalendarMonth').value,1);
			setCookie('CalendarYear',$('CalendarYear').value,1);
		}
		this.previousYear = function (){
			if ($('CalendarYear').selectedIndex!=0){
				$('CalendarYear').selectedIndex--;
//				if (reload!=false)
					this.reload();
				this.saveDateAsCookie();
				return true;
			}
			return false;
		}
		this.nextYear = function(){
			if ($('CalendarYear').selectedIndex!=($('CalendarYear').length-1)){
				$('CalendarYear').selectedIndex++;
//				if (reload!=false)
					this.reload();
				this.saveDateAsCookie();
				return true;
			}
			return false;
		}
		this.loadReis = function( date,e ){
			this.clearTimeout();
			if (this.loading) return false; // Allready loading, wait for the other one to complete
			this.loading = true;
			this.date  = date;
			e = e || window.event;
			mPos.x = e.clientX;
			mPos.y = e.clientY;
//			clearCalendarTimeout();
			this.timeout = setTimeout(this._loadReis,0);
		}
		this.showReis = function(){
			var elem = $('CalendarReis');
			elem.style.position   = 'absolute';
			elem.style.display    = 'block';
			elem.style.visibility = 'visible';
			elem.style.top  = ((mPos.y + scrollTop())-10)-(elem.offsetHeight)+'px';
			elem.style.left = ((mPos.x) +10) + 'px';
			Calendar.loading = false;
		}
		this._loadReis = function(){
			Ajax.request($('CalendarReis'),'modules/Calendar/changecalendar.php?ccevent=3&ccvalue='+Calendar.date,Calendar.showReis);
		}
		this.hideReis = function(){
			var elem = $('CalendarReis');
			elem.style.display    = 'none';
			elem.style.visibility = 'hidden';
			this.clearTimeout();
		}
		this.clearTimeout = function(){
			if (this.timeout==null) return;
			clearTimeout( this.timeout);
			this.timeout = null;
		}
		this.mouseOut = function(){
			this.timeout = setTimeout(this.hideReis,1500);		
		}
		
		
	}
