/* fetches Timecodes list by Ajax --------------------------------------------------------- */
var myPos = 0; //aktuelle position im Timecodes-Array
var videoItemNr = 0; //Position des eigentlichen Videos in der Playlist

function refreshTimecodesList (method) {
    
		if (method == "up" || method == "down")
		{
			if (currentItem == videoItemNr)
			{
				newPos = myPos;
				if (method == "down" && myPos < (timecodes.length - 1)) myPos++;
				if (method == "up" && myPos > 0) myPos--;
			}
			else {
				sendEvent('playitem',0); // lasse player spielen, scip noch nicht
			}
		}
		else newPos = -1;
		
		if (timecodes.length > 0 && newPos != myPos)
		{
			if ((myPos - 1) > -1) setTimecodeItem (1, myPos-1, 'txt');
			else setTimecodeItem (1, -1, 'txt');
			
			setTimecodeItem (2, myPos, 'a');
			
			if ((myPos + 1) < timecodes.length) setTimecodeItem (3, myPos+1, 'txt');		
			else setTimecodeItem (3, -1, 'txt');
			
			//Reload Ähnliche Videos
			reloadAehnlicheVideos ();
		}
		
		if (method == "up" || method == "down")
		{
			if (currentItem == videoItemNr)
			{
				/* user hat navigiert -> Video auf die aktuelle marke setzen */
				sendEvent('scrub', timecodes[myPos][1]);
			}
		}
		
}

function setTimecodeItem (el_pos, time_pos, el_type) {
	el = eval ("document.getElementById('aTimcode"+el_pos+"')");
	nr = time_pos + 1;
	
	if (time_pos > -1) {
		if (timecodes[time_pos][3] > 0) el.innerHTML = timecodes[time_pos][3]+". "+timecodes[time_pos][0];
		else el.innerHTML = timecodes[time_pos][0];
	}
	else el.innerHTML = "";
	
	if (el_type == "a") {
		/* url = "Javascript: alert ('"+timecodes[time_pos][0]+" - "+timecodes[time_pos][1]+"')"; */
		url = "Javascript: sendEvent('scrub',"+timecodes[time_pos][1]+")"; 
		el.setAttribute("href", url);
	}
}


var timecodes = new Array();

function loadTimecodes(sUrl) {
	
	var handleSuccess = function(o){
		
		
		if(o.responseXML !== undefined){   
			/*result = "Transaction id: " + o.tId;   
			result += "HTTP status: " + o.status;   
			result += "Status code message: " + o.statusText;   
			result += "HTTP headers: " + parseHeaders();   
			result += "Server response: " + o.responseText;   
			result += 	"Argument object: property foo = " + o.argument.foo +   
						"and property bar = " + o.argument.bar;
			*/ 
			
			var root = o.responseXML.documentElement;  
			var items = root.getElementsByTagName("item");
			// alert (items.length); 
			
			for (i=0;i<items.length;i++) {
				timecodes[i] = new Array();
				
				var titeltag = items[i].firstChild;
				timecodes[i][0] = titeltag.firstChild.data;
				var code = items[i].firstChild.nextSibling;
				timecodes[i][1] = code.firstChild.data;
				var keys = items[i].firstChild.nextSibling.nextSibling;
				timecodes[i][2] = keys.firstChild.data;
				var pos = items[i].firstChild.nextSibling.nextSibling.nextSibling;
				timecodes[i][3] = pos.firstChild.data;
				
			}
			
			/*
			ausgabe = "";
			for (i=0;i<timecodes.length;i++) {
				ausgabe += i + ": " + timecodes[i][0] + "\n"; 
				ausgabe += i + ": " + timecodes[i][1] + "\n"; 
				ausgabe += i + ": " + timecodes[i][2] + "\n";
				ausgabe += i + ": " + timecodes[i][3] + "\n\n";
			}
			
			alert (ausgabe); 
			*/
			
			refreshTimecodesList ('neu');
			
		
		}   
	}
	
	var handleFailure = function(o){   
		/* Fehlerbehandlung */
		   
	}   
	
	var callback =   
	{   
		success:handleSuccess,   
		failure: handleFailure,   
		argument: { foo:"foo", bar:"bar" }   
	};
	
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
}

