// Slideshow (pour les annonces)
function slideAnnoncesSwitch() {
    var $active = $('#slideshow p.active');
    var $next = $active.next();
	if($next.get(0) == null) $next = $( $('#slideshow').children()[0] ) ;

    //$next.addClass('active');

	$active.css({opacity: 1.0})
        .animate({opacity: 0.0}, 1000, function() {
			$active.removeClass('active');
			$next.css({opacity: 0.0})
			.animate({opacity: 1.0}, 1000, function() {
				$next.addClass('active');
        });
	});

}

// ------------------------------------------------------------------------------------------
var minichatupd = new Array();
// Récupération des messages d'un minichat
function majChat(lieu, idDiv, erreur)
{
	$.ajax({
	   type: "POST",
	   url: "ajax_light.php",
	   data: "action=minichat&lieu=" + lieu,
	   success: function(msg){ 
			if(minichatupd[idDiv] == null || msg != minichatupd[idDiv])
			{
				$(idDiv).empty().append(msg);
				minichatupd[idDiv] = msg;
			}
	   }
	 });
	 // Si erreur != "" ...
}	

function submitChat(lieu, idForm, erreur)
{
	// http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
	$.ajax({
	   type: "POST",
	   url: "ajax.php",
	   contentType: "application/x-www-form-urlencoded;charset=iso-8859-1",
	   data: "action=minichat_envoi&mess=" + encodeURIComponent($(idForm).attr("value")) + "&lieu=" + lieu,
	   success: function(msg){ 
			if(msg == "ok")
			{
				$(erreur).empty();
				$(idForm).attr("value", "");
			}
			else
			{
				//$("#message_erreur").empty().append("Erreur: " + msg);
			}
	   },
	   error: 
	   function(){ 
		   $(erreur).empty().append("Le message n\'a pas pu être posté"); 
	   } 
	 });
}

// ------------------------------------------------------------------------------------------

function insertSimpleBBcode(divID, balise, texte)
{
	var obj = $(divID).getSelection();
	if(obj.start == obj.end)
	{
		$(divID).insertAtCaretPos('[' + balise + ']' + texte + '[/' + balise + ']');
	}
	else
	{
		$(divID).replaceSelection('[' + balise + ']' + obj.text + '[/' + balise + ']');
	}
}

function insertDoubleBBcode(divID, balise1, balise2, texte)
{
	var obj = $(divID).getSelection();
	if(obj.start == obj.end)
	{
		$(divID).insertAtCaretPos('[' + balise1 + ']' + texte + '[/' + balise2 + ']');
	}
	else
	{
		$(divID).replaceSelection('[' + balise1 + ']' + obj.text + '[/' + balise2 + ']');
	}
}

// ------------------------------------------------------------------------------------------
function fromRgbToHex(rgbString) // rgb(0, 70, 255)
{
	var parts = rgbString
			.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/)
	;
	// parts now should be ["rgb(0, 70, 255", "0", "70", "255"]

	delete (parts[0]);
	for (var i = 1; i <= 3; ++i) {
		parts[i] = parseInt(parts[i]).toString(16);
		if (parts[i].length == 1) parts[i] = '0' + parts[i];
	}
	var hexString = parts.join(''); // "0070ff"
	return hexString;
}

// ------------------------------------------------------------------------------------------

//Montre / Cache un div (Script Javascript créé par KevBrok ;-))
function DivStatus( nom, numero )
{
	var divID = nom + numero;
	if ( document.getElementById && document.getElementById( divID ) ) // Pour les navigateurs récents
	{
		Pdiv = document.getElementById( divID );
		PcH = true;
	}
	else if ( document.all && document.all[ divID ] ) // Pour les veilles versions
	{
		Pdiv = document.all[ divID ];
		PcH = true;
	}
	else if ( document.layers && document.layers[ divID ] ) // Pour les très veilles versions
	{
		Pdiv = document.layers[ divID ];
		PcH = true;
	}
	else
	{
		
		PcH = false;
	}
	if ( PcH )
	{
		Pdiv.className = ( Pdiv.className == 'cachediv' ) ? '' : 'cachediv';
	}
}

// ------------------------------------------------------------------------------------------

//x = nombre de checkbox; bool = true ou false;
function coche(x,bool)
{
    for (i=0;i<x;i++) 
    {
        t="del[]";
		//alert (t);
		document.del_envoyes.del[t][i].checked=bool;
    }
} // end func

// ------------------------------------------------------------------------------------------

// ==========================
// Script Javascript réalisé par Eric Marcus - Aout 2006
// ==========================
// conteneur = id du bloc (<div>, <p> ...) contenant les checkbox
// a_faire = '0' pour tout décocher
// a_faire = '1' pour tout cocher
// a_faire = '2' pour inverser la sélection
function GereChkbox(conteneur, a_faire) {
var blnEtat=null;
var Chckbox = document.getElementById(conteneur).firstChild;
	while (Chckbox!=null) {
		if (Chckbox.nodeName=="INPUT")
			if (Chckbox.getAttribute("type")=="checkbox") {
				blnEtat = (a_faire=='0') ? false : (a_faire=='1') ? true : (document.getElementById(Chckbox.getAttribute("id")).checked) ? false : true;
				document.getElementById(Chckbox.getAttribute("id")).checked=blnEtat;
			}
		Chckbox = Chckbox.nextSibling;
	}
}

