function init(){
	updateReel();
}

function getArgs(){
	var args = new Object();
	var query = location.search.substring(1);
	var pairs = query.split('&');
	for(var i=0; i<pairs.length; i++){
		var pos = pairs[i].indexOf('=');
		if(pos == -1) continue;
		var argname = pairs[i].substring(0, pos);
		var value = pairs[i].substring(pos+1);
		value = decodeURIComponent(value);
		value = value.split('+');
		value = value.join(' ');
		args[argname] = value;
	}
	return args;
}
function sendData(id, action){
	var formid = id;
	id = document.getElementById(id);
	var title = id.elements[0].value;
	var link = id.elements[1].value;
	var description = id.elements[2].value;
	var uri = 'action=' + action + '&' + 'title=' + title + '&' + 'link=' + link + '&' + 'description=' + description;
	ajax(uri, formid, 'add');
}

function ajax(uri, id, purpose){
	var url = './wp-content/themes/wuwb/film_reel/ajax.php?' + uri;
	
	
	//call the right constructor for the browser being used
	if (window.ActiveXObject){
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}else if (window.XMLHttpRequest){
		xhr = new XMLHttpRequest();
	}else{
		alert("not supported");
	}


	//prepare the xmlhttprequest object
	xhr.open("GET",url,true);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4)
		{
			if (xhr.status == 200)
			{
				if (xhr.statusText == 'OK'){
					if(purpose == 'add'){
						resetForm(id);
						updateReel();
					}else if(purpose == 'refresh'){
						reel(xhr.responseText);
					}else if(purpose == 'delete'){
						alert('Video deleted successfully');
					}else if(purpose == 'get'){
						eval(xhr.responseText);
					}else{
						response = xhr.responseText;
					}
				}
				else
				{
					alert("Failed to receive RSS file from the server - file not found.");
					return false;
				}
			}
			else{
				alert("Error code " + xhr.status + " received: " + xhr.statusText);
			}
		}
	}

	//send the request
	xhr.send(null);
}

function resetForm(id){
	id = document.getElementById(id);
	id.reset();
}

