var flg = 0;
var ov_bg      = "0px -14px";
var ov_color   = "#FFFFFF";
var ov_op      = 1;
var out_bg     = "0px 0px";
var out_color  = "#333333";
var out_op     = 0.4;
var left_align = 10;
var top_align  = 40;

function barObserve(){
	$(bar).each(function(obj) {
	Event.observe(obj, "click", barClick, false);
	Event.observe(obj, "mouseover", barOver, false);
	Event.observe(obj, "mouseout", barOut, false);
	});
}

function getNum(event) {
	var bid = Event.element(event);
	var earray = bid.id.split("_");
	return earray[1];
}

function barChange(num, bg, color, op){
	var r = document.getElementsByClassName("e"+num);
	for( i=0; i < r.length; ++i ){
		r[i].style.backgroundPosition = bg;
		r[i].style.color = color;
		xOpacity(r[i],op);
	}
}

function barOver(event){
	if( flg ) return;
	var num = getNum(event);
	barChange(num, ov_bg, ov_color, ov_op);
}

function barOut(event){
	if( flg ) return;
	var num = getNum(event);
	barChange(num, out_bg, out_color, out_op);
}

function barClick(event){
	if( flg ) return;
	var num = getNum(event);
	flg = num;
	
	var scrollWidth;
	var scrollHeight;
	if(document.all){
		scrollWidth = document.body.parentNode.scrollLeft;
		scrollHeight = document.body.parentNode.scrollTop;
	}
	else if(document.layers){
		scrollWidth = window.pageXOffset;
		scrollHeight = window.pageYOffset;
	}
	else if(document.getElementById){
		scrollWidth = window.pageXOffset;
		scrollHeight = window.pageYOffset;
	}
	$('cal_window_body').innerHTML = calWinBodyHTML(num);
	$("cal_window").style.display = "block";
	var sizeCalWin   = Element.getDimensions("cal_window");
	var sizeCont     = Element.getDimensions("container");
	var sizeNavi     = Element.getDimensions("navigation");
	var sizeCal      = Element.getDimensions("calendar");
	var sizeHead     = Element.getDimensions("header");
	var sizeFootSt   = Element.getDimensions("footstamp");
	var sizeTitleCal = Element.getDimensions("title_eventcalendar");
	
	var leftSpaceWidth = (xClientWidth() - sizeCont.width) / 2;
	if (leftSpaceWidth < 0) { leftSpaceWidth = 0; }
	var leftWidth = leftSpaceWidth + sizeNavi.width + left_align;
	var xpointCal = Event.pointerX(event) - leftWidth;
	var xCalWin = xpointCal - sizeCalWin.width * 1/2;
	if (xCalWin < scrollWidth - leftWidth) { xCalWin = scrollWidth - leftWidth; }
	if (xCalWin + sizeCalWin.width > sizeCal.width) { xCalWin = sizeCal.width - sizeCalWin.width; }
	if (xCalWin + sizeCalWin.width > xClientWidth() + scrollWidth - leftWidth) { xCalWin = xClientWidth() + scrollWidth - leftWidth - sizeCalWin.width; }
	if (xCalWin < 0) { xCalWin = 0; }
	
	var topHeight = sizeHead.height + sizeFootSt.height + sizeTitleCal.height + top_align;
	var ypointCal = Event.pointerY(event) - topHeight;
	var yCalWin = ypointCal - sizeCalWin.height;

//	if (yCalWin < scrollHeight - topHeight) { yCalWin = scrollHeight - topHeight; }
//	if (yCalWin + sizeCalWin.height > xClientHeight() + scrollHeight - topHeight) { yCalWin = xClientHeight() + scrollHeight - topHeight - sizeCalWin.height; }
//	if (yCalWin + sizeCalWin.height > sizeCal.height) { yCalWin = sizeCal.height - sizeCalWin.height; }
////	if (yCalWin < 0) { yCalWin = 0; }
	
	moveLAYER("cal_window", xCalWin, yCalWin);
	
	barChange(num, ov_bg, ov_color, ov_op);
}

function calWinClose(){
	$("cal_window").style.display = "none";
	barChange(flg, out_bg, out_color, out_op);
	flg = 0;
}

function calWinBodyHTML(num){
	var index = num - 1;
	var htm = '';
	htm += '<img src="/img/cal_close.gif" alt="" width="36" height="5" id="blockimg_close" onclick="calWinClose();" />';
	htm += '<a href="/' + lang + '/search/detail/detail_hit.php?c=30&amp;n=' + no[index] + '"><img src="' + img[index] + '" alt="' + name[index] + '" width="53" height="53" class="blockimg" /></a>';
	/* htm += '<img src="/common/images/icon_rank' + rank[index] + '.gif" alt="" width="22" height="11" class="blockimg_mark" />'; */
	htm += '<h2><a href="/' + lang + '/search/detail/detail_hit.php?c=30&amp;n=' + no[index] + '">' + name[index] + '</a></h2>';
	htm += outline[index];
	htm += '<p class="a_blank_s"><a href="javascript:addGoogleCalendar(' + index + ')">' + gcTitle + '</a></p>';
	return htm;
}

function addGoogleCalendar(index){
	$("gcform").text.value = name[index];
	$("gcform").dates.value = dates[index];
//	$("gcform").details.value = outline[index];
	$("gcform").location.value = locat[index];
	$("gcform").submit();
}


/* -------------------------------------------- */
function moveLAYER(idName,x,y){
	if(document.getElementById){
		document.getElementById(idName).style.left = x+'px';
		document.getElementById(idName).style.top = y+'px';
	}
	else if(document.all){
		document.all(idName).style.pixelLeft = x;
		document.all(idName).style.pixelTop = y;
	}
	else if(document.layers){
		document.layers[idName].moveTo(x,y);
	}
}
