var map;
var map_center;
var map_proximit;
var map_markers = [];
var nowD = new Date();
var minD = nowD.format("%Y-%m-%d");

window.addEvent('domready', function() {
    /* Gestion du slide de footer */
    if($chk($('footer-sitemap-wrapper'))){
        var footer_slide = new Fx.Slide('footer-sitemap-wrapper');
        var handle = $('footer-sitemap-handle');
        if($chk(handle)){
            footer_slide.addEvent('start', function() {
                if(footer_slide.open) {
                    handle.removeClass('footer-onglet-open');
                    handle.addClass('footer-onglet-close');
                } else {
                    handle.removeClass('footer-onglet-close');
                    handle.addClass('footer-onglet-open');
                }
            });

            handle.addEvent('click', function(event) {
                event.stop();
                footer_slide.toggle();
            });
        }
    }
    /* Gestion des différents tris/vues des listes de produits */
    if($chk($('list-prod-content'))) {//page liste produit
        //les vues
        if($chk($('list-prod-nav-liste'))) {
            $('list-prod-nav-liste').getChildren('a').addEvent('click',show_list_produit_list);
        }
        if($chk($('list-prod-nav-gal'))) {
            $('list-prod-nav-gal').getChildren('a').addEvent('click',show_list_produit_gal);
        }
        if($chk($('list-prod-nav-carte'))) {
            $('list-prod-nav-carte').getChildren('a').addEvent('click',show_list_produit_map);
        }
        //les tris
        if($chk($('list-prod-nav-date'))) {
            $('list-prod-nav-date').getChildren('a').addEvent('click',tri_list_date);
        }
        if($chk($('list-prod-nav-loc'))) {
            $('list-prod-nav-loc').getChildren('a').addEvent('click',tri_list_loc);
        }
        if($chk($('list-prod-nav-piece'))) {
            $('list-prod-nav-piece').getChildren('a').addEvent('click',tri_list_piece);
        }
        if($chk($('list-prod-nav-prix'))) {
            if($chk($('search_lot'))){
                $('list-prod-nav-prix').getChildren('a').addEvent('click',tri_list_prix_lot);	
            }
            else{
                $('list-prod-nav-prix').getChildren('a').addEvent('click',tri_list_prix);
            }
        }
        if($chk($('list-prod-nav-dest'))) {
            $('list-prod-nav-dest').getChildren('a').addEvent('click',tri_list_dest);
        }
        if($chk($('list-prod-nav-gam'))) {
            $('list-prod-nav-gam').getChildren('a').addEvent('click',tri_list_gam);
        }
        if($chk($('list-prod-nav-capa'))) {
            $('list-prod-nav-capa').getChildren('a').addEvent('click',tri_list_capa);
        }

    }
    /* Gestion du formulaire de recherche */
    if($chk($('search'))) {
        //Rechargement des critères en session
        load_session_critere();

        $('search').addEvent('submit',submit_form);
    }
    if($chk($('search_lot'))) {
        //Rechargement des critères en session
        load_session_critere_lot();

        $('search_lot').addEvent('submit',submit_form_lot);
    }

    if($chk($('toggle_select_input'))) {
        $('toggle_select_input').addEvent('click',toggle_select_input);
    }
    if($chk($('select-input-menu'))) {
        //$('select-input-menu').addEvent('mouseleave',close_select_input);
        $$('#select-input-menu a.secteur').addEvent('click',toggle_select_secteur);
        $$('#select-input-menu a.ville').addEvent('click',toggle_select_ville);
    }

    /* Gestion des sélections */
    if($chk($('prod-nav-select'))){
        var le_a = $('prod-nav-select').getElement('a');
        le_a.removeEvents('click');
        if(le_a.hasClass('selected')){
            le_a.addEvent('click', function(e){
                e.stop();
                removeSelection();
            });
        }
        else{
            le_a.addEvent('click', function(e){
                e.stop();
                addSelection();
            });
        }
    }

    /* Gestion des périodes fiche lot */
    if($chk($('SEJOUR_OK'))){
        LoadTarifPeriodeLot();
        $('SEJOUR_OK').addEvent('click', function(e){
            e.stop();
            LoadTarifPeriodeLot();
        });
    }

    replace_mailto();
});

window.addEvent('click', function (e){ 
    if($chk($('select-input-menu'))){
        var mx = e.client.x;
        var my = e.client.y;
        var size = $('select-input-menu').getSize();
        var pos = $('select-input-menu').getPosition();
        var scroolX = window.document.getScrollLeft();
        var scroolY = window.document.getScrollTop();

        if(size.x!=0 && size.y!=0){
            if((pos.x-scroolX) < mx && mx < ((pos.x-scroolX)+size.x) && (pos.y-scroolY) < my && my < ((pos.y-scroolY)+size.y)){
                //Dedans
            }
            else{
                //dehors
                close_select_input();
            }
        }
    }
});


function replace_mailto(){
    $$('a[href^=mailto:]').each(function(a){
        var href_split = a.get('href').split(':');
        var adresse = href_split[1];
        a.set('id','link_'+adresse);
        a.set('href','#link_'+adresse);
        a.removeEvents('click');
        a.click = a.onclick = "";
        a.onclick = "return false;";
        console.log(a.onclick);
        a.addEvent('click',function(){
            CB_Open('href=/include/html/form-contact.php?amb='+$('amb_contact').get('value')+'&mailto='+adresse+',,width=525,,height=530');
        });
    });
}

/** Gestion des différents affichages **/
function reset_current_a_class() {
    $('list-prod-nav-liste').getChildren('a').removeClass('current-select-liste');
    $('list-prod-nav-gal').getChildren('a').removeClass('current-select-gal');
    if($chk($('list-prod-nav-carte'))){
        $('list-prod-nav-carte').getChildren('a').removeClass('current-select-carte');
    }
}

function show_list_produit_list(e) {
    if($chk(e)) {
        e.stop();
    }
    reset_current_a_class();
    $('list-prod-nav-liste').getChildren('a').addClass('current-select-liste');

    if($chk($('list-prod-map'))){
        $('list-prod-map').setStyle('display','none');
    }
    $('list-prod').setStyle('display','block');
    $('list-prod').removeClass('list-prod-gal').addClass('list-prod');
    $('display').set('value','list');
}

function show_list_produit_gal(e) {
    if($chk(e)) {
        e.stop();
    }
    reset_current_a_class();
    $('list-prod-nav-gal').getChildren('a').addClass('current-select-gal');

    if($chk($('list-prod-map'))){
        $('list-prod-map').setStyle('display','none');
    }
    $('list-prod').setStyle('display','block');
    $('list-prod').removeClass('list-prod').addClass('list-prod-gal');
    $('display').set('value','gal');
}

function show_list_produit_map(e) {
    if($chk(e)) {
        e.stop();
    }
    reset_current_a_class();
    $('list-prod-nav-carte').getChildren('a').addClass('current-select-carte');

    if($chk($('list-prod-map'))){
        $('list-prod-map').setStyle('display','block');
    }
    $('list-prod').setStyle('display','none');
    $('display').set('value','map');
    init_google_map();
}