function reel(response){
	var reel = document.getElementById('videos');
	reel.style.display = 'none';
	var updating = document.createElement('span');
	updating.innerHTML = 'Updating...<img src="loading.gif" width="16" height="16" />';
	reel.parentNode.appendChild(updating);
	setTimeout(function(){
					Effect.Fade(updating);
				}, 1000);
	reel.innerHTML = '';
	response = response.split('|;|');
	
	for(i=0; i<response.length-1; i++){
		var node = response[i].split('|');
		var id = node[0];
		var video = document.createElement('div');
		video.id = 'vid' + node[0];
		video.className = 'video';
		reel.appendChild(video);
		
		/*var deleteVid = document.createElement('a');
		deleteVid.href = '#';
		deleteVid.title = 'Delete: ' + node[1] + ' ' + node[0];
		deleteVid.innerHTML = 'X';
		deleteVid.className = 'delete';
		deleteVid.onclick = new Function('delVid(' + node[0] + ')');
		video.appendChild(deleteVid);*/
		
		var link = document.createElement('a');
		//link.href = node[3];
		link.target = "_blank";
		link.className = "link";
		link.id = 'vid' + node[0];
		link.style.background = "url(" + node[4] + ") no-repeat";
		link.onmouseover = new Function('this.childNodes[0].src = "./wp-content/themes/wuwb/images/videoplay_over.png"');
		link.onmouseout = new Function('this.childNodes[0].src = "./wp-content/themes/wuwb/images/videoplay.png"');
		video.id = 'video';
		link.style.position = "relative";
		link.onclick = new Function('newVid(this, ' + node[0] + ')'); 
		
		var vidImg = document.createElement('img');
		vidImg.src = './wp-content/themes/wuwb/images/videoplay.png';
		vidImg.onmouseover = new Function('this.src = "./wp-content/themes/wuwb/images/videoplay_over.png"');
		vidImg.onmouseout = new Function('this.src = "./wp-content/themes/wuwb/images/videoplay.png"');
		vidImg.className = "avideo";
		link.appendChild(vidImg);
		video.appendChild(link);
		
		var content = document.createElement('div');
		content.className = 'content';
		content.id = link.id;
		video.appendChild(content);
		
		var title = document.createElement('h3');
		title.innerHTML = node[1];
		title.className = 'title';
		content.appendChild(title);
		
		var url = document.createElement('span');
		url.innerHTML = node[3];
		url.className = 'url';
		content.appendChild(url);
		
		var description = document.createElement('p');
		description.innerHTML = node[5];
		description.className = 'description';
		if(description.innerHTML.length > 100){
			description.innerHTML = description.innerHTML.substring(0, 100) + '...';
		}	
		content.appendChild(description);
		
		/*var obj = document.createElement('object');
		obj.width = 425;
		obj.height = 349;
		obj.style.display = "none";
		obj.id = 'obj' + node[0];
		var param = document.createElement('param');
		param.name = 'movie';
		param.value = node[2];
		var embed = document.createElement('embed');
		embed.src = node[2];
		embed.type = 'application/x-shockwave-flash';
		embed.width = 425;
		embed.height = 349;
		var close = document.createElement('a');
		close.href = "#";
		close.innerHTML = 'X';
		close.style.display = "none";
		close.className = "close";
		close.title = "Close";
		close.onclick = function() {
			obj.style.display = "none";
			video.removeChild(obj);
			if(obj.style.display == "none"){
				Effect.Appear(link.id);
				Effect.Fade(close);
			}
			return false;
		}*/
	}
	setTimeout(function(){
					Effect.Appear(reel);
				}, 2500);
	setHeight('mainContent', 'sidebar');
	
}
function delVid(id){
	var sure = confirm('Are you sure you want to delete this video?');
	if(sure){
		Effect.Fade(document.getElementById('vid'+id).parentNode);
		setTimeout(function(){ajax('action=delete&id=' + id, 'vid' + id, 'delete');}, 1000);
	}else{
		alert('Video was not deleted.');
	}
}
function newVid(object, id){
	get('vurl', 'newVid', id);
}
function embedVid(vurl, id){
	var video = document.getElementById('vid'+id);
	var reel = document.getElementById('videos');
	Effect.Fade(reel);
	var jscript = document.createElement('div');
	jscript.id = 'embed'+id;
	jscript.innerHTML = 'You need Flash player 8+ and Javascript enabled to view this video.';
	reel.parentNode.appendChild(jscript);
	var params = { allowScriptAccess: "always" };
    var atts = { id: "video"+id };
    swfobject.embedSWF(decodeURIComponent(vurl)+"&enablejsapi=1&playerapiid="+id, "embed"+id, "425", "356", "8", null, null, params, atts);
}
function onYouTubePlayerReady(playerId) {
    var ytplayer = document.getElementById('video'+playerId);
	var reel = document.getElementById('videos');
	var close = document.createElement('a');
	close.innerHTML = 'X';
	close.className = 'close';
	close.setAttribute('style', 'position:relative; left:-30px; top:-375px;');
	close.href = 'javascript:void()';
	close.onclick = function(){
		ytplayer.stopVideo();
		ytplayer.clearVideo();
		Effect.Appear('videos');
		swfobject.removeSWF('video'+playerId);
		reel.parentNode.removeChild(close);
	}
	reel.parentNode.appendChild(close);
}

function get(what, constructor, id){
	return(ajax('action=get&get='+what+'&id='+id, constructor, 'get'));
}
	
function updateReel(){
	ajax('action=update', null, 'refresh');
}

function getRSS()
{
	//call the right constructor for the browser being used
	if (window.ActiveXObject){
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}else if (window.XMLHttpRequest){
		xhr = new XMLHttpRequest();
	}else{
		alert("not supported");
	}

	//prepare the xmlhttprequest object
	xhr.open("GET","simplepie.php",true);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4)
		{
			if (xhr.status == 200)
			{
				if (xhr.responseText != null){
					xmldata = xhr.responseXML;
					xml(xmldata);
				}
				else
				{
					alert("Failed to receive RSS file from the server - file not found.");
					return false;
				}
			}
			else
				alert("Error code " + xhr.status + " received: " + xhr.statusText);
		}
	}

	//send the request
	xhr.send(null);
}
function xml(xmldata){
	/*try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(xmldata);
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(xmldata,"application/xml");
    }
  catch(e) {alert(e.message);}
  }
try 
  {
  }
catch(e) {alert(e.message);}*/

try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e) {alert(e.message)}
  }
