
var YoutubeMouseX,YoutubeMouseY;
if(!YoutubeWord) var YoutubeWord;	
if(!YoutubeResults) var YoutubeResults=5;
YoutubeSet();
YoutubeSearch(0);

function YoutubeSearch(page){
	if(document.getElementById("YoutubeInput").value) YoutubeWord=document.getElementById("YoutubeInput").value;
	if(!YoutubeWord) return;
	var script=document.createElement("script");
	script.src="http://gdata.youtube.com/feeds/api/videos?alt=json-in-script&callback=YoutubeUpdate";
	script.src+="&vq="+encodeURIComponent(YoutubeWord);
	if(page!=0){
		script.src+="&start-index="+page;
	}else{
		script.src+="&start-index=1";
	}
	if(YoutubeResults) script.src+="&max-results="+YoutubeResults;
	script.charset="utf-8";
	var area=document.getElementById("YoutubeList");
	area.appendChild(script);
	if(page!=0) location.hash="YoutubeList";
}
function YoutubeUpdate(data){
	var area=document.getElementById("YoutubeList");
	while(area.firstChild){
		area.removeChild(area.firstChild);
	}
	var i,j,entry,block,obj,url;
	for(i in data.feed.entry){
		if(!data.feed.entry[i].media$group) continue;
		url=null;
		for(j in data.feed.entry[i].media$group.media$content){
			if(data.feed.entry[i].media$group.media$content[j].yt$format==5){
				url=data.feed.entry[i].media$group.media$content[j].url;
				break;
			}
		}
		entry=document.createElement("div");
		entry.className="YoutubeEntry";
		entry.style.marginBottom="3px";
		block=document.createElement("div");
		block.className="YoutubeTitle";
		obj=document.createElement("apan");
		obj.appendChild(document.createTextNode(data.feed.entry[i].media$group.media$title.$t));
		obj.style.color="#111";
		obj.style.cursor="pointer";
		obj.style.height="15px";
		if(url){
			if(obj.addEventListener){
				(function(url){obj.addEventListener('click',function(event){YoutubeOpen(event,url)},false)})(url);
			}else{
				(function(url){obj.attachEvent('onclick',function(event){YoutubeOpen(event,url)})})(url);
			}
		}else{
			if(obj.addEventListener){
				(function(url){obj.addEventListener('click',function(){window.open(url)},false)})(data.feed.entry[i].media$group.media$player[0].url);
			}else{
				(function(url){obj.attachEvent('onclick',function(){window.open(url)})})(data.feed.entry[i].media$group.media$player[0].url);
			}
		}
		block.appendChild(obj);
		entry.appendChild(block);
		obj=document.createElement("img");
		obj.className="YoutubeThumbnail";
		obj.src=data.feed.entry[i].media$group.media$thumbnail[0].url;
		obj.style.cssFloat="left";
		obj.style.styleFloat="left";
		obj.style.width="76px";
		obj.style.height="57px";
		obj.style.marginTop="1px";
		if(url){
			if(obj.addEventListener){
				(function(url){obj.addEventListener('click',function(event){YoutubeOpen(event,url)},false)})(url);
			}else{
				(function(url){obj.attachEvent('onclick',function(event){YoutubeOpen(event,url)})})(url);
			}
		}else{
			if(obj.addEventListener){
				(function(url){obj.addEventListener('click',function(){window.open(url)},false)})(data.feed.entry[i].media$group.media$player[0].url);
			}else{
				(function(url){obj.attachEvent('onclick',function(){window.open(url)})})(data.feed.entry[i].media$group.media$player[0].url);
			}
		}
		entry.appendChild(obj);
		obj=document.createElement("div");
		obj.appendChild(document.createTextNode(data.feed.entry[i].media$group.media$description.$t));
		obj.className="YoutubeDescription";
		obj.style.fontSize="10px";
		obj.style.margin="0px 0px 1px 2px";
		obj.style.height="56px";
		obj.style.overflow="hidden";
		entry.appendChild(obj);
		area.appendChild(entry);
	}
	var page=data.feed.openSearch$startIndex.$t;
	if(page>1){
		obj=document.createElement("span");
		obj.className="Youtubeprev";
		obj.style.color="#222";
		obj.style.cursor="pointer";
		obj.appendChild(document.createTextNode("　"));
		if(obj.addEventListener){
			obj.addEventListener('click',function(event){YoutubeSearch(page-YoutubeResults)},false);
		}else{
			obj.attachEvent('onclick',function(event){YoutubeSearch(page-YoutubeResults)});
		}
		area.appendChild(obj);
	}
	if(page+YoutubeResults<=data.feed.openSearch$totalResults.$t){
		obj=document.createElement("span");
		obj.className="Youtubemore";
		obj.style.color="#222";
		obj.style.cursor="pointer";
		obj.appendChild(document.createTextNode("　"));
		if(obj.addEventListener){
			obj.addEventListener('click',function(event){YoutubeSearch(page+YoutubeResults)},false);
		}else{
			obj.attachEvent('onclick',function(event){YoutubeSearch(page+YoutubeResults)});
		}
		area.appendChild(obj);
	}
}
function YoutubeDrag(e){
	YoutubeMouseX=e.clientX;
	YoutubeMouseY=e.clientY;
	var block=document.getElementById("YoutubeBar");
	if(block.addEventListener){
		block.removeEventListener('mousedown',YoutubeDrag,false);
		block.addEventListener('mousemove',YoutubeMove,false);
		block.addEventListener('mouseup',YoutubeDrop,false);
		block.addEventListener('mouseout',YoutubeDrop,false);
	}else{
		block.detachEvent('onmousedown',YoutubeDrag);
		block.attachEvent('onmousemove',YoutubeMove);
		block.attachEvent('onmouseup',YoutubeDrop);
		block.attachEvent('onmouseout',YoutubeDrop);
	}
}
function YoutubeMove(e){
	var mx,my,area;
	mx=e.clientX-YoutubeMouseX;
	my=e.clientY-YoutubeMouseY;
	area=document.getElementById("YoutubePopup");
	area.style.left=parseInt(area.style.left)+mx+"px";
	area.style.top=parseInt(area.style.top)+my+"px";
	YoutubeMouseX=e.clientX;
	YoutubeMouseY=e.clientY;
}
function YoutubeDrop(e){
	var block=document.getElementById("YoutubeBar");
	if(block.addEventListener){
		block.addEventListener('mousedown',YoutubeDrag,false);
		block.removeEventListener('mousemove',YoutubeMove,false);
		block.removeEventListener('mouseup',YoutubeDrop,false);
		block.removeEventListener('mouseout',YoutubeDrop,false);
	}else{
		block.attachEvent('onmousedown',YoutubeDrag);
		block.detachEvent('onmousemove',YoutubeMove);
		block.detachEvent('onmouseup',YoutubeDrop);
		block.detachEvent('onmouseout',YoutubeDrop);
	}
}
function YoutubeSet(){
	var area,block,obj;
	area=document.getElementById("YoutubeList");
	while(area.firstChild){
		area.removeChild(area.firstChild);
	}
	area=document.getElementById("YoutubeList");
	block=document.createElement("div");
	block.id="YoutubePopup";
	block.style.position="static";
	block.style.width="458px";
	block.style.backgroundColor="#222";
	block.style.border="0px";
	block.style.display="none";
	area.parentNode.insertBefore(block,area);
	area=block;
	block=document.createElement("div");
	block.id="YoutubeBar";
	if(block.addEventListener){
		block.addEventListener('mousedown',YoutubeDrag,false);
	}else{
		block.attachEvent('onmousedown',YoutubeDrag);
	}
	block.style.textAlign="right";
	obj=document.createElement("span");
	obj.appendChild(document.createTextNode("×"));
	obj.style.color="#999999";
	obj.style.cursor="pointer";
	obj.onclick=function(){YoutubeClose()};
	block.appendChild(obj);
	area.appendChild(block);
	obj=document.createElement("div");
	obj.id="YoutubePlayer";
	area.appendChild(obj);
}
function YoutubeOpen(e,url){
	var block=document.getElementById("YoutubePopup");
	var x=e.clientX;
	var y=e.clientY;
	if(window.innerWidth){
		if(x+460>window.innerWidth) x=window.innerWidth-460;
		if(y+285>window.innerHeight) y=window.innerHeight-285;
	}else{
		if(x+460>document.documentElement.clientWidth) x=document.documentElement.clientWidth-460;
		if(y+285>document.documentElement.clientHeight) y=document.documentElement.clientHeight-285;
	}
	block.style.left=x+"px";
	block.style.top=y+"px";
	block.style.display="block";
	var params = { allowScriptAccess: "always" };
	var atts = { id: "YoutubePlayer" };
	swfobject.embedSWF(url+"&enablejsapi=1&playerapiid=ytplayer","YoutubePlayer","442","265","8",null,null,params,atts);
}
function YoutubeClose(){
	document.getElementById("YoutubePlayer").stopVideo();
	document.getElementById("YoutubePopup").style.display="none";
}