function show_display(display) {
    if(display == 'list') {
        show_list_produit_list();
    } else if(display == 'gal') {
        show_list_produit_gal();
    } else if(display == 'map') {
        show_list_produit_map();
    }
}

function init_google_map() {
    var map_option = {
        zoom: 12,
        center: map_center,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("list-prod-map"), map_option);
    var bounds = new google.maps.LatLngBounds();
    for (var i = 0; i < map_markers.length; i++) {
        var info = map_markers[i];
        var marker_pos = new google.maps.LatLng(info[2], info[3]);
        var un_Marker = new google.maps.Marker({
            position: marker_pos,
            map: map,
            title: info[0],
            icon: 'http://www.gsi-immo.com/template/image/icone/picto-gmap-'+map_proximit+'.png'
        });
        google.maps.event.addListener(un_Marker, 'click', function() {
            parent.location = info[1];
        });
        bounds.extend(marker_pos);
        map.fitBounds(bounds);
    }
}
/** FIN Gestion des différents affichages **/

/** Gestion des différents tris **/
function reset_current_a_class_tri() {
    if($chk($('list-prod-nav-date'))) {
        $('list-prod-nav-date').getChildren('a').removeClass('current-select-date').removeClass('current-invert-select-date');
    }
    if($chk($('list-prod-nav-loc'))) {
        $('list-prod-nav-loc').getChildren('a').removeClass('current-select-loc').removeClass('current-invert-select-loc');
    }
    if($chk($('list-prod-nav-piece'))) {
        $('list-prod-nav-piece').getChildren('a').removeClass('current-select-piece').removeClass('current-invert-select-piece');
    }
    if($chk($('list-prod-nav-prix'))) {
        $('list-prod-nav-prix').getChildren('a').removeClass('current-select-prix').removeClass('current-invert-select-prix');
    }
    if($chk($('list-prod-nav-dest'))) {
        $('list-prod-nav-dest').getChildren('a').removeClass('current-select-dest').removeClass('current-invert-select-dest');
    }
    if($chk($('list-prod-nav-gam'))) {
        $('list-prod-nav-gam').getChildren('a').removeClass('current-select-gam').removeClass('current-invert-select-gam');
    }
    if($chk($('list-prod-nav-capa'))) {
        $('list-prod-nav-capa').getChildren('a').removeClass('current-select-capa').removeClass('current-invert-select-capa');
    }
}

function show_tri(orderby, order){
    reset_current_a_class_tri();
    var classa = '';
    var elementa = null;
    if(orderby=='dateCreation'){
        elementa = $('list-prod-nav-date').getChildren('a');
        classa = 'date';
    }
    else if(orderby=='villeAAfficher'){
        elementa = $('list-prod-nav-loc').getChildren('a');
        classa = 'loc';
    }
    else if(orderby=='pieces'){
        elementa = $('list-prod-nav-piece').getChildren('a');
        classa = 'piece';
    }
    else if(orderby=='montant'){
        elementa = $('list-prod-nav-prix').getChildren('a');
        classa = 'prix';
    }
    else if(orderby=='PRIX_MINI'){
        elementa = $('list-prod-nav-prix').getChildren('a');
        classa = 'prix';
    }
    else if(orderby=='VILLE'){
        elementa = $('list-prod-nav-dest').getChildren('a');
        classa = 'dest';
    }
    else if(orderby=='ECLASSEMENT'){
        elementa = $('list-prod-nav-gam').getChildren('a');
        classa = 'gam';
    }
    else if(orderby=='NBCOUCHAGES'){
        elementa = $('list-prod-nav-capa').getChildren('a');
        classa = 'capa';
    }
    if($chk(elementa)){
        if(order == 'DESC'){
            elementa.addClass('current-select-'+classa).removeClass('current-invert-select-'+classa);
        }
        else{
            elementa.addClass('current-invert-select-'+classa).removeClass('current-select-'+classa);
        }
    }
}

function tri_list(orderby){
    var order = $('order').get('value');
    if(!['DESC','ASC'].contains(order) || orderby!=$('orderby').get('value')){
        order = 'DESC';
    }
    $('orderby').set('value', orderby);
    tri_result(orderby,order);

    if(order=='DESC'){
        order = 'ASC';
    }
    else{
        order = 'DESC';
    }
    $('order').set('value',order);
}

function tri_list_lot(orderby){
    var order = $('order').get('value');
    if(!['DESC','ASC'].contains(order) || orderby!=$('orderby').get('value')){
        order = 'DESC';
    }
    $('orderby').set('value', orderby);
    tri_result_lot(orderby,order);

    if(order=='DESC'){
        order = 'ASC';
    }
    else{
        order = 'DESC';
    }
    $('order').set('value',order);
}

function tri_list_date(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list('dateCreation');
}

function tri_list_loc(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list('villeAAfficher');
}

function tri_list_piece(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list('pieces');
}

function tri_list_prix(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list('montant');
}

function tri_list_prix_lot(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list_lot('PRIX_MINI');
}

function tri_list_dest(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list_lot('VILLE');
}

function tri_list_gam(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list_lot('ECLASSEMENT');
}

function tri_list_capa(e) {
    if($chk(e)) {
        e.stop();
    }
    tri_list_lot('NBCOUCHAGES');
}
/** FIN Gestion des différents tris **/

/** Gestion de l'envoi et traitement de la recherche **/
function load_session_critere(){
    new Request({
        url:'/include/action/ajax.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            var session = json.SESSION;
            //console.log(session);

            if(typeOf(session)=='object'){

                if($chk(session.order) && $chk(session.orderby)){
                    show_tri(session.orderby, session.order);
                }


                if($chk(session.search_type_bien)){
                    $('searchtype-mais').set('checked',session.search_type_bien.contains("1"));
                    $('searchtype-appt').set('checked',session.search_type_bien.contains("2"));
                    $('searchtype-bur').set('checked',session.search_type_bien.contains("3"));
                    $('searchtype-ter').set('checked',session.search_type_bien.contains("4"));
                    $('searchtype-autres').set('checked',session.search_type_bien.contains("5"));
                    $('searchtype-nouv').set('checked',session.search_type_bien.contains("6"));
                }

                var liste_ville = new Hash(session.ville);
                liste_ville.each(function(ville, ok){
                    if(ok==1){
                        $$('#select-input-menu > ul > li > ul > li > a').each(function(a){
                            if(a.get('html')==ville){
                                a.addClass('loc-selected');
                                a.getParent('li').getElement('input').set('value',1);
                            }
                        });
                    }
                });

                $('min_budget').set('value',( !isNaN(parseInt(session.min_budget)) ? parseInt(session.min_budget) : $('min_budget_available').get('value')) );
                $('max_budget').set('value',( !isNaN(parseInt(session.max_budget)) ? parseInt(session.max_budget) : $('max_budget_available').get('value')) );
                $('min_piece').set('value',( !isNaN(parseInt(session.min_piece)) ? parseInt(session.min_piece) : $('min_piece_available').get('value')) );
                $('max_piece').set('value',( !isNaN(parseInt(session.max_piece)) ? parseInt(session.max_piece) : $('max_piece_available').get('value')) );

                $('search-ref').set('value',session.ref);
            }
            reload_label_select_input();
            init_cursor_budget();
            init_cursor_piece();

            //chargement automatique de la liste de resultats
            if($chk($('form_reload')) && $('form_reload').get('value')=='1'){
                submit_form();
            }
        }
    }).send();
}