function cocher_tout_combats( type , etat)
{
var nombre = document.getElementById("nb_combats").value;
for(i=0 ; i<nombre ; i++)
{
var a = document.getElementById(type+"_"+i);
a.checked = etat;
}
} 

// ------------------------------------------------------------------------------------------

//Ouvre la page des archives de news
function ouvrirNews() {p="height=300,width=550,toolbar=no,directories=no,status=no,scrollbars=yes,resizable=no,menubar=no"; news=window.open("news.php","news",p);news.focus(); }

// ------------------------------------------------------------------------------------------

// Script javascript pour insérer du BBCode dans les textes - Merci à http://www.editeurjavascript.com/scripts/scripts_formulaires_3_318.php
var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function storeCaret(selec)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.newsmess.message;

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

	//	alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.newsmess.message;
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + selec.length - r;
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

// ---------------------------------------------------------------------

// Ouvrir un popup "aperçu" du message, pour le formulaire "newsmess"
var url_preview = "apercu.php";
function openPreview()
{
    var w = window.open('', 'apercu', 'location=no,directories=no,status=no,scrollbars=yes,menubar=no,toolbar=no,width=800,height=400');
    if (w)
    {
        var form = document.newsmess;
		form.action = url_preview;
        form.target = 'apercu';
        form.submit();
        form.action = 'mess_news_verif.php';
        form.target = '';
    }
    else
    {
        alert(msgAdBlock);
    }
    return;
}

// -------------------------------------------------------------------

//TICKETS
var height, spacing, speed, direction, stop_time, index, max_height, t, id_ticker, id_ticker_content, id_ticker_block;

function removate(){
	switch ( direction )
	{
		case 'left' :
			$('#ticker > .ticker_content:first').insertAfter('#ticker > .ticker_content:last').css('left', Math.max($('#ticker').innerWidth(), total_width));
			break;

		case 'right' :
			$('#ticker > .ticker_content:last').insertBefore('#ticker > .ticker_content:first').css('left', Math.min(0, new_left)-total_width);
			break;

		case 'top' :
			$('#ticker > .ticker_content:first').insertAfter('#ticker > .ticker_content:last').css('top', total_height);
			break;

		case 'bottom' :
			$('#ticker > .ticker_content:last').insertBefore('#ticker > .ticker_content:first').css('top', (-2)*total_height);
	}

	index = ( direction == 'left' || direction == 'top' ) ? 0 : ( direction == 'right' ? $('#ticker > .ticker_content > div').length-1 : $('#ticker > .ticker_content:gt(0)').find(' > div').length );

	ticker_mvt();
}

function sleep(){
	var space = 1;
	switch ( direction )
	{
			case 'left' :
				space = parseInt($('#ticker > .ticker_content:last').css('left'));
				break;

			case 'right' :
				space = $('#ticker').innerWidth()-(parseInt($('#ticker > .ticker_content:first').css('left'))+total_width);
				break;

			case 'top' :
				space = parseInt($('#ticker > .ticker_content:last').css('top'));
				break;

			case 'bottom' :
				space = (-1)*parseInt($('#ticker > .ticker_content:eq(1)').css('top'));
				break;
	}

	t = setTimeout(space < 1 ? 'removate()' : 'ticker_mvt()', stop_time);
}

