//drag mini chat
var c_over="main"; //"chro", "groupe", "main" = #NULL
var clic = false;
var scroll=false;
var iscpop=false; // est ce que ça chro pop?
var nbmenu=6;
var isIE=window.ActiveXObject;
var elem; // lelement dragable
var initia=false;
var isclicscroll=false;
var chro_speed=4;
var groupe_speed=12;
var x_chro_default=(screen.width/2)-350;
var y_chro_default=(screen.height/2)-230;
var box;//element qui a le clique
var scroll_pos_min; // minimum de la scrollbar
var chro_min=9;
var groupe_min=9;
var ini_x;
var ini_y;
var mini=0;
var x_max=screen.width;
var y_max=(!isIE)?document.getElementsByTagName("html")[0].offsetHeight-20:document.getElementsByTagName("html")[0].offsetHeight-24;
var chro_scroll_length=84;
var groupe_scroll_length=158;
var y_mo;

document.onmousemove = move;
document.onmousedown=down;
document.onmouseup=release;

if (window.pageYOffset) y_mo = window.pageYOffset;
else if (document.body && document.body.scrollTop) y_mo=document.body.scrollTop;


function main(){
initia=true;
chat_refresh();
setInterval("chat_refresh()", 7500);
}
	
	function init_main_scroll()
	{
	var fd_height=parseInt(document.getElementById("main_cont").offsetHeight);
	fd_height=(fd_height<420)?420:(fd_height+50);
	document.getElementById("cadre_cont_fond").style.height=fd_height+"px";
	}
	
	function init_loginbox()
	  {
	  document.getElementById("login_box").style.left = (screen.width/2)-160/2+"px"; // width login_box
	  document.getElementById("login_box").style.top = (screen.height/2)-200+"px";
	  }
	
	function init_chatbox()
	  {
	  document.getElementById("chat_box").style.left = getcookie("chat", "x")+"px";
	  document.getElementById("chat_box").style.top = getcookie("chat", "y")+"px";
	  }
	
	function init_chrobox()
	  {
	  document.getElementById("chro_box").style.left = getcookie("chro", "x")+"px";
	  document.getElementById("chro_box").style.top = getcookie("chro", "y")+"px";
	  document.getElementById("chro_scroller_drag").style.top="9px";
	  //document.getElementById("chro_cont").style.top="0px";
	  document.getElementById("groupe_scroller_drag").style.top="9px";
	  document.getElementById("groupe_cont").style.top="0px";
	  }
	
	function down(e)
	{
	if(!initia) return false;
	get_mouse(e)
	cible=isIE ? event.srcElement : e.target;
	switch(cible.id)
		{
	case "chro_drag":
	box=cible.id.substring(0, cible.id.indexOf("_"))+"_box";
	startX=mouseX-parseInt(document.getElementById(box).style.left);
	startY=mouseY-parseInt(document.getElementById(box).style.top);
	isclicscroll=false;
	clic=true;
	break;
	case "chro_scroller_drag":
	case "groupe_scroller_drag":
	startY=mouseY-parseInt(document.getElementById(cible.id).style.top);
	box=cible.id.substring(0, cible.id.indexOf("_"))+"_scroll";
	isclicscroll=false;
	clic=true;
	break;
	case "chro_scroller_ruler":
	clic=true; 
	isclicscroll=true;
	glissage=true;
	limit=getoff("chro_box_cadre");
	if((mouseY-limit)>parseInt(document.getElementById("chro_scroller_drag").style.top)+11)
		{
		push_scroll("down" ,"chro", limit, 1);
		}
		else
		{
		push_scroll("up" ,"chro", limit, 1);
		}
	break;
	case "groupe_scroller_ruler":
	clic=true; 
	isclicscroll=true;
	glissage=true;
	limit=getoff("groupe_box_cadre");
	if((mouseY-limit)>parseInt(document.getElementById("groupe_scroller_drag").style.top)+11)
		{
		push_scroll("down" ,"groupe", limit, 1);
		}
		else
		{
		push_scroll("up" ,"groupe", limit, 1);
		}
	break;
	default:
	clic=false;
	isclicscroll=false;
		}
	}
	
/** This is high-level function; REPLACE IT WITH YOUR CODE.
 * It must react to delta being more/less than zero.
 */
function handle(delta)
{
if(!initia) return;
if(c_over=="main") return;

limit=153;
	
	if (delta < 0)
	{
	move_scroll(c_over ,'down');
	}
	else
	{
	move_scroll(c_over ,'up');
	}
}

