/*
 * jQuery libpsp
 *
 * Copyright (c) 2009 Peugeot
 * 
 */

(function($) {
    
    $.extend({

        dechex : function(number) {
            return parseInt(number).toString(16);
        },

        uniqid : function() {
            if (!this.uid_js) {
                this.uid_js = {};
            }
            if (!this.uid_js['uniqid']) {
                var date = new Date;
                this.uid_js['uniqid'] = date.getTime()/1000;
            }
            this.uid_js['uniqid']++;
            return $.dechex(this.uid_js['uniqid'])+$.dechex('10243256');
        }
    });

    $.fn.extend({
        // Pagination pour les blocs A la une
        alaune : function(options) {
      
            // Merge options and default settings
            var settings = $.extend({
                item: '.bloc_news_une',               // selector for item to swap
                pagination: '.pagination_une',        // selector for pagination container
                pagination_item: 'span',              // 
                pagination_on: 'on',                 // class on
                delay: 5000                           // time between picture swap in milliseconds
            }, options);

            // Iterate over each object, attach alaune
            this.each(function() {
                
                var self = $(this);

                self.data('has_pagination', 'on');
                if(self.parents('.zone_pave').length) {
                    self.data('has_pagination', 'off');
                }

                var pagination = self.children(settings.pagination+':first');

                // Timer propre au bloc
                self.data('timer', '0');

                // Construction des items de pagination
                var child_item = self.children(settings.item);
                
                var i = 1;
                
                child_item.each(function() {
                    var child = $(this);
                    var child_uid = $.uniqid();
                    child.attr('id', 'bloc_une_'+child_uid);
                    var child_class = '';
                    if(i == 1) {
                        child_class = ' class="on"';
                    }
                    
                    var child_page = $('<'+settings.pagination_item+' id="link_une_'+child_uid+'"'+child_class+'>'+i+++'</'+settings.pagination_item+'>').appendTo(pagination);

                    child_page.bind('display', function() {

                        var link = $(this);
                        
                        var n_uid = link.attr('id').replace('link_une_', '');
                        var n_child = $('#bloc_une_'+n_uid);
                        
                        var c_link = pagination.children('.'+settings.pagination_on+':first');

                        if(!c_link.length) {
                            c_link = pagination.children(settings.pagination_item+':first');
                        }
                        var c_uid = c_link.attr('id').replace('link_une_', '');
                        var c_child = $('#bloc_une_'+c_uid);
                        
                        c_link.removeClass(settings.pagination_on);
                        link.addClass(settings.pagination_on);

                        c_child.fadeOut('normal',function() {
                            n_child.fadeIn();
                        });

                    });

                    child_page.click(function(evt) {
                        $(this).trigger('display');
                        if(self.data('timer') != "0") {
                            window.clearTimeout(self.data('timer'));
                        }
                    });
                
                });

                self.bind('slide_une', function() {
                    self.data('timer', setTimeout(function() {
                        var c_link = pagination.children('.'+settings.pagination_on+':first');
                        if(!c_link.next(settings.pagination_item).length) {
                            c_link.prevAll(settings.pagination_item+':last').trigger('display');
                        } else {
                            c_link.next().trigger('display');
                        }
                        self.trigger('slide_une');
                    }, settings.delay));
                });
                
                self.trigger('slide_une');
            
            });

            // Return "this" so we're chainable a la jQuery plugin-style!
            return this;
        
        },
        
        filinfo : function(options) {
            
            // Merge options and default settings
            var settings = $.extend({
                item: '.conteneur_fil',               // selector for item to swap
                item_on: 'info_on',
                delay: 5000,                          // time between picture swap in milliseconds
                x_query: '',                          // url for ajax update
                x_delay: 36000,                        // time between ajax update in milliseconds
                language: 'fr',
                rubrique: 0
            }, options);            
            

            // Iterate over each object, attach alaune
            this.each(function() {
                                
                var self = $(this);

                // Timer pour le swap propre au bloc
                self.data('timer', '0');
                // Timer pour l'ajax update propre au bloc
                self.data('xupdt', '0');
                
                self.bind('slide_child', function() {

                    // Construction des items de pagination
                    var child_item = self.children(settings.item);

                    child_item.bind('display', function() {
                        var child = $(this);
                        var c_child = self.children('.'+settings.item_on);
                        c_child.fadeOut('normal', function() {
                            c_child.removeClass(settings.item_on);
                            child.fadeIn('normal', function() {
                                child.addClass(settings.item_on);
                            });
                        });
                    });                

                    child_item.each(function() {
                        var child = $(this);
                        child_item.click(function(evt) {
                            if(self.data('timer') != "0") {
                                window.clearTimeout(self.data('timer'));
                            }
                        });

                    });
                    
                });

                self.trigger('slide_child');

                self.bind('slide_filinfo', function() {
                    self.data('timer', setTimeout(function() {
                        var c_child = self.children('.'+settings.item_on+':first');
                        if(!c_child.next(settings.item).length) {
                            c_child.prevAll(settings.item+':last').trigger('display');
                        } else {
                            c_child.next().trigger('display');
                        }
                        self.trigger('slide_filinfo');
                    }, settings.delay));
                });
                
                self.trigger('slide_filinfo');
                
                self.bind('ajax_update', function() {
                    self.data('xupdt', setTimeout(function() {
                        self.load(settings.x_query, { r: 0, l: settings.language, is_h: 0}, function() {
                            self.trigger('slide_child');
                        });
                        self.trigger('ajax_update');
                    }, settings.x_delay));
                });
                
                self.trigger('ajax_update');
                
            });            
            
            // Return "this" so we're chainable a la jQuery plugin-style!
            return this;
            
        }
        
    });

})(jQuery);

