// JavaScript Document
var EventCalendar = function(){
	
	this.idName = 'parentsID'; //親ID
	
	this.className = 'someClass'; //イベントに振っているクラス名
	
	this.addrId = 'http://';//url乗っけた場所のID
	
	this.displayId = 'display';//表示対照ID
	
	this.x;
	
	this.y;
	
}

EventCalendar.prototype = {

	openEvent:function(c){
		
		var addrId =this.addrId;
		var displayId = this.displayId;
		var reportError = this.reportError;
		var className = this.className;
		var	day = c.id.replace(/event([0-9]*)/,"$1");
		var move = this.move;		
		var c = c;
		var x = c.offsetParent.offsetLeft;
		var y = c.offsetParent.offsetTop;
		
		var o = function(){
			if($(addrId).innerText != null){
				var to = $(addrId).innerText;
			}else{
				var to = $(addrId).textContent;
			}
			
			to = to + day;
			
			var m = function(){move(displayId,x,y)};

			var myAjax = new Ajax.Updater(
						{success: displayId}, 
						to, 
						{
							method: 'get', 
							onFailure: reportError,
							onLoaded: m
						//	onComplete: showResponse
						});

		}
			dom.addListener(c,'mouseover',o);
	},
	
	reportError:function(request)
	{
		alert('Sorry. There was an error.');
	},
	
	set:function(){
		var c = $(this.idName).getElementsByClassName(this.className);
		var openEvent = this.openEvent;
		var close = this.close;
		
		for(i = 0; i < c.length; ++i){
			this.openEvent(c[i]);
			this.close(c[i]);
		}
	},
	
	close:function(c){
		var displayId = this.displayId;
		var cl = function(){
			if($(displayId).style.display == 'block') $(displayId).style.display = 'none';
		}

		dom.addListener(c,'mouseout',cl);
	},

	
	move:function(displayId,x,y){
		
		var d = $(displayId);
		
		d.style.display = 'block';
		d.style.left = (x - 180) + 'px';
		d.style.top = (y - 30) + 'px';
		
//		d.style.width = d.offsetWidth + 'px';
	}
	
}

var opener = function(){
	var e = new EventCalendar();
	
	e.idName = 'calendar';
	
	e.className = 'event';
	
	e.addrId = 'ajaxevent';
	
	e.displayId = 'eventWindow';
	
	e.set();
}


dom.addListener(window,"load",opener);
