/*
FlashFire
2008.7
fdszlzl@163.com
$("#goodmoviediv").scroll({
    overcss:{width:"600px",overflow:"hidden",height:"220px",position:"absolute"},
    itemCount:4,
    speed:1000,
    delay:2000,
    offset:190,
    innerEL:"td",
	outerEL:"tr",
    hover:true,
    v:false
});
*/
(function($){
    $.fn.scrollIt=function(options){
        options=$.extend({
            overcss:{position:"absolute",width:"200px",height:"20px",overflow:"hidden"}, 
            offset:20,
            itemCount:0,
            speed:500,
            delay:1000,
            innerEL:"td",
			outerEL:null,
            hover:true,
            v: false,
            rollpre: null,
            rollnext: null
        },options);
		options.overcss=$.extend(options.overcss,{position:"absolute",overflow:"hidden"});
        options.el=$(this);
        $(this).wrap($("<div></div>").css(options.overcss)).css({position:"absolute",overflow:"hidden"});
        if(options.itemCount==0) 
            options.itemCount=$(this).find(options.innerEL).length;
        var pos=0;
		if(options.outerEL) 
			options.outerEL=$(this).find(options.outerEL);
		else
			options.outerEL=$(this);
        $(this).find(options.innerEL).clone(true).appendTo(options.outerEL);
       var scrollHandler; 
        if(options.v){
            scrollHandler=setInterval(function(){
                if(pos==options.itemCount){
                    pos=0;
                    options.el.get(0).style.top="0";
                }
                options.el.animate({top:"-="+options.offset+"px"},options.speed);
                pos++;            
            },options.delay);
        }
        else{
            scrollHandler=setInterval(function(){
                if(pos==options.itemCount){
                    pos=0;
                    options.el.get(0).style.left="0";
                }
                options.el.animate({left:"-="+options.offset+"px"},options.speed);
                pos++;            
            },options.delay);        
        }
        if(options.hover){
            $(this).find(options.innerEL).hover(function(){
                clearInterval(scrollHandler);
            },function(){
                if(options.v){
                    scrollHandler=setInterval(function(){
                        if(pos==options.itemCount){
                            pos=0;
                            options.el.get(0).style.top="0";
                        }
                        options.el.animate({top:"-="+options.offset+"px"},options.speed);
                        pos++;            
                    },options.delay);
                }
                else{
                    scrollHandler=setInterval(function(){
                        if(pos==options.itemCount){
                            pos=0;
                            options.el.get(0).style.left="0";
                        }
                        options.el.animate({left:"-="+options.offset+"px"},options.speed);
                        pos++;            
                    },options.delay);        
                }
            });
        }
        if (options.rollpre) {
            $(options.rollpre).bind("click", function() {
                clearInterval(scrollHandler);
                if (options.v) {
                    if (pos == options.itemCount) {
                        pos = 0;
                        options.el.get(0).style.top = "0";
                    }
                    options.el.animate({ top: "-=" + options.offset + "px" }, options.speed);
                    pos++;
                }
                else {
                    if (pos == options.itemCount) {
                        pos = 0;
                        options.el.get(0).style.left = "0";
                    }
                    options.el.animate({ left: "-=" + options.offset + "px" }, options.speed);
                    pos++;
                }
            });
        }
        if (options.rollnext) {
            $(options.rollnext).bind("click", function() {
                clearInterval(scrollHandler);
                if (options.v) {
                    if (pos == 0) {
                        pos = options.itemCount;
                        options.el.get(0).style.top = -options.itemCount * options.offset;
                    }
                    options.el.animate({ top: "+=" + options.offset + "px" }, options.speed);
                    pos--;
                }
                else {
                    if (pos == 0) {
                        pos = options.itemCount;
                        options.el.get(0).style.left = -options.itemCount * options.offset;
                    }
                    options.el.animate({ left: "+=" + options.offset + "px" }, options.speed);
                    pos--;
                }
            });
        }
    }
})(jQuery);

