//color slider widget.
var handleLeftColorNum  = 0;
var handleRightColorNum = 6;
var currentHandleColor = '';
var timeout_color = null;

function updateResultsColor(){
	change_filter = true;
	updateResults();
}

function moveColor(pos,handle)
{
	if (null != timeout_color)
	{
		clearTimeout(timeout_color);
	}
	
	if (handle == 'left')
	{
		if (handleRightColorNum < pos)
		{
			return;
		}
		
		switch(pos)
		{
			case 0:
				$('#slide_iz_color').css('padding-left','0px');
				handleLeftColorNum = 0;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 1:
				$('#slide_iz_color').css('padding-left','32px');
				handleLeftColorNum = 1;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
			case 2:
				$('#slide_iz_color').css('padding-left','66px');
				handleLeftColorNum = 2;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 3:
				$('#slide_iz_color').css('padding-left','100px');
				handleLeftColorNum = 3;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 4:
				$('#slide_iz_color').css('padding-left','134px');
				handleLeftColorNum = 4;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 5:
				$('#slide_iz_color').css('padding-left','168px');
				handleLeftColorNum = 5;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 6:
				$('#slide_iz_color').css('padding-left','202px');
				handleLeftColorNum = 6;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
		}
	}
	else if ('right' == handle)
	{
		if (handleLeftColorNum > pos)
		{
			return;
		}
	
		switch(pos){
			case 0:
				$('#slide_de_color').css({'margin-left':'22px','padding-right':'202px'});
				handleRightColorNum = 0;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 1:
				$('#slide_de_color').css({'margin-left':'56px','padding-right':'168px'});
				handleRightColorNum = 1;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 2:
				$('#slide_de_color').css({'margin-left':'90px','padding-right':'136px'});
				handleRightColorNum = 2;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 3:
				$('#slide_de_color').css({'margin-left':'123px','padding-right':'102px'});
				handleRightColorNum = 3;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 4:
				$('#slide_de_color').css({'margin-left':'157px','padding-right':'68px'});
				handleRightColorNum = 4;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 5:
				$('#slide_de_color').css({'margin-left':'191px','padding-right':'34px'});
				handleRightColorNum = 5;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
				
			case 6:
				$('#slide_de_color').css({'margin-left':'225px','padding-right':'0px'});
				handleRightColorNum = 6;
				if (!blocked)
				{
					showUpdateResultsLogin();
					timeout_color = setTimeout(updateResultsColor,600);
				}
				break;
		}
	}
}

function getColorPosOver(mousePosition){
	if (mousePosition >= 0 && mousePosition <= 31)
	{
		return 0;//J
	}
	else if (mousePosition >= 32 && mousePosition <= 64)
	{
		return 1; //I
	}
	else if (mousePosition >= 65 && mousePosition <= 99)
	{
		return 2; //H
	}
	else if (mousePosition >= 100 && mousePosition <= 132)
	{
		return 3; //G
	}
	else if (mousePosition >= 133 && mousePosition <= 166)
	{
		return 4;
	}
	else if (mousePosition >= 167 && mousePosition <= 200)
	{
		return 5;
	}
	else if (mousePosition >= 201 && mousePosition <= 235)
	{
		return 6;
	}
	
	//invalid position value;
	return -1;
}

$(document).ready(function()
{
	$('#colorSliderContainer').bind('mousedown',function(e)
	{
		currentDragElement = 'colorSlider';
		e.preventDefault();
		initMousePosition = [e.pageX,e.pageY];
		
		e.preventDefault();
		var pos  = findPos($('#colorSliderContainer')[0]);
		var initX = pos[0];
		var endX  = initX + 240;
		var relativeMousepos = e.pageX - initX;
		
		var overPosition = getColorPosOver(relativeMousepos);
		
		if (handleLeftColorNum == handleRightColorNum)
		{
			currentHandleColor = 'both';
		}
		else
		{
			if (overPosition == handleRightColorNum)
			{
				currentHandleColor = 'right';
				//console.log('use right handle');
			}
			else if (overPosition == handleLeftColorNum)
			{
				currentHandleColor = 'left';
				//console.log('use left handle');
			}
			else
			{
				currentHandleColor = '';
			}
		}
	});
	
	$('#colorSliderContainer').bind('mousemove',function(e){
		
		e.preventDefault();
		var pos  = findPos($('#colorSliderContainer')[0]);
		var initX = pos[0];
		var endX  = initX + 240;
		
		var relativeMousepos = e.pageX - initX;
		
		if (currentDragElement == 'colorSlider')
		{
			//console.log('current handle: ' + currentHandleColor);
			
			if ('both' == currentHandleColor)
			{
				//si el usuario mueve el mouse hacia la izquierda se usa el handle left.
				//sino se usa el handle right.
				var deltaX = e.pageX - initMousePosition[0];
				if (deltaX > 0)
				{
					currentHandleColor = 'right';
				}
				else
				{
					currentHandleColor = 'left';
				}
			}
			
			var overPosition = getColorPosOver(relativeMousepos);
			moveColor(overPosition,currentHandleColor);
		}
		
		initMousePosition = [e.pageX,e.pageY];
	});
});

