var liste = new Array();
var def_onglet = 'onglet1';

function initialiserOnglet() {
	onglet(def_onglet);
}

function calculMontant(){
var montant = 0.00;
 	var chaine = "^chqu";
   	Expression = new RegExp(chaine);
	var i = 0;

  for (i=0; i<document.listeCheques1.elements.length; i++) {
     if(Expression.test(document.listeCheques1.elements[i].id)){
		if(document.listeCheques1.elements[i].checked==true){
			var index = document.listeCheques1.elements[i].id.split('_')[1];
			montant+=parseFloat(document.getElementById('mc_'+index).value.replace(",","."));
		}
	}
  }
document.getElementById('totalCoche').innerHTML = montant.toFixed(2) +"&nbsp;&euro;";
//alert(montant);

}


function calculMontant2(){
	
	var montant = 0;
    var chaine = "^chqu2";
	    Expression = new RegExp(chaine);
		    var i = 0;

			  for (i=0; i<document.listeCheques2.elements.length; i++) {
		       if(Expression.test(document.listeCheques2.elements[i].id)){
	           if(document.listeCheques2.elements[i].checked==true){
	              var index = document.listeCheques2.elements[i].id.split('_')[1];
	              montant+=parseFloat(document.getElementById('mc2_'+index).value);
	           }
	       }
	     }
	 document.getElementById('totalCoche2').innerHTML = montant.toFixed(2) + "&nbsp;&euro;";

}


function onglet(id) {
	var table;
	var li;
	var id_li;

	for(i = 0; i < liste.length; i++) {
		table = document.getElementById(liste[i]);
		id_li = liste[i] + 'li';
		li = document.getElementById(id_li);
		if(liste[i] != id)	{
			table.style.display = 'none';
			if(li.className == 'onglet_item_selected') {
				li.className = 'onglet_item';
			}
			else if(li.className != 'onglet_item') {
				li.className = 'onglet_action';
			}
		}
		else	{
			table.style.display = 'block';
			if(li.className == 'onglet_item') {
				li.className = 'onglet_item_selected';
			}
			else if(li.className == 'onglet_action') {
				li.className = 'onglet_action_selected';
			}
		}
	}
}

/* ***** DEBUT GESTION MENU **** */
var locked = true;
var activate = false;
function displayMenu(idMenu, force) {
	if (force){
		closeLesMenus();
		
		if (!activate){
			openDiv(idMenu);
			document.getElementById(idMenu).style.position = 'absolute';
			
			locked = false;
			activate = true;
		}else{
			activate = false();
		}
	}else{
		closeLesMenus();
		
		if (activate){
			openDiv(idMenu);
			document.getElementById(idMenu).style.position = 'absolute';
		}
	}
}

var lesIdMenu = new Array();
var nbMenu = 0;

function addMenu(id){
	lesIdMenu[nbMenu] = id;
	nbMenu++;
}

function closeLesMenus(doLock){
	for (i=0; i<nbMenu; i++){
		closeDiv('ul_'+lesIdMenu[i], false);
	}
}

document.onclick = function(){
	if (locked){
		closeLesMenus();
		activate = false;
	}
	locked = true;
};

/* ***** FIN GESTION MENU ***** */

function openDiv(divId) {
	document.getElementById(divId).style.display = 'block';
}

function closeDiv(divId, doEmpty) {
	document.getElementById(divId).style.display = 'none';
	if (doEmpty) {
		document.getElementById(divId).innerHTML = '';
	}
}

function setDate(date, idInput) {
	document.getElementById(idInput).value = date;
}

function inverserSelection(nb) {
	for(var i = 0; i <= nb; i++) {
		var id = 'check_' + i;
		if(document.getElementById(id)) {
			box = document.getElementById(id);
			if(box.checked) {	box.checked = false;	}
			else {				box.checked = true;		}
		}
	}
}

/*
	Previsualisation des lettres
*/

function previewMail(formId, page) {
	form = document.getElementById(formId);
	form.action = "indexA.php"+page;
	form.submit();
}

/* 
	FONCTION DE VALIDATION DE FORMULAIRE
*/

