function init_roleta(_roletaOBJ){
	
	//DEFAULT CONFIGS
	//-------------------------------------
	if(_roletaOBJ.moveView==undefined){
		_roletaOBJ.moveView = false;
	}
	
	if(_roletaOBJ.boundaries==undefined){
		_roletaOBJ.boundaries = true;
	}
	
	if(_roletaOBJ.autoFoward==undefined){
		_roletaOBJ.autoFoward = false;
	}
	
	if(_roletaOBJ.timeFoward==undefined){
		_roletaOBJ.timeFoward = 5000;
	}
	
	_roletaOBJ.interval;
	_roletaOBJ.globalWidth = 0;
	
	//-------------------------------------
	
	if(!_roletaOBJ.boundaries){
		var qtdElements = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global > "+_roletaOBJ.typeElement).length;
		var qtdElementsPerView = Math.floor(_roletaOBJ.containerWidth/_roletaOBJ.elementWidth);
		if(qtdElements>qtdElementsPerView){
			lastElementsView = qtdElements-qtdElementsPerView-1;
			var elementParent = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global "+_roletaOBJ.typeElement).parent();
			var lastElement = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global "+_roletaOBJ.typeElement+":gt("+lastElementsView+")");
			var firstElement = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global "+_roletaOBJ.typeElement+":lt("+qtdElementsPerView+")");
			$(firstElement).clone().appendTo(elementParent);
			$(lastElement).clone().prependTo(elementParent);
		}
	}

	var qtdElements = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global > "+_roletaOBJ.typeElement).length;
	_roletaOBJ.globalWidth = qtdElements*_roletaOBJ.elementWidth;	
	
	//alert(qtdElements+" * "+_roletaOBJ.elementWidth+" = "+_roletaOBJ.globalWidth+" | "+_roletaOBJ.boundaries);
	
	$("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("width",_roletaOBJ.globalWidth);
	//alert(_roletaOBJ.globalWidth+" - "+_roletaOBJ.containerWidth);
	if(_roletaOBJ.globalWidth<=_roletaOBJ.containerWidth){
		$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowDisabled);
		$("#"+_roletaOBJ.roletaID+" .btn_right a").attr("onclick","");
		$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowDisabled);
		$("#"+_roletaOBJ.roletaID+" .btn_left a").attr("onclick","");
	}else{
		if(_roletaOBJ.autoFoward)_roletaOBJ.interval = setInterval(function(){foward(_roletaOBJ);}, _roletaOBJ.timeFoward);
		if(_roletaOBJ.boundaries){
			$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_right a").click(function(){foward(_roletaOBJ);});
			$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowDisabled);
			$("#"+_roletaOBJ.roletaID+" .btn_left a").unbind("click");
		}else{
			$("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("marginLeft",-_roletaOBJ.containerWidth+_roletaOBJ.elementWidth+"px");
			$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_right a").click(function(){foward(_roletaOBJ);});
			$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_left a").click(function(){backward(_roletaOBJ);});
		}
	}
}


function foward(_roletaOBJ){
	
	
	if(_roletaOBJ.moveView){
		var margin = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("marginLeft").replace("px","");
		var leftBound = -(_roletaOBJ.globalWidth-_roletaOBJ.containerWidth);
		
		$("#"+_roletaOBJ.roletaID+" .btn_right a").unbind("click");
		
		if((margin-_roletaOBJ.containerWidth)<leftBound){
			move = margin-leftBound;
			moveRoleta(-move, margin, _roletaOBJ);
		}else{
			moveRoleta(-_roletaOBJ.containerWidth, margin, _roletaOBJ);
		}
	}else{
		var margin = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("marginLeft").replace("px","");
		moveRoleta(-_roletaOBJ.elementWidth, margin, _roletaOBJ);
	}
	
}

