var domain,user,mod,sub,name;
var vids=[];
var idS=0,idV=0,idA=0;
var karaoke;

/************************************************/

function setvars(d,u,m,s){
	domain=d;
	user=u;
	mod=m;
	sub=s;
}

//----------------------------------------------//

function ad(){
	google_ad_client="pub-7625800472787657";
	google_ad_slot  ="3799795395";
	google_ad_width =468;
	google_ad_height=60;
	W("<"+"script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script"+">");
}

//----------------------------------------------//

var t;
function tab(n){
	n="tab-"+n;
	if(t==n) return;
	if(t){
		E(t).className="";
		E("p"+t).style.visibility="hidden";
	}
	t=n;
	E(t).className="active";
	E("p"+t).style.visibility="visible";
	E("p"+t).style.display="block";
}

//----------------------------------------------//

function setshow(s,v){
	idS=s;
	idA=idV=v;
	if(ext)
		E("showswf").setshow(s,v);
	else
		E("show").innerHTML=swf("show","domain="+domain+"&show="+s+"&vid="+v+"&off="+sub,"black",480,298);
	if(E("showcmd"))
		E("showcmd").innerHTML="";
}

//----------------------------------------------//

function setlive(id){
	setshow(id,0);
	setTimeout("loadlive()",60000);
}

//----------------------------------------------//

function setchat(pass){
	E("ptab-chat").innerHTML=swf("chat","domain="+domain+"&id="+idS+"&user="+user+(pass?"&pass="+pass:""),"#DDDDDD","100%","100%");
}

//----------------------------------------------//

function loadlive(id){
	var data,h,r,i;
	if(!id)
		id=idS;
	if(id!=idS)
		setshow(id,0);

	data=getdata("live.php?id="+id);
	h="";

	for(i in data){
		r=data[i];
		r.s=(r.s?
			["<b>En direct</b>","Archive"][r.s-1]+" - <a href='javascript:loadlive("+i+")'>Syntoniser</a>":
			"<b>Joue présentement</b>"
		);
		h+=
			"<div>"+
				"<div class='img' style='background-image:url(/thumbs/D/"+i+")' onclick='loadlive("+i+")'><center title='"+r.n+"'>"+r.n+"</center></div>"+
				"<div class='small' style='float:right'><b>"+r.v+"</b> spectateur"+(r.v>1?"s":"")+"</div>"+
				"<div class='title'>"+(r.t?r.t:r.n)+"</div>"+
				"<div class='desc'>"+r.d+"</div>"+
				"<div class='small' style='float:right'><a href='http://"+r.n+"."+domain+"'>Infos, blog et tchat</a></div>"+
				"<div class='small'>"+r.s+"</div>"+
			"</div>"
		;
	}
	E("live").innerHTML=h;
	setTimeout("loadlive()",60000);
}

//----------------------------------------------//

function loadinfo(p){
	var d=getdata("archive.php?"+(idA?"v="+idA:"s="+idS)+(p?"&"+p:""));
	if(!D(d))
		return;

	function link(code,icon,id,tip,text,j){
		var a="<a id='"+id+"' title='"+tip+"' style='background-image:url(/img/ico/"+icon+".png)' href='";
		if(j)
			return a+"#' onclick='"+code+";return false'>";
		return a+code+"' target='_blank'>";
	}

	var val=0;
	if(d.rnum)
		val=100*d.rval/d.rnum;
	name=d.name;
	idA=d.id;

	if(E("showcmd")) E("showcmd").innerHTML=
		"<table cellspacing='0' cellpadding='0'>"+
			"<tr>"+
				"<td>"+link("ratevid(1)","rate-up","","J’aime","",1)+"</td>"+
				"<td title='"+d.rval+" aime"+(d.rval>1?"nt":"")+",\r\n"+(d.rnum-d.rval)+" n’aime"+(d.rnum-d.rval>1?"nt":"")+" pas'>"+
					"<div id='rating' class='box2' style='background:#"+(d.rnum?"C44":"EEE")+"'>"+
						"<div style='width:"+val+"%;height:100%;background:#3F4'></div>"+
					"</div>"+
				"</td>"+
				"<td>"+link("ratevid(0)","rate-down","","Je n’aime pas","",1)+"</td>"+
		(!user || d.fav<0?"":
				"<td style='padding:0 2px 0 12px'>"+link("setfav("+(d.fav?0:1)+")","fav-"+(d.fav?"rem":"add"),"favbtn",(d.fav?"Enlever":"Ajouter")+" aux favoris","",1)+"</td>"+
				"<td>"+link("/messages/nouveau-"+name,"mail","","Envoyer un message à "+name,"",0)+"</td>"
		)+
			"</tr>"+
		"</table>"
	;

	if(D(karaoke))
		karaoke.rateinit(d);
}

//----------------------------------------------//