function reloadAehnlicheVideos () {
	if (document.getElementById('referenceVideos') && timecodes[myPos][2] != -1) {
		
		sUrlListe += "&schlagworte="+timecodes[myPos][2];
		
		var handleSuccessListe = function(o){   
		
			if(o.responseXML !== undefined){   
				var root = o.responseXML.documentElement;  
				var items = root.getElementsByTagName("item");
				
				var rVideos = new Array();
				
				for (i=0;i<items.length;i++) {
					rVideos[i] = new Array();
					
					var vid = items[i].firstChild;
					rVideos[i][0] = vid.firstChild.data;
					var node_id = items[i].firstChild.nextSibling;
					rVideos[i][1] = node_id.firstChild.data;
					var image = items[i].firstChild.nextSibling.nextSibling;
					rVideos[i][2] = image.firstChild.data;
					var headline = items[i].firstChild.nextSibling.nextSibling.nextSibling;
					rVideos[i][3] = headline.firstChild.data;
					var rating = items[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling;
					rVideos[i][4] = rating.firstChild.data;
					var keywords = items[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling;
					rVideos[i][5] = keywords.firstChild.data;
					var url = items[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling;
					rVideos[i][6] = url.firstChild.data;
					
				}
				
				/*
				ausgabe = "";
				for (i=0;i<rVideos.length;i++) {
					ausgabe += i + ": " + rVideos[i][0] + "\n"; 
					ausgabe += i + ": " + rVideos[i][1] + "\n"; 
					ausgabe += i + ": " + rVideos[i][2] + "\n"; 
					ausgabe += i + ": " + rVideos[i][3] + "\n"; 
					ausgabe += i + ": " + rVideos[i][4] + "\n"; 
					ausgabe += i + ": " + rVideos[i][5] + "\n"; 
					ausgabe += i + ": " + rVideos[i][6] + "\n\n"; 
				}
			
				alert (ausgabe); 
				*/
				
				writeAehnlicheVideos (rVideos); // 0:vid 1:node 2:image 3:headline 4:rating
						
			}   
		}
		
		var handleFailureListe = function(o){   
			/* Fehlerbehandlung */
			   
		}   
	
		var callbackListe =   
		{   
			success:handleSuccessListe,   
			failure: handleFailureListe,   
			argument: { foo:"foo", bar:"bar" }   
		};
		
		var request = YAHOO.util.Connect.asyncRequest('GET', sUrlListe, callbackListe);
	} // wenn items austauschen	
}

function writeAehnlicheVideos (rVideos) {
	// 0:vid 1:node 2:image 3:headline 4:rating 5:keys 6:link
	
	html = '<table width="178" cellpadding="0" border="0" cellspacing="0">\n';
	
	for (i=0;i<rVideos.length;i++) {	
		if (rVideos[i][3].length > 60)	rVideos[i][3] = rVideos[i][3].substring(0, 57) + "...";
		
		if (i < 2) rahmen = 'style="border-bottom: solid 1px #FFFFFF;"';
		else rahmen = "";
		
		html += '<tr>\n';
		html += '	<td align="left" height="58" '+rahmen+'><a href="'+rVideos[i][6]+'"><img src="up/images/uploads/'+rVideos[i][2]+'" height="58" border="0" style="margin-right: 5px" /></a></td>\n';
		html += '	<td align="left" height="58" '+rahmen+'>\n';
		html += '		<a href="'+rVideos[i][6]+'"  style="color:#323232;"><span style="font-size:9px;">'+rVideos[i][3]+'<br></span></a>\n';
		html += '		<img src="images/voting_small_'+rVideos[i][4]+'.png" alt="rating" />\n';
		html += '	</td>\n';
		html += '</tr>\n';
	}
	
	html += '</table>\n';
	
	document.getElementById('referenceVideos').innerHTML = html;
	
	
	correctPNG();
}
