var httpObj;
var timerId;
var timeout_sec = 10;
var board_left_dif;
var board_top_dif;

var px=0;
var py=0;

window.document.onmousemove = getMouseXY;
function getMouseXY(evt)
{
        if (window.createPopup){
                px = event.x + document.body.scrollLeft;
                py = event.y + document.body.scrollTop;
        }
        else{
                px = evt.pageX;
                py = evt.pageY;
        }
}

function setImage(isdisp)
{
        var to_hide = document.getElementById('to_hide');
        var to_disp = document.getElementById('to_disp');
        if (isdisp){
                to_hide.style.display = "block";
                to_disp.style.display = "none";
        }
        else{
                to_hide.style.display = "none";
                to_disp.style.display = "block";
        }
        for(i=0; i<20; i++){
                var key = "kwdimg" + i;
                var kwdimg = document.getElementById(key);
                if (kwdimg){
                        if (isdisp){
                                kwdimg.style.display = "block";
                                //kwdimg.style.visibility = 'visible';
                        }
                        else{
                                kwdimg.style.display = "none";
                                //kwdimg.style.visibility = 'hidden';
                        }
                }
        }
}

function getBrowserName()
{
    var aName  = navigator.appName.toUpperCase();
    var uName = navigator.userAgent.toUpperCase();
    if (uName.indexOf("SAFARI") >= 0)  return "Safari";
    if (uName.indexOf("OPERA") >= 0)  return "Opera";
    if (uName.indexOf("FIREFOX") >= 0)  return "Firefox";
    if (aName.indexOf("NETSCAPE") >= 0)  return "Netscape";
    if (aName.indexOf("MICROSOFT") >= 0) return "Explorer";
    return "";
}


function getCookie(item) {
    var i, index, arr;
    arr = document.cookie.split(";");
    for(i = 0; i < arr.length; i++) {
        index = arr[i].indexOf("=");
        if(arr[i].substring(0, index) == item || 
                arr[i].substring(0, index) == " " + item)
            return arr[i].substring(index + 1);
    }
    return "";
}

function setCookie(item, value, expday) {
    d = new Date();
    previsit = d.toGMTString();
    d.setTime(d.getTime() + 24*60*60*1000 * expday); 
    expire = d.toGMTString();
    document.cookie =  item + "=" + value + "; domain=guideme.jp; path=/; expires=" + expire;
}

/*
function closeChildWindow()
{
	var board = document.getElementById('board');
	board.style.visibility = 'hidden';
}
*/

function dispTube(kwid, tid, title, a)
{
/*
	target_url = 'http://guideme.jp/watchtube.php?kwid='+kwid+'&tubeid='+tid;
	if (a){
        	target_url = 'http://a.guideme.jp/watchtube.php?kwid='+kwid+'&tubeid='+tid;
	}
        var httpObj = createXmlHttp();
        if (!httpObj){
                httpObjGenerateFail();
        }
        timerId = setInterval('timeoutCheck()', 1000);
        httpObj.open("GET", target_url, true);
        httpObj.onreadystatechange = function(){
                if (httpObj.readyState == 4){
                        clearInterval(timerId);
                }
        }
        httpObj.send('');
        size = getCookie("WS");
*/
//        resizeTube(kwid, tid, title, size);
        resizeTube(kwid, tid, title, "s");
}

function resizeTube(kwid, tid, title, size)
{
        var width =360;
        var height=270;
        var top = 100;
        var left = 200;

        if (size=="m"){
                width =425;
                height=350;
                var top = 100;
                var left = 200;
        }
        else if (size=="l"){
                width =600;
                height=450;
                var top = 80;
                var left = 200;
        }
        var board = document.getElementById('board');
        board.style.visibility = 'visible';
        board.style.top   = top + 'px';
        board.style.left  = left + 'px';

        var content = document.getElementById('content');

	content.innerHTML = '<br><table bgcolor="#ccccff" width=100%><tr><td></td></tr><tr><td align=center><embed src="http://www.youtube.com/v/'+tid+'&autoplay=1" width="'+width+'" height="'+height+'" type="application/x-shockwave-flash" wmode="transparent"></embed></td></tr><tr><td><font size=+1>' + title + '</td></tr><tr><td align=left><font size=+1>画面：<a href="#" onclick="resizeTube(\''+kwid+'\',\''+tid+'\',\''+title+'\',\'s\');">小</a>：<a href="#" onclick="resizeTube(\''+kwid+'\',\''+tid+'\',\''+title+'\',\'m\');">中</a>：<a href="#" onclick="resizeTube(\''+kwid+'\',\''+tid+'\',\''+title+'\',\'l\');">大</a></td></tr><tr><td align=right><font size=+1><a href="#" onclick="closeTube();">[x]閉じる</a></td></tr></table>';
}

