/*
 * Roll Gallery - 廻ってギャラリー表示する機能を提供します
 * Version: 0.0.1 (07/28/2011)
 * Copyright (c) Sofu System Co.,Ltd. All rights reserved.
 * Mail: murayama-t@sofu.co.jp
 * License:  CC BY-NC-SA 2.1 http://creativecommons.org/licenses/by-nc-sa/2.1/jp/
 * Requires: jQuery v1.3+
 */
(function(){jQuery.fn.rollgallery=function(a){function g(f){typeof f=="undefined"&&(f=c+1,f>=a.tab_view&&(f=a.tab_view-1,j()));b.children().removeClass(a.acvive_class).filter(":eq("+f+")").addClass(a.acvive_class);a.output&&(e.children().stop(!0,!0).filter(":visible").fadeOut(),e.children().filter(":eq("+f+")").fadeIn());c=f}function j(){b.children().filter(":eq(0)").appendTo(b);a.output&&(e.children().filter(":eq(0)").appendTo(e),c--);h()&&(b.children().removeClass(a.acvive_class),b.children().eq(0).addClass(a.acvive_class),
c=0);a.output&&i()}function h(){var c=!0;b.children().hide();for(var d=0;d<a.tab_view;d++)b.children().eq(d).hasClass(a.acvive_class)&&(c=!1),b.children().eq(d).show();return c}function i(){c==a.tab_view?c=0:c<0&&(c=a.tab_view-1);e.children().hide().eq(c).show()}var a=jQuery.extend({acvive_class:"active",tab_view:3,start_view:0,transition_interval:5E3,pause_on_hover:!0,tab_ctrl:".tabctrl",tab_more:"#tabmore",tab_next:"#tabnext",output:!1,pause_on_output:!0,outputlist:"#output"},a),c=a.start_view,
b=$(this);if(a.output){var e=$(a.outputlist);i()}b.children().eq(0).addClass(a.acvive_class);h();$(a.tab_more).css("cursor","pointer");$(a.tab_more).click(function(){b.children().filter(":last").prependTo(b);a.output&&(e.children().filter(":last").prependTo(e),c++);h()&&(b.children().removeClass(a.acvive_class),b.children().eq(a.tab_view-1).addClass(a.acvive_class),c=a.tab_view-1);a.output&&i()});$(a.tab_next).css("cursor","pointer");$(a.tab_next).click(function(){j()});b.children().hover(function(){if($(this).hasClass(a.acvive_class))return!1;
g(b.children().index(this))},function(){return!1});if(a.transition_interval>0){var d=setInterval(function(){g()},a.transition_interval);a.pause_on_hover&&(b.children().mouseenter(function(){clearInterval(d)}).mouseleave(function(){clearInterval(d);d=setInterval(function(){g()},a.transition_interval)}),a.output&&e.children().mouseenter(function(){clearInterval(d)}).mouseleave(function(){clearInterval(d);d=setInterval(function(){g()},a.transition_interval)}),$(a.tab_ctrl).mouseenter(function(){clearInterval(d)}).mouseleave(function(){clearInterval(d);
d=setInterval(function(){g()},a.transition_interval)}))}}})(jQuery);
