/**
 * @description  无缝滚动插件版
 * @param        speed:滚动速度控制参数，字符串类型参数字符串支持为slow，normal，fast三种
 *               数字类型参数范围是：10 —— 1000（数字越小滚动越快）
 * @author       lsunwing
 * @date         2010/06/23
 */
$.fn.myRoll = function(speed, maxnum,customerindex,childindex){
    
    //滚动窗口的高
    var rollHeight = this.parent().height();
    //滚动条目数组
    var rollArray = this.find("div");
    //滚动条目数组个数
    var number = rollArray.size();
    //滚动条目的高
    var height = rollArray.eq(0).height();
    
    var obj = this;
    
    // 滚动速度控制
    var range = 1;  //滚动幅度
    var interval = 100;  //滚动时间间隔

    if(speed){
        if(typeof speed == "string"){
            if(speed == "slow"){
                range = 1;
            }else if(speed == "normal"){
                range = 2;
            }else if (speed == "fast"){
                range = 4;
            }else{
                range = 1;
            }
        }else if(typeof speed == "number"){
            if(Math.ceil(speed) >= speed && Math.ceil(speed) <=1000){
                interval = Math.ceil(speed);
            }else{
                interval = 100;
            }
        }else{
            range = 1;
            interval = 100;
        }
    }else{
        range = 1;
        interval = 100;
    }
    
    var top = 0;
    var flag = 0;

    //时间循环滚动
    var timeId;
    if(number > rollHeight/height){
        //开始滚动
        timeId = setInterval(startRoll,interval);
    }else{
        //内容高度小于滚动框的高度，不滚动
    }

    //鼠标动作
//    $(this).hover(
//        function(){
//            clearInterval(timeId);
//        },
//        function(){
//            timeId = setInterval(startRoll,interval);
//        }
//    );

    //滚动次数
    var c = Math.ceil(height/range);
    
    var num = 0;

    function startRoll(){
        flag++;
        if(flag >= c){         
        
        	num++;
        	if(num >= maxnum){
        		clearInterval(timeId);		
        		rollchange(customerindex,childindex);
        	}
            rollArray.eq(0).remove();
            obj.append($(rollArray).eq(0));
            //重新获得一下数组
            rollArray = obj.find("div");
            top = top + height;
            flag = 0;
        }
        top = top - range;
        
        obj.css("margin-top",top);
    }
}

