function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function gup(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if (results == null) {
		return "";
	} else {
		return results[1];
	}
}

		
function sortNumber(a,b)
{
return a - b;
}
//http://www.w3schools.com/jsref/jsref_sort.asp



function visible(obj){
	//funcion para agregar o quitar la clase hide a un elemento
	$(obj).toggleClass('hide');	
	return false;
}


	
function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) {var x = Math.round(num * Math.pow(10,dec));if (x >= 0) n1=n2='';var y = (''+Math.abs(x)).split('');var z = y.length - dec; if (z<0) z--; for(var i = z; i < 0; i++) y.unshift('0'); if (z<0) z = 1; y.splice(z, 0, pnt); if(y[0] == pnt) y.unshift('0'); while (z > 3) {z-=3; y.splice(z,0,thou);}var r = curr1+n1+y.join('')+n2+curr2;return r;}


/*
 * jQuery shuffle
 *
 * Copyright (c) 2008 Ca-Phun Ung <caphun at yelotofu dot com>
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://yelotofu.com/labs/jquery/snippets/shuffle/
 *
 * Shuffles an array or the children of a element container.
 * This uses the Fisher-Yates shuffle algorithm <http://jsfromhell.com/array/shuffle [v1.0]>
 
 
var arr = [1,2,3,4,5,6];
arr = $.shuffle(arr);

 */
 
(function($){

	$.fn.shuffle = function() {
		return this.each(function(){
			var items = $(this).children().clone(true);
			return (items.length) ? $(this).html($.shuffle(items)) : this;
		});
	}
	
	$.shuffle = function(arr) {
		for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
		return arr;
	}
	
})(jQuery);

function randomFromTo(from, to){
       return Math.floor(Math.random() * (to - from + 1) + from);
    }



/* COMBINACIONES */


var error = "";

var seleccion_especial = new Array();
var seleccion_especial_ordenadas = new Array();
var seleccion_numeros = new Array();
var seleccion_numeros_ordenadas = new Array();

function factorial(numero) {
	var factor,i;
	factor = 1;
	for(i=1; i <= numero; i++)
		{ factor = factor * i; }
	return factor;
 }





function f_borrar(juego,n_min,n_max,e_min,e_max){
	
	// borra num
	for(i=n_min;i<=n_max;i++){
		if( $("#c_n"+i).hasClass('selected') ){
			var src = $("#c_n"+i).children("img:first").attr("src").replace("_sel", "");
			$("#c_n"+i).children("img:first").attr("src", src)
			
			var actual = $("#c_n"+i).attr("name").substr(3);
			if(actual>0 && actual<=9){
				actual = "0"+actual;	
			}
			var posicion = jQuery.inArray(actual, seleccion_numeros);
			if(posicion>=0){
				seleccion_numeros.splice(posicion,1)
			}
			$("#c_n"+i).toggleClass('selected');

		}
	}
	pinta_numeros();
	
	
	if(e_max>0){
		// borra especiales
		for(i=e_min;i<=e_max;i++){
			if( $("#c_e"+i).hasClass('selected') ){
				var src = $("#c_e"+i).children("img:first").attr("src").replace("_sel", "");
				$("#c_e"+i).children("img:first").attr("src", src)
				
				var actual = $("#c_e"+i).attr("name").substr(3);
				var posicion = jQuery.inArray(actual, seleccion_especial);
				if(posicion>=0){
					seleccion_especial.splice(posicion,1)
				}
				$("#c_e"+i).toggleClass('selected');
	
			}
		}
		pinta_especiales();

	}
		
}

/* AUTO NUM-ESPECIAL*/

function f_automatica_n(juego,num){
	if(juego=="euromillones"){
			//euromillones
			var_ini = 1;
			var_fin = 50;
		}else if(juego=="gordo"){
			//gordo
			var_ini = 1;
			var_fin = 54;
		}else{
			//primitiva y bonoloto
			var_ini = 1;
			var_fin = 49;
		}
		var arr = [];
		for(i=var_ini;i<=var_fin;i++){
			arr.push(i)
		}
		arr = $.shuffle(arr);
		
		arr_numeros_apuesta_random = new Array()
		for(i=0;i<num;i++){
			arr_numeros_apuesta_random.push(arr[i])
		}
		return arr_numeros_apuesta_random.toString();
}