function load_session_critere_lot(){
    new Request({
        url:'/include/action/ajax_lot.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            var session = json.SESSION;
            //console.log(session);

            if(typeOf(session)=='object'){

                if($chk(session.order) && $chk(session.orderby)){
                    show_tri(session.orderby, session.order);
                }

                if($chk(session.ID_AGENCE) && parseInt(session.ID_AGENCE) && $chk($('search-content-colg'))){
                    $$('#search-content-colg a.lien_agence').removeClass('on');
                    var a_agence = $('lien_agence_'+parseInt(session.ID_AGENCE));
                    if($chk(a_agence)){
                        a_agence.addClass('on');
                    }
                }

                var liste_ville = new Hash(session.ville);
                liste_ville.each(function(ville, ok){
                    if(ok==1){
                        $$('#select-input-menu > ul > li > ul > li > a').each(function(a){
                            if(a.get('html')==ville){
                                a.addClass('loc-selected');
                                a.getParent('li').getElement('input').set('value',1);
                            }
                        });
                    }
                });

                $('min_budget').set('value',( !isNaN(parseInt(session.min_budget)) ? parseInt(session.min_budget) : $('min_budget_available').get('value')) );
                $('max_budget').set('value',( !isNaN(parseInt(session.max_budget)) ? parseInt(session.max_budget) : $('max_budget_available').get('value')) );
                $('min_piece').set('value',( !isNaN(parseInt(session.min_piece)) ? parseInt(session.min_piece) : $('min_piece_available').get('value')) );
                $('max_piece').set('value',( !isNaN(parseInt(session.max_piece)) ? parseInt(session.max_piece) : $('max_piece_available').get('value')) );

                //animaux parking couchages date deb durée confort
                if($chk($('PARKING'))){
                    $('PARKING').set('checked', ($chk(session.PARKING) && session.PARKING==1));
                }
                if($chk($('ANIMAUX'))){
                    $('ANIMAUX').set('checked', ($chk(session.ANIMAUX) && session.ANIMAUX==1));
                }
                if($chk($('NBCOUCHAGES')) && $chk(session.NBCOUCHAGES) && parseInt(session.NBCOUCHAGES)!=0){
                    $('NBCOUCHAGES').set('value', parseInt(session.NBCOUCHAGES));
                }
                if($chk($('DATE_DEB')) && $chk(session.DATE_DEB) && session.DATE_DEB!=''){
                    $('DATE_DEB').set('value', session.DATE_DEB);
                }
                if($chk($('DATE_FIN')) && $chk(session.DATE_FIN) && session.DATE_FIN!=''){
                    $('DATE_FIN').set('value', session.DATE_FIN);
                }

                if($chk($('DUREE')) && $chk(session.DUREE) && session.DUREE!=''){
                    $('DUREE').set('value', session.DUREE);
                }
                if($chk($('CLASSEMENT')) && $chk(session.CLASSEMENT) && session.CLASSEMENT!=''){
                    $('CLASSEMENT').set('value', session.CLASSEMENT);
                }

                $('REF').set('value',session.REF);
            }
            reload_label_select_input();
            init_cursor_budget();
            init_cursor_piece();
            var now_deb = new Date().parse($('DATE_DEB').get('value'));
            if($('DATE_DEB').get('value')==''){
                //prochain samedi
                now_deb = new Date().increment('day', 6-(new Date().getDay()));
                //premier samedi décembre
                //now_deb = new Date().parse('2011-12-03');
                $('DATE_DEB').set('value', now_deb.format('db'));
            }
            new DatePicker('#DATE_DEB', {
                pickerClass: 'datepicker_vista',
                allowEmpty:true,
                timePicker: false,
                format: 'd/m/Y',
                minDate: { date: minD , format: 'Y-m-d' }
            });

            if($chk($('DATE_FIN'))){
                if($('DATE_FIN').get('value')==''){
                    //prochain samedi
                    now_fin = new Date().increment('day', 13-(new Date().getDay()));
                    //premier samedi décembre
                    //now_fin = new Date().parse('2011-12-10');
                    $('DATE_FIN').set('value', now_fin.format('db'));
                }
                new DatePicker('#DATE_FIN', {
                    pickerClass: 'datepicker_vista',
                    allowEmpty:true,
                    timePicker: false,
                    format: 'd/m/Y',
                    minDate: { date: minD , format: 'Y-m-d' }
                });
            }

            //chargement automatique de la liste de resultats
            if($chk($('form_lot_reload')) && $('form_lot_reload').get('value')=='1'){
                submit_form_lot();
            }
        }
    }).send('action=get_session');
}

function submit_form() {
    //$('ajax-loading').addClass('on');
    show_load_button();
    new Request({
        url:'/include/action/ajax.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            traitement_result(json);
        },
        onFailure : function() {
            //$('ajax-loading').removeClass('on');
            hide_load_button();
        }
    }).send($('search').toQueryString());
}

function submit_form_lot() {
    var error = false;
    if($chk($('DATE_DEB'))){
        if($('DATE_DEB').get('value')==''){
            $('search-content-cold').getElements('input')[2].setStyle('border','1px solid red');
            error = true;
        }
        else{
            $('search-content-cold').getElements('input')[2].setStyle('border','none');
            error = false;
        }
    }
    if($chk($('DATE_FIN'))){
        if($('DATE_FIN').get('value')==''){
            $('search-content-cold').getElements('input')[4].setStyle('border','1px solid red');
            error = true;
        }
        else{
            $('search-content-cold').getElements('input')[4].setStyle('border','none');
            error = false;
        }
    }
    if($chk($('DATE_DEB')) && $chk($('DATE_FIN'))){
        if($('DATE_DEB').get('value')>=$('DATE_FIN').get('value')){
            $('search-content-cold').getElements('input')[4].setStyle('border','1px solid red');
            error = true;
        }
        else{
            $('search-content-cold').getElements('input')[4].setStyle('border','none');
            error = false;
        }
    }

    if(!error){
        show_load_button();
        new Request({
            url:'/include/action/ajax_lot.php',
            method:'post',
            onSuccess : function(responseText, responseXML) {
                var json = JSON.decode(responseText,true);
                traitement_result_lot(json);
            },
            onFailure : function() {
                hide_load_button();
            }
        }).send($('search_lot').toQueryString());
    }
}

function switch_page(element, page) {
    if($chk(element) && element!=0) {
        var page = parseInt(element.target.get('class').replace('page_',''));
    }
    //$('ajax-loading').addClass('on');
    show_load_button();
    //scroll to head
    new Fx.Scroll(window).toElement($('list-prod-header-top'));
    new Request({
        url:'/include/action/ajax.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            traitement_result(json);
        },
        onFailure : function() {
            //$('ajax-loading').removeClass('on');
            hide_load_button();
        }
    }).send('action=switch_page&limit_start='+((page-1)*9)+'&display='+$('display').get('value'));
    //console.log('switch',page, 'start',((page-1)*9));
}