try 
  {
  xmlDoc.async=true;
  xmlDoc.load(xmldata);
  }
catch(e) {//alert(e.message)
}


var xmlDoc = xmldata.documentElement;
alert(xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue);


	var entry = xmlDoc.getElementsByTagName("entry");
	var videos = document.getElementById('videos');
	for(i=0; i<entry.length; i++){
		var video = document.createElement('div');
		video.id = 'vid' + (i+1);
		video.className = 'video';
		videos.appendChild(video);
		
		var link = document.createElement('a');
		link.href = entry[i].getElementsByTagName('link')[0].getAttribute('href');
		link.className = 'link';
		video.appendChild(link);
		
		var vidImg = document.createElement('img');
		vidImg.src = entry[i].getElementsByTagName('media:thumbnail')[0].getAttribute('url');
		link.appendChild(vidImg);
		
		var content = document.createElement('div');
		content.className = 'content';
		video.appendChild(content);
		
		var title = document.createElement('h3');
		title.innerHTML = entry[i].getElementsByTagName('title')[0].childNodes[0].nodeValue;
		content.appendChild(title);
		
		var user = document.createElement('span');
		user.innerHTML = 'From: ' + xmlDoc.getElementsByTagName('name')[0].childNodes[0].nodeValue;
		content.appendChild(user);
		
		var playlist = document.createElement('span');
		playlist.innerHTML = '-> ' + xmlDoc.getElementsByTagName('media:title')[0].childNodes[0].nodeValue;
		playlist.title = 'Description: ' + xmlDoc.getElementsByTagName('media:description')[0].childNodes[0].nodeValue;
		content.appendChild(playlist);
		
		var url = document.createElement('span');
		url.innerHTML = entry[i].getElementsByTagName('link')[0].getAttribute('href');
		url.className = 'url';
		content.appendChild(url);
		
		var description = document.createElement('p');
		description.innerHTML = entry[i].getElementsByTagName('yt:description')[0].childNodes[0].nodeValue;
		if(description.innerHTML.length > 80){
			description.innerHTML = description.innerHTML.substring(0, 80) + '...';
		}	
		content.appendChild(description);
		
		var uploader = document.createElement('span');
		uploader.innerHTML = 'by: ' + entry[i].getElementsByTagName('name')[0].childNodes[0].nodeValue;
		content.appendChild(uploader);
		
		var keywords = document.createElement('span');
		keywords.style.display = 'none';
		keywords.id = 'keywords' + (i+1);
		keywords.innerHTML = entry[i].getElementsByTagName('media:keywords')[0].childNodes[0].nodeValue;
		//appended at the end
		var id = keywords.id;
		
		var keywordsa = document.createElement('a');
		keywordsa.innerHTML = 'Keywords';
		keywordsa.href = '#';
		keywordsa.onclick = function(){
			if(keywords.style.display != ""){
				Effect.Appear(id);
				return false;
			}else{
				Effect.Fade(id);
				return false;
			}
		}
		//content.appendChild(keywordsa);
		
		var time = document.createElement('span');
		time.innerHTML = timeChng(entry[i].getElementsByTagName('yt:duration')[0].getAttribute('seconds'));
		time.style.fontWeight = "bold";
		content.appendChild(time);
		//content.appendChild(keywords);
		
	}
	//alert(videos.innerHTML);
}
function timeChng(seconds){
	var minutes = Math.floor(seconds/60);
	var secs = Math.round(((seconds/60)-minutes)*60);
	if(secs < 10){secs = '0' + secs.toString(); }
	var dur = '0' + minutes.toString() + ':' + secs.toString();
	return(dur);
}
function newli(itemli){
	var ul = document.getElementById('list');
	var li = document.createElement('li');
	li.innerHTML = itemli;
	ul.appendChild(li);
}
function processRSS(rssxml){
	
	/*RSS = new RSSFeed(rssxml);
	showRSS(RSS);*/
	alert(rssxml.responseXML);
}



function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}

//No more - doesnt work right in Opera and Safari
//addEvent(window, 'load', getRSS);
addEvent(window, 'load', init);
var xhr;
var xmldata;