function f_automatica_e(juego,num){
	
		if(juego=="euromillones"){
			//estrellas
			var_ini = 1;
			var_fin = 11;
			var arr = [1,2,3,4,5,6,7,8,9,10,11];
			arr = $.shuffle(arr);
		}else if(juego=="gordo"){
			//clave
			var_ini = 0;
			var_fin = 9;
			var arr = [0,1,2,3,4,5,6,7,8,9];
			arr = $.shuffle(arr);
		}
		arr_especial_apuesta_random = new Array()
		for(i=0;i<num;i++){
			arr_especial_apuesta_random.push(arr[i])
		}
		return arr_especial_apuesta_random.toString();
}
/* FIN AUTO NUM-ESPECIAL*/

function f_auto(juego,combi_n,rand_n_min,rand_n_max,rand_e_min,rand_e_max){
	
	f_auto_n(juego,combi_n,rand_n_min,rand_n_max);
	
	if(rand_e_max>0){
		// tiene especiales
		f_auto_e(juego,rand_e_min,rand_e_max);
	}
		
}

function f_auto_n(juego,combi_n,rand_n_min,rand_n_max){
	
		if(juego=="euromillones"){
			//euromillones
			var_ini = 1;
			var_fin = 50;
		}else if(juego=="gordo"){
			//gordo
			var_ini = 1;
			var_fin = 54;
		}else{
			//primitiva y bonoloto
			var_ini = 1;
			var_fin = 49;
		}
		var arr = [];
		for(i=var_ini;i<=var_fin;i++){
			arr.push(i)
		}
		arr = $.shuffle(arr);
		var total_num = randomFromTo(rand_n_min,rand_n_max);
		//var total_num = combi_n;
		
		for(i=var_ini;i<=var_fin;i++){
			if( $("#c_n"+i).hasClass('selected') ){
				var src = $("#c_n"+i).children("img:first").attr("src").replace("_sel", "");
				$("#c_n"+i).children("img:first").attr("src", src)
				
				var actual = $("#c_n"+i).attr("name").substr(3);
				if(actual>0 && actual<=9){
					actual = "0"+actual;	
				}
				var posicion = jQuery.inArray(actual, seleccion_numeros);
				if(posicion>=0){
					seleccion_numeros.splice(posicion,1)
				}
				$("#c_n"+i).toggleClass('selected');
	
			}
		}
		
		for(i=0;i<total_num;i++){
				nn = arr[i];
				if( $("#c_n"+nn).hasClass('selected') ){
					//
				}else{
					var src = $("#c_n"+nn).children("img:first").attr("src").match(/[^\.]+/) + "_sel.jpg";
					$("#c_n"+nn).children("img:first").attr("src", src)
					
					var actual = $("#c_n"+nn).attr("name").substr(3);
					if(actual>0 && actual<=9){
						actual = "0"+actual;	
					}
					seleccion_numeros.push(actual)
					$("#c_n"+nn).toggleClass('selected');
				}
		}
		
		pinta_numeros();
		
}

		
		