function ticker_mvt(){
	if ( stop_time > 0 )
	{
		index += ( direction == 'left' || direction == 'top' ) ? 1 : -1;
		var el = $('#ticker > .ticker_content > div:eq('+index+')');

		switch ( direction )
		{
			case 'left' :
				var space = parseInt(el.parent().css('left'))+parseInt(el.css('left'));
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('#ticker > .ticker_content:first').animate({'left' : '-='+space+'px'}, ms, 'linear');
				$('#ticker > .ticker_content:last').animate({'left' : '-='+space+'px'}, ms, 'linear', sleep);
				break;

			case 'right' :
				var space = $('#ticker').width()-(parseInt(el.parent().css('left'))+parseInt(el.css('left'))+el.width());
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('#ticker > .ticker_content:first').animate({'left' : '+='+space+'px'}, ms, 'linear');
				$('#ticker > .ticker_content:last').animate({'left' : '+='+space+'px'}, ms, 'linear', sleep);
				break;

			case 'top' :
				var space = parseInt(el.parent().css('top'))+parseInt(el.css('top'));
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('#ticker > .ticker_content:first').animate({'top' : '-='+space+'px'}, ms, 'linear');
				$('#ticker > .ticker_content:last').animate({'top' : '-='+space+'px'}, ms, 'linear', sleep);
				break;

			case 'bottom' :
				var space = (-1)*(parseInt(el.parent().css('top'))+parseInt(el.css('top')));
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('.ticker_content:gt(0)').animate({'top' : '+='+space+'px'}, ms, 'linear');
				$('.ticker_content:first').animate({'top' : '+='+space+'px'}, ms, 'linear', sleep);
				break;
		}
	}
	else
	{
		switch ( direction )
		{
			case 'left' :
				var space = parseInt($('#ticker > .ticker_content:last').css('left'));
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('#ticker > .ticker_content:first').animate({'left' : '-='+space+'px'}, ms, 'linear');
				$('#ticker > .ticker_content:last').animate({'left' : '-='+space+'px'}, ms, 'linear', removate);
				break;

			case 'right' :
				var space = $('#ticker').innerWidth()-(parseInt($('#ticker > .ticker_content:first').css('left'))+total_width);
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('#ticker > .ticker_content:first').animate({'left' : '+='+space+'px'}, ms, 'linear');
				$('#ticker > .ticker_content:last').animate({'left' : '+='+space+'px'}, ms, 'linear', removate);
				break;

			case 'top' :
				var space = parseInt($('#ticker > .ticker_content:last').css('top'));
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('#ticker > .ticker_content:first').animate({'top' : '-='+space+'px'}, ms, 'linear');
				$('#ticker > .ticker_content:last').animate({'top' : '-='+space+'px'}, ms, 'linear', removate);
				break;

			case 'bottom' :
				var space = (-1)*parseInt($('#ticker > .ticker_content:eq(1)').css('top'));
				//var ms = (space/$('#ticker').innerWidth())*(1000000/speed);
				var ms = space/speed*1000;
				$('.ticker_content:gt(0)').animate({'top' : '+='+space+'px'}, ms, 'linear');
				$('.ticker_content:first').animate({'top' : '+='+space+'px'}, ms, 'linear', removate);
				break;
		}
	}
}

function ticker_start(h, s, e, d, st){
	height = h; // ticker height
	spacing = s; // Space between 2 messages
	speed = e; // move
	direction = d; // movement direction
	stop_time = st; // Stopping times in milliseconds

	max_height = height;
	$('#ticker_block').show();
	$('#ticker > .ticker_content > div').css({'position' : 'absolute', 'white-space' : 'nowrap'}).each(function(){
		/*$(this).find('div').each(function(){
			max_height = Math.max(max_height, $(this).height()+2);
		});*/
		max_height = Math.max(max_height, $(this).height());
	});
	$('#ticker_container').find('#ticker').andSelf().height(max_height);

	switch ( direction )
	{
		case 'left' :
			total_width = 0;
			$('#ticker > .ticker_content > div').each(function(){
				$(this).css('left', total_width);
				total_width += spacing + $(this).width();
			});
			$('#ticker > .ticker_content').css('left', 0).clone().appendTo($('#ticker')).css('left', Math.max($('#ticker').innerWidth(), total_width));
			break;

		case 'right' :
			$('#ticker > .ticker_content > div').each(function(){
				$(this).prependTo($('#ticker > .ticker_content'));
			});
			total_width = 0;
			$('#ticker > .ticker_content > div').each(function(){
				$(this).css('left', total_width);
				total_width += $(this).width() + spacing;
			});
			new_left = $('#ticker').width()-total_width;
			$('#ticker > .ticker_content').css('left', new_left).clone().prependTo($('#ticker')).css('left', Math.min(0, new_left)-total_width);
			break;

		case 'top' :
			total_height = 0;
			$('#ticker > .ticker_content').width('100%').find(' > div').css({'width':'100%', 'text-align':'center'}).each(function(){
				$(this).css('top', total_height);
				total_height += max_height + spacing;
			});
			$('#ticker > .ticker_content').css('top', 0).clone().appendTo($('#ticker')).css('top', total_height);
			break;

		case 'bottom' :
			$('#ticker > .ticker_content').width('100%').find(' > div').css({'width':'100%', 'text-align':'center'}).each(function(){
				$(this).prependTo($('#ticker > .ticker_content'));
			});
			total_height = 0;
			$('#ticker > .ticker_content > div').each(function(){
				$(this).css('top', total_height);
				total_height += max_height + spacing;
			});
			$('#ticker > .ticker_content').css('top', (-2)*total_height+max_height).clone().appendTo($('#ticker')).css('top',  (-1)*total_height+max_height).clone().appendTo($('#ticker')).css('top', max_height);
			break;

		case 'none' :
			$('#ticker > .ticker_content').width('100%').find(' > div').css({'width':'100%', 'text-align':'center'});
			break;
	}

	if ( direction != 'none' )
	{
		index = ( direction == 'left' || direction == 'top' ) ? 0 : ( direction == 'right' ? $('#ticker > .ticker_content > div').length : $('#ticker > .ticker_content:gt(0)').find(' > div').length );

		$('#ticker').hover(function(){
			$('#ticker > .ticker_content').stop();
			clearTimeout(t);
			index += ( direction == 'left' || direction == 'top' ) ? -1 : 1;
		}, function() {
			ticker_mvt();
		});

		ticker_mvt();
	}
};


