var nbrResultParPage = 10;
var nbrDeNumeroAvantApresCourant = 2;
var flag = true;

function getHTTPObject(){
  var xmlhttp = false;
  /*@cc_on
  @if (@_jscript_version >= 5)
     try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (e){
        try{
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E){
           xmlhttp = false;
        }
     }
  @else
     xmlhttp = false;
  @end @*/

  /* on essaie de créer l'objet si ce n'est pas déjà  fait */
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
     try{
        xmlhttp = new XMLHttpRequest();
     }
     catch (e){
        xmlhttp = false;
     }
  }

  if (xmlhttp){
     xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState != 4)
			return;
		if (xmlhttp.status != 200) {
			alert("Erreur Ajax");
			return;
		}
     }
  }
  return xmlhttp;
}

function ask(argv){
	var xmlhttp = getHTTPObject();
	xmlhttp.open("POST", "builder.php", false);
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var request = argv.valeurCodePostal?"&valeurCodePostal="+argv.valeurCodePostal:'';
	request += argv.valeurProvince?"&valeurProvince="+ argv.valeurProvince:'';
	request += argv.valeurSociete?"&valeurSociete="+ argv.valeurSociete:'';
	
    //alert("liste=" + argv.liste+"&valeur="+ argv.valeur+request); 
	xmlhttp.send("liste=" + argv.liste+"&valeur="+ argv.valeur+request);
	return xmlhttp.responseText;
}

function viderListe (idDom){
	idDom = document.getElementById (idDom);
	var node = idDom.firstChild;
	while (node){
		idDom.removeChild (node);
		node = idDom.firstChild
	}
}

function listerRubriques (listeOptions){
	var destination = document.getElementById('liste_rubriques');
	var ligne = document.createElement('div');
	var taille = listeOptions.length;
	if (taille == 1 && listeOptions[0] == 'vide'){
		destination.appendChild(document.createTextNode('Pas de résultat trouvé'));
	}
	else
		for (var i = 0; i < taille; i++){
			if (listeOptions[i]) {
				var ligne = document.createElement ('div')
				
				var texte = listeOptions[i].split (';');
				var temp = texte.length == 2?texte[0]+': '+texte[1]:texte[0];
				
				var lien = document.createElement ('a');
				lien.href = new_action(document.getElementById('liste_provinces').value,document.getElementById('liste_communes').value,texte[1],document.getElementById('searchSociete').value);
				lien.className = 'lienInvisible';
				lien.innerHTML = temp;
				
				var chkbox;
				if (!!(window.attachEvent && !window.opera)){
					chkbox = '<input id="'+texte[0]+'" value="'+temp+'" type="checkbox" name ="listeRubriques" onClick="selectionRubrique()"/>';
					ligne.innerHTML = chkbox;
				}
				else{
					chkbox = document.createElement ('input');
					chkbox.id = texte[0];
					chkbox.value = temp;
					chkbox.type = 'checkbox';
					chkbox.name = "listeRubriques";
					chkbox.setAttribute ("onClick","selectionRubrique()");
					ligne.appendChild(chkbox);
					ligne.appendChild(document.createTextNode(" "));	
				}
				ligne.appendChild(lien);
				destination.appendChild(ligne);
			}
		}
}

function selectionRubrique (){
	var count = 0;	
	var liste = document.annuaire.elements;
	var listeRubriqueTemp = '';
	
	viderListe ('nbrResults');
	
	for (var i = 0; i < liste.length; i++){
		if (liste[i].name.indexOf('listeRubriques') != -1 && liste[i].checked){
			document.getElementById('searchRubrique').value = (liste[i].value.split(': '))[1];
			listeRubriqueTemp += (liste[i].value.split(': '))[1]+",";
			
			var listeTemp = 'clients';
			var valeurProvince = document.getElementById('liste_provinces').value;
			var valeurCodePostal = document.getElementById('liste_codes_postaux').value;
			var valeurSociete = document.getElementById('searchSociete').value;
			var valeurRubrique = (liste[i].value.split(': '))[0];
			if (valeurProvince =='Choisissez')
					valeurProvince = '';
			if (valeurCodePostal =='Choisissez')
					valeurCodePostal = '';
				
			var listeClient = ask({liste: listeTemp, valeur: valeurRubrique, valeurCodePostal: valeurCodePostal, valeurProvince: valeurProvince, valeurSociete: valeurSociete}).split("@/@");
			if (listeClient.length > 1 && listeClient[0] != 'vide')
				count += listeClient.length-1;
		}
	}
	if (listeRubriqueTemp.length > 0)
		listeRubriqueTemp = listeRubriqueTemp.substr (0,listeRubriqueTemp.length-1);
	document.getElementById('nbrResults').appendChild (document.createTextNode ('Nombre de résultat affichable: '+count));
	document.getElementById('listeRubriquesHidden').value = listeRubriqueTemp;
	
}

