var youtubePlayer = [];
youtubePlayer = 
	{
	bindToMother: function(mother, params)
		{
		youtubePlayer.objectContainer = mother;
		fpTools.addNewStyle('/js/widgets/youtube/css/style.css');
		this.init(params);
		},

	init	: function(params)
		{
		var searchString = $("festivalName").value;
		searchString = searchString.replace(/ /g, "%2B");
		fixedPointAjaxFramework.addToLine(['/js/widgets/youtube/playlist.php', false, this.openFeed, false, 'file=http://www.youtube.com/results?search_query='+searchString+'&amp;search_sort=video_avg_rating']);
		},
	
	openFeed: function(loadData)
		{
		var rssData = loadData; 
		newsItem = rssData.getElementsByTagName("item");
		youtubePlayer.playList = new Array();
		for(var y=0; y<newsItem.length; y++)
			{
 			youtubePlayer.playList.push(newsItem[y].getAttribute("link"));
			}
		youtubeScroller.createScrollerContainer();
		},
		
	openVideo: function(itemData)
		{
		if(!document.all)
			{
			var tryThis = youtubePlayer.objectContainer.getElementsByTagName("object");
			if(tryThis.length > 0)
				{
				youtubePlayer.objectContainer.removeChild(tryThis[0]);
				}
			
			var videoContainer = document.createElement("OBJECT");
			videoContainer.type = "application/x-shockwave-flash";
			videoContainer.data = "http://www.youtube.com/v/"+itemData+"&hl=en&rel=0&color1=0x3a3a3a&color2=0x303030&autoplay=1";
			
			videoContainer.width = 640;
			videoContainer.height = 390;

			var paramMovie = document.createElement("PARAM");
			paramMovie.name = "movie";
			paramMovie.value = "http://www.youtube.com/v/"+itemData+"&amp;hl=en&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x303030&amp;autoplay=1";
			videoContainer.appendChild(paramMovie);

			var paramWmode = document.createElement("PARAM");
			paramWmode.name = "wmode";
			paramWmode.value = "transparent";
			
			var paramHQ = document.createElement("PARAM");
			paramHQ.name = "quality";
			paramHQ.value = "high";

			var paramFS = document.createElement("PARAM");
			paramFS.name = "allowfullscreen";
			paramFS.value = "true";
			

			videoContainer.appendChild(paramMovie);
			videoContainer.appendChild(paramWmode);
			videoContainer.appendChild(paramHQ);
			videoContainer.appendChild(paramFS);
		
			youtubePlayer.objectContainer.appendChild(videoContainer);
			}
		else	{
			var tryThis = youtubePlayer.objectContainer.getElementsByTagName("object");
			if(tryThis.length > 0)
				{
				youtubePlayer.objectContainer.removeChild(tryThis[0].parentNode);
				}
			var videoContainer = document.createElement("DIV");
			videoContainer.innerHTML = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/'+itemData+'&amp;hl=en&amp;rel=0&color1=0x3a3a3a&amp;color2=0x303030" width="640" height="360"><param allowfullscreen="true"></param><param quality="hight"></param><param name="movie" value="http://www.youtube.com/v/'+itemData+'&amp;hl=en&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x303030" type="application/x-shockwave-flash"></param><embed src="http://www.youtube.com/v/'+this.title+'&amp;hl=en&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x303030" type="application/x-shockwave-flash" quality="high" allowfullscreen="true"></embed></object>';
			youtubePlayer.objectContainer.appendChild(videoContainer);
			}

		}
	};

