// JavaScript Document

var SocialNetwork = {
    Pagination: {
        /**
         * disable or enable next and prev button if the page is the first or the last one 
         * 
         * @param string parentId parent element id
         * @param int currentPage 
         * @param int lastPage 
         */
        disableNextPrevForFirstLast: function(parentId, currentPage, lastPage)
        {
            if (currentPage == 1)
            {
                $('#'+parentId+' .previous').addClass('paginate-inactive');
                $('#'+parentId+' .previous').removeClass('paginate-active');
            }
            else
            {
                $('#'+parentId+' .previous').removeClass('paginate-inactive');
                $('#'+parentId+' .previous').addClass('paginate-active');
            }
            
            if (currentPage == lastPage)
            {
                $('#'+parentId+' .next').addClass('paginate-inactive');
                $('#'+parentId+' .next').removeClass('paginate-active');
            }
            else
            {
                $('#'+parentId+' .next').removeClass('paginate-inactive');
                $('#'+parentId+' .next').addClass('paginate-active');
            }
        },
        
        /**
         * ajax call to retrieve a page
         * 
         * @param string blockName e.g.: 'friends' or 'groups'
         * @param string way default 'next' (possible values : 'next' 'prev' 'same')
         */
        handlePagination: function(blockName, way)
        {
            $('#'+blockName+'-paginate .ajaxloader').show();
            var adjust = 0;
            if (way == 'prev')
            {
                adjust = -1;
            }
            else if(way == 'next')
            {
                adjust = 1;
            }
            
            var page = parseInt($.cookie('social-network-'+blockName+'-page'))+adjust;
            var lastPage = parseInt($.cookie('social-network-'+blockName+'-last-page'));
            
            if (page >= 1 && page <= lastPage)
            {
                var contentElt = $('#'+blockName+'-paginate').parent().find('#'+blockName+'-list');
                
                var ajaxParams = { 
                    action: blockName,
                    page: page
                };
                
                if (blockName == 'one-group-activities' || blockName == 'one-group-other-activities' || blockName == 'one-group-forum-activities')
                {
                    ajaxParams.group_id = parseInt($('input[name="'+blockName+'-groupe-id"]').attr('value'));
                }
                
                $.get(
                    '/wp-content/themes/custom_pages/ajax.php',
                    ajaxParams,
                    function(data, textStatus, xhr){
                        if (data.current_page >= 1 && data.current_page <= data.last_page)
                        {
                            contentElt.html(data.content);
                            $.cookie('social-network-'+blockName+'-page', (data.current_page));
                            $.cookie('social-network-'+blockName+'-last-page', (data.last_page));
                            
                            $('#'+blockName+'-paginate .paginate-pages-number .current-page').html(data.current_page);
                            $('#'+blockName+'-paginate .paginate-pages-number .last-page').html(data.lastt_page);
                            
                            SocialNetwork.Pagination.disableNextPrevForFirstLast(blockName+'-paginate', data.current_page, data.last_page);
                        }
                        $('#'+blockName+'-paginate .ajaxloader').hide();
                    },
                    'json'
                );
                
            }
            else
            {
                $('#'+blockName+'-paginate .ajaxloader').hide();
            }
        },
        
        refresh: function(blockName)
        {
            SocialNetwork.Pagination.handlePagination(blockName, 'same');
        }
    }
};

var Blogs = {
    Pagination: {
        switchPage: function(page)
        {
            var contentElt = $('#blogs-dir-list');
            $.getJSON("wp-content/themes/custom_pages/ajax.php",
                {   
                    "action" : "my-friends-blogs",
                    "page" : page,
                    "per_page" : 2,
                },
                function(data, textStatus, xhr){
                    if (data.current_page >= 1 && data.current_page <= data.last_page)
                    {
                        contentElt.html(data.content);
                    }
                    $('div.item-list-tabs li#friends-blogs').removeClass('loading');
                }
            );
        }
    }
}

