﻿var DEB;
var BOX;
var TIMER;
var onDcolor = '#FFDD33';
var Dcolor = '#D3FDBD';
//var DcolorDone = '#B8CBBA';
var DcolorDone = '#D3E3F3';
var CID = -1;

function showDetail(E, $id){
	if(typeof event != 'undefined') E = event;
	deb('s');
	clearTimeout(TIMER);
	if($id == CID) return;
	hideDetail();
	var $eid = 'e' + $id;
	var $ev = EV[$eid];
	if(!$ev) return;
	
	CID = $id;

	document.getElementById('dbox_event').innerHTML = $ev.event_u;
	if( $ev.goal_u) document.getElementById('dbox_event').innerHTML += ' in ' + $ev.goal_u;
	
	var $distance = $ev.distance!=0 ? $ev.distance + ' km' : '';
	var $getpoint = $ev.getpoint!=0 ? '<b>' + $ev.getpoint + '</b>EXP' : '';
	var $diff = '';
	if($ev.diffpoint > 0){
		var $diffp = parseInt($ev.diffpoint);
		for(var $d=0; $d<5; $d++){
			var $s = $diffp - $d * 2 <= 0 ? 'off' : ($diffp - $d * 2 == 1? 'half' : 'on');
			$diff += '<img src="/img/star_s_' + $s + '.gif" width="12" height="12">';
		}
	}
	document.getElementById('dbox_distance').innerHTML = $distance + ' ' + $getpoint + ' ' + $diff;
		
	document.getElementById('dbox_exp').innerHTML = $ev.exp;
	var $tex = $ev.date;
	switch($ev.states){
	case 1:
		$tex += ' <strong>[確]</strong>';
		break;
	default:
		$tex += ' <strong class="passive">['+$ev.states_s+']</strong>';
		break;
	}
	document.getElementById('dbox_date').innerHTML = $tex;

	var $tex = '';
	switch($ev.app){
	case 1:
		$tex += '<strong> ◆募集中!</strong>';
		break;
	case 2:
		$tex += '◆募集〆切';
		break;
	}
	if($ev.repo == 1) $tex += '<strong> ◆写真</strong>';

	document.getElementById('dbox_detail').innerHTML = $tex;
	$tex = '';
	if($ev.n0) $tex += '<span class="enterd">●' + $ev.n0 + '</span>';
	if($ev.n2!=0) $tex += ' <span class="unfixed">▲' + $ev.n2 + '</span>';
	if($ev.n!=0) $tex += ' <span class="notenterd">▼' + $ev.n + '</span>';
	document.getElementById('dbox_nums').innerHTML = $tex;
	
	var $obj = document.getElementById('dbox_b_mod');
	if($obj){
		$obj.setAttribute('onClick', "evmod(" + $id + ")");
		document.getElementById('dbox_b_del').setAttribute('onClick', "evdel(" + $id + ", '" + $ev.event + "')");
	}
	/*
	for(var $i in $ev['drange']){
		var $obj = document.getElementById($ev['drange'][$i]);
		if($obj) {
			$obj.style.backgroundColor = onDcolor;
		}
	}
	var $evcells = document.getElementsByName('e'+$id);
	for(var $i=0; $i<$evcells.length; $i++){
		var $obj = $evcells[$i];
		$obj.style.backgroundColor = onDcolor;
	}*/
	var $drk = ['', 'e' + $id];
	for(var $i in $ev['drange']){
		for(var $k in $drk){
			var $obj = document.getElementById($drk[$k] + $ev['drange'][$i]);
			if($obj) {
				$obj.style.backgroundColor = onDcolor;
			}
		}
	}

	var $ow = BOX.offsetWidth;
	var $oh = BOX.offsetHeight;
	
	var $scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
	var $scrollTop  = document.body.scrollTop  || document.documentElement.scrollTop;
	
	var $cx = E.clientX;
	var $px = $scrollLeft + $cx;
	var $cy = E.clientY;
	var $py = $scrollTop + $cy;
	
	if(document.all && document.getElementById && (document.compatMode=='CSS1Compat')){
		var $ww = document.documentElement.clientWidth;
		var $wh = document.documentElement.clientHeight;
	}else if(document.all){
		var $ww = document.body.clientWidth;
		var $wh = document.body.clientHeight;
	}else{
		var $ww = window.innerWidth;
		var $wh = window.innerHeight;
		if(document.body.offsetHeight > window.innerHeight) $ww -= 16;
		if(document.body.offsetWidth > window.innerWidth) $wh -= 16;
	}
/*
	if($wh - $cy < $oh + 5){
		var $y = $scrollTop + ($wh - $oh) - 5;
	}else{
		var $y = $py + 10;
	}
	if($ww - $cx < $ow + 5){
		var $x = $scrollLeft + ($ww - $ow) - 5;
	}else{
		var $x = $cx + 20;
	}
*/
	if($cy < $oh + 5){
		var $y = $scrollTop + 5;
	}else{
		var $y = $py - $oh - 8;
	}
	if($ww - $cx < $ow + 5){
		var $x = $scrollLeft + ($ww - $ow) - 5;
	}else{
		var $x = $cx + 10;
	}

	BOX.style.top = $y + 'px';
	BOX.style.left = $x + 'px';
	BOX.style.visibility = "visible";
}
function hideDetail($ee, $id){
	deb('h');
	if($id){
		var $ev = EV[$id];
		var $cid = $id;
		//deb(' '+$id+' ');
	}else if(CID < 0){
		return;
		hideDetailAll();
	}else{
		//clearTimeout(TIMER);
		var $ev = EV['e' + CID];
		var $cid = 'e' + CID;
		deb(' '+CID+' ');
	}
	BOX.style.visibility = "hidden";
	if($ev){
		var $color = $ev.states >= 2 ? DcolorDone : Dcolor
		var $drk = ['', $cid];
		for(var $i in $ev['drange']){
			for(var $k in $drk){
				var $obj = document.getElementById($drk[$k] + $ev['drange'][$i]);
				if($obj) {
					$obj.style.backgroundColor = $color;
				}
			}
		}
	}
	CID = -1;
}
function hideDetailAll(){
	deb('A');
	for(var $id in EV){
		hideDetail(null, $id);
	}
}
function outDetail(){
	deb('1');
	TIMER = setTimeout(hideDetail, 300);
}
function outDetail2(){
	deb('2');
	TIMER = setTimeout(hideDetail, 150);
}
function onDetail(){
	deb('o');
	clearTimeout(TIMER);
}
function deb($m){
	if(DEB){
		DEB.nodeValue += $m;
	}
}
var DEB;
if(document.getElementById) {
	window.onload = function(){
		//DEB = document.getElementById('dmess').firstChild;
		if(DEB) DEB.nodeValue = '';

		BOX = document.getElementById('dbox');
		BOX.parentNode.removeChild(BOX);
		document.getElementsByTagName('body')[0].appendChild(BOX);
		var $date = new Date();
		var $m = $date.getMonth() + 1;
		var $d = $date.getDate();
		var $y = $date.getFullYear();
		var $today = document.getElementById($y + ('00' + $m).substr(-2) + ('00' + $d).substr(-2));
		if($today){
			$today.className = 'today';
		}
		hideDetailAll();
	}
}
