(
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