function backward(_roletaOBJ){
	if(_roletaOBJ.moveView){
		var margin = $("#"+_roletaOBJ.roletaID+".roleta_container div.global").css("marginLeft").replace("px","");
		
		$("#"+_roletaOBJ.roletaID+" .btn_left a").unbind("click");
		if(margin > -_roletaOBJ.containerWidth){
			move = -margin;
			$("#"+_roletaOBJ.roletaID+" .btn_right a").unbind("click");
			moveRoleta(move, margin, _roletaOBJ);
		}else{
			moveRoleta(_roletaOBJ.containerWidth, margin, _roletaOBJ);
		}
	}else{
		var margin = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("marginLeft").replace("px","");
		moveRoleta(_roletaOBJ.elementWidth, margin, _roletaOBJ);
	}	
}

function moveRoleta(num, margin, _roletaOBJ){
	
	$("#"+_roletaOBJ.roletaID+" .btn_left a").unbind("click");
	$("#"+_roletaOBJ.roletaID+" .btn_right a").unbind("click");
	var value = parseInt(margin)+num;
	$("#"+_roletaOBJ.roletaID+" .roleta_container div.global").animate({ 
        marginLeft: parseInt(value)+"px"
	}, 250, "swing", function(){verifica(_roletaOBJ);} );
	
}

function verifica(_roletaOBJ){
	
	if(_roletaOBJ.autoFoward) clearInterval(_roletaOBJ.interval);
	
	var margin = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("marginLeft").replace("px","");
	
	//_roletaOBJ.globalWidth = $("#"+_roletaOBJ.roletaID+" .roleta_container div.global").width();
	//_roletaOBJ.containerWidth = $("#"+_roletaOBJ.roletaID+" .roleta_container").width();
	
	var leftBound = (_roletaOBJ.globalWidth-_roletaOBJ.containerWidth)*(-1);
	
	if(margin==0 && _roletaOBJ.globalWidth>_roletaOBJ.containerWidth){
		if(_roletaOBJ.boundaries){
			$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowDisabled);
			$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_right a").click(function(){foward(_roletaOBJ);});
			$("#"+_roletaOBJ.roletaID+" .btn_left a").unbind("click");
			if(_roletaOBJ.autoFoward) _roletaOBJ.interval = setInterval(function(){foward(_roletaOBJ);}, _roletaOBJ.timeFoward);
		}else{
			$("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("marginLeft",(leftBound+_roletaOBJ.containerWidth)+"px");
			$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_right a").click(function(){foward(_roletaOBJ);});
			$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_left a").click(function(){backward(_roletaOBJ);});
			if(_roletaOBJ.autoFoward)_roletaOBJ.interval = setInterval(function(){foward(_roletaOBJ);}, _roletaOBJ.timeFoward);
		}
	}else if(margin==leftBound && _roletaOBJ.globalWidth>_roletaOBJ.containerWidth){
		if(_roletaOBJ.boundaries){
			$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowDisabled);
			$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_left a").click(function(){backward(_roletaOBJ);});
			$("#"+_roletaOBJ.roletaID+" .btn_right a").unbind("click");
		}else{
			$("#"+_roletaOBJ.roletaID+" .roleta_container div.global").css("marginLeft",-_roletaOBJ.containerWidth+"px");
			$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_right a").click(function(){foward(_roletaOBJ);});
			$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowEnabled);
			$("#"+_roletaOBJ.roletaID+" .btn_left a").click(function(){backward(_roletaOBJ);});
			if(_roletaOBJ.autoFoward)_roletaOBJ.interval = setInterval(function(){foward(_roletaOBJ);}, _roletaOBJ.timeFoward);
		}
	}else{
		$("#"+_roletaOBJ.roletaID+" img.foward").attr("src", _roletaOBJ.rightArrowEnabled);
		$("#"+_roletaOBJ.roletaID+" .btn_right a").click(function(){foward(_roletaOBJ);});
		$("#"+_roletaOBJ.roletaID+" img.backward").attr("src", _roletaOBJ.leftArrowEnabled);
		$("#"+_roletaOBJ.roletaID+" .btn_left a").click(function(){backward(_roletaOBJ);});
		if(_roletaOBJ.autoFoward)_roletaOBJ.interval = setInterval(function(){foward(_roletaOBJ);}, _roletaOBJ.timeFoward);
	}
	
}