function switch_page_lot(element, page) {
    if($chk(element) && element!=0) {
        var page = parseInt(element.target.get('class').replace('page_',''));
    }
    show_load_button();
    //scroll to head
    new Fx.Scroll(window).toElement($('ANIMAUX'));
    new Request({
        url:'/include/action/ajax_lot.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            traitement_result_lot(json);
            //scroll to head
        },
        onFailure : function() {
            hide_load_button();
        }
    }).send('action=switch_page&limit_start='+((page-1)*9)+'&display='+$('display').get('value'));
    //console.log('switch',page, 'start',((page-1)*9));
}

function switch_agence(id_agence){
    new Request({
        url:'/include/action/ajax_lot.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            if($('current_page')!=$('id_page_reserver')){
                parent.location = $('url_page_reserver').get('value');
            }
            else{
                parent.location.reload();
            }
        }
    }).send('action=switch_agence&current_page='+$('current_page').get('value')+'&ID_AGENCE='+id_agence);
}

function tri_result(orderby, order) {
    //$('ajax-loading').addClass('on');
    show_load_button();
    new Request({
        url:'/include/action/ajax.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            traitement_result(json);
        },
        onFailure : function() {
            //$('ajax-loading').removeClass('on');
            hide_load_button();
        }
    }).send('action=order&orderby='+orderby+'&order='+order+'&display='+$('display').get('value'));
}

function tri_result_lot(orderby, order) {
    show_load_button();
    new Request({
        url:'/include/action/ajax_lot.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            traitement_result_lot(json);
        },
        onFailure : function() {
            hide_load_button();
        }
    }).send('action=order&orderby='+orderby+'&order='+order+'&display='+$('display').get('value'));
}

function reset_form() {
    //$('ajax-loading').addClass('on');
    show_load_button();
    new Request({
        url:'/include/action/ajax.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            parent.location.reload();
        },
        onFailure : function() {
            //$('ajax-loading').removeClass('on');
            hide_load_button();
        }
    }).send('action=reset&limit_start=0&display='+$('display').get('value'));
}

function reset_form_lot() {
    show_load_button();
    new Request({
        url:'/include/action/ajax_lot.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            parent.location.reload();
        },
        onFailure : function() {
            hide_load_button();
        }
    }).send('action=reset&limit_start=0&display='+$('display').get('value'));
}

function traitement_result(json) {
    //console.log(json);

    if(json.SWITCH_PAGE_URL !='') {
        parent.location = json.SWITCH_PAGE_URL;
    } else {
        $('list-prod').empty();
        set_prod_pagination((json.LIMIT_START / 9)+1, Math.ceil(json.TOTAL_RESULT/9));
        map_center = new google.maps.LatLng(parseFloat(json.CENTRE_LAT),parseFloat(json.CENTRE_LONG));
        map_markers = [];
        //affichage resultat
        var list_result = json.LIST_RESULT;
        var i=0;
        list_result.each( function(item) {
            var url = item.URL;
            var info_marker = [];
            info_marker[1] = url;

            var div_list_prod_item = new Element('div', {
                'class':'list-prod-item '+(i++ % 2 ? 'odd' : 'even')
            }).inject($('list-prod'));
            var div_list_prod_img = new Element('div', {
                'class':'list-prod-img'
            }).inject(div_list_prod_item);
            var a_image = new Element('a', {
                'href':url
            }).inject(div_list_prod_img);
            new Element('img', {
                'src':item.IMAGE
            }).inject(a_image);

            var div_list_prod_info = new Element('div', {
                'class':'list-prod-info'
            }).inject(div_list_prod_item);
            var h2 = new Element('h2').inject(div_list_prod_info);
            var a = new Element('a', {
                'href':url
            }).inject(h2);
            var strong = new Element('strong', {
                'html':item.villeAAfficher
            }).inject(a);
            info_marker[0] = item.villeAAfficher;
            a.appendText(item.categorie);
            if(parseFloat(item.surface)!=0.0) {
                var lib_surface = (item.categorie!=''?' - ':'')+parseFloat(item.surface)+' m²';
                a.appendText(lib_surface);
                info_marker[0] += lib_surface;
            }
            if(parseInt(item.chambres)!=0) {
                var lib_chb = ' - '+item.chambres + ' chambre'+  s(item.chambres)
                var span = new Element('span', {
                    'class':'list-prod-nbc',
                    'html': lib_chb
                }).inject(a);
                info_marker[0] += lib_chb;
            }
            var p = new Element('p', {
                'html':item.titre
            }).inject(div_list_prod_info);

            info_marker[2] = parseFloat(item.latitude);
            info_marker[3] = parseFloat(item.longitude);

            var div_list_prod_prix = new Element('div', {
                'class':'list-prod-prix'
            }).inject(div_list_prod_item);
            var span_list_prod_ref = new Element('span', {
                'class':'list-prod-ref',
                'html':'ref : '+item.reference
            }).inject(div_list_prod_prix);
            var lib_montant = 'Nous consulter';
            var lib_montant_small = '';
            if(parseFloat(item.montant)){
                if(item.categorieOffre == 'Vente'){
                    lib_montant = format_float(item.montant);
                    lib_montant_small = ' € /FAI';
                }
                else{
                    lib_montant = format_float(parseFloat(item.montant)+parseFloat(item.charges));
                    lib_montant_small = ' € /mois CC';
                }
            }
            var h3 = new Element('h3', {
                'html':lib_montant
            }).inject(div_list_prod_prix);
            if(lib_montant_small!=''){
                var small = new Element('small', {
                    'html':lib_montant_small
                }).inject(h3);
            }

            if((item.typeMandat=='1_exclusif' || item.mandat=='Exclusif' ) && item.PointFort2=='') {
                var p = new Element('p', {
                    'class':'list-infos-exclu'
                }).inject(div_list_prod_prix);
                new Element('img', {
                    'src':'/template/image/design/exclusivite-gsi.png',
                    'alt':'Une Exclusivité GSI Immobilier',
                    'width':'110',
                    'height':'23',
                    'title':'Une Exclusivité GSI Immobilier'
                }).inject(p);
            }
            if(item.PointFort2!='') {
                new Element('p', {
                    'class':'list-infos-plus',
                    'html':item.PointFort2.substr(0,16)
                }).inject(div_list_prod_prix);
            }

            //ajout du marker
            map_markers.push(info_marker);
        });
        show_display(json.DISPLAY);
        show_tri(json.ORDERBY, json.ORDER);
        $('nb_result').set('html',json.TOTAL_RESULT-json.TOTAL_OTHER_RESULT);
        if(json.TOTAL_OTHER_RESULT != 0){
            if(json.NB_OTHER_CRIT != 0){
                $('zone_other_critere').set('html',' et <strong>'+json.TOTAL_OTHER_RESULT+'</strong> qui remplissent au moins '+json.NB_OTHER_CRIT+' critère'+s(json.NB_OTHER_CRIT));
            }
            else{
                $('zone_other_critere').set('html', ' sinon nous avons également <strong>'+json.TOTAL_OTHER_RESULT+'</strong> autre'+s(json.TOTAL_OTHER_RESULT)+' bien'+s(json.TOTAL_OTHER_RESULT));
            }
        }
        else{
            $('zone_other_critere').empty();
        }
        hide_load_button();
        //$('ajax-loading').removeClass('on');
    }
}