var tm;
function cmdnotice(msg,obj){
	if(tm) clearTimeout(tm);
	var o1=E("cmdnotice");
	var o2=E(obj);
	o1.innerHTML=msg+".";
	o1.style.visibility="visible";
	o1.style.left=(o2.offsetParent.offsetLeft+o2.offsetLeft+(o2.clientWidth-o1.clientWidth)/2)+"px";
	tm=setTimeout("E('cmdnotice').style.visibility='hidden'",4000);
}

//----------------------------------------------//

function confirm2(act){
	return confirm("Êtes-vous sûr de vouloir "+act+"?");
}
function delvid(id){
	if(confirm2("supprimer cette archive"))
		location=base+"?del="+id;
}
function delcomm(idT,id){
	if(confirm2("supprimer ce commentaire"))
		comments(idT,"del="+id);
}
function flagcomm(idT,id){
	if(confirm2("signaler ce commentaire"))
		comments(idT,"flag="+id);
}
function ratevid(val){
	if(!user)
		return alert("Inscrivez-vous pour pouvoir évaluer les diffusions.");
	var type=(idV>0?"l'archive":"la diffusion");
	loadinfo("rate="+val);
	cmdnotice("Vous "+(val?"aimez ":"n'aimez pas ")+type,"rating");
}
function setfav(val){
	loadinfo("fav="+val);
	cmdnotice(name+" a été "+(val?"ajouté à":"enlevé de")+" vos favoris","favbtn");
}

//----------------------------------------------//

function pagelinks(data,t,p){
	h="<b>"+data.num+"</b> "+t+(data.num>1?"s":"");
	if(data.num>data.ppp){
		h="<p><b>"+data.min+"</b>-<b>"+(data.min+data.lst.length-1)+"</b> / "+h+" - Page:";
		page=Math.floor((data.min-1)/data.ppp);
		for(i=1;i<=Math.ceil(data.num/data.ppp);i++)
			h+=" "+(i==page+1?i:"<a href='javascript:"+p+"("+i+")'>"+i+"</a>");
		h+="</p>";
	}
	return h;
}

//----------------------------------------------//

var reqA="";
var baseA=base;
var pageA=0;
var sortA="";

function archives(page,search,sort){
	if(!reqA){
		reqA="archives.php?"+(search?"q="+search:"s="+idS+"&v="+idV+(D(karaoke)?"&ppp=25":""));
		if(search)
			baseA+="archives/";
	}
	pageA=page;
	if(D(sort))
		sortA=sort;

	var data=getdata(reqA+"&sort="+sortA+(page?"&page="+page:""));
	var h="";
	var i;

	if(data.num){
		h=pagelinks(data,"archive","archives");

		h+="<table class='shows'><tr>";
		for(i in data.lst){
			var r=data.lst[i];
			if(mod)
				vids[i]=r;
			if(i && !(i%5))
				h+="</tr><tr>";
			h+=
				"<td align='center'"+(r.i==idV?" class='on'":"")+">"+
					"<table><tr><td><div><b>"+r.t+"</b><br>"+r.d+"</div></td></tr></table>"+
					"<a href='"+baseA+r.i+(sortA?"-"+sortA:"")+"' class='link'><div style='background-image:url(/thumbs/A/"+r.i+")'></div></a>"+
					"<span>"+
						(mod?
							"<a href='javascript:delvid("+r.i+")' title='Supprimer' class='cmdbtn' style='background-image:url(/img/ico/delete-small.png)'></a>"+
							"<a href='javascript:editvid("+i+")' title='Modifier' class='cmdbtn' style='background-image:url(/img/ico/edit-small.png)'></a>"
						:"")+
						r.s+"<br>Durée: "+r.l+
					"</span>"+
				"</td>"
			;
		}
		h+="</tr></table>";
	}else
		h="Aucune archive.";
	E("archives").innerHTML=h;
}

//----------------------------------------------//

var reqS="";

function shows(page,search,fav){
	if(!reqS)
		reqS="shows.php?ppp="+(search?"10&q="+search:"20")+(fav?"&fav":"");

	var data=getdata(reqS+(page?"&page="+page:""));
	var h,i;

	if(data.num){
		h=pagelinks(data,"diffuseur","shows");
		h+="<table class='shows'><tr>";
		for(i in data.lst){
			var r=data.lst[i];
			if(i && !(i%5))
				h+="</tr><tr>";
			h+=
				"<td align='center'"+(r.l?" class='on'":"")+">"+
					"<table><tr><td><div><b>"+r.n+"</b></div></td></tr></table>"+
					"<a href='http://"+r.n+"."+domain+"' class='link' onmousemove='userhover("+r.i+",1,event)' onmouseout='userhover("+r.i+",0,event)'>"+
						"<div style='background-image:url(/thumbs/D/"+r.i+")'></div>"+
					"</a>"+
					"<span class='small'>"+r.v+" spectateur"+(r.v>1?"s":"")+"</span>"+
					"<div class='info box2' id='info"+r.i+"'>"+
						"<center>"+r.n+"</center>"+
						"<b>"+r.t+"</b>"+
						"<p>"+r.d+"</p>"+
						"<div><b>"+r.f+"</b> fan"+(r.f>1?"s":"")+"</div>"+
						"<b>"+(r.l?"En":"Hors")+" ondes</b> depuis le "+r.m+"<br>"+
					"</div>"+
				"</td>"
			;
		}
		h+="</tr></table>";
	}else
		h="Aucun diffuseur.";
	E("shows").innerHTML=h;
}