function verif_new_discussion(){
	var sujet=document.getElementById('sujet').value;
	var contenu=document.getElementById('contenu').value;
	var categorie=document.getElementById('categorie').options[document.getElementById('categorie').selectedIndex].value;

	if(!sujet){
		alert("Veuillez saisir le sujet de cette discussion.");
		return false;
	}
	if(categorie==0){
		alert("Veuillez choisir une catégorie");
		return false;
	}
	if(!contenu){
		alert("Veuillez saisir votre message.");
		return false;
	}
}

function verif_discussion_rep(){
	var sujet=document.getElementById('sujet').value;
	var contenu=document.getElementById('contenu').value;
	if(!sujet){
		alert("Veuillez saisir le sujet de cette discussion.");
		return false;
	}
	if(!contenu){
		alert("Veuillez saisir votre message.");
		return false;
	}
}

function verif_mdp_change (){
	var mdp=document.getElementById('pass').value;
	var new_mdp=document.getElementById('new_mdp').value;
	var confirm_mdp=document.getElementById('confirm_mdp').value;

	if(!mdp){
		alert(mdp);
		alert("Veuillez saisir votre mot de passe.");
		return false;
	}
	if(!new_mdp){
		alert("Veuillez saisir votre nouveau mot de passe.");
		return false;
	}
	if(!confirm_mdp){
		alert("Veuillez confirmer votre nouveau mot de passe.");
		return false;
	}
	if(confirm_mdp!=new_mdp){
		alert("Confirmation incorrecte.\nVeuillez entrer un mot de passe et le confirmer.");
		return false;
	}
}

function verif_login_change(){
	var mdp=document.getElementById('mdp').value;
	var new_login=document.getElementById('new_login').value;

	if(!mdp){
		alert("Veuillez saisir votre mot de passe.");
		return false;
	}
	if(!new_login){
		alert("Veuillez saisir votre nouveau login.");
		return false;
	}
}

function verif_connec(){
	var login=document.getElementById('login').value;
	var pass=document.getElementById('pass').value;

	if(!login){
		alert("Veuillez saisir votre login.");
		return false;
	}
	if(!pass){
		alert("Veuillez saisir votre mot de passe.");
		return false;
	}
}

function verif_recherche_mdp(){
	var login=document.getElementById('login').value;
	var mail=document.getElementById('mail').value;
	
	if(!login){
		alert("Veuillez saisir votre login.");
		return false;
	}
	var reg = "[a-zA-Z0-9]+@[a-zA-Z0-9]+[.][a-zA-Z]+";
	var exp = new RegExp("("+reg+")", "gi");
	if(!exp.test(mail)){
		alert("Adresse email invalide.\nVeuillez renseigner l'adresse email.");
		return false;
	}
}

function verif_rib(){
	var banque_value=document.getElementById('rib_banque').value;
	var guichet_value=document.getElementById('rib_guichet').value;
	var code_value=document.getElementById('rib_code').value;
	var cle_value=document.getElementById('rib_cle').value;
	var banque_guichet_reg = "[0-9]";
	var banque_guichet_exp = new RegExp("("+banque_guichet_reg+")", "gi");
	var code_reg = "[a-zA-Z0-9]";
	var code_reg = new RegExp("("+code_reg+")", "gi");
	var cle_reg = "[0-9]";
	var cle_reg = new RegExp("("+cle_reg+")", "gi");

	if(banque_value.length!=5 || !banque_guichet_exp.test(banque_value)){
		alert("Veuillez entrer un code banque correct");
		return false;
	}
	if(guichet_value.length!=5 || !banque_guichet_exp.test(guichet_value)){
		alert("Veuillez entrer un code guichet correct");
		return false;
	}
	if(code_value.length!=11 || !code_reg.test(code_value)){
		alert("Veuillez entrer un code rib correct");
		return false;
	}
	if(cle_value.length!=2 || !cle_reg.test(cle_value)){
		alert("Veuillez entrer une clé rib correct");
		return false;
	}
	return true;
}

function checkNumberOnly(object){
	var cleaned = "";
	var lesChars = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
	for (i=0; i<object.value.length;i++) {
		for (j=0; j<lesChars.length;j++) {
			if (object.value.charAt(i) == lesChars[j]) {
				cleaned += object.value.charAt(i);
			}
		}
	}
	object.value = cleaned;
}

