jQuery(function() {
    jQuery('.article_photogallery').articlePhotogallery();
    
});


jQuery.fn.articlePhotogallery = function(options){
    
    jQuery('.article_photogallery_innerbox').each(function(){
        var width = jQuery('a', this).length * 80;
        jQuery(this).css('width', width+'px');
    });

    jQuery('.article_photogallery_prev').click(function(){
        if ( jQuery.data(document, 'ge_enabled') == false) return;
        jQuery.data(document, 'ge_enabled', false);
        
        jQuery(this).parent().find('.article_photogallery_next').show();
        var constrain = jQuery(this).parent();
        var duration = 1500;
        var easing = 'easeOutBack';
        var move = 624;
        var left = jQuery('.article_photogallery_innerbox', constrain).css('left').slice(0, -2);
        var max  = 0;
        var newleft = parseInt(left, 10) + move;

        jQuery('.article_photogallery_innerbox', constrain).animate({
            "left": Math.min( newleft, max)
        }, duration, easing, function(){
            var constrain = jQuery(this).parent().parent();
            var left = jQuery('.article_photogallery_innerbox', constrain).css('left').slice(0, -2);
            if ( left == 0 ) {
                var tgt = jQuery('.article_photogallery_prev', constrain);
                jQuery(tgt).hide();
            }// if
            jQuery.data(document, 'ge_enabled', true);
        });
    });

    jQuery('.article_photogallery_next').click(function(){
        if ( jQuery.data(document, 'ge_enabled') == false) return;
        jQuery.data(document, 'ge_enabled', false);
        
        jQuery(this).parent().find('.article_photogallery_prev').show();
        var constrain = jQuery(this).parent();
        var duration = 1500;
        var easing = 'easeOutBack';
        var move = 624;
        var left = jQuery('.article_photogallery_innerbox', constrain).css('left').slice(0, -2);
        var min  = parseInt( jQuery('.article_photogallery_innerbox', constrain).css('width').slice(0, -2), 10);
            min  = - (min - ( min % move ));
        var newleft = Math.max( parseInt(left, 10)-move, min);
        
        jQuery('.article_photogallery_innerbox', constrain).animate({
            "left": newleft
        }, duration, easing, function(){
            var constrain = jQuery(this).parent().parent();
            var move = 624;
            var left = jQuery('.article_photogallery_innerbox', constrain).css('left').slice(0, -2);
            var min  = parseInt( jQuery('.article_photogallery_innerbox', constrain).css('width').slice(0, -2), 10);
                min  = - (min - ( min % move ));
            var newleft = Math.max( parseInt(left, 10)-move, min);
            if ( newleft == min ) {
                var tgt = jQuery('.article_photogallery_next', constrain);
                jQuery(tgt).hide();
            }// if
            jQuery.data(document, 'ge_enabled', true);
        } );
    });
    
    jQuery('.article_photogallery_prev').hide();
    jQuery.data(document, 'ge_enabled', true);
}