function f_auto_e(juego,rand_e_min,rand_e_max){
	
		modo_especial = 0;
		
		if(juego=="euromillones"){
			//estrellas
			var_ini = 1;
			var_fin = 11;
			var arr = [1,2,3,4,5,6,7,8,9,10,11];
			arr = $.shuffle(arr);
		}else if(juego=="gordo"){
			//clave
			var_ini = 0;
			var_fin = 9;
			var arr = [0,1,2,3,4,5,6,7,8,9];
			arr = $.shuffle(arr);
		}
		var total_num = randomFromTo(rand_e_min,rand_e_max);
		
		
		for(i=var_ini;i<=var_fin;i++){
			if( $("#c_e"+i).hasClass('selected') ){
				var src = $("#c_e"+i).children("img:first").attr("src").replace("_sel", "");
				$("#c_e"+i).children("img:first").attr("src", src)
				
				var actual = $("#c_e"+i).attr("name").substr(3);
				var posicion = jQuery.inArray(actual, seleccion_especial);
				if(posicion>=0){
					seleccion_especial.splice(posicion,1)
				}
				$("#c_e"+i).toggleClass('selected');
	
			}
		}
		
		for(i=0;i<total_num;i++){
				nn = arr[i];
				if( $("#c_e"+nn).hasClass('selected') ){
					//
				}else{
					if(juego=="euromillones"){
						var src = $("#c_e"+nn).children("img:first").attr("src").match(/[^\.]+/) + "_sel.png";
					}else{
						var src = $("#c_e"+nn).children("img:first").attr("src").match(/[^\.]+/) + "_sel.jpg";
					}
					$("#c_e"+nn).children("img:first").attr("src", src)
					
					var actual = $("#c_e"+nn).attr("name").substr(3);
					seleccion_especial.push(actual)
					$("#c_e"+nn).toggleClass('selected');
				}
		}
		
		f_modos_e(modo_especial);
		
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
function f_modos_e (modo){
	
	//especial_max
	//alert(">>>> "+modo)
	
	if(modo==1){
		// Aleatorio
		modo_especial = 1;
		$("#modo_especial a").removeClass('sel');
		$('#modo1').addClass('sel');
		
	}else if(modo==2){
		modo_especial = 2;
		// Una segura
		$("#modo_especial a").removeClass('sel');
		$('#modo2').addClass('sel');
		
		
		if(juego=="euromillones"){
			var_ini = 1;
			var_fin = 11;
		}else if(juego=="gordo"){
			var_ini = 0;
			var_fin = 9;
		}else{
			var_ini = 0;
			var_fin = 0;
		}
		
		for(i=var_ini;i<=var_fin;i++){
			if( $("#c_e"+i).hasClass('selected') ){
				//
			}else{
				if(juego=="euromillones"){
					var src = $("#c_e"+i).children("img:first").attr("src").match(/[^\.]+/) + "_sel.png";
				}else{
					var src = $("#c_e"+i).children("img:first").attr("src").match(/[^\.]+/) + "_sel.jpg";
				}
				$("#c_e"+i).children("img:first").attr("src", src)
				
				var actual = $("#c_e"+i).attr("name").substr(3);
				seleccion_especial.push(actual)
				$("#c_e"+i).toggleClass('selected');
			}
		}
		
	}else{
		// Directo
		modo_especial = 0;
		$("#modo_especial a").removeClass('sel');
		$('#modo0').addClass('sel');
		
	}
	
	
		pinta_especiales();
	
	
	return false;	
} 

function apuestasModo(apuestas,especiales,modo){
	num_apostas = apuestas;
	if(modo==1){
		// Aleatorio
		num_apostas *= 1;
	}else if(modo==2){
		// Una segura
		
		if(juego=="euromillones"){
			//euromillones
			num_apostas *= 6;
		}else{
			num_apostas *= 1;
		}
		//
	}else{
		// Directo
		if(juego=="euromillones"){
			num_apostas *= (especiales*(especiales-1)/2);
		}else if(juego=="gordo"){
			num_apostas *= especiales;
		}else{
			num_apostas *= 1;
		}
		//alert("num_apostas "+num_apostas)
	}
	return num_apostas;
}

$(function(){
	
	// acciones
	$('.casillas a').bind('click', function(){
		
		if( $(this).hasClass('selected') ){
			//alert(  $(this).children("img:first").attr("name") );
			var src = $(this).children("img:first").attr("src").replace("_sel", "");
			$(this).children("img:first").attr("src", src)
			
			var actual = $(this).attr("name").substr(3);
			if(actual>0 && actual<=9){
				actual = "0"+actual;	
			}
			var posicion = jQuery.inArray(actual, seleccion_numeros);
			if(posicion>=0){
				seleccion_numeros.splice(posicion,1)
			}
			$(this).toggleClass('selected');

		}else{
			//
			if(seleccion_numeros.length >= numeros_max){
				error = "Tienes que seleccionar "+numeros_max+" números.";
				alert(error);
			}else{
				var src = $(this).children("img:first").attr("src").match(/[^\.]+/) + "_sel.jpg";
				$(this).children("img:first").attr("src", src)
				
				var actual = $(this).attr("name").substr(3);
				if(actual>0 && actual<=9){
					actual = "0"+actual;	
				}
				seleccion_numeros.push(actual)
				$(this).toggleClass('selected');
			}
		}
		
		/*
		var dato = 0;
		$('.casillas a').each(function(){	
			if( $(this).hasClass('selected') ){
			dato++;
			}
		});*/
		pinta_numeros();
		
		return false;
	});	
	$('.casillas_e a').bind('click', function(){
		
		if( $(this).hasClass('selected') ){
			
			/* miro si esta en modo segura y paso a aleatoria*/
			if(modo_especial == 2){
				f_modos_e(1)
			}
			/**/
			//alert(  $(this).children("img:first").attr("name") );
			var src = $(this).children("img:first").attr("src").replace("_sel", "");
			$(this).children("img:first").attr("src", src)
			
			var actual = $(this).attr("name").substr(3);
			var posicion = jQuery.inArray(actual, seleccion_especial);
			if(posicion>=0){
				seleccion_especial.splice(posicion,1)
			}
			$(this).toggleClass('selected');

		}else{
			//
			if(seleccion_especial.length >= especial_max){
				
				if(juego=="euromillones"){
					error = "Tienes que seleccionar "+especial_max+" estrellas.";
				}else if(juego=="gordo"){
					error = "Tienes que seleccionar "+especial_max+" clave.";
				}else{
					error = "Tienes que seleccionar "+especial_max+" .";
				}
				alert(error);
			}else{
				if(juego=="euromillones"){
					var src = $(this).children("img:first").attr("src").match(/[^\.]+/) + "_sel.png";
				}else{
					var src = $(this).children("img:first").attr("src").match(/[^\.]+/) + "_sel.jpg";
				}
				$(this).children("img:first").attr("src", src)
				
				var actual = $(this).attr("name").substr(3);
				seleccion_especial.push(actual)
				$(this).toggleClass('selected');
			}
		}
		
		pinta_especiales();
		
		return false;
		
	});
	
	
})

function pinta_numeros(){
	
		seleccion_numeros_ordenadas = seleccion_numeros;
		seleccion_numeros_ordenadas = seleccion_numeros_ordenadas.sort(sortNumber);
		if(seleccion_numeros_ordenadas.length > 0){
			$('#txt_numeros').html(seleccion_numeros_ordenadas.join(" - "));
		}else{
			$('#txt_numeros').html("<em>Seleccionar números.</em>");
		}
			if(seleccion_numeros_ordenadas.length == 1){
				$('#txt_numeros_length').html(seleccion_numeros_ordenadas.length+" número");
			}else{
				$('#txt_numeros_length').html(seleccion_numeros_ordenadas.length+" números");
			}
			f_precio(precio_apuesta,seleccion_numeros_ordenadas.length,apuestas_combi,seleccion_especial_ordenadas.length,modo_especial);
}


function pinta_especiales(){
		seleccion_especial_ordenadas = seleccion_especial;
		seleccion_especial_ordenadas = seleccion_especial_ordenadas.sort(sortNumber);
		
		if(seleccion_especial_ordenadas.length > 0){
			if(juego=="euromillones"){
				$('#txt_especial').html("<em>Seleccionar estrellas.</em>");
				if(seleccion_especial_ordenadas.length == 1){			
					var txt_especial = seleccion_especial_ordenadas.length+" estrella"
				}else{
					var txt_especial = seleccion_especial_ordenadas.length+" estrellas"
				}
			}else if(juego=="gordo"){
				$('#txt_especial').html("<em>Seleccionar clave.</em>");
				if(seleccion_especial_ordenadas.length == 1){			
					var txt_especial = seleccion_especial_ordenadas.length+" clave"
				}else{
					var txt_especial = seleccion_especial_ordenadas.length+" claves"
				}
			}else{
				$('#txt_especial').html("<em>Seleccionar.</em>");
				if(seleccion_especial_ordenadas.length == 1){			
					var txt_especial = seleccion_especial_ordenadas.length+" especial"
				}else{
					var txt_especial = seleccion_especial_ordenadas.length+" especiales"
				}
			}
			$('#txt_especial').html(seleccion_especial_ordenadas.join(" - "));
		}else{
			
			if(juego=="euromillones"){
				$('#txt_especial').html("<em>Seleccionar estrellas.</em>");
				var txt_especial = seleccion_especial_ordenadas.length+" estrellas"
			}else if(juego=="gordo"){
				$('#txt_especial').html("<em>Seleccionar clave.</em>");
				var txt_especial = seleccion_especial_ordenadas.length+" claves"
			}else{
				$('#txt_especial').html("<em>Seleccionar.</em>");
				var txt_especial = seleccion_especial_ordenadas.length+" especiales"
			}
		}
		
			$('#txt_especial_length').html(txt_especial);
			f_precio(precio_apuesta,seleccion_numeros_ordenadas.length,apuestas_combi,seleccion_especial_ordenadas.length,modo_especial);
			$('#txt_modo_especial').html(modo_especial);
			
}



function formato_miles(numero) {
            var num = numero.replace(/\./g,"");
            if(!isNaN(num)){
                num = num.toString().split("").reverse().join("").replace(/(?=\d*\.?)(\d{3})/g,"$1.");
                num = num.split("").reverse().join("").replace(/^[\.]/,"");
                numero = num;
            }else{
                numero = numero.replace(/[^\d\.]*/g,"");
            }
            
            return numero;
        }
		
function f_precio (precio_apuesta,numeros,apuestas,especiales,modo){
	/*
	*/
	var precio = precio_apuesta*apuestasModo(apuestas_combi,especiales,modo);
	
	
	if(precio>1){
		precio = formatNumber(precio,2,'.',',','','','-','');
		precio = precio + " euros";
	}else if(precio==1){
		precio = formatNumber(precio,2,'.',',','','','-','');
		precio = precio + " euro";
	}else{
		precio = "-";
	} 
	if(numeros < numeros_max){
		precio = "-";
	}
	if(especiales < especiales_min){
		precio = "-";
	}
	
	
	$('#txt_precio').html(precio);
}



/* FIN COMBINACIONES */




/* insertar numeros y especiales */


function insert_numeros(arr_numeros){
	
		var arr_n = arr_numeros;
		var arr = new Array();
		arr = arr_n.split(',');

		//alert(">> "+arr)
		
		
		if(juego=="euromillones"){
			//euromillones
			var_ini = 1;
			var_fin = 50;
		}else if(juego=="gordo"){
			//gordo
			var_ini = 1;
			var_fin = 54;
		}else{
			//primitiva y bonoloto
			var_ini = 1;
			var_fin = 49;
		}
		var total_num = arr.length;
		
		for(i=var_ini;i<=var_fin;i++){
			if( $("#c_n"+i).hasClass('selected') ){
				var src = $("#c_n"+i).children("img:first").attr("src").replace("_sel", "");
				$("#c_n"+i).children("img:first").attr("src", src)
				
				var actual = $("#c_n"+i).attr("name").substr(3);
				if(actual>0 && actual<=9){
					actual = "0"+actual;	
				}
				var posicion = jQuery.inArray(actual, seleccion_numeros);
				if(posicion>=0){
					seleccion_numeros.splice(posicion,1)
				}
				$("#c_n"+i).toggleClass('selected');
	
			}
		}
		
		for(i=0;i<total_num;i++){
				nn = arr[i];
				if(nn.substr(0,1)==0){
					nn = nn.substr(1);
				}
				if( $("#c_n"+nn).hasClass('selected') ){
					//
				}else{
					var src = $("#c_n"+nn).children("img:first").attr("src").match(/[^\.]+/) + "_sel.jpg";
					$("#c_n"+nn).children("img:first").attr("src", src)
					
					var actual = $("#c_n"+nn).attr("name").substr(3);
					if(actual>0 && actual<=9){
						actual = "0"+actual;	
					}
					seleccion_numeros.push(actual)
					$("#c_n"+nn).toggleClass('selected');
				}
		}
		
		pinta_numeros();
	/*
		*/
		
}

		
		

function insert_especiales(arr_especiales){
	
	
		var arr_n = arr_especiales;
		var arr = new Array();
		arr = arr_n.split(',');

		//alert(">> "+arr)
		modo_especial = 0;
		
		if(juego=="euromillones"){
			//estrellas
			var_ini = 1;
			var_fin = 11;
		}else if(juego=="gordo"){
			//clave
			var_ini = 0;
			var_fin = 9;
		}
		var total_num = arr.length;
		
		
		for(i=var_ini;i<=var_fin;i++){
			if( $("#c_e"+i).hasClass('selected') ){
				var src = $("#c_e"+i).children("img:first").attr("src").replace("_sel", "");
				$("#c_e"+i).children("img:first").attr("src", src)
				
				var actual = $("#c_e"+i).attr("name").substr(3);
				var posicion = jQuery.inArray(actual, seleccion_especial);
				if(posicion>=0){
					seleccion_especial.splice(posicion,1)
				}
				$("#c_e"+i).toggleClass('selected');
	
			}
		}
		
		for(i=0;i<total_num;i++){
				nn = arr[i];
				if( $("#c_e"+nn).hasClass('selected') ){
					//
				}else{
					if(juego=="euromillones"){
						var src = $("#c_e"+nn).children("img:first").attr("src").match(/[^\.]+/) + "_sel.png";
					}else{
						var src = $("#c_e"+nn).children("img:first").attr("src").match(/[^\.]+/) + "_sel.jpg";
					}
					$("#c_e"+nn).children("img:first").attr("src", src)
					
					var actual = $("#c_e"+nn).attr("name").substr(3);
					seleccion_especial.push(actual)
					$("#c_e"+nn).toggleClass('selected');
				}
		}
		
		f_modos_e(modo_especial);
		
}

/* fin insertar numeros y especiales */
