$(function() {

    $('body').addClass('hasJs');


    DD_roundies.addRule('.rounded-r3', '3px');
    DD_roundies.addRule('.rounded-r5', '5px');
    DD_roundies.addRule('.rounded-r10', '10px');


    $('#header .search .keyword').bind({
        focus: function() {
            if($(this).val() == 'Effectuer une recherche')
                $(this).val('');
        },
        blur: function() {
            if($(this).val() == '')
                $(this).val('Effectuer une recherche');
        }
    });


    $('.print a').click( function() {

       window.print();
       return false;
    });

    //fav

    (function(){

        if ($.browser.msie || window.sidebar ) {
            $('ul.reading-actions li.favorite a').bind({
                'click' : function(){
                    addBookarks();

                    return false;
                }
            })
        } else {
            $('ul.reading-actions li.favorite').hide();
        }

        function addBookarks(){
            var titlePage = ($('title').html()) ? $('title').html() : 'Tous au numérique',
            urlPage = window.location.href;

            if( $.browser.msie ) {
                window.external.AddFavorite(urlPage, titlePage)
            } else if ( window.sidebar ){
                window.sidebar.addPanel(titlePage, urlPage, "");
            }
        }

    })();


    //form block
    var $labelInField = $('.label-in-field');

    for ( var i=0; i<$labelInField.length; i++ ) {
       if( $($labelInField[i]).find('input').val() != '' ) {
          $($labelInField[i]).find('label').hide();
      }
    }

   $labelInField.find('input').focus(function(){
      $(this).prev('label').hide();
   }).blur(function(){
      if( $(this).val() =='' ) {
          $(this).prev('label').show();
      }
   });

   $labelInField.find('label').bind({
       click : function() {
           $(this).next().focus();
       }
   });

    // minimize/maximize font-size
    (function(){
        var nameCookie = 'contentFontSize';

        if(document.cookie && $('.reading-actions').length > 0){
            var cookies = document.cookie.split(';');
            for(var i =0, len = cookies.length; i < len; i++){
                if(cookies[i].indexOf(nameCookie) !== -1){
                    var valueFontSize = parseFloat(cookies[i].split('=')[1], 10);
                    $('.content-inner').css('font-size', valueFontSize);
                }
            }
        }

        $('.minimize .icon').click(function() {
            var size = $('.content-inner').css('font-size');
            size = parseFloat(size,10);
            if(size>10) {
                newSize = size*0.9;
                $('.content-inner').css('font-size', newSize);
                document.cookie = nameCookie+"="+newSize+"; path=/";
            }
            return false;
        });

        $('.maximize .icon').click(function() {
            var size = $('.content-inner').css('font-size');
            size = parseFloat(size,10);
            if(size<19) {
                newSize = size*1.1;
                $('.content-inner').css('font-size', newSize);
                document.cookie = nameCookie+"="+newSize+"; path=/";
            }
            return false;
        });

    })();



    /* Plugin selecter */
    $.fn.select = function(options){
        var defaults = {};
        var opts = $.extend(defaults, options);

        return this.each(function(){
            $$ = $(this);

            if ($$.attr('tagName') == 'SELECT') {

                // if select updated
                if ($$.next().hasClass('select')) {
                    $$.show().next().remove();
                }

                // init
                var output = $('<div class="select '+ (($$.attr('id')) ? $$.attr('id') : '') +'" style="' + $$.attr('style') + '" />');
                var selectedEl = $('<span class="selected"/>').appendTo(output);
                var optionsEl = $('<div/>', {
                    'class': 'options',
                    'html': '<ul></ul>'
                }).appendTo(output);

                $$.find('option').each(function(){
                    var selectOptionsItem = $(this);
                    $('<li/>', {
                        'html': '<a href="#">' + selectOptionsItem.text() + '</a>'
                    }).bind('click', function(){
                        selectOptionsItem.click();
                        selectOptionsItem.attr("selected", "selected");
                        selectedEl.text(selectOptionsItem.text());
                        optionsEl.hide();
                        return false;
                    }).appendTo($(optionsEl).find('ul'));
                });
                selectedEl.text($$.find('option[value=' + $$.val() + ']').text());
                optionsEl.find('li:first').addClass('first');


                output.bind({
                    mouseenter: function(){
                        $(this).addClass('select-hover');
                    },
                    mouseleave: function(){
                        $(this).removeClass('select-hover');
                        $(this).find('.options').hide();
                    },
                    click: function(){
                        $(this).find('.options').show().css('z-index', '9999');
                        $(this).css('z-index', '9999');
                    }
                });

                $$.after(output).hide();
            } else {
                $$.bind({
                    mouseenter: function(){
                        $(this).addClass('select-hover');
                    },
                    mouseleave: function(){
                        $(this).removeClass('select-hover');
                        $(this).find('.options').hide();
                    },
                    click: function(){
                        $(this).find('.options').show().css('z-index', '9999');
                        $(this).css('z-index', '9999');
                    }
                });
            }

        });
    }

    //$('select, .select').select();

    //DatePicker
    $('form.form-news input.text').datepicker();

    //faq
    var itemFaq = $('.list-faq>li');
    var linkSwitch = $('<a />',{
                        'class' : 'openClose'
                     }).html('&nbsp;');
    var icon = $('<span />',{
                   'class' : 'icon'
                });

    icon.appendTo(linkSwitch);
    linkSwitch.prependTo(itemFaq);

    itemFaq.find('.faq-content').hide();
    itemFaq.bind({
        click : function() {

            if($(this).hasClass('active')) {
                $('.list-faq>li.active').find('.faq-content').hide();
                $('.list-faq>li.active').removeClass('active');
            } else {
                $('.list-faq>li.active').find('.faq-content').hide();
                $('.list-faq>li.active').removeClass('active');
                $(this).find('.faq-content').show();
                $(this).addClass('active');
            }


        }
    });

    itemFaq.find('h2.heading-3').bind({
        mouseenter : function() {
            $(this).css('cursor','pointer');
        }
    });

    $('#tabs').tabs();

    if($('.map-picture').length) {
        $('.map-picture').maphilight({'stroke':false, 'strokeWidth':'2', 'fillColor':'004a77','fillOpacity':0.8});
    }

    $('#region-home map area, #home map area, .calendar a').bind({
        mouseenter: function(){

            $$ = $(this).parents('.tab-inner');
            title = $(this).attr("class");
            title = title.substring(8, title.length);

            var coordX = new Array();
            var coordY = new Array();
            coordX['bretagne'] =            -10;    coordY['bretagne'] =            55;
            coordX['basse-normandie'] =     70;     coordY['basse-normandie'] =     22;
            coordX['nord-cotentin'] =       70;     coordY['nord-cotentin'] =       22;
            coordX['haute-normandie'] =     162;    coordY['haute-normandie'] =     4;
            coordX['picardie'] =            225;    coordY['picardie'] =            -1;
            coordX['nord-pas-de-calais'] =  215;    coordY['nord-pas-de-calais'] =  -80;
            coordX['pays-de-la-loire'] =    110;    coordY['pays-de-la-loire'] =    90;
            coordX['poitou-charentes'] =    100;    coordY['poitou-charentes'] =    170;
            coordX['centre'] =              173;    coordY['centre'] =              101;
            coordX['ile-de-france'] =       215;    coordY['ile-de-france'] =       60;
            coordX['champagne-ardenne'] =   307;    coordY['champagne-ardenne'] =   -5;
            coordX['lorraine'] =            365;    coordY['lorraine'] =            40;
            coordX['alsace'] =              425;    coordY['alsace'] =              70;
            coordX['bourgogne'] =           285;    coordY['bourgogne'] =           130;
            coordX['franche-comte'] =       370;    coordY['franche-comte'] =       140;
            coordX['aquitaine'] =           100;    coordY['aquitaine'] =           290;
            coordX['limousin'] =            175;    coordY['limousin'] =            220;
            coordX['auvergne'] =            235;    coordY['auvergne'] =            215;
            coordX['midi-pyrenees'] =       170;    coordY['midi-pyrenees'] =       325;
            coordX['languedoc-roussillon']= 245;    coordY['languedoc-roussillon']= 300;
            coordX['corse'] =               430;    coordY['corse'] =               440;
            coordX['rhone'] =               300;    coordY['rhone'] =               232;
            coordX['alpes'] =               375;    coordY['alpes'] =               240;
            coordX['provence-alpes'] =      370;    coordY['provence-alpes'] =      320;
            coordX['cote-dazur'] =          414;    coordY['cote-dazur'] =          358;

            coordX['mini-bretagne'] =            -27;    coordY['mini-bretagne'] =            17;
            coordX['mini-basse-normandie'] =     12;     coordY['mini-basse-normandie'] =     -25;
            coordX['mini-haute-normandie'] =     59;     coordY['mini-haute-normandie'] =     -26;
            coordX['mini-picardie'] =            90;     coordY['mini-picardie'] =            -10;
            coordX['mini-nord-pas-de-calais'] =  85;     coordY['mini-nord-pas-de-calais'] =  -60;
            coordX['mini-pays-de-la-loire'] =    35;     coordY['mini-pays-de-la-loire'] =    18;
            coordX['mini-poitou-charentes'] =    28;     coordY['mini-poitou-charentes'] =    58;
            coordX['mini-centre'] =              65;     coordY['mini-centre'] =              36;
            coordX['mini-ile-de-france'] =       88;     coordY['mini-ile-de-france'] =       20;
            coordX['mini-champagne-ardenne'] =   133;    coordY['mini-champagne-ardenne'] =   -22;
            coordX['mini-lorraine'] =            163;    coordY['mini-lorraine'] =            14;
            coordX['mini-alsace'] =              195;    coordY['mini-alsace'] =              25;
            coordX['mini-bourgogne'] =           115;    coordY['mini-bourgogne'] =           60;
            coordX['mini-franche-comte'] =       165;    coordY['mini-franche-comte'] =       40;
            coordX['mini-aquitaine'] =           25;     coordY['mini-aquitaine'] =           135;
            coordX['mini-limousin'] =            65;     coordY['mini-limousin'] =            103;
            coordX['mini-auvergne'] =            97;     coordY['mini-auvergne'] =            93;
            coordX['mini-midi-pyrenees'] =       61;     coordY['mini-midi-pyrenees'] =       134;
            coordX['mini-languedoc-roussillon']= 103;    coordY['mini-languedoc-roussillon']= 133;
            coordX['mini-corse'] =               193;    coordY['mini-corse'] =               206;
            coordX['mini-rhone'] =               134;    coordY['mini-rhone'] =               107;
            coordX['mini-alpes'] =               172;    coordY['mini-alpes'] =               105;
            coordX['mini-provence-alpes'] =      168;    coordY['mini-provence-alpes'] =      133;
            coordX['mini-cote-dazur'] =          193;    coordY['mini-cote-dazur'] =          210;

            coordX['martinique']=           -60;    coordY['martinique']=           -50;
            coordX['guyane'] =              75;     coordY['guyane'] =              -50;
            coordX['saint-barthelemy'] =    200;    coordY['saint-barthelemy'] =    -5;
            coordX['guadeloupe'] =          320;    coordY['guadeloupe'] =          -45;
            coordX['reunion'] =             -35;    coordY['reunion'] =             105;
            coordX['nouvelle-caledonie'] =  80;     coordY['nouvelle-caledonie'] = 105;
            coordX['saint-martin'] =        200;    coordY['saint-martin'] =        110;
            coordX['wallis-et-futuna'] =    295;    coordY['wallis-et-futuna'] =   95;
            coordX['mayotte'] =             -27;    coordY['mayotte'] =             240;
            coordX['saint-pierre-et-miquelon'] = 80;coordY['saint-pierre-et-miquelon'] = 215;
            coordX['polynesie'] =           195;    coordY['polynesie'] = 247;

            coordX['mini-martinique']=           -49;    coordY['mini-martinique']=           -35;
            coordX['mini-guyane'] =              38;     coordY['mini-guyane'] =              -35;
            coordX['mini-saint-barthelemy'] =    103;    coordY['mini-saint-barthelemy'] =    -34;
            coordX['mini-guadeloupe'] =          159;    coordY['mini-guadeloupe'] =          -33;
            coordX['mini-reunion'] =             -35;    coordY['mini-reunion'] =             59;
            coordX['mini-nouvelle-caledonie'] =  35;     coordY['mini-nouvelle-caledonie'] =  35;
            coordX['mini-saint-martin'] =        105;    coordY['mini-saint-martin'] =        60;
            coordX['mini-wallis-et-futuna'] =    158;    coordY['mini-wallis-et-futuna'] =    30;
            coordX['mini-mayotte'] =             -25;    coordY['mini-mayotte'] =             140;
            coordX['mini-saint-pierre-et-miquelon'] = 40;coordY['mini-saint-pierre-et-miquelon'] = 100;
            coordX['mini-polynesie'] =           115;    coordY['mini-polynesie'] = 123;

            $$.find('.bubble-'+title).css({
                position: 'absolute',
                left: coordX[title],
                top: coordY[title]
            }).show();

            $$.find('.calendar a.trigger-'+title).addClass('hover');


        },
        mouseleave: function(){
            $$.find('.bubble-'+title).hide();
            $$.find('.calendar a.trigger-'+title).removeClass('hover');
        }
    });

    $('#diagnostic .buttonset label').bind('click', function() {
        $(this).parent('.buttonset').find('label').removeClass('active');
        $(this).find('input').attr('checked', true);
        $(this).addClass('active');
    });


    /* Plugin carousel */
    $.fn.carousel = function(options) {
        var defaults = {
            group: 1,
            speed: 300,
            auto: false,
            loop: true,
            nextprev: true,
            pager: true,
            thumb: false
        };

        var opts = $.extend(defaults, options);

        return this.each(function() {

            /* init */
            var $$ = $(this);
            var elWidth = $$.find('.view li').outerWidth(true);
            var elCount = Math.ceil($$.find('.view li').length);
            var slideWidth = elWidth * opts.group;
            var slideCount = Math.ceil(elCount / opts.group);
            var slideCurrent = 1;
            var leftPosition = 0;
            var leftPositionMax = (elCount > 1) ? (slideCount-1) * (-slideWidth) : 0;
            var leftPositionCloned = (elCount > 1) ? (slideCount) * (-slideWidth) : 0;
            if(opts.group>1) {
                var modulo = elCount%opts.group;
                if(modulo) {
                    var elOldMargin = parseInt($$.find('.view ul li:first').css('margin-right'));
                    var elNewMargin = (opts.group - modulo) * elWidth + elOldMargin;
                    $$.find('.view ul li:last').css('margin-right', elNewMargin);
                }
            }

            /* generate html code */
            $$.find('.view').css('overflow', 'hidden');
            $$.find('.view ul').css('width', (slideCount+1) * slideWidth);
            $$.find('.view ul li:lt('+opts.group+')').clone().appendTo($$.find('.view ul'));

            var listDiv = $('<div/>',{'class':'list'}).insertAfter($$.find('>.view'));

            if(opts.nextprev && slideCount>1) {
                var flagMoving = 0;
                var nextprevList = $('<ul/>', { 'class':'prev-next'});

                var nextprevPrev = $('<li/>', {
                        'class': 'prev',
                        html: '<a href="#" class="icon">Previous</a>'
                    }).bind('click', function() {
                        if (flagMoving == 0) {
                            flagMoving = 1;
                            if (leftPosition != 0) {
                                leftPosition = leftPosition + slideWidth;
                                $$.find('.view ul').animate({
                                    left: leftPosition
                                }, opts.speed, function(){
                                    flagMoving = 0;
                                });
                                slideCurrent -= 1;
                            }
                            else {
                                $$.find('.view ul').css('left', leftPositionCloned);
                                leftPosition = leftPositionMax;
                                $$.find('.view ul').animate({
                                    left: leftPosition
                                }, opts.speed, function(){
                                    flagMoving = 0;
                                });
                                slideCurrent = slideCount;
                            }
                        }
                        $$.find('ul.items li').removeClass('active');
                        $$.find('ul.items li.item-'+slideCurrent).addClass('active');
                        return false;
                    }).appendTo(nextprevList);

                var nextprevNext = $('<li/>', {
                        'class': 'next',
                        html: '<a href="#" class="icon">Next</a>'
                    }).bind('click', function() {
                        if (flagMoving == 0) {
                            flagMoving = 1;
                            if (leftPosition > leftPositionMax) {
                                leftPosition = leftPosition - slideWidth;
                                $$.find('.view ul').animate({
                                    left: leftPosition
                                }, opts.speed, function(){
                                    flagMoving = 0;
                                });
                                slideCurrent += 1;
                            }
                            else {
                                leftPosition = leftPositionCloned;
                                $$.find('.view ul').animate({
                                    left: leftPosition
                                }, opts.speed, function(){
                                    $$.find('.view ul').css('left', 0);
                                    flagMoving = 0;
                                });
                                leftPosition = 0;
                                slideCurrent = 1;
                            }
                        }
                        $$.find('ul.items li').removeClass('active');
                        $$.find('ul.items li.item-'+slideCurrent).addClass('active');
                        return false;
                    }).appendTo(nextprevList);
                nextprevList.appendTo(listDiv);

                if(opts.auto) {
                    function diaporama() {
                        nextprevNext.click()
                    }
                    timer = setInterval(diaporama, 5000);
                    $$.bind({
                        mouseenter: function() {
                            clearInterval(timer);
                        },
                        mouseleave: function() {
                            diaporama = setInterval(diaporama, 5000);
                        }
                    })
                }
            }

            if(opts.pager && slideCount>1) {
                var itemsList = $('<ul/>', { 'class':'items'});
                for(var i=1; i<=slideCount; i++) {
                    var active = (i==1) ? 'active' : '';
                    var first  = (i==1) ? 'first' : '';
                    var last  = (i==slideCount) ? 'last' : '';
                    var itemsListEl = $('<li/>', {
                        'class': 'item-'+i+' '+active+' '+first+' '+last,
                        html: '<a href="#" class="icon">'+i+'</a>'
                    }).bind('click', function() {
                        slideCurrent = parseInt($(this).text());
                        leftPosition = (slideCurrent-1) * (-slideWidth);
                        $$.find('.view ul')
                            .animate(
                                {
                                    left: leftPosition
                                }, opts.speed);
                        $$.find('ul.items li').removeClass('active');
                        $$.find('ul.items li.item-'+slideCurrent).addClass('active');
                        return false;
                    }).appendTo(itemsList);
                }




                itemsList.appendTo($$.find('.list'));
            }


        });
    }
    /*end plugin carousel*/
    $('.carousel-video').carousel();
    $('.carousel-news').carousel({
        'pager': false, 'auto': true
    });
    $('.carousel-home').carousel({
        'pager': false
    });

    $('.custom_hover, .hover_menu').mouseenter(function() {
        $(this).parents('ul').find('.hover_menu').show();
        $(this).data('in', true);
        $(this).parents('ul').find('.hover_menu').data('hidden', false);
    }).mouseleave(function() {
        $(this).data('in', false);
        if (!$(this).parents('ul').find('.hover_menu').data('in') && !$(this).parents('ul').find('.hover_menu').data('hidden')) {
            $(this).parents('ul').find('.hover_menu').hide();
            $(this).parents('ul').find('.hover_menu').data('hidden', true);
        }
    });
    $('.custom_hover').click(function(){ return false; });

    (function(){
       if ( document.getElementById('popin-cover') ){
           var popin = $('#popin-cover'),
               button = $('#button-popin-cover'),
               buttonClose = popin.find('a.close'),
               locateLnk = popin.find('a.locate');
            
            $('#popin-cover').dialog({
                'width' : 690,
                'modal' : true,
                'resizable' : false,
                'dialogClass' : 'dialog-cover',
                'autoOpen' : false
            });
            
            buttonClose.bind('click', function(e){
                e.preventDefault();
                popin.dialog('close');
            });
            button.bind('click', function(e){
                e.preventDefault();
                popin.dialog('open')
            });
            
            locateLnk.bind('click', function(e){
                //e.preventDefault();
                popin.dialog('close');
            });
       }
    })()


});
var addthis_config = {
     ui_cobrand: "",
     ui_language: "fr",
     data_track_clickback:true
}


