<!--
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", "400", "400", "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="400" height="400"><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="400" height="400"></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';
	}

	count=0;
	totaltrecordsearched=0;
//alert(cfg.tablerow);

  div = document.getElementById(cfg.block);
  div.innerHTML = ''; //empty
  
 // var ul = document.createElement('ul');
 // var table = document.createElement('table');
  //table.setAttribute('width', '400px;');
  //table.setAttribute('border', '1');
  //div.innerHTML='<table width="300" border="1"><tr><td></td></tr></table>'
  
  //var oTable = document.createElement("TABLE");
   var mybody = document.getElementsByTagName("div")[0];

        // creates <table> and <tbody> elements
        mytable     = document.createElement("table");
        mytablebody = document.createElement("tbody");
		
		
		
		
 
  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;
	
	count=count+1;
	totaltrecordsearched=totaltrecordsearched+1;
	
	
	
	
	if(count==1)
	{
		mycurrent_row = document.createElement("tr");
  //oTHead.appendChild(oRow);
	//var tr = document.createElement('tr');
	//tr.setAttribute('id', 'youtubelist');
	}
 
	//var li = document.createElement('td');
	 mycurrent_cell = document.createElement("td");
    //oCell.innerHTML = stock[i][j];
	
	
	var overlayLink = 'javascript:videoOverlay(\''+getVideoId(url)+'\',\''+cfg.block+'\');';

    if(cfg.layout == 'thumbnails'){
		
		if(cfg.player ==  'embed'){
				//alert("test1")
        	mycurrent_cell.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
        	mycurrent_cell.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'){
			mycurrent_cell.innerHTML = entry.content.$t.replace(url,overlayLink);
		}else{
			//cfg.player = link
			mycurrent_cell.innerHTML = entry.content.$t;
		}
    }
	
	
	//mycurrent_cell.appendChild(currenttext);
                // appends the cell <td> into the row <tr>
                mycurrent_row.appendChild(mycurrent_cell);
   //div.appendChild(li);
	//alert(count)
		if((count==cfg.tablecolumns) || (totaltrecordsearched==cfg.results))
		{
		//div.appendChild(tr);	
		//oRow = document.createElement("TR");
		 mytablebody.appendChild(mycurrent_row);
		count=0;
		}
	
	}
  }else{
  	div.innerHTML = 'No Youtube videos found for your query:<br>Type:\''+cfg.type+'\'<br>Query: \''+cgf.q+'\'';

  }
  
		 mytable.appendChild(mytablebody);
        // appends <table> into <body>
        mybody.appendChild(mytable);
        // sets the border attribute of mytable to 2;
       // mytable.setAttribute("border","2");
  //div.appendChild(table);
}

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);
		}
	}
}
-->