function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}
	if (delta)
		handle(delta);
}

/* Initialization code. */
if (window.addEventListener)
	window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;

	function get_mouse(e)
	{
	mouseX=isIE ? event.clientX : e.clientX;
	mouseY=isIE ? event.clientY : e.clientY;
	}
	
	function move(e)
	{
	get_mouse(e);
	if(!clic) return;
	switch(box)
	  {
	  case "chro_scroll":
	  case "groupe_scroll":
	  if(isclicscroll) return; // pour eviter le glissement lors du cliking fleche
		move_scroll(cible.id.substring(0, cible.id.indexOf("_")), 1);
		break;
	 case "chro_box":
	 if(box == "chro_box" && mini==1) return;
		dragY = (mouseY - startY);
	    dragX = (mouseX - startX);
	    document.getElementById(box).style.left=dragX+"px";
		document.getElementById(box).style.top=dragY+"px";
	break;
	default:
	   }
	}
	
	function push_scroll(dir, cadre, limit, size)
	{
	if(!clic) return;
	move_scroll(cadre, dir);
	if(glissage==true)
	{
	if(dir=="up")
		{ 
		if((mouseY-limit)>parseInt(document.getElementById(cadre+"_scroller_drag").style.top)) return;
		}
		else
		{
		if((mouseY-limit)<parseInt(document.getElementById(cadre+"_scroller_drag").style.top)+(11*size)) return;
		}
	}
	setTimeout('push_scroll("'+dir+'", "'+cadre+'", "'+limit+'", "'+size+'")', 20);
	}
	
	function move_scroll(cadre, dir)
	{
	if(cadre=="main") return;
	eval('scroll_length='+cadre+'_scroll_length');
	eval('scroll_pos_min='+cadre+'_min');
	eval('scroll_contenu_length='+cadre+'_contenu_length');
	eval('speed='+cadre+'_speed');
	
	if(dir==1)
	  {
	  dragY = (mouseY - startY);
	  scrollY = -(dragY-scroll_pos_min)*scroll_contenu_length/scroll_length;
	  }
	  else
	  {
	  scrollY=parseInt(document.getElementById(cadre+"_cont").style.top);
	  scrollY=(dir=="up")?(scrollY+speed):(scrollY-speed);
	  }
		
	if(scrollY>0) scrollY=0;
	if(scrollY<-scroll_contenu_length) scrollY=-scroll_contenu_length;
	
	if(scroll_contenu_length+scroll_length<scroll_length) scrollY=0;
	
	dragY = (-scrollY)*scroll_length/scroll_contenu_length+9;
	

	document.getElementById(cadre+"_cont").style.top = scrollY + "px";
	document.getElementById(cadre+"_scroller_drag").style.top = dragY + "px";
	}
	
	function release()
	{
	glissage=false;
	clic=false;
	switch(box)
	{
	case "chro_box":
	if(box == "chro_box" && mini==1) return;
	save_cookie(box.substring(0, box.indexOf("_")), parseInt(document.getElementById(box).style.left),parseInt(document.getElementById(box).style.top));
	break;
	default:
	}
	}
	
	function getoff(id)
	{
	var offy=0;
	var ndObject = document.getElementById(id);//(!isIE)?document.getElementById(id):document.all.id;
	while (ndObject)
		{
			offy += ndObject.offsetTop;
			ndObject = ndObject.offsetParent;
		}
		
	if(isIE) offy-=Math.round((y_max-550)/2);
	
	return offy;
	}
	
	function menu_show(n)
	{
	for(var a=1; a<=nbmenu; a++)
		{
		document.getElementById("smenu"+a).style.display=(a == n)?"block":"none";
		}
	}
	
	function menu_hide()
	{
	for(var a=1; a<=nbmenu; a++)
		{
		document.getElementById("smenu"+a).style.display="none";
		}
	}
	
	function show(id)
	{
	document.getElementById(id).style.display="block"; 
	if(id=="guestbook_box") document.getElementById(id+"_fond").style.display="block"; 
	}
	
	function close(id)
	{
	iscpop=false;
	document.getElementById(id).style.display="none";
	if(id=="guestbook_box") document.getElementById(id+"_fond").style.display="none";	
	}
	
	function minimize(id)
	{
	document.getElementById(id).style.width = "200px";
	document.getElementById(id).style.height = "20px";
	if(id=="chro_box") document.getElementById("chro_drag").style.width="100%";
	ini_x=parseInt(document.getElementById(id).style.left);
	ini_y= parseInt(document.getElementById(id).style.top);
	minimize_move(id);
	mini=1;
	}
	
	function minimize_move(id)
	{
	posX=parseInt(document.getElementById(id).style.left);
	if(posX>0)
	  {
	  posY=-((y_max-ini_y)/ini_x) * posX + y_max;
	  posX-=20;
	  document.getElementById(id).style.left = posX+"px";
	  document.getElementById(id).style.top = posY+"px";
	  setTimeout('minimize_move("'+id+'")', 1);
	  }
	  else if(posY<y_max)
	  {
	  document.getElementById(id).style.left = "0px";
	  document.getElementById(id).style.top = y_max+"px";
	  }
	}
	
	function maximize(id)
	{
	maximize_move(id, getcookie(id.substring(0, id.indexOf("_")), "x"), getcookie(id.substring(0, id.indexOf("_")), "y"));
	mini=0;
	}
	
	function maximize_move(id)
	{
	posX=parseInt(document.getElementById(id).style.left);
	if(posX<ini_x)
	  {
	  posY=-((y_max-ini_y)/ini_x) * posX + y_max;
	  if(posY>y_max) posY=y_max;
	  posX+=20;
	  document.getElementById(id).style.left = posX+"px";
	  document.getElementById(id).style.top = posY+"px";
	  setTimeout('maximize_move("'+id+'")', 1);
	  }
	  else
	  {
	  if(id=="chro_box") document.getElementById("chro_drag").style.width="71%";
	  document.getElementById(id).style.left = ini_x+"px";
	  document.getElementById(id).style.top = ini_y+"px";
	  document.getElementById(id).style.width = "700px";
	  document.getElementById(id).style.height = "200px";
	  }
	}
	
	function save_cookie(type, x, y)
	{
	var expire = new Date();
	var unAN = expire.getTime() + (365*24*60*60*1000);
	expire.setTime(unAN);
	document.cookie=type+"_x="+escape(x)+"; expires=" + expire.toGMTString();
	document.cookie=type+"_y="+escape(y)+"; expires=" + expire.toGMTString();
	}
	
	function getcookie(type, p)
	{
	p_max=eval(p+"_max")
	p_name=type+"_"+p;
	var flag_start=document.cookie.indexOf(p_name+"=")
		if(flag_start == -1)
			{
			return eval(p+"_"+type+"_default");
			}
		
	var flag_end=document.cookie.indexOf(";",flag_start + p_name.length+1);
		if (flag_end == -1) flag_end = document.cookie.length;
		
	var val=parseInt(unescape(document.cookie.substring(flag_start + p_name.length+1, flag_end)));
		
	if(!isNaN(val) && val<p_max && val>0)
	    {
		return val;
		}
		else
		{
		return eval(p+"_"+type+"_default");
		}
	}
	