$(document).ready(function(){
    
    /* Ouverture du panneau Accès direct */ 
    $(".acces_direct").click(function(){        
        $("#bloc_acces_direct").slideToggle("slow");        
    }); 
    $("#fermer_bloc_acces").click(function(){       
        $("#bloc_acces_direct").slideToggle("slow");    
        return false;       
    }); 

    /*
    $('.bloc_alaune').alaune();
    $('.bloc_filinfo').filinfo();
    */
    
    /* Hover sur les drapeau */
    $(".icon_fr").hover(function(){
        $(this).attr("src", js_path_theme+"/image/fr_on.png");
    },function(){
        $(this).attr("src", js_path_theme+"/image/fr.png");
    });
    
    $(".icon_uk").hover(function(){
        $(this).attr("src", js_path_theme+"/image/uk_on.png");
    },function(){
        $(this).attr("src", js_path_theme+"/image/uk.png");
    });

    setInterval("maj_chrono()",1000);
    
    if($('.switch_timer').length && $('.switch_timer').length > 1) {
        setInterval(function() {
            var c_timer = $('.switch_timer').not('.timer_off');
            if(!c_timer.next('.switch_timer').length) {
                var c_next = c_timer.prevAll('.switch_timer:last');
            } else {
                var c_next = c_timer.next('.switch_timer');
            }
                    c_next.removeClass('timer_off');

                c_timer.addClass('timer_off');
        }, 5000);
    }

});

function maj_chrono()
{
    $('.bloc_chrono').each(function() {
        var self = $(this);
        var refevt = self.children('.date_event:first').html();
        var actuel = new Date();
        var evenement = new Date(
            refevt.substr(0,4),
            refevt.substr(5,2)-1,
            refevt.substr(8,2),
            refevt.substr(11,2),
            refevt.substr(14,2),
            refevt.substr(17,2)
        );
        var tmp_diff = evenement-actuel;
        if(tmp_diff > 0)
        {
            var diff =
            {
                'jours' : 0,
                'heures' : 0,
                'minutes' : 0,
                'secondes' : 0
            }
            diff.jours = Math.floor(tmp_diff/1000/60/60/24);
            tmp_diff = tmp_diff-diff.jours*24*60*60*1000;
            if(diff.jours < 10)
                diff.jours = '0'+diff.jours;

            diff.heures = Math.floor(tmp_diff/1000/60/60);
            tmp_diff = tmp_diff-diff.heures*60*60*1000;
            if(diff.heures < 10)
                diff.heures = '0'+diff.heures;

            diff.minutes = Math.floor(tmp_diff/1000/60);
            tmp_diff = tmp_diff-diff.minutes*60*1000;
            if(diff.minutes < 10)
                diff.minutes = '0'+diff.minutes;

            diff.secondes = Math.floor(tmp_diff/1000);
            tmp_diff = tmp_diff-diff.secondes*1000;
            if(diff.secondes < 10)
                diff.secondes = '0'+diff.secondes;

            self.find('.jours:first').html(diff.jours);
            self.find('.heures:first').html(diff.heures);
            self.find('.minutes:first').html(diff.minutes);
            self.find('.secondes:first').html(diff.secondes);
        }
    });
}