function checkString(id, sizemin, sizemax, base) {
	var input = document.getElementById(id);
	var reg = "([0-9]|[%*?+.=$£;,:/!§°_¤#&@])";
	var exp = new RegExp("("+reg+")", "gi");

	if(exp.test(input.value)) {
		if(base != null) {	input.value = base;	}
		alert("Ce champ ne peut contenir que des lettres.");
	}

	if(sizemin != null && sizemax != null) {
		if(input.value.length < sizemin || input.value.length > sizemax) {
			if(base != null) {	input.value = base;	}
			alert("Ce champ a une taille comprise entre "+sizemin+" et "+sizemax+".");
		}
	}
}

function checkFloat(id,sizemin,sizemax,base){
	var input = document.getElementById(id);
	var reg = "[0-9]?\.?[0-9]";
	var exp = new RegExp("^("+reg+")+$", "gi");

	if(!exp.test(input.value)) {
		if(base != null) {	input.value = base;	}
		else {	checkNumberOnly(input);	}
		alert("Ce champ ne peut contenir qu'une valeur numérique.");
	}

	if(input.value.length < sizemin || input.value.length > sizemax) {
		if(base != null) {	input.value = base;	}
		alert("Ce champ a une taille comprise entre "+sizemin+" et "+sizemax+".");
	}
}

function checkSize(id, sizemin, sizemax){
	var input = document.getElementById(id);
	if(input.value.length < sizemin || input.value.length > sizemax) {
      if(sizemin){
        if(sizemax){alert("Ce champ a une taille comprise entre "+sizemin+" et "+sizemax+".");}
		else{alert("Ce champ doit comporter au minimum "+sizemin+" caractères.");}
 	  }else{
        if(sizemax){alert("Ce champ doit comporter un maximum de "+sizemax+" caractères.");}
      }
	}
}

function checkInt(id, sizemin, sizemax, base) {
	var input = document.getElementById(id);
	var reg = "[0-9]";
	var exp = new RegExp("^("+reg+")+$", "gi");

	if(!exp.test(input.value)) {
		if(base != null) {	input.value = base;	}
		else {	checkNumberOnly(input);	}
		alert("Ce champ ne peut contenir qu'une valeur numérique.");
	}

	if(input.value.length < sizemin || input.value.length > sizemax) {
		if(base != null) {	input.value = base;	}
		alert("Ce champ a une taille comprise entre "+sizemin+" et "+sizemax+".");
	}
}

function checkMail(input, base) {
	var reg = "[a-zA-Z0-9]+@[a-zA-Z0-9]+[.][a-zA-Z]+";
	var exp = new RegExp("("+reg+")", "gi");

	if(!exp.test(input.value)) {
		if(base != null) {	input.value = base;	}
		alert("Ce champ doit contenir une adresse mail valide.");
	}
}

function checkListe(nb) {
	var trouver = false;
	if(nb > 0) {
		var i = 1;
		while(!trouver && i <= nb) {
			var id = 'check_' + i;
			if(document.getElementById(id)) {
				box = document.getElementById(id);
				if(box.checked) {	trouver = true;	}
			}
			i++;
		}
	}

	if(!trouver) {	alert('Aucun élément n\'a été sélectionné. Vous devez cocher au moins un élément !');	}

	return trouver;
}

/**
	@param : l'element a afficher/cacher
	Cette fonction affiche ou cache un element
**/
var isOpenning = false;

function toggleElement(element){
	if(element != null && !isOpenning){
		isOpenning = true;
		if (element.style.display != 'none'){
			if (BrowserDetect.browser == "Firefox"){
				new Effect.BlindUp(element, {duration:0.2});
			}else{
				element.style.display = 'none';
			}
		}else{
			if (BrowserDetect.browser == "Firefox"){
				new Effect.BlindDown(element, {duration:0.2});
			}else{
				element.style.display = '';
			}
		}
		isOpenning = false;
	}else{
		alert('l\'element a cacher est null ... ');
	}
}

/**
	@param : l'identifiant de l'element à afficher/cacher
	Cette fonction affiche ou cache un element
**/
function toggleElementById(id){
	toggleElement(document.getElementById(id));
}

/*
	 Cette fonction permet d'autocompleter des adresses allegro
 */
function allegroCompleter(selectedElement, id_cp, id_ville){
	
	var tabValue = selectedElement.innerHTML.toUpperCase().split("</B> - <I>");
	
	if(tabValue.length == 2){
		$(id_cp).value = tabValue[0].substr(3);
		$(id_ville).value = tabValue[1].substring(0, tabValue[1].length-4);
	}else{
		$(id_cp).select();
	}
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
