function ScrollOpts(opts) {
	this.tableId = opts.tableId;
	this.rowId = opts.rowId;
	this.countperpage = opts.countperpage;
	this.scrollperpage = (opts.scrollwidth * opts.countperpage);
	this.scrollwidth = opts.scrollwidth;
	this.scrollinterval = opts.scrollinterval;
	this.speed = opts.speed;
	this.noItems = opts.noItems;

	this.animate = false;
	this.pos = 0;
	this.container = '#' + this.tableId;
}

function createScrollwheel(scrollObj) {
    var length=scrollObj.noItems;
    var container = '#' + scrollObj.rowId;
    for(var i=0;i<scrollObj.countperpage;i++)
    {
    	$(container).append('<td>'+$(container + ' > td').get(i*2).innerHTML+'</td>');
        $(container).prepend('<td>'+$(container + ' > td').get(length-1).innerHTML+'</td>');
    }

    $(scrollObj.container).attr({style: "left:" + scrollObj.pos + "px"});
}

function scrollRight(scrollObj)
{
	if(!scrollObj.animate) {
		var maxScrollPos = -($(scrollObj.container).width() - scrollObj.scrollperpage);
		
		// scroll to start again if we have reached the end		
		if (scrollObj.pos == maxScrollPos) {
			scrollObj.pos = 0;
			$(scrollObj.container).animate({left:scrollObj.pos+"px"}, scrollObj.speed/scrollObj.countperpage);	
		} else {
			scrollObj.pos-= scrollObj.scrollperpage;
						
			if (maxScrollPos - scrollObj.pos > 0 ) {
				// not enough items for full scroll left, just scroll to end now
				scrollObj.pos = maxScrollPos;
				$(scrollObj.container).animate({left:scrollObj.pos+"px"}, scrollObj.speed/2);			
			} else {
				// normal scroll with enough space left
				$(scrollObj.container).animate({left:scrollObj.pos+"px"}, scrollObj.speed);				
			}						
		}
	}
}

function scrollLeft(scrollObj)
{
	if(!scrollObj.animate) {
		var maxScrollPos = 0;
		
		scrollObj.pos+= scrollObj.scrollperpage;
		if (maxScrollPos - scrollObj.pos < 0 ) {
			// if we are at starting scroll position, scroll to end
			scrollObj.pos = -($(scrollObj.container).width() - scrollObj.scrollperpage);
			$(scrollObj.container).animate({left:scrollObj.pos+"px"}, scrollObj.speed/scrollObj.countperpage);			
		} else {
			$(scrollObj.container).animate({left:scrollObj.pos+"px"}, scrollObj.speed);				
		}						
	}
}

function permanentSlide(scrollObj)
{
   var myVar = scrollObj;
   window.setInterval(function () { scrollRight(myVar)},myVar.scrollinterval);  
}