function closeTube()
{
        var content = document.getElementById('content');
	content.innerHTML = '';
        var board = document.getElementById('board');
        board.style.visibility = 'hidden';
}

function dragStart(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',   dragEnd, false);
	addListener(bar, 'mouseout',  dragEnd, false);
}

function dragEnd(e)
{
	var bar = document.getElementById('bar');
	removeListener(bar, 'mousemove', moveChildWindow, false);
	removeListener(bar, 'mouseup',   dragEnd, false);
	removeListener(bar, 'mouseout',  dragEnd, 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 openChildWindow(e, img, url)
{
	var board = document.getElementById('board');
	var brws = getBrowserName();
//	board.style.visibility = 'visible';
//      board.style.left  = '200px';

        board.style.visibility = 'visible';
        board.style.top  = py - 150 +  'px';
//        board.style.left  = px + 60 + 'px';
        board.style.left  = '200px';
/*
	if (brws == "Explorer"){
       		board.style.top  = document.body.scrollTop + e.clientY + 150 + 'px';
	}
	else{
       		board.style.top  = document.body.scrollTop + 300 + 'px';
	}
*/
        var content = document.getElementById('content');
	content.innerHTML = '<br><center><img src="'+img+'"><p><a href="'+url+'" target="new">'+url+'</a></p></center>';
}

function closeChildWindow(e)
{
	var board = document.getElementById('board');
	board.style.visibility = 'hidden';
}

function createXmlHttp(){
    if (window.XMLHttpRequest) {             // Mozilla, Firefox, Safari, IE7
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {       // IE5, IE6
        try {
            return new ActiveXObject("Msxml2.XMLHTTP");    // MSXML3
        } catch(e) {
            return new ActiveXObject("Microsoft.XMLHTTP"); // MSXML2
        }
    } else {
        return null;
    }
}

function httpRequest(target_url, functionReference)
{
	var httpObj = createXmlHttp();

	if (!httpObj){
		httpObjGenerateFail();
	}
	timerId = setInterval('timeoutCheck()', 1000);

	httpObj.open("GET", target_url, true);
	httpObj.onreadystatechange = function(){
		if (httpObj.readyState == 4){
			clearInterval(timerId);
			if (httpObj.status == 200){
				functionReference(httpObj.responseText);
			}
			else{
				return false;
			}		
		}	
	}
	httpObj.send('');
}

function httpObjGenerateFail()
{
	return false;
}

function timeoutCheck()
{
	timeout_sec--;
	if (timeout_sec <= 0){
		clearInterval(timerId);
		httpObj.abort();
		return false;
	}
}

function removeListeners(elem, eventType, func, cap)
{
	if (elem.removeEventListener){
		elem.removeEventListener(eventType, func, cap);
	}
	else if (elem.detachEvent){
		elem.detachEvent('on' + eventType, func);
	}
}

function setListeners(e)
{
	var close = document.getElementById('close');
	addListener(close, 'click', closeChildWindow, false);
}

function addListener(elem, eventType, func, cap)
{
        if (!elem){
                return;
        }
	if (elem.addEventListener){
		elem.addEventListener(eventType, func, cap);
	}
	else if (elem.attachEvent){
		elem.attachEvent('on' + eventType, func, cap);
	}
	else{
		alert('Browser Error 2');
		return false;
	}	
}

addListener(window, 'load', setListeners, false);
