$(document).ready(function() {
    initFlashs();
    initCombobox();
    initSliders();

    // Gestion des onglets
    $('#tabHeader1').click(function() { setTab(1); });
    $('#tabHeader2').click(function() { setTab(2); });

    // Gestion des sliders
    $('#noscoupsdecoeur').slide({
        customindex: true,
        easing: 'easeInExpo',
        loop: [1, 5000]
    });

    $('#news').slide({
        customindex: true,
        easing: 'easeInExpo'
    });

    $('.photo IMG').click(function() {
        var _src = $(this).attr('src');
        // On récupère le nom du fichier
        var _path = _src.lastIndexOf('/') + 1;
        var _ext = _src.indexOf('.gif');
        var _file = _src.substring(_path, _ext);
        // On affecte l'image
        $('#ctl00_content_ctlImage').css('background-image', 'url(/medias/biens/342x256/' + _file + '.jpg)');
        return false;
    });

    // Gestion du formulaire
    $('#btnRechercher').click(search);

    // Complétion des localités
    $('#ctl00_ctlLocalite').autocomplete('/handler.qry', { width: 251 });

    // Fix du png
    $(document).pngFix();

    // Initialise les valeurs champs
    initFields();

    // Google Analytics    
    try {
        var _pageTracker = _gat._getTracker("UA-12438082-1");
            _pageTracker._trackPageview();
    } 
    catch (err) { }
});

function initCombobox() {
    $("#ctl00_ctlTypeBiens").sexyCombo({ triggerSelected: true, suffix: 'Value' });
    $("#ctl00_ctlTypeBiens").attr("readonly") == true;
    $("#ctl00_ctlNbPiecesMaxi").sexyCombo({ triggerSelected: true, suffix: 'Value' });
    $("#ctl00_ctlNbPiecesMaxi").attr("readonly") == true;
}

/************************************************************/
/* Gère l'onglet courant                                    */
/************************************************************/

var _currentTab = 1;

function setTab(tab) {
    if (tab != _currentTab) {
        // On change l'entête    
        var _el = $('#tabHeader' + tab);
            _el.toggleClass('currentTab');
            _el = $('#tabHeader' + _currentTab);
            _el.toggleClass('currentTab');
            
        _currentTab = tab;
        
        // On change le H2
        $('#aquel').toggleClass('aquelprix');
        $('#aquel').toggleClass('aquelloyer');
        
        // On change les critères de recherche
        setSliderOptions();
        initFields(true);
    }
}

/************************************************************/
/* initialise le flash										*/
/************************************************************/

function initFlashs() {
    if (typeof(window.selectedMenu)=='undefined') selectedMenu = 0;

    var _flashvars = { byPass: true, selectedMenu: selectedMenu }
    var _params = { wmode: 'opaque' };
    
    // Si on a jamais affiché l'animation flash
    if ($.cookie("CIPFlashAnim") == null) {
        $.cookie("CIPFlashAnim", "true", { expires: 7 });
        _flashvars.byPass = false;
    }

    swfobject.embedSWF("/swf/header.swf", "header", 970, 320, "8.0.23", null, _flashvars, _params, null);
}

/************************************************************/
/* initialise le slider du prix        						*/
/************************************************************/

function getTextPrix(value1, value2) {
    var _unite = '&euro; FAI';
    var _multiple = '';
    if (isLoyer()) {
        _unite = '&euro; HC';
    } else {
        _multiple = ' 000';
    }

    var _max = $('#sliderPrix').slider('option', 'max');
    var _text = '';
    if (value1 == 0 && value2 == _max) {
        _text = 'Prix indiff&eacute;rent';
    } else if (value1 == 0) {
        _text = 'au maximum de <b>' + value2 + _multiple + '</b> ' + _unite;
    } else if (value1 == value2 || value2 == _max) {
        _text = 'de <b>' + value1 + _multiple + '</b> ' + _unite;
    } else {
        _text = 'entre <b>' + value1 + _multiple +'</b> et <b>' + value2 + _multiple + '</b> ' + _unite;
    }
    if (value1 !=0 && value2 == _max) _text += ' et <b>plus</b>';
    return _text;
}

function fn(strValue) {
    strValue = strValue.toString();
    var objRegExp = new RegExp('(-?[0-9]+)([0-9]{3})');
    while (objRegExp.test(strValue))
        strValue = strValue.replace(objRegExp, '$1 $2');
    return strValue;
}

function initSliders() {
	$('#sliderPrix').slider({
	    animate: true,
	    range: true,
	    change: function(event, ui) {
	        $('#sliderPrixLabel').html(
                getTextPrix(ui.values[0], ui.values[1])
            );
	    }
	});
    
    setSliderOptions();
}

function isLoyer() {
    return $('#aquel').hasClass('aquelloyer');
}

function setValue(ctl, index) {
    // On récupère le contrôle
    var _obj =  $(ctl).get(0)
    // On obtient le texte de l'index
    var _text = _obj.options[index].text;
    // On définit l'index
    _obj.selectedIndex = index;
}

function setSliderOptions() {
    if (isLoyer()) {
        $('#sliderPrix').slider('option', 'step', 50);
        $('#sliderPrix').slider('option', 'min', 200);
        $('#sliderPrix').slider('option', 'max', 1500);
    } else {
        $('#sliderPrix').slider('option', 'step', 10);
        $('#sliderPrix').slider('option', 'min', 0);
        $('#sliderPrix').slider('option', 'max', 700);
    }
}

/************************************************************/
/* recherche d'annonces              						*/
/************************************************************/

function search() {
    $('#ctl00_ctlTypeAnnonce').val(isLoyer() ? 1 : 2);
    $('#ctl00_ctlPrixMini').val($('#sliderPrix').slider('values', 0));
    $('#ctl00_ctlPrixMaxi').val($('#sliderPrix').slider('values', 1));

    var _form = $('form');
        _form.attr('action', '/annonces.html');
        _form.submit();
        
    return false;
}

function isSet(value1, value2) {
    var _el = $(value1).val();
    return (_el!='' && typeof(_el)!='undefined') ? _el : value2;
}

function initFields(bypass) {
    if (!bypass) setTab(isSet('#ctl00_ctlTypeAnnonce', 1));
    if (isLoyer()) {
        $('#sliderPrix').slider('values', 1, isSet('#ctl00_ctlPrixMaxi', 500));
        $('#sliderPrix').slider('values', 0, isSet('#ctl00_ctlPrixMini', 200));
    } else {
        $('#sliderPrix').slider('values', 1, isSet('#ctl00_ctlPrixMaxi', 700));
        $('#sliderPrix').slider('values', 0, isSet('#ctl00_ctlPrixMini', 40));
    }
}