$(document).ready(function(){
    $('div.boite-profil-bottom li a span').css('display', 'none');
    
    $('.corner2').corner("round 2px");

    $('.bordure-arrondie').corner("round 5px").parent().css('padding', '1px').corner("round 5px");

    $('.ombre').boxShadow(0,0,6,'#000');
    
    /* Pour ouvrir certain liens de xprofile_field en _blank
     * field_10 -> Site internet
     * field_23 -> Facebook
     * field_24 -> Twitter
     **/
    $('tr.field_10 a').attr('target','_blank');
    $('tr.field_23 a').attr('target','_blank');
    $('tr.field_24 a').attr('target','_blank');

    // handle social network pagination
    
    /**
     * reset page cookie
     */
    $.cookie('social-network-groups-activities-page', 1);
    $.cookie('social-network-groups-activities-last-page', 2);
    $.cookie('social-network-one-group-forum-activities-page', 1);
    $.cookie('social-network-one-group-forum-activities-last-page', 2);
    $.cookie('social-network-one-group-other-activities-page', 1);
    $.cookie('social-network-one-group-other-activities-last-page', 2);
    $.cookie('social-network-one-group-activities-page', 1);
    $.cookie('social-network-one-group-activities-last-page', 2);
    $.cookie('social-network-friends-activities-page', 1);
    $.cookie('social-network-friends-activities-last-page', 2);
    $.cookie('social-network-articles-recommandes-page', 1);
    $.cookie('social-network-articles-recommandes-last-page', 2);
    $.cookie('social-network-my-articles-proposals-page', 1);
    $.cookie('social-network-my-articles-proposals-last-page', 2);
    $.cookie('social-network-my-recommended-articles-page', 1);
    $.cookie('social-network-my-recommended-articles-last-page', 2);
    
    var refreshTime = 240000;
    
    $('#one-group-activities-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('one-group-activities', 'prev');
    });
    
    $('#one-group-activities-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('one-group-activities', 'next');
    });
    
    var oneGroupActivitiesRefreshId = setInterval(function(){
        SocialNetwork.Pagination.refresh('one-group-activities');
    }, refreshTime+10000);
    
    $('#one-group-forum-activities-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('one-group-forum-activities', 'prev');
    });
    
    $('#one-group-forum-activities-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('one-group-forum-activities', 'next');
    });

    var oneGroupForumActivitiesRefreshId = setInterval(function(){
        SocialNetwork.Pagination.refresh('one-group-forum-activities');
    }, refreshTime+20000);
    
    $('#one-group-other-activities-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('one-group-other-activities', 'prev');
    });
    
    $('#one-group-other-activities-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('one-group-other-activities', 'next');
    });
    
    var oneGroupOtherActivitiesRefreshId = setInterval(function(){
        SocialNetwork.Pagination.refresh('one-group-other-activities');
    }, refreshTime+30000);
    
    $('#groups-activities-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('groups-activities', 'prev');
    });
    
    $('#groups-activities-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('groups-activities', 'next');
    });
    
    var groupsActivitiesRefreshId = setInterval(function(){
        SocialNetwork.Pagination.refresh('groups-activities');
    }, refreshTime+15000);
    
    $('#friends-activities-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('friends-activities', 'prev');
    });
    
    $('#friends-activities-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('friends-activities', 'next');
    });

    var friendsActivitiesRefreshId = setInterval(function(){
        SocialNetwork.Pagination.refresh('friends-activities');
    }, refreshTime+25000);
    
    $('#articles-recommandes-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('articles-recommandes', 'prev');
    });

    $('#articles-recommandes-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('articles-recommandes', 'next');
    });
        
    $('#my-articles-proposals-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('my-articles-proposals', 'prev');
    });

    $('#my-articles-proposals-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('my-articles-proposals', 'next');
    });
        
    $('#my-recommended-articles-paginate .previous').click(function(){
        SocialNetwork.Pagination.handlePagination('my-recommended-articles', 'prev');
    });

    $('#my-recommended-articles-paginate .next').click(function(){
        SocialNetwork.Pagination.handlePagination('my-recommended-articles', 'next');
    });

    /**
     * Button recommend a post : listen to the click on a recommend button to
     * load the script that will insert or delete the line in DB.
     */
    $('.bouton-recommander, .bouton-oublier-recommandation').click(function(){

            // Get the id of the post thanks to the id attribute ( #post_<id> )
            var array = this.getAttribute('id').split('_');
            var blogId = array[1];
            var id = array[2];

            $.getJSON("wp-content/themes/custom_pages/ajax.php",
                    {   
                        "action" : "recommend-post",
                        "id" : id,
                        "blog_id" : blogId
                    },
                    function(data) {
                        $.gritter.add({
                                title: data.title,
                                text: data.description+'<div class="italic">'+data.post.title+'</div>',
                                image: data.post.image_url
                        });
                        if(data.action == 'DELETED'){
                                $('#post_'+id).removeClass('bouton-oublier-recommandation').addClass('bouton-recommander');
    
                        } else if(data.action == 'ADDED'){
                                $('#post_'+id).removeClass('bouton-recommander').addClass('bouton-oublier-recommandation');
                        }
                    }
            );

        });
    
    $('div.item-list-tabs li#friends-blogs a').click(function(e){
        e.preventDefault();
        
        $('div.item-list-tabs li').each( function() {
            $(this).removeClass('selected');
            }); 
        
        $('div.item-list-tabs li#friends-blogs').addClass('selected');
        $('div.item-list-tabs li#friends-blogs').addClass('loading');
        
        var contentElt = $('#blogs-dir-list');
        
        $.getJSON("wp-content/themes/custom_pages/ajax.php",
            {   
                "action" : "my-friends-blogs"
            },
            function(data, textStatus, xhr){
                if (data.current_page >= 1 && data.current_page <= data.last_page)
                {
                    contentElt.html(data.content);
                }
                $('div.item-list-tabs li#friends-blogs').removeClass('loading');
            }
        );
    });
    
    $('div#content').click( function(event) {
        var target = $(event.target);

        if ( target.parent().parent().hasClass('pagination_custom') && !target.parent().parent().hasClass('no-ajax') ) 
        {
            if ( target.hasClass('dots') || target.hasClass('current') )
                return false;

            if ( $('div.item-list-tabs li.selected').length )
                var el = $('div.item-list-tabs li.selected');
            else
                var el = $('li.filter select');

            var page_number = 1;

            if ( $(target).hasClass('next') )
                var page_number = Number( $('div.pagination_custom span.current').html() ) + 1;
            else if ( $(target).hasClass('prev') )
                var page_number = Number( $('div.pagination_custom span.current').html() ) - 1;
            else
                var page_number = Number( $(target).html() );
            
            console.log(page_number);
            Blogs.Pagination.switchPage(page_number);
            
            return false;
        }

    });
});