function userhover(id,on,ev){
	var o=E("info"+id);
	var s=o.style;
	if(on){
		s.display="block";
		var xmax=document.body.clientWidth-o.clientWidth-2;
		var x=ev.clientX+5;
		var y=ev.clientY+5;
		if(x>xmax) x=xmax;
		s.left=(document.documentElement.scrollLeft+x)+"px";
		s.top =(document.documentElement.scrollTop +y)+"px";
	}else
		s.display="none";
}

//----------------------------------------------//

function editvid(i){
	function unfilt(x){
		return x.replace(/&#34;/g,'"').replace(/&#39;/g,"'").replace(/&lt;/g,"<");
	}
	var t;
	var v=vids[i];
	if((i>=0) || idV)
		t="A/"+v.i;
	else
		t="D/"+idS;
	E("editthumb").src="/thumbs/"+t;
	E("edittitle").innerHTML=(idV>0?"Archive":"Diffusion");

	var f=E("frmedit");
	f.edit .value=v.i;
	f.title.value=unfilt(v.t);
	f.desc .value=unfilt(v.d).replace(/<br>/g,"\n");
	fade.open(f);
}

function savevid(){
	var f=E("frmedit");
	var i=f.edit.value;
	var p=(i>0?"v="+i:"s="+idS)+"&title="+U(f.title.value)+"&desc="+U(f.desc.value);
	post("editdesc.php",p);
	fade.close(f);
	if(i!=idA)
		archives(pageA);
	else
		window.location.reload();
}

//----------------------------------------------//

function comments(id,send){
	var url="comments.php?type=N&id="+id+"&"+send;
	var data=getdata(url);
	var num=0;
	var h="";
	for(var i in data){
		var r=data[i];
		var del=mod || (user==r.u);
		num++;
		h+=
			"<div class='post'>"+
				"<div class='post-title'>"+
					"<div style='float:right'>"+
						r.d+
						(user?" - <a href='javascript:"+(del?"del":"flag")+"comm("+id+","+i+")'>"+(del?"Supprimer":"Signaler")+"</a>":"")+
					"</div>"+
					"<b>"+r.n+"</b>"+
					"<div style='clear:both'></div>"+
				"</div>"+
				"<div class='post-text'>"+r.t.replace(/\b(https?:\/\/\S*)/gi,"<a href='$1' target='_blank'>$1</a>")+"</div>"+
			"</div>"
		;
	}
	E("commlink"+id+"b").innerHTML="Commentaires ("+num+")";
	E("comms"+id).innerHTML=(h?h:"Aucun commentaire.");
	return false;
}

function switchcomms(id){
	var e1=E("comms"+id);
	var e2=E("commlink"+id+"a");
	if(e1.innerHTML==""){
		comments(id,"");
		e2.innerHTML="&#150;";
	}else{
		e1.innerHTML="";
		e2.innerHTML="+";
	}
}

function addcomm(id){
	E("commadd"+id).style.cssFloat="";
	E("commadd"+id).innerHTML=(user?
		"<br clear='both'>"+
		"<form onsubmit='return sendcomment("+id+")'>"+
			"<table width='95%' height='25' cellspacing='3' cellpadding='0'>"+
				"<tr valign='middle'>"+
					"<td><input type='text' id='commtext"+id+"' maxlength='1000' style='width:98%'></td>"+
					"<td align='right' width='75'><button type='submit'><div><b>Envoyer</b></div></button></td>"+
				"</tr>"+
			"</table>"+
		"</form>"
	:
		"<a href='javascript:login.open()'>Connectez-vous</a> ou <a href='/inscription'>inscrivez-vous</a> pour ajouter un commentaire."
	);
}

function sendcomment(id){
	var e=E("commtext"+id);
	comments(id,"comm="+U(e.value.replace(/^\s+|\s+$/g,"").substr(0,1000)));
	e.value="";
	return false;
}

/************************************************/

var ext=false;
function flashexternal(){
	ext=true;
}

function setvid(id){
	if(!id && idV)
		return;
	idA=idV=id;
	if(sub)
		loadinfo();
}

function chatpopup(){
	window.open("/chat.php?id="+idS,"endirectchat"+idS,"width=480,height=320");
}