var youtubeScroller = [];
youtubeScroller =
	{
	scrollerWidth	: 0,
	blockSize		: 0,

	createScrollerContainer: function()
		{
		var masterContainerExist = false;
		var containerExist = youtubePlayer.objectContainer.childNodes;
		for(var i in containerExist)
			{
			if(!containerExist[i]) {}
			else if(containerExist[i].className == 'scrollerContainer')
				{
				var masterContainer = containerExist[i];
				while(masterContainer.hasChildNodes())
					{
					masterContainer.removeChild(masterContainer.childNodes[0]);
					}
				masterContainerExist = true;
				}
			}
		if(!masterContainerExist)
			{
			var masterContainer = document.createElement("DIV");
			masterContainer.className = "scrollerContainer";
			masterContainer.style.clear = "both";
			}
		
		var scrollerContainer = document.createElement("DIV");

		var itemSelector = document.createElement("DIV");
		itemSelector.className = "item_selector";

		var itemScrollerContainer = document.createElement("DIV");
		itemScrollerContainer.className = "itemScrollerContainer";
		youtubeScroller.itemScrollerContainer = itemScrollerContainer;
		var itemScroller = document.createElement("DIV");
		itemScroller.id = "itemScroller";
		itemScroller.className = "itemScroller";
		itemScroller.style.left = 0+"px";

		itemScrollerContainer.appendChild(itemScroller);
		itemSelector.appendChild(itemScrollerContainer);


		var itemScrollLeft = document.createElement("DIV");
		itemScrollLeft.className = "item_scrollLeft";
		itemScrollLeft.onclick = function()
			{
			youtubeScroller.scrollItems(itemScroller.id, youtubeScroller.blockSize, youtubeScroller.scrollerWidth);
			}
		
		var itemScrollRight = document.createElement("DIV");
		itemScrollRight.className = "item_scrollRight";
		itemScrollRight.onclick = function()
			{
			youtubeScroller.scrollItems(itemScroller.id, -youtubeScroller.blockSize, youtubeScroller.scrollerWidth);
			}
			
		itemSelector.appendChild(itemScrollLeft);
		itemSelector.appendChild(itemScrollRight);
		scrollerContainer.appendChild(itemSelector);


		masterContainer.appendChild(scrollerContainer);
		if(!masterContainerExist)
			{
			youtubePlayer.objectContainer.appendChild(masterContainer);
			}

		this.drawProducts(itemScroller);
		},
		

	drawProducts: function(container)
		{
		youtubeScroller.scrollerWidth = 0;
		youtubeScroller.blockSize = 0;
		if(youtubePlayer.playList)
			{
			for(var i=0; i <youtubePlayer.playList.length; i++)
				{
				var newItem = document.createElement("div");
				newItem.className = "playlistItem";
				var itemLink = document.createElement("a");
				itemLink.title = youtubePlayer.playList[i].toString();
				itemLink.href = "http://www.youtube.com/watch?v="+youtubePlayer.playList[i].toString(); 
				itemLink.onclick = function()
					{
					youtubePlayer.openVideo(this.title);
					return false;
					}
				var itemImage = document.createElement("img");
				itemImage.setAttribute("width", 125);
				itemImage.setAttribute("height", 100);
//				itemImage.setAttribute("src", "http://s4.ytimg.com/vi/"+youtubePlayer.playList[i]+"/default.jpg");
				itemImage.setAttribute("src", "http://i2.ytimg.com/vi/"+youtubePlayer.playList[i]+"/default.jpg");
				itemLink.appendChild(itemImage);
					
				newItem.appendChild(itemLink);

				container.appendChild(newItem);
				youtubeScroller.blockSize = newItem.scrollWidth;
				}

			container.style.width = (youtubePlayer.playList.length+1) * youtubeScroller.blockSize + "px";
			youtubeScroller.scrollerWidth = (youtubePlayer.playList.length * youtubeScroller.blockSize) - parseInt(youtubeScroller.itemScrollerContainer.scrollWidth);			
			}
		if(youtubeScroller.scrollerWidth < 0) 
			{
			youtubeScroller.scrollerWidth = 0;
			}

		},

	scrollItems: function(targetID, direction, scrollerWidth, reset)
		{
		var moveTo = parseInt(document.getElementById(targetID).style.left)+direction;
		var startX = parseInt(document.getElementById(targetID).style.left);
		if(moveTo >= 0) moveTo = 0;
		if((moveTo*-1) >= scrollerWidth) moveTo = scrollerWidth*-1;

		var moveFrom = parseInt(document.getElementById(targetID).style.left);
		fpTools.animate.init(document.getElementById(targetID), animate._x, moveFrom, moveTo, 4, 30);
		}
	}