$(document).ready(function(){
    
    $('#signup_form input').htmlClean();
    $.metadata.setType("attr", "validate");


    //$('#field_389_20').parent().append($('<label>').attr({'class': 'fr error label-error', 'name': 'field_360[]'}).html("Veuillez choisir au moin un centre d'intérêts"));

    $('#signup_username').attr('class','required');
    $('#signup_email').attr('class','required email');
    $('#signup_password').attr('class','required');
    $('#signup_password_confirm').attr('class','required');
    $('#field_1').attr('class','required'); // Nom et prénom
    $('#field_358_day').attr('class','required'); //Date de naissance
    $('#field_359').attr('class','required'); //Profession
    $('#field_361').attr('class','required'); //Code postal
    $('#field_369_0').attr('validate','required:true'); // Centre d'intérêts
    $('#option_390').attr('validate','required:true'); // Votre situation
    
    $("#signup_form").validate({
	rules: {
            signup_username: "required",
            signup_email: {
                required: true,
                email: true
            },
            signup_password: "required",
            signup_password_confirm: "required",
            field_1: "required",
            field_358_day: "required",
            field_359: "required",
            field_361: "required"
        },
        messages: {
            signup_username: "Veuillez saisir un nom d'utilisateur",
            signup_email: {
                required: "Veuillez saisir votre adresse e-mail",
                email: "Veuillez saisir une adresse e-mail valide"
            },
            signup_password: "Veuillez saisir un mot de passe",
            signup_password_confirm: "Veuillez re-saisir un mot de passe",
            field_1: "Veuillez renseigner votre nom et prénom",
            field_358_day: "Veuillez renseigner votre date de naissance",
            field_359: "Veuillez renseigner votre profession",
            field_361: "Veuillez renseigner votre code postal"
        }
    });
});  