function traitement_result_lot(json) {
    //console.log(json);

    if(json.SWITCH_PAGE_URL !='') {
        parent.location = json.SWITCH_PAGE_URL;
    } else {
        $('list-prod').empty();
        set_prod_pagination_lot((json.LIMIT_START / 9)+1, Math.ceil(json.TOTAL_RESULT/9));
        //affichage resultat
        var list_result = json.LIST_RESULT;
        var i=0;
        list_result.each( function(item) {
            var url = item.URL;

            var div_list_prod_item = new Element('div', {
                'class':'list-prod-item '+(i++ % 2 ? 'odd' : 'even')
            }).inject($('list-prod'));
            var div_list_prod_img = new Element('div', {
                'class':'list-prod-img'
            }).inject(div_list_prod_item);
            var a_image = new Element('a', {
                'href':url
            }).inject(div_list_prod_img);
            new Element('img', {
                'src':item.PHOTO1
            }).inject(a_image);

            var div_list_prod_info = new Element('div', {
                'class':'list-prod-info'
            }).inject(div_list_prod_item);
            var h2 = new Element('h2').inject(div_list_prod_info);
            var a = new Element('a', {
                'href':url
            }).inject(h2);
            var strong = new Element('strong', {
                'html':item.LIB_VILLE
            }).inject(a);
            a.appendText(item.LIB_AFF);

            var p = new Element('p', {
                'html':item.TEXTEACCROCHE
            }).inject(div_list_prod_info);

            var div_list_prod_prix = new Element('div', {
                'class':'list-prod-prix'
            }).inject(div_list_prod_item);
            var span_list_prod_ref = new Element('span', {
                'class':'list-prod-ref',
                'html':'ref : '+item.REF_LOT
            }).inject(div_list_prod_prix);
            var lib_montant = 'Nous consulter';
            if(item.PRIX_DISPO.CHECK){
                if(item.PRIX_DISPO.DISPO){
                    if($chk(item.PRIX_DISPO.TC) && parseFloat(item.PRIX_DISPO.TC)!=0){
                        //lib_montant = '<span>Tout compris</span>'+format_float(parseFloat(item.PRIX_DISPO.TC).round(2))+' €<small> / '+json.SESSION.DUREE+' J</small>';
                        lib_montant = '<span class="bouton-tc">'+json.SESSION.DUREE+' J à partir de</span>'+format_float((parseFloat(item.PRIX_DISPO.TC)/parseInt(item.NBCOUCHAGES)).round(2))+' €<span class="prix-par-personne"> / Pers</span>';

                    }
                    else if($chk(item.PRIX_DISPO.PROMO) && parseFloat(item.PRIX_DISPO.PROMO)!=0){
                        lib_montant = '<span>Promo '+parseFloat(item.PRIX_DISPO.PROMO)+'%</span>'+format_float(parseFloat(item.PRIX_DISPO.PRIX).round(2))+' €<small> / '+json.SESSION.DUREE+' J</small>';
                    }
                    else{					
                        lib_montant = '<span>disponible à </span>'+format_float(parseFloat(item.PRIX_DISPO.PRIX).round())+' €<small> / '+json.SESSION.DUREE+' J</small>';
                    }
                }
                else{
                    lib_montant = 'Nous consulter';
                }
            }
            else if(parseInt(item.PRIX_DISPO.APARTIR)!=0){
                lib_montant = '<span>à partir de</span> '+format_float(parseFloat(item.PRIX_DISPO.APARTIR).round())+' €<small> / 7 J</small>';
            }

            var h3 = new Element('h3', {'html':lib_montant}).inject(div_list_prod_prix);

            if(parseFloat(item.PRIX_DISPO.TC)==0){
                new Element('p', {
                    'class':'list-infos-exclu',
                    'html':'Gamme '+item.CLASSEMENT.toLowerCase()
                }).inject(div_list_prod_prix);
            }

        });
        hide_load_button();
        show_display(json.DISPLAY);
        show_tri(json.ORDERBY, json.ORDER);
        $('nb_result').set('html',json.TOTAL_RESULT);
    }
}

function show_load_button(){
    if($chk($('send-search')) && $chk($('send-ajaxload'))){
        $('send-search').hide();
        $('send-ajaxload').show();
    }
    if($chk($('SEJOUR_OK')) && $chk($('SEJOUR_OK-ajaxload'))){
        $('SEJOUR_OK').hide();
        $('SEJOUR_OK-ajaxload').setStyle('display','inline-block');
    }
}

function hide_load_button(){
    if($chk($('send-search')) && $chk($('send-ajaxload'))){
        $('send-search').show();
        $('send-ajaxload').hide();
    }
    if($chk($('SEJOUR_OK')) && $chk($('SEJOUR_OK-ajaxload'))){
        $('SEJOUR_OK').show();
        $('SEJOUR_OK-ajaxload').hide();
    }
}
/** Gestion de l'envoi et traitement de la recherche **/

/** Gestion de la pagination **/
function set_prod_pagination(page, max_page) {
    $('list-prod-footer').getChildren('a.list-prod-pagi-prec').removeEvents('click').setStyle('visibility','hidden');
    $('list-prod-footer').getChildren('a.list-prod-pagi-suiv').removeEvents('click').setStyle('visibility','hidden');
    var zone_page = $('list-prod-footer').getElement('p.list-prod-pagi').empty();

    if(page>1) {
        $('list-prod-footer').getChildren('a.list-prod-pagi-prec').addEvent('click', function() {
            switch_page(0, page-1)
        }).setStyle('visibility','visible');
    }
    for(var i = 1; i<=max_page;i++) {

        if(page==i) {//actuelle
            if(max_page==1) {//une seule
                zone_page.appendChild(new Element('span',{'class':'pagi-current','html':'Une seule page'}));
            } else {
                new Element('a', {
                    'class':'page_'+i+' pagi-current',
                    'html':i
                }).inject(zone_page);
                zone_page.appendText(' ');
            }
        } else if([1,2,page-2, page-1, page+1, page+2, max_page-1, max_page].contains(i)) {
            var a = new Element('a', {
                'class':'page_'+i,
                'html':i,
                'events': {
                    'click':switch_page
                }
            }).inject(zone_page);
            zone_page.appendText(' ');
        } else if(i==3 || i==(page+3)) {
            zone_page.appendText('... ');
        }
    }
    if(page<max_page) {
        $('list-prod-footer').getChildren('a.list-prod-pagi-suiv').addEvent('click', function() {
            switch_page(0, page+1)
        }).setStyle('visibility','visible');
    }
}

