var channels=new Array("all", "rii", "wbd", "wsf", "res", "others");

// bfff.....
var colors=new Array();
colors['all']="#FFFFFF";
colors['rii']="#FA9D27";
colors['wbd']="#CB6848";
colors['wsf']="#DAD067";
colors['res']="#CCCCCC";
colors['others']="#FFFFFF";

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); //Not IE
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP"); //IE
	} else {
		//Display your error message here. 
		//and inform the user they might want to upgrade
		//their browser.
		alert("Your browser doesn't support the XmlHttpRequest object.  Better upgrade to Firefox.");
	}
}

/** aquestes funcions controlen el reproductor flash  */

function sendEvent(swf,typ,prm) { 
  thisMovie(swf).sendEvent(typ,prm); 
};

function getUpdate(typ,pr1,pr2,swf) {};

function thisMovie(swf) {
  if(navigator.appName.indexOf("Microsoft") != -1) {
    return window[swf];
  } else {
    return document[swf];
  }
};

/** pues eso **/

// aquesta funció, si bé no és del tot part de l'ajax, ens mostrarà el flash trapella.
// això és perquè no podem crear <script> dins d'innerHTML

function flashScreen(video_width, video_height, video_folder, video_name, captions){



	var sa = new SWFObject('mediaplayer.swf', 'ply', video_width , video_height, '9');
	sa.addParam("allowfullscreen","true");
	sa.addParam("allowscriptaccess","always");
//	sa.addParam("seamlesstabbing		","true");
//	sa.addParam("javascriptid","mpl");
	sa.addVariable("file", video_folder+video_name);
	if (captions != ""){
		sa.addVariable("captions", video_folder+captions);
	}

	// a saber amb l'audio el que s'haurà de fer....
	sa.addVariable("autostart","true");
	sa.write('video');
	
	// engeguem el trasto
	//sendEvent("mpl", "playpause");

}




function enter_pressed(e){
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return false;
	return (keycode == 13);
}

// i am horrified that i have to do it like that....

function restore_borders_channel(channel_no){
	var tab2;
	for (x in channels){
		tab2="button_"+channels[x];
		if (document.getElementById(tab2)){
			if (channels[x] != channel_no){
				document.getElementById(tab2).style.border="1px solid black";
			}
			else {
				document.getElementById(tab2).style.borderRight="1px solid "+colors[channels[x]];
			}
		}
	}
}

function restore_borders_news(channel_no){
	var tab2;
	for (x in channels){
		tab2="cb_news_"+channels[x];
		if (document.getElementById(tab2)){
			if (channels[x] != channel_no){
				document.getElementById(tab2).style.border="1px solid black";
			}
			else {
				document.getElementById(tab2).style.borderBottom="1px solid "+colors[channels[x]];
			}
		}
	}
}

function flickChannel(id_channel){
	var channel="channelcontent_"+id_channel;
	var tab="button_"+id_channel;
	restore_borders_channel(id_channel);
	document.getElementById('channelcontent').className=channel;
	setResponse(id_channel);
	
}

function startSearch(){
	var stringsearch=document.getElementById('searchinput').value;
	document.getElementById('button_res').style.visibility="visible";
	restore_borders_channel('res');
	document.getElementById('channelcontent').className="channelcontent_res";	
	setSearchResponse(stringsearch);
}

function startTag(tagsearch){
	document.getElementById('button_res').style.visibility="visible";
	restore_borders_channel('res');
	document.getElementById('channelcontent').className="channelcontent_res";
	setTagResponse(tagsearch);
}

function flickNews(channel){
	var channel_news="newscontent_"+channel+" forceborder";
	var tab="cb_news_"+channel;
	restore_borders_news(channel);
	document.getElementById('newscontent').className=channel_news;
	setNewsResponse(channel);
}

// això canviarà el video que s'està mostrant
function changeVideo(link_video){
	setVideoResponse(link_video, "");
}

function changeVideoDetails(){
	// agafem els valors dels desplegables i canviem el que faci falta	
	var idvideo=document.getElementById('idvideo').value;
	var format=document.getElementById('format').value;
	var audio=document.getElementById('audio').value;
	var captions=document.getElementById('captions').value;
	
	var querystring="&format="+format+"&audio="+audio+"&captions="+captions;
	setVideoResponse(idvideo, querystring);
	
}


// això em permet fer dues crides ajax simultànies: canal i notícies

var receiveReq = getXmlHttpRequestObject();	
var receiveReq2 = getXmlHttpRequestObject();
var receiveReq3 = getXmlHttpRequestObject();

function setResponse(channel){
	if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
		receiveReq.open("GET", 'processa_db.php?channelvid='+channel, true);
		receiveReq.onreadystatechange = handleResponse; 
		receiveReq.send(null);
		
		document.getElementById('spanchannelcontent').innerHTML = "<p><br><p><br><center><img src='img/loader.gif' border='0'></center>"
	}		
}

function setSearchResponse(stringsearch){
	if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
		receiveReq.open("GET", 'processa_db.php?stringsearch='+stringsearch, true);
		receiveReq.onreadystatechange = handleResponse; 
		receiveReq.send(null);
		
		document.getElementById('spanchannelcontent').innerHTML = "<p><br><p><br><center><img src='img/loader.gif' border='0'></center>"
	}		
}

function setTagResponse(tagsearch){
	if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
		receiveReq.open("GET", 'processa_db.php?tagsearch='+tagsearch, true);
		receiveReq.onreadystatechange = handleResponse; 
		receiveReq.send(null);
		
		document.getElementById('spanchannelcontent').innerHTML = "<center><img src='img/loader.gif' border='0'></center>"
	}		
}

function setNewsResponse(channel){
		if (receiveReq2.readyState == 4 || receiveReq2.readyState == 0) {
		receiveReq2.open("GET", 'processa_rss.php?channelnews='+channel, true);
		receiveReq2.onreadystatechange = handleNewsResponse; 
		receiveReq2.send(null);
		
		document.getElementById('newslines').innerHTML = "<p><br><center><img src='img/loader.gif' border='0'></center>"
	}		
}

function setVideoResponse(link_video, extra){
		if (receiveReq3.readyState == 4 || receiveReq3.readyState == 0) {
		receiveReq3.open("GET", 'processa_video.php?idvid='+link_video+extra, true);
		receiveReq3.onreadystatechange = handleVideoResponse; 
		receiveReq3.send(null);
	}
}

function handleResponse(){
	if (receiveReq.readyState == 4) {
		document.getElementById('spanchannelcontent').innerHTML = receiveReq.responseText;
	}	
}

function handleNewsResponse(){
	if (receiveReq2.readyState == 4) {
		document.getElementById('newslines').innerHTML = receiveReq2.responseText;
	}	
}

function handleVideoResponse(){
	if (receiveReq3.readyState == 4) {
		document.getElementById('tv').innerHTML = receiveReq3.responseText;
	}	
}