function loadRubriques (){
    var valeurProvince = document.getElementById('liste_provinces').value;
    if (valeurProvince =='Choisissez')
        valeurProvince = ''; 
	
    if (document.getElementById('searchRubrique').value.length > 2 && flag){
        flag=false; //Permet d'éviter que plusieurs requêtes s'accumulent. une Fois lancé on bloque la ressource. 
            
        var valeurCodePostal = document.getElementById('liste_codes_postaux').value;
		document.getElementById('liste_rubriques').style.display = '';
        var valeurRubrique = document.getElementById('searchRubrique').value;
        var valeurSociete = document.getElementById('searchSociete').value;
		viderListe ('liste_rubriques');
        var listeTemp = 'rubriques';
        var listeOptions = (ask({liste: listeTemp, valeur: valeurRubrique, valeurCodePostal: valeurCodePostal, valeurProvince: valeurProvince, valeurSociete: valeurSociete})).split("@/@");
        listerRubriques(listeOptions);
        
        flag=true; //On libère la ressource
    }
    else
        document.getElementById('liste_rubriques').style.display = 'none';
}

function new_action(url,url2,url3,url4){
	var RegEx1 = new RegExp(/ /gi);
	var RegEx2 = new RegExp(/\(/gi);
	var RegEx3 = new RegExp(/\)/gi);
	var RegEx4 = new RegExp(/&/gi);
	var RegEx5 = new RegExp(/''/gi);
	var RegEx6 = new RegExp(/'/gi);
	var RegEx7 = new RegExp(/\//gi);
	var RegEx8 = new RegExp(/-/gi);
	var RegEx9 = new RegExp(/\./gi);
	
	url = url.replace(RegEx1,'_');
    url = url.replace(RegEx4,'_');
	url = url.replace(RegEx5,"'");
	url = url.replace(RegEx6,'_');
	url = url.replace(RegEx7,'_');
	url = url.replace(RegEx9,'_');
    if(url == "Choisissez") url = "annuaire"; 
    if(url2 != ''){ 
		url2 = url2.replace(RegEx1,'_');
		url2 = url2.replace(RegEx2,'_');
		url2 = url2.replace(RegEx3,'_');
		url2 = url2.replace(RegEx4,'_');
		url2 = url2.replace(RegEx5,"'");
		url2 = url2.replace(RegEx6,'_');
		url2 = url2.replace(RegEx7,'_');
		url2 = url2.replace(RegEx8,'_');
		url2 = url2.replace(RegEx9,'_');
        if (url2 == "Choisissez") url2 = "annuaire";
    }
    if(url3 != ''){ 
		url3 = url3.replace(RegEx1,'_');
		url3 = url3.replace(RegEx2,'_');
		url3 = url3.replace(RegEx3,'_');
		url3 = url3.replace(RegEx4,'_');
		url3 = url3.replace(RegEx5,"'");
		url3 = url3.replace(RegEx6,'_');
		url3 = url3.replace(RegEx7,'_');
		url3 = url3.replace(RegEx8,'_');
		url3 = url3.replace(RegEx9,'_');
        if (url3 == "Choisissez") url3 = "annuaire";
    }
	if(url4 && url4 != ''){ 
		url4 = url4.replace(RegEx1,'_');
		url4 = url4.replace(RegEx2,'_');
		url4 = url4.replace(RegEx3,'_');
		url4 = url4.replace(RegEx4,'_');
		url4 = url4.replace(RegEx5,"'");
		url4 = url4.replace(RegEx6,'_');
		url4 = url4.replace(RegEx7,'_');
		url4 = url4.replace(RegEx8,'_');
		url4 = url4.replace(RegEx9,'_');
		if (url4 == "Choisissez") url4 = "annuaire";
    }
    url = url+'-'+url2+'-'+url3+'-'+url4+'.htm';
    document.annuaire.action=url;
	return url;
}

/* Fonction d'ouverture d'une popup */
function OuvrirPop(theURL,features){
    if(theURL.substr(0,4) != "http") splits = theURL.split(".");
    else splits = "NewWindow";
    window.open(theURL,splits[0],features+',top='+((screen.height-600)/2)+',left='+((screen.width-600)/2));
}