function login_case(switsh)
{
if(switsh==1)
	{
	/*
	document.getElementById("mem_save").innerHTML=document.getElementById("mem_buffer").innerHTML;
	changeOpac(0, "mem_buffer");
	setTimeout('document.getElementById("mem_buffer").innerHTML=document.getElementById("mem_form").innerHTML;',100);
	opacity("mem_buffer",0,99,1000);
	*/
	document.getElementById("mem_form").style.display = "block";
	document.getElementById("mem_buffer").style.display = "none";
	}
	else
	{
	/*
	changeOpac(0, "mem_buffer");
	setTimeout('document.getElementById("mem_buffer").innerHTML=document.getElementById("mem_save").innerHTML;',100);
	opacity("mem_buffer",0,99,1000);
	*/
	document.getElementById("mem_form").style.display = "none";
	document.getElementById("mem_buffer").style.display = "block";
	} 
}


function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
} 

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
	if(isIE)
		{
		//object.filter = "alpha(opacity=" + opacity + ")";
		document.getElementById(id).filters.alpha.opacity=opacity;
		}
} 

//fin drag

function go_url(url)
{
window.open(url);
return false;
}

function addmoteur()
{
window.external.AddSearchProvider("http://www.heavylaw.com/heavylaw.xml");
}

function swish(cadre)
{
c_over=cadre;
}

