jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString();
        }
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

jQuery(document).ready(function(){
    var network_panel = jQuery('#network_panel');
    var network_panel_trigger = jQuery('#network_panel_trigger');
    network_panel_trigger.click(function(){
        if(network_panel.is(':visible')) {
            network_panel.slideUp();
            network_panel_trigger.css('background-position', 'center right');
        } else {
            network_panel.slideDown();
            network_panel_trigger.css('background-position', '0 1000px');
        }
        return false;
    });
    jQuery('#network_close_control').click(function(){
        network_panel.slideUp();
        network_panel_trigger.css('background-position', 'center right');
        return false;
    });

    var blog_about = jQuery('#blog_about');
    var blog_about_inner = blog_about.find('.area_inner');
    var blog_about_trigger = jQuery('#blog_about_trigger');
    blog_about_trigger.click(function(){
        if(blog_about.height()>100) {
            blog_about.animate({height:'88px'});
            blog_about_inner.animate({height:'78px'}, function(){
                blog_about_inner.css('backgroundPosition', '0 -78px');
            });
            blog_about_trigger.text(blog_about_trigger.attr('alt'));
            jQuery.cookie('expand_blog_about', '0');
        } else {
            blog_about.animate({height:'212px'});
            blog_about_inner.css('backgroundPosition', '0 0');
            blog_about_inner.animate({height:'200px'});
            blog_about_trigger.text(blog_about_trigger.data('text'));
            jQuery.cookie('expand_blog_about', '1');
        }
        return false;
    }).data('text', blog_about_trigger.text());

    // network slides
    var prev_control = network_panel.find('.slide_left');
    var next_control = network_panel.find('.slide_right');    
    var slides_viewport = jQuery('#slides_viewport');
    var pages = network_panel.find('.dot');
    var page_nb = Math.ceil(slides_viewport.find('.slide').length/3);
    var slide_step = 0;
    var step_width = 798;
    var update_network_slides = function(incr){
        slide_step += incr;
        slides_viewport.animate({'left':(-1*slide_step*step_width)+'px'});
        network_panel.find('.current_dot').removeClass('current_dot');
        jQuery(pages.get(slide_step)).addClass('current_dot');
        if(slide_step == 0) {
            prev_control.hide();
        } else {
            prev_control.show();
        }
        if(slide_step == (page_nb-1)) {
            next_control.hide();
        } else {
            next_control.show();
        }
    };
    next_control.click(function(){ update_network_slides(1); return false; });
    prev_control.click(function(){ update_network_slides(-1); return false; });

    // action: print
    jQuery('.action_print').click(function(){
        window.print();
        return false;
    });

    // action: font
    var font_step = 0;
    var font_max = 2;
    jQuery('.action_font').click(function(){
        font_step++;
        if(font_step > font_max) {
             jQuery('body').animate({'font-size':'1em'});
            font_step = 0;
        } else {
            jQuery('body').animate({'font-size':'1.'+font_step+'em'});
        }
        return false;
    });

    // action: like
    jQuery('.action_like_wrapper').each(function(){
        var me = jQuery(this);
        var count = me.find('.action_like_count');
        var post_id = me.attr('rel');
        me.click(function() {
            if(post_id != ''&&!me.hasClass('cant_like')) {
                count.text('...');
                jQuery.post(me.attr('href'), { 'post_id' : post_id }, function(data){
                    count.text(data);
                    me.addClass('cant_like').attr('href', 'javascript:void(0);');
                });
            }
            return false;
        });
    });

    // row_title
    jQuery('.row_title').hover(function(){
        jQuery(this).parent().find('.hover_arrow').show();
    }, function(){
        jQuery(this).parent().find('.hover_arrow').hide();
    });

    // search
    jQuery('.search_input').focus(function(){
        var me = jQuery(this);
        if(me.val()==me.attr('alt')) me.val('');
    }).blur(function(){
        var me = jQuery(this);
        if(me.val()=='') me.val(me.attr('alt'));
    });
	
	//icons
	jQuery('.action_icon').hover(function(){
		jQuery(this).css('background-position', '28px '+jQuery(this).css('background-position').replace('0px ',''));
	}, function(){
		jQuery(this).css('background-position', '0px '+jQuery(this).css('background-position').replace('28px ',''));
	});
	
	

});