( function(traitement) { // alert("auto:"+traitement); /* fonction appelée quand jQuery est disponible */ var loader = function(jQueryAlreadyLoaded) { /* évite d'appeler cette fonction plusieurs fois */ if (arguments.callee._executed) return; arguments.callee._executed = true; if (jQueryAlreadyLoaded === true) jQuery_wg(traitement); // on attend que le document soit // ready else { jQuery_wg=jQuery.noConflict(true); traitement(); // on a chargé jQuery dynamiquement, donc le // document est déjà ready } } /* chargement de jQuery */ if(typeof jQuery_wg !=='undefined') { /* cette page utilise déjà jQuery */ loader(true); } else { //alert("load auto"); var s=document.createElement('script'); s.setAttribute('type','text/javascript'); var urlJquery='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'; if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x; var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number if (ieversion<8) urlJquery='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'; } s.setAttribute('src',urlJquery); if (s.addEventListener) /* standard */ { s.addEventListener("load", loader, false); } else if ("onreadystatechange" in s) /* IE */ { s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { loader(); } }; } else { window.setTimeout(loader(),2500); } document.getElementsByTagName('head')[0].appendChild(s); } } ) ( function() { /*----------*-------------------------*-------------------------------------------------- ' Date | Auteur | Observation '----------*-------------------------*-------------------------------------------------- ' 27/05/09 | Gérald COLLEAUX | - correction : this.image !== "_px_140_.jpg" '---------*-------------------------*--------------------------------------------------*/ /* global jQuery_wg */ function bindClickAuto($div) { jQuery_wg("p:last a", $div).click(function () { var url = jQuery_wg(this).attr("href"); getListeAnnoncesAuto(url, $div); return false; }); } function getListeAnnoncesAuto (url, $div) { /* initialisation du widget : récupération de l'url */ if (url === "") { url = jQuery_wg("span.widgetinfo", $div).text(); /* * cas où la fonction est appelée sur un div déjà * initialisé, ou non widget */ if (url === "") { return; } /* sauvegarde la couleur des liens */ $div.data('linkcolor', jQuery_wg("span.widgetlinkcolor", $div).text()); } /* Masque les résultats précédents */ $div.text("Chargement en cours..."); var linkcolor = $div.data('linkcolor'); /* Récupère la liste des annonces */ // .load(url,bindClickAuto); <- n'est pas cross domain jQuery_wg.ajax({url: url, cache: true, dataType: 'jsonp', jsonp: 'jsoncallback', jsonpCallback: 'fonctiondecallbackAutogetListeAnnoncesAuto', success: function(data) { //alert("auto"); var urlSite = data[0], nbAnnonces = data[1], page = url.match('page=[0-9]+') ? parseInt(url.match('page=([0-9]+)')[1], 10) : 1, nb = parseInt(url.match('nb=([0-9]+)')[1], 10), nbPages = Math.floor(nbAnnonces / nb), i, m, text, link, photo = '', xtor_params; if (nbPages < nbAnnonces / nb) { nbPages += 1; } // Titre $div.empty().append(''); // Liste des annonces jQuery_wg.each(data.slice(2), function () { if (this.image !== '_px_140_.jpg') { photo = ''; } else { photo = ''; } $div.append('

' + photo + '' + this.titre + '
' + this.texte + '

'); }); if (nbPages === 0) { $div.append("

Désolé, il n'y a aucune annonce correspondant à cette recherche.

"); } // Pagination link = ' page :' + ((page > 1) ? link + (page - 1) + '"><<' : ''); // for (i = Math.max(1, page - 5), m = Math.min(Math.max(10, // page + 4), nbPages); i <= m; i += 1) for (i = page, m = Math.min(nbPages, page + 1); i <= m; i += 1) { text += (page === i) ? ' ' + i : link + i + '">' + i + ''; } text += (page < nbPages) ? link + (page + 1) + '">>>

' : '

'; bindClickAuto($div.append(text)); // Liens supplémentaires xtor_params = (url.match('s=(l|r)') && url.match('s=(l|r)')[1] === 'r') ? 'xtor=AL-147&utm_source=recherche&utm_medium=widgetr&utm_campaign=widget' : // widget // de // type // recherche 'xtor=AL-146&utm_source=liste&utm_medium=widgetl&utm_campaign=widget'; // widget // de // type // liste $div.append('' + '+ Consulter toutes les annonces
+ Déposer une annonce'); // Style des liens $div.find("a").css({"color": linkcolor, "font-weight": "bold"}); }}); }; // Lie 2 éléments 'select' pour que les options du fils dépendent // de l'option sélectionnée du père function dependentSelectAuto(pUrlSite, $parent, $child) { var cache = {}; $parent.change(function () { var rubrique = jQuery_wg(this).val(), url = "http://" + pUrlSite + "/scripts/consult/widget/wgt_select.asp?rubrique=" + rubrique, selectedValues = Array.prototype.slice.call(arguments), // Converti // les // param // en // tableau fillSelect; selectedValues.shift(); // supprime l'objet event du tableau fillSelect = function (data) { $child.empty().append(''); jQuery_wg.each(data, function () { $child.append(''); }); if (data.length > 0) { $child.parent().show(); // affiche la div contenant // le