function adapt_flash()
{
var tab=document.getElementsByTagName("object");
var obj=null;

for(var i=0; i<tab.length; i++)
	{
	obj=tab[i];
	if(obj.id!="defil_cadre")
		{
		obj.innerHTML+='<param name="wmode" value="transparent" />';
		}
	}
	
var tab=document.getElementsByTagName("embed");

for(var i=0; i<tab.length; i++)
	{
	tab[i].wmode="transparent";
	}
}

//ecoute

function fill_desc(day)
{
document.getElementById("description").innerHTML=document.getElementById("day_"+day).innerHTML;
}

function hideall()
{
document.getElementById("description").innerHTML="";
}

//alphabet CHRO
function alpha(id)
{
for(var a=1; a<28; a++)
  {
  document.getElementById("al_"+a).style.fontSize="12px";
  document.getElementById("al_"+a).style.paddingLeft="0px";
  document.getElementById("al_"+a).style.color="#ffffff";
  }
  
if(id=="exit") return;

cible=parseInt(id.substring(3));
  
  if(cible>1)
   {
   document.getElementById("al_"+(cible-1)).style.fontSize="13px";
   document.getElementById("al_"+(cible-1)).style.paddingLeft="3px";
   document.getElementById("al_"+(cible-1)).style.color="#90D08D";
   }
   
  if(cible>2)
    {
    document.getElementById("al_"+(cible-1)).style.fontSize="15px";
    document.getElementById("al_"+(cible-1)).style.paddingLeft="5px";	
	document.getElementById("al_"+(cible-1)).style.color="#59B954";
	}
	
    document.getElementById("al_"+cible).style.fontSize="19px";
    document.getElementById("al_"+cible).style.paddingLeft="7px";
	document.getElementById("al_"+cible).style.color="#079600";
	
 if(cible<27)
  {
  document.getElementById("al_"+(cible+1)).style.fontSize="15px";
  document.getElementById("al_"+(cible+1)).style.paddingLeft="5px";
  document.getElementById("al_"+(cible+1)).style.color="#59B954";
  }
  
  if(cible<26)
   {
  document.getElementById("al_"+(cible+2)).style.fontSize="13px";
  document.getElementById("al_"+(cible+2)).style.paddingLeft="3px";
  document.getElementById("al_"+(cible+2)).style.color="#90D08D";
   }
  
}
//fin alpha

//membres
function mem_pop(n)
{
if(!initia) return false;
if(n!=0)
	{
	document.getElementById("mem_pop").style.display="block";
	ismempop=true;
	mem_move();
	}
	else
	{
	ismempop=false;
	document.getElementById("mem_pop").style.display="none";
	}
}

function mem_move()
{
if(ismempop)
	{
	document.getElementById("mem_pop").style.left=mouseX+20+"px";
	document.getElementById("mem_pop").style.top="570px";
	setTimeout("mem_move()", 10);
	}
}

//chroniques

function chro_pop(n)
{
if(!initia) return false;
document.getElementById("cpop_"+n).style.display="block";
iscpop=true;
chro_move(n);
}

function chro_move(n)
{
if(iscpop)
	{
	document.getElementById("cpop_"+n).style.left=mouseX+20+"px";
	if(mouseY+120>y_max) mouseY=y_max-180;
	document.getElementById("cpop_"+n).style.top=mouseY+10+"px";
	setTimeout("chro_move("+n+")", 10);
	}
}

function chro_hide()
{
iscpop=false;
for(var d=0; d<35; d++)	document.getElementById("cpop_"+d).style.display= 'none';
}

function chro_info(n)
{
document.getElementById("tracklist").style.display=(n>0)?"block":"none";
}

//comm
function comsh(defil)
{
if(document.getElementById("com_form").style.display=="none")
	{
	document.getElementById("com_form").style.display="";
	window.location="#post_com";/*window.scrollBy(0,1000);*/
	}
	else
	{
	document.getElementById("com_form").style.display="none";
	}
}

//guestbook
function valid_guest()
{
document.getElementsByName("mod")[0].value="1";
return true;
}


//conF
function conf(titre)
{
	if(confirm('Voulez-vous vraiment supprimer '+titre+'?'))
		{
		return true
		}
		else
		{
		return false;
		}
}

function decon()
{
	if(confirm('Voulez-vous vraiment vous déconnecter ?'))
		{
		return true
		}
		else
		{
		return false;
		}
}

//adm