function set_prod_pagination_lot(page, max_page) {
    $('list-prod-footer').getChildren('a.list-prod-pagi-prec').removeEvents('click').setStyle('visibility','hidden');
    $('list-prod-footer').getChildren('a.list-prod-pagi-suiv').removeEvents('click').setStyle('visibility','hidden');
    var zone_page = $('list-prod-footer').getElement('p.list-prod-pagi').empty();

    if(page>1) {
        $('list-prod-footer').getChildren('a.list-prod-pagi-prec').addEvent('click', function() {
            switch_page_lot(0, page-1)
        }).setStyle('visibility','visible');
    }
    for(var i = 1; i<=max_page;i++) {

        if(page==i) {//actuelle
            if(max_page==1) {//une seule
                zone_page.appendChild(new Element('span',{'class':'pagi-current','html':'Une seule page'}));
            } else {
                new Element('a', {
                    'class':'page_'+i+' pagi-current',
                    'html':i
                }).inject(zone_page);
                zone_page.appendText(' ');
            }
        } else if([1,2,page-2, page-1, page+1, page+2, max_page-1, max_page].contains(i)) {
            var a = new Element('a', {
                'class':'page_'+i,
                'html':i,
                'events': {
                    'click':switch_page_lot
                }
            }).inject(zone_page);
            zone_page.appendText(' ');
        } else if(i==3 || i==(page+3)) {
            zone_page.appendText('... ');
        }
    }
    if(page<max_page) {
        $('list-prod-footer').getChildren('a.list-prod-pagi-suiv').addEvent('click', function() {
            switch_page_lot(0, page+1)
        }).setStyle('visibility','visible');
    }
}
/** FIN Gestion de la pagination **/

/** Gestion des elements de formulaires **/
function toggle_select_input(e) {
    e.stop();
    if($('select-input-menu').getStyle('display')=='block') {
        close_select_input();

    } else {
        $('select-input-menu').setStyle('display','block');
        $('select-menu-toggler').addClass('close');
        $('toggle_select_input').getElement('p').set('html','Cliquez ici pour refermer');
    }
}

function close_select_input(){
    $('select-input-menu').setStyle('display','none');
    $('select-menu-toggler').removeClass('close');
    reload_label_select_input();
}

function reload_label_select_input(){
    var nb_secteur = parseInt($chk($$('#select-input-menu > ul > li > a.loc-selected'))?$$('#select-input-menu > ul > li > a.loc-selected').length:0);
    var nb_ville = parseInt($chk($$('#select-input-menu > ul > li > ul > li > a.loc-selected'))?$$('#select-input-menu > ul > li > ul > li > a.loc-selected').length:0);
    var lib = '';
    if(nb_secteur!=0 || nb_ville!=0){
        if(nb_secteur!=0){
            lib = lib + nb_secteur + ' secteur' + s(nb_secteur);
        }
        if(nb_ville!=0){
            lib = lib + (nb_secteur!=0?' et ':'') + nb_ville + ' ville' + s(nb_ville);
        }
        lib = lib + ' sélectionné'+(nb_secteur!=0?'':'e')+s(nb_secteur+nb_ville);
    }
    else{
        lib = 'Sélectionner une ville ou un secteur';
    }
    $('toggle_select_input').getElement('p').set('html',lib);
}

function toggle_select_secteur(e) {
    if(e.target.hasClass('loc-selected')) {
        //on déselectionner
        e.target.removeClass('loc-selected');
        e.target.getParent('li').getElements('ul li').each( function(li_ville) {
            li_ville.getChildren('a').removeClass('loc-selected');
            li_ville.getChildren('input').set('value',0);
        });
    } else {
        //on sélection
        e.target.addClass('loc-selected');
        e.target.getParent('li').getElements('ul li').each( function(li_ville) {
            li_ville.getChildren('a').addClass('loc-selected');
            li_ville.getChildren('input').set('value',1);
        });
    }

}

function toggle_select_ville(e) {
    if(e.target.hasClass('loc-selected')) {
        //on déselectionner
        e.target.removeClass('loc-selected');
        e.target.getParent('li').getChildren('input').set('value',0);
    } else {
        //on sélection
        e.target.addClass('loc-selected');
        e.target.getParent('li').getChildren('input').set('value',1);
    }
}

function init_cursor_budget() {
    //var start = 0;
    var start = parseInt($('min_budget_available').get('value'));
    var end = parseInt($('max_budget_available').get('value'));
    var round_num = parseInt($('round_num_budget').get('value'));

    var min = parseInt($('min_budget').get('value'));
    var max = parseInt($('max_budget').get('value'));

    new Slider($('barre_budget'), $('cursor_min_budget'),$('barre_budget_mask'), {
        start: start,
        end: end,
        isinit:false,
        offset:0,
        knobheight:13,
        knobwidth:47,
        snap:true,
        numsteps:parseInt((end-start)/round_num),
        onChange: function(pos) {
            var min_pos = pos.minpos - (pos.minpos%round_num);
            var max_pos = pos.maxpos - (pos.maxpos%round_num);

            $('min_budget_label').set('html',format_float(min_pos));
            $('min_budget').set('value',min_pos);
            $('max_budget_label').set('html',format_float(max_pos));
            $('max_budget').set('value',max_pos);
        }
    }, $('cursor_max_budget')).setMin(min).setMax(max);
    $('min_budget_label').set('html',format_float(min));
    $('max_budget_label').set('html',format_float(max));
}

function init_cursor_piece() {
    //var start = 0;
    var start = parseInt($('min_piece_available').get('value'));
    var end = parseInt($('max_piece_available').get('value'));

    var min = parseInt($('min_piece').get('value'));
    var max = parseInt($('max_piece').get('value'));

    new Slider($('barre_nb_piece'), $('cursor_min_piece'),$('barre_nb_piece_mask'), {
        start: start,
        end: end,
        isinit:false,
        offset:0,
        knobheight:13,
        knobwidth:47,
        snap:true,
        numsteps:parseInt((end-start)),
        onChange: function(pos) {			
            $('min_piece_label').set('html',pos.minpos);
            $('min_piece').set('value',pos.minpos);
            $('max_piece_label').set('html',pos.maxpos);
            $('max_piece').set('value',pos.maxpos);
        }
    }, $('cursor_max_piece')).setMin(min).setMax(max);
    $('min_piece_label').set('html',min);
    $('max_piece_label').set('html',max);
}
/** FIN Gestion des elements de formulaires **/

/** Gestion des la selection **/
function addSelection(){
    var id_selection = $('ID_SELECTION').get('value');
    var type_selection = $('SELECTION_TYPE').get('value');
    var le_a = $('prod-nav-select').getElement('a');
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            le_a.addClass('selected').set('html','Retirer de la sélection');
            le_a.removeEvents('click');
            le_a.addEvent('click', function(e){
                e.stop();
                removeSelection();
            });
        }
    }).send('TYPE_FORM=add_selection&ID='+id_selection+'&type_selection='+type_selection);
}

function removeSelection(){
    var id_selection = $('ID_SELECTION').get('value');
    var type_selection = $('SELECTION_TYPE').get('value');
    var le_a = $('prod-nav-select').getElement('a');
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            le_a.removeClass('selected').set('html','Ajouter à la sélection');
            le_a.removeEvents('click');
            le_a.addEvent('click', function(e){
                e.stop();
                addSelection();
            });
        }
    }).send('TYPE_FORM=remove_selection&ID='+id_selection+'&type_selection='+type_selection);
}

function remove_my_selection(id, type){
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            parent.location.reload();
        }
    }).send('TYPE_FORM=remove_selection&ID='+id+'&type_selection='+type);
}
/** FIN Gestion des la selection **/

