1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
| var pages = new Array();
var nbParPage = 21;
/***************************************************
*c'est la fonction qui se connecte a la page passée en parametre, et retourne son contenu.
**************************************************/
//fonction crean un xhr
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...");
xhr = false;
}
return xhr
}
/****
** fonction AJAX pour lancer le script php qui retourne tout les resultat
***/
function cherche(fichier)
{
var xhr = getXhr();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
saveToutePage(xhr.responseXML.documentElement.getElementsByTagName("membre"));
chagerPage(xhr.responseXML.documentElement.getElementsByTagName("page")[0].getAttribute("pageCookie"));
}
else if(xhr.readyState == 4 && xhr.status == 404){
document.getElementById("att").style.display = "none";
document.getElementById("resultat").innerHTML = "erreur le serveur ne repond pas";
}
else
document.getElementById("att").style.display = "";
}
xhr.open("GET",fichier,true);
xhr.send(null);
}
/***
* fonction qui sauvegarde tout le resultat de la recherche dans un tableau
**/
function saveToutePage(docXML){
pages = new Array(new Array());
for( i = 0 ; i < docXML.length ; i++){
var numPage = Math.floor(i/nbParPage);
if(pages.length <= numPage)
pages[numPage] = new Array();
pages[Math.floor(i/nbParPage)][(i%nbParPage)] = new Membre(docXML[i]);
}
var lienPages = "";
//ATTENTION PROBL2ME D'ARRONDI
var nbPage = Math.floor(docXML.length/nbParPage)+1;
//on le fait une foi en dehor de la boucle pour le metre en gra
if(nbPage > 1){
for(var pageAct = 1 ; pageAct <= nbPage ; pageAct++ ){
lienPages += "<a class=\"hrefPage\" href=\"javascript:chagerPage("+pageAct+")\" style=\"margin-right : 2px ; margin-left : 5px ;\">"+pageAct+"</a>";
if(pageAct != nbPage)
lienPages += " | ";
}
}
//on va metre les lien en haut et en bas
document.getElementById("lienbas").innerHTML = lienPages;
document.getElementById("lienhaut").innerHTML = lienPages;
}
/***
* fonction qui modifie la page HTML pur afficher les different resultat
**/
function chargerProfil(num){
for( i = 0 ; i < pages[num].length ; i++)
insererDansDiv(pages[num][i],document.getElementById("profil"+i))
//pour effacer les profil si par exemple il n'y a a que 18 sur une page de 21
for( ; i < nbParPage ; i++)
document.getElementById("profil"+i).style.display = "none";
}
/***
* fonction qui charge la page et change le cookie (appeler l'ors d'un click sur un lien de page
**/
function chagerPage(num)
{
document.getElementById("att").style.display = "";
document.getElementById("resultat").style.display = "none";
chargerProfil(num-1) ;
if(pages.length > 1){
//on va modifier la page en gras
for(var i = 0 ; i < pages.length ; i++){
document.getElementById("lienhaut").getElementsByTagName("a")[i].style.fontWeight = "";
document.getElementById("lienbas").getElementsByTagName("a")[i].style.fontWeight = "";
}
document.getElementById("lienhaut").getElementsByTagName("a")[num-1].style.fontWeight = "bold";
document.getElementById("lienbas").getElementsByTagName("a")[num-1].style.fontWeight = "bold";
}
document.getElementById("att").style.display = "none";
document.getElementById("resultat").style.display = "";
}
/***************** la class Membre ***********************/
function Membre(xml){
this.pseudo = xml.getAttribute("pseudo");
this.onligne = xml.getAttribute("onligne");
this.src = xml.getAttribute("src");
this.sexe = xml.getAttribute("sexe");
this.orientation = xml.getAttribute("orientation");
this.age = xml.getAttribute("age");
this.codePostal = xml.getAttribute("codePostal");
this.ville = xml.getAttribute("ville");
this.dateVisite = xml.getAttribute("dateVisite");
}
/***
* fonction qui insert un memenbre dans un div
**/
function insererDansDiv(membre,div){
div.style.display = "";
var ancien = div.getElementsByTagName("img")[0].src;
if(ancien.substring(ancien.lastIndexOf("/")) != membre.src.substring(membre.src.lastIndexOf("/"))){
div.getElementsByTagName("img")[0].style.display = "none";
div.getElementsByTagName("img")[1].style.display = "";
div.getElementsByTagName("img")[0].src = membre.src;
}
div.getElementsByTagName("p")[0].innerHTML = membre.pseudo;
div.getElementsByTagName("p")[1].innerHTML = membre.sexe;
div.getElementsByTagName("p")[2].innerHTML = membre.orientation;
div.getElementsByTagName("p")[3].innerHTML = membre.age+" ans";
if(membre.codePostal != "")
div.getElementsByTagName("p")[4].innerHTML = membre.codePostal;
if(membre.codePostal != "" && membre.ville != "")
div.getElementsByTagName("p")[4].innerHTML += " , ";
if(membre.ville != "")
div.getElementsByTagName("p")[4].innerHTML += membre.ville;
div.getElementsByTagName("a")[0].href = "afficherProfil.php?pseudoperso="+membre.pseudo;
div.getElementsByTagName("a")[1].href = "afficherProfil.php?pseudoperso="+membre.pseudo;
if(membre.onligne != "")
div.getElementsByTagName("div")[0].style.border = "2px dashed #2B75FF";
else
div.getElementsByTagName("div")[0].style.border = "2px dashed #FF0000";
div.getElementsByTagName("p")[5].innerHTML += membre.dateVisite;
} |
Partager