var	HTobj;
var	TID;
var	timeout_sec = 30;
var	fade_opacity = 80;
var	fade_timer=null;
var	board_top_dif;
var	board_left_dif;

var    va_lst = new Array(
            "questter", "astrike", "nekomipa", "pshoot",
		"yuube", "windfall", "typing", "ichigo",
			"melanc", "soedousi", "questter_story", "wx310k",
		"estymar"
	);



function StartDrag( e )
{
var board = document.getElementById('board');
	board_left_dif	= e.clientX - parseInt( board.style.left );
	board_top_dif	= e.clientY - parseInt( board.style.top  );

var bar = document.getElementById('bar');
	addListener( bar, 'mousemove',	moveChildWindow,false );
	addListener( bar, 'mouseup',	EndDrag,	false );
	addListener( bar, 'mouseout',	EndDrag,	false );
}


function EndDrag( e )
{
var bar = document.getElementById('bar');
	rmListner( bar, 'mousemove',moveChildWindow,false );
	rmListner( bar, 'mouseup',	EndDrag,	false );
	rmListner( bar, 'mouseout',	EndDrag,	false );
}



function moveChildWindow( e )
{
var board = document.getElementById('board');
	board.style.left = (e.clientX - board_left_dif) + 'px';
	board.style.top  = (e.clientY - board_top_dif ) + 'px';
}


function closeMemo()
{
if( fade_timer!=null ) return;
//alert( 'close');
var board = document.getElementById('board');
var ua = navigator.userAgent;
	if( ua.indexOf("Opera") >= 0 )
	{
		board.style.visibility = 'hidden';
		return;
	}
	var fun3 = function()
	{
		fade_opacity = fade_opacity - 10;
		if( fade_opacity<=0 )
		{
			clearInterval( fade_timer );
			board.style.visibility = 'hidden';
			fade_opacity = 80;
			fade_timer=null;
		}
		board.style.filter = 'alpha(opacity=' + fade_opacity + ')';  // IE
		var non_ie_opacity = fade_opacity / 100;
		board.style.mozOpacity = non_ie_opacity;              // Fox
		board.style.opacity = non_ie_opacity;                 // Safari
	};
fade_timer = setInterval(fun3, 100);
}



function openMemo( e )
{
clearInterval( fade_timer );
fade_opacity = 80;

var board = document.getElementById('board');
//	board.style.left = e.clientX + 'px';
//	board.style.top = e.clientY + 'px';
	board.style.visibility = 'visible';
	if( document.all )
	{
		myObj = document.all['board'].style;
		myXs = document.body.scrollLeft;
		myYs = document.body.scrollTop;
		myXe = myXs + document.body.clientWidth - 120;
		myYe = myYs + document.body.clientHeight - 120;
		mypx = "px";
	}
	else if( document.getElementById )
	{
		myObj=document.getElementById('board').style;
		myXs = pageXOffset;
		myYs = pageYOffset;
		myXe = myXs + innerWidth - 120;
		myYe = myYs + innerHeight - 120;
		mypx = "px";
 	}else if( document.layers )
	{
		myObj = document['board'];
		myXs = pageXOffset;
		myYs = pageYOffset;
		myXe = myXs + innerWidth - 120;
		myYe = myYs + innerHeight - 120;
		mypx = "";
   	}
//	board.style.left = e.clientX + 'px';
//	board.style.top = e.clientY + 'px';

	board.style.left = (myXs+e.clientX+50) + mypx;
	board.style.top  = (myYs+e.clientY-50) + mypx;


var target_node;
	if( e.target )
	{
		target_node = e.target;
	}
	else if( e.srcElement )
	{
		target_node = e.srcElement;
	}
// Safari
if( target_node.nodeType==3 )
{
	target_node = target_node.parentNode;
}

var id = target_node.id;
var tar;
	tar = './memo/'+id+'_e.htm';

	var fun2 = function( text_data )
		{
			var content = document.getElementById('content');
			content.innerHTML = text_data;

			board.style.filter = 'alpha(opacity=80)';  // IE
			board.style.mozOpacity = 0.7;              // Fox
			board.style.opacity = 0.7;                 // Safari
		}

	var content = document.getElementById('content');
	content.innerHTML = "";
	httpRequest(tar, fun2);
}


function httpRequest( tar, rfun )
{
	try
	{
		if( window.XMLHttpRequest )
		{
			HTobj = new XMLHttpRequest();
		}
		else if( window.ActiveXObject )
		{
			HTobj = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else
		{
			HTobj = false;
		}
	}
	catch(e)
	{
		HTobj = false;
	}
	if( ! HTobj )
	{
		HTfail();
	}


	TID = setInterval('TOchk()', 3000);
//alert(tar);
	HTobj.open( "GET", tar, true );
	HTobj.onreadystatechange = function()
		{
			if( HTobj.readyState==4 )
			{
				timeout_sec=30;
				clearInterval( TID );
				if( HTobj.status==200 )
				{
					rfun( HTobj.responseText );
				}
				else
				{
					alert(HTobj.status + ' : ' + HTobj.statusText);
					return false;
				}
			}
		}

    HTobj.send('');
}


function HTfail()
{
    alert('sorry browser not avairable');
    return false;
}

function TOchk()
{
	timeout_sec--;
	if( timeout_sec<=0 )
	{
		clearInterval(TID);
		HTobj.abort();
//		alert('time out');
		HTobj = false;
		timeout_sec = 30;
		return false;
	}
}



function rmListner( elem, etype, fun, cap )
{
	if( elem.removeEventListener )
	{
		elem.removeEventListener( etype, fun, cap );
	}
	else if( elem.detachEvent )
	{
		elem.detachEvent('on' + etype, fun );
	}
}


function addListener( elem, etype, fun, cap )
{
//alert('listner set '+elem+'/'+etype+'/'+fun+'/'+cap);
	if( elem.addEventListener )
	{
//alert('add');
		elem.addEventListener( etype, fun, cap );
	}
	else if( elem.attachEvent )
//alert('attach');
	{
		elem.attachEvent('on' + etype, fun);
	}
	else
	{
//alert('fail');
		return false;
	}
}


function setListeners( e )
{
	var o = document.getElementById("close");
	addListener(o, 'click', closeMemo, false);

	var o = document.getElementById("bar");
	addListener(o, 'mousedown', StartDrag, false);

//alert('setLitener');
//alert( 'setLitener '+va_lst.length );
	for(i=0; i<va_lst.length; i++ )
	{
//alert( va_lst[i] );
	        var s =  va_lst[i];
		var o = document.getElementById(s);
		if( o!=null ){ addListener(o, 'click', openMemo, false); }
	}
}

//alert('set listner'+window+'/'+setListeners);
//addListener(window);
//addListener(window, 'load');
//addListener(window, 'load', setListeners);
addListener( window, 'load', setListeners, false );
//alert('ok');