/** Gestion des alertes **/
function DesactiveAlert(id){
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var result = JSON.decode(responseText,true);
            if($chk(result)){
                if(result.RESULT==0){
                    alert(result.ERROR);
                }
                else{
                    parent.location.reload();
                }
            }
        }
    }).send('TYPE_FORM=save_alert&ACTIVE=0&ID_CLIENT='+$('ID_CLIENT').get('value')+'&ID='+id);
}

function ActiveAlert(id){
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var result = JSON.decode(responseText,true);
            if($chk(result)){
                if(result.RESULT==0){
                    alert(result.ERROR);
                }
                else{
                    parent.location.reload();
                }
            }
        }
    }).send('TYPE_FORM=save_alert&ACTIVE=1&ID_CLIENT='+$('ID_CLIENT').get('value')+'&ID='+id);
}

function DeleteAlert(id){
    if(confirm('Êtes-vous sûr de vouloir supprimer cet alerte ?')){
        new Request({
            url:'/include/action/trait_form.php',
            method:'post',
            onSuccess : function(responseText, responseXML) {
                var result = JSON.decode(responseText,true);
                if($chk(result)){
                    if(result.RESULT==0){
                        alert(result.ERROR);
                    }
                    else{
                        parent.location.reload();
                    }
                }
            }
        }).send('TYPE_FORM=delete_alert&ID_CLIENT='+$('ID_CLIENT').get('value')+'&ID='+id);
    }
}

function EditAlert(id){
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var result = JSON.decode(responseText,true);
            if($chk(result)){
                if(result.RESULT==0){
                    alert(result.ERROR);
                }
                else{
                    new Fx.Scroll(window).toElement($('ep-content'));
                    $('ALERT_ID').set('value',result.DATA.ID);
                    $('ALERT_NOM').set('value',result.DATA.NOM.replace(/\\("|'|\\)/g, "$1"));
                    $('ALERT_BUDGET_MIN').set('value',result.DATA.BUDGET_MIN);
                    $('ALERT_BUDGET_MAX').set('value',result.DATA.BUDGET_MAX);
                    $('ALERT_PIECE_MIN').set('value',result.DATA.PIECE_MIN);
                    $('ALERT_PIECE_MAX').set('value',result.DATA.PIECE_MAX);

                    $('ALERT_APPARTEMENT').set('checked',result.DATA.APPARTEMENT==1);
                    $('ALERT_MAISON').set('checked',result.DATA.MAISON==1);
                    $('ALERT_TERRAIN').set('checked',result.DATA.TERRAIN==1);
                    $('ALERT_VENTE').set('checked',result.DATA.VENTE==1);
                    $('ALERT_LOCATION').set('checked',result.DATA.LOCATION==1);
                    $('ALERT_PARKING_GARAGE').set('checked',result.DATA.PARKING_GARAGE==1);
                    $('ALERT_BALCON_TERRARE').set('checked',result.DATA.BALCON_TERRARE==1);
                    $('ALERT_CAVE').set('checked',result.DATA.CAVE==1);

                    $$('#select-input-menu > ul > li > ul > li > a').each(function(a){
                        if(result.DATA.VILLES.contains(a.get('html'))){
                            a.addClass('loc-selected');
                            a.getParent('li').getElement('input').set('value',1);
                        }
                        else{
                            a.removeClass('loc-selected');
                            a.getParent('li').getElement('input').set('value',0);

                        }
                    });
                    reload_label_select_input();

                    $('send-alertemail').set('value', 'Modifier mon alerte');
                }
            }
        }
    }).send('TYPE_FORM=get_alert&ID_CLIENT='+$('ID_CLIENT').get('value')+'&ID='+id);
}

function ViewAlertAnnonce(id){
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var result = JSON.decode(responseText,true);

        }
    }).send('TYPE_FORM=view_alert_annonce&ID_CLIENT='+$('ID_CLIENT').get('value')+'&ID='+id);
}
/** FIN Gestion des alertes **/

/** Gestion Deconnexion EP **/
function logout(){
    new Request({
        url:'/include/action/trait_form.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            parent.location = '/';
        }
    }).send('TYPE_FORM=ep_deconnexion');
}
/** FIN Gestion Deconnexion EP **/

