//------------------------------------------------------------------------------------------
// Fonction +/- menu
//------------------------------------------------------------------------------------------

var detect = navigator.userAgent.toLowerCase();
var IE = false;
var firstStart = false;

if (detect.indexOf('msie') >= 0) IE = true;

function toggle(id)
{
	var box = document.getElementById(id);
	var img = document.getElementById(id + 'Img');
	
	if(IE) block = "block";
	else block = "table";
	
	if(box.style.display == "none")
	{
		box.style.display = block;
		img.src = "../style/exp_minus.gif";
	}
	else
	{
		box.style.display = "none";
		img.src = "../style/exp_plus.gif";
	}
}


//------------------------------------------------------------------------------------------
// BBCode B, I, U
//------------------------------------------------------------------------------------------

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.forms['form'].elements['text'];

		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.forms['form'].elements['text'];
		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['form'].elements['text'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}


//------------------------------------------------------------------------------------------
// BBCode URL
//------------------------------------------------------------------------------------------

var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function bbUrl()
{
	// Si on est sur Mozilla
	if (isMozilla) 
	{
		oField = document.forms['form'].elements['text'];

		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)+")");
		var debURL = prompt("URL :","http://");
		var finURL = prompt("Link name :", objectSelected);
			
		oField.value = objectValueDeb + "[url=" + debURL + "]" + finURL + "[/url]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[url=" + debURL + "]" + finURL + "[/url]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	
	// Si on est sur IE
	else
	{
		oField = document.forms['form'].elements['text'];
		var str = document.selection.createRange().text;
		
		var debURL = prompt("URL :","http://");
		
		if (str.length>0)
		{
			// Si on a selectionné du texte
			var sel = document.selection.createRange();
			
			var str = prompt("Link name :", str);
			
			sel.text = "[url=" + debURL + "]" + str + "[/url]";
			sel.collapse();
			sel.select();
		}
		else
		{
			var finURL = prompt("Link name :", "BI Forums");
			
			oField.focus(oField.caretPos);
			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) + "[url=" + debURL + "]" + finURL + "[/url]" + 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['form'].elements['text'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}


//------------------------------------------------------------------------------------------
// BBCode Picture only
//------------------------------------------------------------------------------------------

function bbUrlpic()
{
	document.form.text.value+="<center><img src=\""+prompt("This is used to put a centered image without link. Upload picture in the /news/pics1 directory and add the full filename at the end below to have smth like (./ftp/pics/news/pics1/fdfbanner.jpg) :","./ftp/pics/news/pics1/")+"\"></center>"
}

//------------------------------------------------------------------------------------------
// BBCode thumb + link to Picture only
//------------------------------------------------------------------------------------------

function bbUrlpicurl()
{
	document.form.text.value+="<center><a href=\"./ftp/pics/news/pics1/"+prompt("This is used to add a centered thumbnail that links to the bigger picture. Upload BOTH picture and thumbnail (same file name but with a \"s\" at the end) in the /news/pics1 directory and add the filename below to have smth like \"mypicnice.jpg\"  :","")+"\" target=\"_blank\"><img class=\"bd\" src=\"./ftp/pics/news/pics1/"+prompt("Now enter the thumbnail name, something like \"mypicnices.jpg\"  :","")+"\"></a></center>"
}

//------------------------------------------------------------------------------------------
// Popup messenger
//------------------------------------------------------------------------------------------

function PopupCentrer(page,largeur,hauteur,options)
{
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}


//------------------------------------------------------------------------------------------
// Popup recherche IDs addons
//------------------------------------------------------------------------------------------

function popup(fic)
{ 
	wchoix=window.open(fic,'addons_search','width=540,height=113,top=300,left=100');
}


//------------------------------------------------------------------------------------------
// Activation du champs edit_note pour les news en cliquant sur la checkbox
//------------------------------------------------------------------------------------------

function GereControle(Controleur, Controle, Masquer)
{
	var objControleur = document.getElementById(Controleur);
	var objControle = document.getElementById(Controle);
	
	if (Masquer=='1')
		objControle.style.visibility=(objControleur.checked==true)?'visible':'hidden';
	else
		objControle.disabled=(objControleur.checked==true)?false:true;
	return true;
}


//------------------------------------------------------------------------------------------
// Tri des bannières et groupes menu_links (Haut / Bas)
//------------------------------------------------------------------------------------------

function TriListe(idNomListe,sens)
{
	var objListe = document.getElementById(idNomListe);
	
	if (objListe.options.selectedIndex < 0)
		return false;
	
	var objLigneADeplacer = new Option(objListe.options[objListe.options.selectedIndex].text, objListe.options[objListe.options.selectedIndex].value);
	var iPositionAvant = objListe.options.selectedIndex;
	var iPositionApres=(sens=="+") ? iPositionAvant+1 : iPositionAvant-1;
	
	if ((iPositionApres >= objListe.length) || (iPositionApres<0))
		return false;
	
	var objLigneAChanger = new Option(objListe.options[iPositionApres].text, objListe.options[iPositionApres].value);
	
	objListe.options[iPositionAvant] = objLigneAChanger;
	objListe.options[iPositionApres] = objLigneADeplacer;
	objListe.options[iPositionApres].selected=true;
	objListe.focus();
}


//------------------------------------------------------------------------------------------
// Sélection des groupes menu_links
//------------------------------------------------------------------------------------------

function orderGroups(list)
{
	// On compte le nombre d'item de la liste select
	NbLeft = document.forms[list].elements.position_left.length;
	NbRight = document.forms[list].elements.position_right.length;

	// On lance une boucle pour selectionner tous les items
	for(i=0; i<NbLeft; i++)
	{
		document.forms[list].elements.position_left.options[i].selected = true;
	}
	for(i=0; i<NbRight; i++)
	{
		document.forms[list].elements.position_right.options[i].selected = true;
	}

	// On soumet le formulaire
	document.forms[list].submit();
}


//------------------------------------------------------------------------------------------
// Transfert des groupes menu_links (Droite / Gauche)
//------------------------------------------------------------------------------------------
function transfer(form,menu1,menu2)
{
	for(i=0;i<menu1.length;i++)
	{
		if(menu1.options[i].selected == true)
		{
			var p= new Option(menu1.options[i].text,menu1.options[i].value);
			
			menu2.options[menu2.options.length]=p;
			menu1.options[i] = null;
                                 
			i=i-1;

		}
	}
	
	//Tri de la nouvelle liste
	var tblValue = new Array()
	var tblOption = new array()
	
	for(i=0;i<menu2.length;i++)
	{
		tblValue.push(menu2.options[i].value);
		tblOption.push(menu2.options[i].text);
	}
	
	tblOption.sort();
	
	menu2.options.length=0;
	
	for(i=0;i<tblValue.length;i++)
	{ 
		//Remplit la liste avec les données triées
		var p= new Option(tblOption[i].text,tblValue[i]);
		
		menu2.options[menu2.options.length]=p;
	}
}


//------------------------------------------------------------------------------------------
// Sélection des bannières menu_links
//------------------------------------------------------------------------------------------

function orderBanners(list)
{
	// On compte le nombre d'item de la liste select
	NbBanners = document.forms[list].elements.position.length;
	
	// On lance une boucle pour selectionner tous les items
	for(a=0; a<NbBanners; a++)
	{
		document.forms[list].elements.position.options[a].selected = true;
	}
	
	// On soumet le formulaire
	document.forms[list].submit();
}


//------------------------------------------------------------------------------------------
// Check toutes les checkbox comments admin
//------------------------------------------------------------------------------------------
function checkall()
{
	// Compte tous les éléments du formulaire en numérotant chronologiquement
	temp = document.form.elements.length;
	
	// si la case est cochée
	if (document.form.elements[0].checked)
	{
		// on coche toutes les autres
		for (i=1; i < temp; i++)
		{
			document.form.elements[i].checked=1;
		}
	}
	else
	{
		// on décoche tout
		for (i=1; i < temp; i++)
		{
			document.form.elements[i].checked=0;
		}
	}
}


//------------------------------------------------------------------------------------------
// Total_checkbox += 1 pour cocher la maitre si tout est coché
//------------------------------------------------------------------------------------------

function checkone()
{
	// initialisation du nombre de cases cochées
	m=0; 
	temp = document.form.elements.length;
	
	// on commence à 1 pour ne pas prendre en compte la checkbox principale
	for (i=1; i < temp; i++)
	{ 
		// si la checkbox courante est cochée, on comptabilise
		if (document.form.elements[i].checked)
		{ 
			m++;
		}
	}
	
	// si la checkbox principale est cochée, on la décoche
	if (document.form.elements[0].checked)
	{ 
		document.form.elements[0].checked=0;
	}
	// dans le cas contraire, on vérifie que toutes les checkbox sont cochées
	else
	{ 
		if (m == (temp-1))
		{
			document.form.elements[0].checked=1;
		}
	}
}


//------------------------------------------------------------------------------------------
// Vérification si au moins une cochée pour suppression
//------------------------------------------------------------------------------------------

function verifselection(manageType)
{
	n=0;
	temp = document.form.elements.length;
	
	for (i=1; i< temp;i++)
	{
		if (document.form.elements[i].checked)
		{
			n=n+1;
		}
	}
	
	if (n != 0)
	{
		if (confirm("Do you really want to delete selected comment(s) ?"))
		{
			document.form.type_manage.value = document.form.type_manage.value+manageType;
			document.form.submit();
		} 
	}
	else
	{
		alert("Please select at least one comment !");
	}
} 

//------------------------------------------------------------------------------------------
// Vérification si au moins une cochée pour suppression
//------------------------------------------------------------------------------------------

function verifselection2(manageType)
{
	n=0;
	temp = document.form.elements.length;
	
	for (i=1; i< temp;i++)
	{
		if (document.form.elements[i].checked)
		{
			n=n+1;
		}
	}
	
	if (n != 0)
	{
		document.form.type_manage.value = document.form.type_manage.value+manageType;
		document.form.submit();
	}
	else
	{
		alert("Please select at least one comment !");
	}
}
