<!--
var timer; //needed to loop through thumbnails
function getVideoId(url){

    var match_start = url.indexOf('=');
    var match_end = url.indexOf('&');
    if (match_start) {
      id = url.substring(match_start+1,match_end);
      return id;
    }
}

function clearList(ul){
	var list = document.getElementById(ul);
	while (list.firstChild) 
	 {
	    list.removeChild(list.firstChild);
	 }		
}

function hideOverlay(){
	var overlay = document.getElementById('embed_overlay');
	overlay.style.display = 'none';
	overlay.innerHTML = "";
}

var ytPlayerDiv;
var ytPlayer = {}
function videoOverlay(id,block){

	if(!ytPlayer[block]){
		var objBody = document.getElementById(block);
		ytPlayerDiv = document.createElement('div');
		ytPlayerDiv.setAttribute("id", block+"_video");
		objBody.insertBefore(ytPlayerDiv, objBody.firstChild);
		ytPlayer[block] = true;
	}
	ytPlayerDiv.innerHTML = "Loading video player... <a href=\"http://www.youtube.com/watch?v="+id+"\">Not Loading?</a>";
	var flashvars = {};
	var params = {};
	params.wmode = "transparent";
	params.allowfullscreen = "true";
	var attributes = {};

	//create flash object.
	if(swfobject){
		swfobject.embedSWF("http://www.youtube.com/v/"+id, block+"_video", "510", "420", "6", "false", flashvars, params, attributes);
	}else{
		//no SwfObject JS include
		ytPlayerDiv.innerHTML = '<div id="embed_overlay"><a href="javascript:hideOverlay()" id="close">Close</a><br /><object width="510" height="420"><param name="movie" value="http://www.youtube.com/v/'+id+'"><param name="autoplay" value="1"><param name="wmode" value="transparent"><embed src="http://www.youtube.com/v/'+id+'&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="510" height="420"></embed></object></div>';
	}
}

function mousOverImage(name,id,nr){

	if(name)
		imname = name;
	//make border orange
	imname.style.borderColor = 	'orange';

	imname.src = "http://img.youtube.com/vi/"+id+"/"+nr+".jpg";
	nr++;
	if(nr > 3)
		nr = 1;
	timer =  setTimeout("mousOverImage(false,'"+id+"',"+nr+");",1000);

}

function mouseOutImage(name,border){

	if(name)
		imname = name;

	//make border back to greyish
	imname.style.border = border;
	if(timer)
		clearTimeout(timer)

}

function listVideos(json,cfg) {
	if(!cfg.player){
		cfg.player = 'embed';
	}
	if(!cfg.layout){
		cfg.layout = 'full';
	}

  div = document.getElementById(cfg.block);
  div.innerHTML = ''; //empty
  
  var ul = document.createElement('ul');
  ul.setAttribute('id', 'youtubelist');
  if(json.feed.entry){
	  for (var i = 0; i < json.feed.entry.length; i++) {
	    var entry = json.feed.entry[i];
	
	    for (var k = 0; k < entry.link.length; k++) {
	      if (entry.link[k].rel == 'alternate') {
	        url = entry.link[k].href;
	        break;
	      }
	    }
   	

   	var thumb = entry['media$group']['media$thumbnail'][1].url;

    var li = document.createElement('li');
	var overlayLink = 'javascript:videoOverlay(\''+getVideoId(url)+'\',\''+cfg.block+'\');';

    if(cfg.layout == 'thumbnails'){

		if(cfg.player ==  'embed'){
        	li.innerHTML = '<a href="'+overlayLink+'"><img style="border:'+cfg.imgstyle+'" src="'+thumb+'" alt="'+entry.title.$t+'"  onmouseout="mouseOutImage(this,\''+cfg.imgstyle+'\')" onmouseover="mousOverImage(this,\''+getVideoId(url)+'\',2)"></a>';
		}else{
			//cfg.player = link
        	li.innerHTML = '<a href="'+url+'"><img style="border:'+cfg.imgstyle+'" src="'+thumb+'" alt="'+entry.title.$t+'" onmouseout="mouseOutImage(this,\''+cfg.imgstyle+'\')" onmouseover="mousOverImage(this,\''+getVideoId(url)+'\',2)"></a>';
		}
    }else{
		//cfg.layout = full
		if(cfg.player ==  'embed'){
			li.innerHTML = entry.content.$t.replace(url,overlayLink);
		}else{
			//cfg.player = link
			li.innerHTML = entry.content.$t;
		}
    }

    ul.appendChild(li);
	}
  }else{
  	div.innerHTML = 'No Youtube videos found for your query:<br>Type:\''+cfg.type+'\'<br>Query: \''+cgf.q+'\'';

  }

  div.appendChild(ul);
}

var ytQuery = 0;
var ytInit = {}

function insertVideos(cfg){
	cfg = cfg || {};
	if(!cfg.block){
		//alert();
	}else{
		if(!cfg.type){
			document.getElementById(cfg.block).innerHTML = 'You must provide a type: search, user, playlist, featured in the insertVideos function.';
		}else{
			document.getElementById(cfg.block).innerHTML = 'Loading YouTube videos. Please wait...';
			//create a javascript element that returns our JSON data.
			var script = document.createElement('script');
			script.setAttribute('id', 'jsonScript');
			script.setAttribute('type', 'text/javascript');
			
			//a counter
			ytQuery++;
			
			if(!cfg.results){
				cfg.results = 10;
			}
			if(!cfg.order){
				cfg.orderby = 'relevance';
				cfg.sortorder = 'descending';
			}
			
			switch(cfg.order){
				case "new_first":
				cfg.orderby = 'published';
				cfg.sortorder = 'ascending';				
				break;
				
				case "highest_rating":
				cfg.orderby = 'rating';
				cfg.sortorder = 'descending';				
				break;
				
				case "most_relevance":
				cfg.orderby = 'relevance';
				cfg.sortorder = 'descending';				
				break;
			}
				
			//what data do we need: a search, a user search, a playlist
			switch(cfg.type){
				case "search":
				script.setAttribute('src', 'http://gdata.youtube.com/feeds/videos?vq='+cfg.q+'&max-results='+cfg.results+'&alt=json-in-script&callback=ytInit['+ytQuery+']&orderby='+cfg.orderby+'&sortorder='+cfg.sortorder);
				break;
		
				case "user":
				script.setAttribute('src', 'http://gdata.youtube.com/feeds/users/'+cfg.q+'/uploads?max-results='+cfg.results+'&alt=json-in-script&callback=ytInit['+ytQuery+']&orderby='+cfg.orderby+'&sortorder='+cfg.sortorder);
				break;
				
				case "playlist":
				script.setAttribute('src', 'http://gdata.youtube.com/feeds/playlists/'+cfg.q+'?max-results='+cfg.results+'&alt=json-in-script&callback=ytInit['+ytQuery+']&orderby='+cfg.orderby+'&sortorder='+cfg.sortorder);
				break;
				
				case "featured":
				script.setAttribute('src', 'http://gdata.youtube.com/feeds/api/standardfeeds/recently_featured?alt=json-in-script&callback=ytInit['+ytQuery+']&start-index=1&max-results='+cfg.results+'&orderby='+cfg.orderby+'&sortorder='+cfg.sortorder);
				break;
		
			}	
		
			ytInit[ytQuery] = function(root) { listVideos(root,cfg);  };
			
			//attach script to page, this will load the data into our page and call the funtion ytInit[ytQuery]
			document.documentElement.firstChild.appendChild(script);
		}
	}
}
-->