/** Gestion des fiches de lots **/
function LoadTarifPeriodeLot(){
    //on regarde les dates
    var now_deb = new Date().parse($('DATE_DEB').get('value'));
    if($('DATE_DEB').get('value')==''){
        //prochain samedi
        now_deb = new Date().increment('day', 6-(new Date().getDay()));
        //premier samedi décembre
        //now_deb = new Date().parse('2011-12-03');
        $('DATE_DEB').set('value', now_deb.format('db'));
    }
    new DatePicker('#DATE_DEB', {
        pickerClass: 'datepicker_vista',
        allowEmpty:true,
        timePicker: false,
        format: 'd/m/Y',
        minDate: { date: minD , format: 'Y-m-d' }
    });

    if($chk($('DATE_FIN'))){
        if($('DATE_FIN').get('value')==''){
            //prochain samedi
            now_fin = new Date().increment('day', 13-(new Date().getDay()));
            //premier samedi décembre
            //now_fin = new Date().parse('2011-12-10');
            $('DATE_FIN').set('value', now_fin.format('db'));
        }
        new DatePicker('#DATE_FIN', {
            pickerClass: 'datepicker_vista',
            allowEmpty:true,
            timePicker: false,
            format: 'd/m/Y',
            minDate: { date: minD , format: 'Y-m-d' }
        });
    }



    show_load_button();
    var p = $('dispo_prix').empty();
    $('ZONE_UP_SELLING').hide();
    var zone_up_selling = $('ZONE_UP_SELLING').getElement('.widget-content').empty();
    new Request({
        url:'/include/action/ajax_lot.php',
        method:'post',
        onSuccess : function(responseText, responseXML) {
            var json = JSON.decode(responseText,true);
            if(json.DISPO){
                if($chk(json.TC) && parseFloat(json.TC)!=0){
                    //new Element('span.affiche-prix-titre',{'html':'Tout compris '}).inject(p);
                    new Element('span.affiche-prix-titre',{'html':json.DUREE+' J disponible à '}).inject(p);
                    //new Element('span.affiche-prix',{'html':format_float(parseFloat(json.TC).round(2))+'€'}).inject(p);
                    new Element('span.affiche-prix',{'html':format_float((parseFloat(json.TC)/parseInt(json.NBCOUCHAGES)).round(2))+'€'}).inject(p);
                    //new Element('span.affiche-prix-semaine',{'html':'/ '+$('DUREE').get('value')+' J'}).inject(p);
                    new Element('span.affiche-prix-semaine',{'html':' / Pers'}).inject(p);
                    // ajout damien 06/09/2001 
                    $('infos-ref').getElement('span').hide();
                }
                else if($chk(json.PROMO) && parseFloat(json.PROMO)!=0){
                    new Element('span.affiche-prix-titre',{'html':'Promo '+parseFloat(json.PROMO)+'%'}).inject(p);
                    new Element('span.affiche-prix',{'html':format_float(parseFloat(json.PRIX).round(2))+'€'}).inject(p);
                    new Element('span.affiche-prix-semaine',{'html':'/ '+json.DUREE+' J'}).inject(p);
                    // ajout damien 06/09/2001
                    $('infos-ref').getElement('span').show();

                }
                else{
                    new Element('span.affiche-prix-titre',{'html':'disponible à '}).inject(p);
                    new Element('span.affiche-prix',{'html':format_float(parseFloat(json.PRIX).round(2))+'€'}).inject(p);
                    new Element('span.affiche-prix-semaine',{'html':'/ '+json.DUREE+' J'}).inject(p);
                    // ajout damien 06/09/2001
                    $('infos-ref').getElement('span').show();

                }
                json.UP_SELLING.each(function(lot_up){
                    var div_up = new Element('div.widget-item.clearfix.relative-ouai').inject(zone_up_selling);
                    var a_glob = new Element('a.coup-coeur-a', {'href':lot_up.URL_LOT}).inject(div_up);
                    var a = new Element('a.lien_img_up_sell.relative-ouai', {'href':lot_up.URL_LOT}).inject(div_up);
                    new Element('img',{'src':lot_up.PHOTO1}).inject(a);
                    var div_up_sub = new Element('div',{'styles':{'float':'left'}}).inject(div_up);
                    var h3 = new Element('h3').inject(div_up_sub);
                    new Element('span',{'html':lot_up.LIB_VILLE}).inject(h3);
                    h3.appendText(' '+lot_up.CLASSEMENT);
                    var h4 = new Element('h4',{'html':lot_up.TYPE_BIEN}).inject(div_up_sub);
                    var p = new Element('p').inject(div_up_sub);
                    var a = new Element('a.lien_txt_up_sell.relative-ouai', {'href':lot_up.URL_LOT, 'html':lot_up.NBPIECES + ' pièce' + s(lot_up.NBPIECES) + ' ' + lot_up.NBCOUCHAGES + ' couchage' + s(lot_up.NBCOUCHAGES)}).inject(p);
                    var p_prix = new Element('p.prix').inject(div_up_sub);
                    new Element('span.affiche-prix-titre',{'html':'à partir '}).inject(p_prix);
                    new Element('span.affiche-prix',{'html':format_float(parseFloat(lot_up.PRIX_DISPO).round(2))+'€'}).inject(p_prix);
                    new Element('span.affiche-prix-semaine',{'html':'/ '+json.DUREE+' J'}).inject(p_prix);
                });

                if(json.UP_SELLING.length!=0){
                    $('ZONE_UP_SELLING').show();
                }
                $('bouton_resa').show();
                $('bouton_contact').hide();
            }
            else{
                new Element('span.affiche-prix',{'html':json.MESSAGE}).inject(p);
                $('bouton_resa').hide();
                $('bouton_contact').show();
            }

            //on vide les presta offertes
            $$('#list_presta_lot p.add').destroy();
            if($chk(json.ARTICLES) && json.ARTICLES.length!=0){
                json.ARTICLES.each(function(art){
                    new Element('p.add',{'styles':{'font-weight':'bold'},'html':art.DESIGNATION}).inject($('list_presta_lot'))
                });
            }
            hide_load_button();
        },
        onFailure : function() {
            new Element('span.affiche-prix',{'html':'Prix indisponible'}).inject(p);
            hide_load_button();
        }
    }).send($('form_check_dispo').toQueryString());
}
/** FIN Gestion des fiches de lots **/

/** Process de resa **/
function change_ass(){
    var check = $('annulation-oui').get('checked');
    $('zone_assurance').empty();
    if(check){
        $('zone_accept_ass').show();
        $('zone_assurance').set('html', '<dl><dt>Assurance annulation : <span> '+format_float($('ASSURANCE_PRIX').get('value'))+' €</span></dt></dl>');
        $('CGV_ASSURANCE').addClass("validate['required']");
        form_options.register($('CGV_ASSURANCE'));
        if($chk($('zone_accompte'))){
            var accompte = (parseFloat($('ASSURANCE_PRIX').get('value')) + parseFloat($('default_accompte').get('value'))).round(2);
            $('accompte').set('value', accompte );
            $('zone_accompte').set('html', format_float(accompte)+' €');
        }
    }
    else{
        $('zone_accept_ass').hide();
        $('CGV_ASSURANCE').removeClass("validate['required']");
        form_options.dispose($('CGV_ASSURANCE'));
        if($chk($('zone_accompte'))){
            var accompte = parseFloat(parseFloat($('default_accompte').get('value'))).round(2);
            $('accompte').set('value', accompte );
            $('zone_accompte').set('html', format_float(accompte)+' €');
        }
    }
    calcul_prix();
}

function change_qte_art(id_art, qte){
    var old_val = parseInt($('ART_QTE_'+id_art).get('value'));
    var new_val = parseInt(old_val+qte);
    if(new_val>=0){
        $('ART_QTE_'+id_art).set('value', new_val);
        refresh_list_select_art();
    }
}

function refresh_list_select_art(){
    var total_prest = 0;
    var zone_prest = $('zone_prestation').empty();
    var les_inputs = new Array();
    $$('div.more-less input').each(function(input){
        var id_art = parseInt(input.get('id').replace('ART_QTE_',''));
        var qte = parseInt(input.get('value'));
        var prix = parseInt($('ART_PRIX_'+id_art).get('value'));
        var nom = $('ART_NOM_'+id_art).get('value');
        if(qte!=0){
            les_inputs.push({'id_art':id_art, 'qte':qte, 'prix':prix, 'nom':nom});
        }
    });
    if(les_inputs.length!=0){
        var dl = new Element('dl').inject(zone_prest);
        var dt = new Element('dt', {'html': 'Prestations complémentaire :'}).inject(dl);
        les_inputs.each(function(input){
            var dd = new Element('dd', {'html': input.nom}).inject(dl);
            var total_art = parseFloat(parseInt(input.qte) * parseFloat(input.prix));
            total_prest += total_art;
            new Element('span', {'html': total_art + ' €'}).inject(dd);
        });
    }
    $('default_prestation').set('value', total_prest);
    calcul_prix();
}

function calcul_prix(){
    $('zone_prix').empty();
    var total = parseFloat($('default_prix').get('value'));
    var check = $('annulation-oui').get('checked');
    if(check){
        total += parseFloat($('ASSURANCE_PRIX').get('value'));
    }
    total += parseFloat($('default_prestation').get('value'));
    $('zone_prix').set('html', '<span>Total : </span> '+format_float(total.round(2))+' €</span>');
    if($chk($('zone_accompte_reste'))){
        var reste = (parseFloat(total) - parseFloat($('accompte').get('value'))).round(2);
        $('zone_accompte_reste').set('html', format_float(reste)+' €');
    }
    $('zone_prix').tween('color', '#FFF', '#FF0').tween('color', '#FF0', '#FFF');
}
/** Fin Process de resa **/

/** Divers **/
function s(nb) {
    return ($chk(nb) && nb>1)?'s':'';
}

function format_float(un_float){
    return parseFloat(un_float).format({decimal: ",", group: ".", decimals: 0 });
}
/** FIN Divers **/

