$(document).ready(function()
{
	/*var rand_no = Math.round(Math.random() * 20);
	alert(Math.round(rand_no));*/
	$('#btn-voltar').click(function(){ window.location = $('#btn-voltar').attr('url'); return false})
	$('#btn-favorito').click(function(){ window.location = $('#btn-favorito').attr('url'); return false})
	$('#text-variables').attr('value',$('#IdVariaveis').val());
	$('#text-fixes').attr('value',$('#IdFixos').val());
	$("#form-wheels").submit(function()
	{
		/*
		if($("#IdVariaveis").val())
			if(parseInt($("#text-variables").text()) > 0)
			{		
				addClass('alerta msg','Por favor selecione as '+ $('#text-variables').text() + ' dezena(s) variável(s) restante(s).');
				return false;
			}	
		if($("#IdFixos").val())
			if(parseInt($("#text-fixes").text()) > 0 )
			{
				addClass('alerta msg', 'Por favor selecione as '+ $("#text-fixes").text() + ' dezena(s) fixa(s) restante(s).');
				return false;
			}
		*/	
	});
	
	$("button").click(function()
	{
		verificaArray($(this));	
		$(this).blur();		
	});	
	
	//reseta form
	$("#btn-limpar").click(function()
	{
		$('button').each(function()
		{
			$(this).removeClass();
			$(this).show();
		})
		//limpa toda a matriz
		$('select[name="dezenas-variaveis[]"] option').each(function(){ $(this).attr('value',''); })	;
		$('select[name="dezenas-fixos[]"] option').each(function(){ $(this).attr('value',''); })	;
		$("#text-variables").attr('value',$("#IdVariaveis").val());
		$("#text-fixes").attr('value',$("#IdFixos").val());
		
		
		$(this).blur();
		return false;
	});
	
	$("#btn-completar").click(function()
	{				
		var rang = new Array();
		var variables = parseInt($("#text-variables").val());
		var fixes = parseInt($("#text-fixes").val());	
		var number = new Number();
		var set = false;
		rang['fim'] = $("button:last").text();	
		var arrVariables = makeArray('select[name="dezenas-variaveis[]"] option');
		var arrFixes = makeArray('select[name="dezenas-fixos[]"] option');
		$('#btn-gerar').attr('disabled',true);
		for(var i=0;i<variables;i++)
		{
			while(set == false)
			{
				number = Math.round(Math.random()*rang['fim']);	
				//$('body').before('<p>Variável: '+ number +'</p>');
				if(rang['fim'] < 99)
				{			
					if((number > 0) && (!(inArray(number,arrVariables)) && (!inArray(number,arrFixes))))
						if(getArr('select[name="dezenas-variaveis[]"] option','#text-variables',number,'buttom-selected'))
						{
							set = true;	
							for(var j=0; j < arrVariables.length;j++)
							{
								if(!arrVariables[j])
								{
									arrVariables[j] = number;
									break;
								}	
							}		
						}
				}			
				 else
				 {
				 	if((number >= 0) && (!(inArray(number,arrVariables)) && (!inArray(number,arrFixes))))
						if(getArr('select[name="dezenas-variaveis[]"] option','#text-variables',number,'buttom-selected'))
						{
							set = true;	
							for(var j=0; j < arrVariables.length;j++)
							{
								if(!arrVariables[j])
								{
									arrVariables[j] = number;
									break;
								}	
							}		
						}
				 }		
				 			
			}
			set = false;
		}	
		
		for(var i=0;i<fixes;i++)
		{
			while(set == false)
			{				
				number = Math.round(Math.random()*rang['fim']);
				//$('body').before('<p>Fixa: '+ number +'</p>');
				if(rang['fim'] < 99)
				{
					if((number > 0) && (!(inArray(number,arrVariables)) && (!inArray(number,arrFixes))))
						if(getArr('select[name="dezenas-fixos[]"] option','#text-fixes',number,'button-selected-fixe'))
						{
							set = true;
							for(var j=0;j<arrFixes.length;j++)
								if(!arrFixes[j])
								{
									arrFixes[j] = number;
									break;
								}	
						}
				}		
				else
				{
					if((number >= 0) && (!(inArray(number,arrVariables)) && (!inArray(number,arrFixes))))
						if(getArr('select[name="dezenas-fixos[]"] option','#text-fixes',number,'button-selected-fixe'))
						{
							set = true;
							for(var j=0;j<arrFixes.length;j++)
								if(!arrFixes[j])
								{
									arrFixes[j] = number;
									break;
								}	
						}
				}		
							
			}
			set = false;
		}

		$(this).blur();
		$('#btn-gerar').attr('disabled',false);
		return false;
	});
	
	function inArray(val,array)
	{
		var set = false;
		for(var i=0;i < array.length;i++)
			if(val == array[i])
				set = true;
		return set;		
	}
	
	function makeArray(obj)
	{
		var arr = Array();
		$(obj).each(function(i)
		{
			arr[i] = $(this).val();	
		});
		return arr;
	}
	
	//objeto de atualização
	//texto
	//número gerado
	function getArr(obj,textID,number,className)
	{				
		$(obj).each(function(i)
		{
			if(!$(this).val())
			{					
				$(this).attr("value",number);
				var Int = $(textID).val();
				Int = parseInt(Int) - 1;
				addEffect(textID,Int);
				$('button').each(function()
				{
					if($(this).text() == number)
						$(this).addClass(className);
				});
				return false;
			}
		});
		return true;
	}
	
	function verificaArray(obj)
	{
		var set = false;
		$('select[name="dezenas-variaveis[]"] option').each(function()
		{						
			if(!$(this).val())
			{				
				verify("#text-fixes",'select[name="dezenas-fixos[]"] option',obj,'buttom-selected');
				var inT = $("#text-variables").val();
				inT = parseInt(inT)-1;					
				addEffect("#text-variables",inT);
				$(this).attr("value",obj.text());
				obj.addClass('buttom-selected');
				set = true;					
				return false;
			}
			else if ($(this).val() == obj.text())
			{
				var inT = $("#text-variables").val();
				inT = parseInt(inT)+1;					
				addEffect("#text-variables",inT);
				$(this).attr("value",'');
				obj.removeClass('buttom-selected');
				set = true;
				return false;
			}			
		});
		refreshArray('select[name="dezenas-variaveis[]"] option');
	
		$('select[name="dezenas-fixos[]"] option').each(function()
		{
			if(set == false)
			{
				if(!$(this).val())
				{
					var inT = $("#text-fixes").val();
					inT = parseInt(inT)-1;
					addEffect("#text-fixes",inT);
					$(this).attr("value",obj.text());
					obj.addClass('button-selected-fixe');
					return false;
				}
				else if($(this).val() == obj.text())
				{				
					var inT = $("#text-fixes").val();
					inT = parseInt(inT)+1;
					addEffect("#text-fixes",inT);
					$(this).attr("value",'');
					obj.removeClass('button-selected-fixe');
					return false;
				}				
			}				
		});
		refreshArray('select[name="dezenas-fixos[]"] option');
	}
	
	//atualiza array
	function refreshArray(obj)
	{
		var arr = new Array();
		var aux = 0;
		$(obj).each(function()
		{
			if($(this).val())
			{
				arr[aux] = $(this).val();
				aux++;
			}	
		});
		$(obj).each(function()
		{
			$(this).attr("value",'');
		});
		$(obj).each(function(i)
		{
			$(this).attr("value",arr[i]);
		});			
	}
	
	//verifica dezenas
	function verify(Text,obj,button,className)
	{
		$(obj).each(function()
		{
			if($(this).val() == $(button).text())
			{				
				var num = $(Text).text();
				num = parseInt(num)+1;
				addEffect(Text,num);
				$(this).attr("value",'');
				$(button).removeClass();				
			}
		})
	}
	
	//adiciona efeito ao selecionar uma dezena
	function addEffect(obj,Int)
	{
		//$(obj).text(Int);
		$(obj).attr('value',Int);
		//$(obj).fadeIn(200);		
	}
	
	function addClass(classn,mensagem)
	{
		var tr = 'tr.hidden-row';
		if($(tr).is(":hidden"))
			$(tr).show();

		$(tr).find('td').removeClass();
		$(tr).find('td').addClass(classn);
		$(tr).find('td').html(mensagem);
		$(tr).css('height',25);		
	};
})