function adm_groupe()
{
if(document.getElementById("sgr").value==0)
	{
	document.getElementById("nsgr").disabled=false;
	}
	else
	{
	document.getElementById("nsgr").value="";
	document.getElementById("nsgr").disabled=true;
	}
}

function showhide(a)
{
if (document.getElementById(a).style.display =='')
	{
		document.getElementById(a).style.display = "none";
	}
	else
	{
		document.getElementById(a).style.display="";
	}
}

// AJAX pour Chat

			function getXhr()
			{
			var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				{
				   xhr = new XMLHttpRequest(); 
				}
				else if(window.ActiveXObject)
				{ // Internet Explorer 
				   try {
				   
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } 
						catch (e)
						{
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else
				{ // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...Le chat sera donc désactivé"); 
				   xhr = false; 
				} 
			if(xhr!=null) return xhr;
			}
			
			// Node cleaner
			function go(c)
			{
				if(!c.data.replace(/\s/g,''))
					{
					c.parentNode.removeChild(c);
					}
			}

			function clean(d)
			{		
				var bal=d.getElementsByTagName('*');
				for(i=0;i<bal.length;i++)
				{
					a=bal[i].previousSibling;
					if(a && a.nodeType==3)
						{
						go(a);
						}
					b=bal[i].nextSibling;
					if(b && b.nodeType==3)
						{
						go(b);
						}
				}
				return d;
			} 
			
	function write_chat()
	{
	document.getElementById("subm_chat").disabled=true;
	var message = document.getElementsByName("chat_ecrire")[0].value;
	if(message=="") return;
	message="&chat_ecrire="+escape(message);
	write=getXhr()
			write.onreadystatechange = function()
				{
					if(write.readyState == 4 && write.status == 200)
					{
					document.getElementsByName("chat_ecrire")[0].value="";
					chat_refresh();
					write=false;
					document.getElementById("subm_chat").disabled=false;
					}
				}
	write.open("POST", "/include/xml/w_chat.php", true);
	write.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	write.send(message);
	document.getElementsByName("chat_ecrire")[0].value="Traitement...";
	}

			function chat_refresh()
			{
			
				xchat=getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xchat.onreadystatechange = function()
				{

					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xchat.readyState == 4 && xchat.status == 200)
					{

						reponse = clean(xchat.responseXML.documentElement);
						
						var buffer="";
						var login="";
						var contenu="";
						n=reponse.firstChild; 
					
						for(var a=0; a<15; a++)
						{
						login=n.firstChild.firstChild.nodeValue;
						contenu=n.firstChild.nextSibling.firstChild.nodeValue;
						if(contenu!="  ")
							{
							buffer+="<li class=\"chat_contenu_header\">"+login+"</li>";
							buffer+="<li>"+contenu+"</li>";
							}
						n=n.nextSibling;
						}
	
						document.getElementById("mem_pop").innerHTML=n.firstChild.firstChild.nodeValue;
						document.getElementById("nb_mem").innerHTML=n.firstChild.nextSibling.firstChild.nodeValue;
						document.getElementById("nb_vis").innerHTML=n.firstChild.nextSibling.nextSibling.firstChild.nodeValue;
						
						xchat=false;
						document.getElementById("chat_cont").innerHTML=buffer;
						
					}
				}
				xchat.open("GET","include/xml/chat.php",true);
				xchat.send(null);
			}
			
			function chrobox(gid)
			{
			
			document.getElementById("xml_chroniques").innerHTML='Chargement...';
				xchro=getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xchro.onreadystatechange = function()
				{
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xchro.readyState == 4 && xchro.status == 200)
					{
						rep = clean(xchro.responseXML.documentElement);
						cont=rep.firstChild; //on descend dans Chronique
						document.getElementById("xml_chroniques").innerHTML=cont.firstChild.nodeValue;
					}
				}
				xchro.open("GET","/include/xml/chro.php?id="+gid,true);
				xchro.send(null);
			}
			
			function discbox(id)
			{
			
			document.getElementById("liste_groupes").innerHTML='Chargement...';
				xdisc=getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xdisc.onreadystatechange = function()
				{
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xdisc.readyState == 4 && xdisc.status == 200)
					{
						rep = clean(xdisc.responseXML.documentElement);
						cont=rep.firstChild; //on descend dans Chronique
						document.getElementById("liste_groupes").innerHTML=cont.firstChild.nodeValue;
					}
				}
				xdisc.open("GET","/include/xml/infos_album.php?id="+id,true);
				xdisc.send(null);
			}

