var Bingo = {
min: 01,
max: 90,
numerosSorteados: new Array(),
windowDocument: null,
init: function(parent){
this.windowDocument = parent;
this.bind();
},
bind: function(){
$("#boton-borrar-todo").click(function(){
Bingo.botonBorrarTodoAction();
});
$("#boton-jugar").click(function(){
Bingo.botonJugarAction();
});
$(".texto").click(function(){
Bingo.seleccionarTipoJuego(this);
});
$("#boton-sortear").click(function(){
Bingo.jugar();
});
},
seleccionarTipoJuego: function(boton){
if(!$(boton).hasClass( "texto-seleccionado" )){
$(boton).addClass('texto-seleccionado', 1000, 'easeOutQuart');
var aux = $(boton).attr('id');
switch(aux){
case 'boton-terna':
$('#boton-linea').removeClass('texto-seleccionado', 500, 'easeOutQuart');
$('#boton-bingo').removeClass('texto-seleccionado', 500, 'easeOutQuart');
break;
case 'boton-linea':
$('#boton-terna').removeClass('texto-seleccionado', 500, 'easeOutQuart');
$('#boton-bingo').removeClass('texto-seleccionado', 500, 'easeOutQuart');
break;
case 'boton-bingo':
$('#boton-terna').removeClass('texto-seleccionado', 500, 'easeOutQuart');
$('#boton-linea').removeClass('texto-seleccionado', 500, 'easeOutQuart');
break;
}
} else {
$(boton).removeClass('texto-seleccionado', 1000, 'easeOutQuart');
}
},
botonBorrarTodoAction: function(){
window.top.location.reload();
},
botonJugarAction: function(){
bootbox.dialog({
message: "<p>Quiere activar<br/>el modo automatico</p>",
title: "",
buttons: {
danger: {
label: "No",
className: "btn-danger",
callback: function() {
}
},
main: {
label: "Si",
className: "btn-primary",
callback: function() {
bootbox.hideAll();
Bingo.numerosSorteados = new Array();
var milisegundos = 3000;
var x = 0;
$(document).ready(function() {
$(":button#start").bind("click", function() {
timer = setInterval('Bingo.jugar()', milisegundos);
});
$(":button#stop").bind("click", function() {
timer = clearInterval(timer);
});
});
Bingo.jugar();
}
}
}
});
},
anularBola: function(numero){
$('#bola-actual').html('-');
$('#bola-salio-'+numero).remove();
$('#bola-'+numero).removeClass('wp-pagenavi-span-bola-salio');
$('#bola-'+numero).addClass('wp-pagenavi-span');
},
seleccionarBolaAction: function(bola){
if(bola.hasClass( "wp-pagenavi-span-bola-salio" )){
console.log("La bola seleccionada YA SALIO!");
}
else{
var n = bola.html();
console.log('Numero marcado: ' + n);
this.generarBolaGigante(n);
this.marcarBolaYaSalio(bola);
this.numerosSorteados.push(n);
console.log(this.numerosSorteados);
}
},
marcarBolaYaSalio: function(bola){
bola.addClass('wp-pagenavi-span-bola-salio', 2500, 'easeOutExpo',
function(){
bola.removeClass('wp-pagenavi-span');
var numero = bola.html();
$('#bola-actual-flotante').remove();
$('#ultimas-6').prepend('<span class="wp-pagenavi-span-bola-salio" onclick="Bingo.anularBola(\''+numero+'\');" id="bola-salio-'+numero+'">'+numero+'</span>');
}
);
},
generarBolaGigante: function(numero){
$('#bola-actual').html(numero);
$( window.document.body ).prepend('<span class="bola-actual-flotante" id="bola-actual-flotante">'+numero+'</span>');
$( ".bola-actual-flotante" ).position({
of: $('#left-content')
});
},
generarNumeroAleatorio: function() {
var numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90];
var n = Math.floor( (Math.random() * numbers.length) + 1);
var index = numbers.indexOf(n);
numbers.splice(index, 1);
n = (n < 10) ? '0' + n : n;
console.log('Número eliminado: ' + n);
console.log('Indice del número eliminado: ' + index);
console.log(numbers);
console.log('Numero generado: ' + n.toString());
document.all.sound.src = n +'.mp3';
console.log('Mi audio es '+n+'.mp3');
return n.toString();
},
jugar: function(){
console.log(_.size(Bingo.numerosSorteados));
if(_.size(Bingo.numerosSorteados) >= (Bingo.max)){
Bingo.showMensajeJuegoFinalizado();
return;
}
var n = Bingo.generarNumeroAleatorio();
if(_.contains(Bingo.numerosSorteados, n)){
// controlar que aqui si ya tiene todos los numeros no genere infinitamente
console.log('Numero sorteado ya salio: ' + n);
Bingo.jugar();
}
else{
Bingo.seleccionarBolaAction($('#bola-' + n));
}
},
showMensajeJuegoFinalizado: function(){
bootbox.dialog({
message: "<p>Todos los números ya fueron sorteados.<br/>Desea LIMPIAR la pizarra?</p>",
title: "El Juego a finalizado",
buttons: {
danger: {
label: "No",
className: "btn-danger",
callback: function() {
}
},
main: {
label: "Si, limpiar",
className: "btn-primary",
callback: function() {
bootbox.hideAll();
Bingo.botonBorrarTodoAction();
}
}
}
});
}
};
$( window.document ).ready(function() {
Bingo.init(this);
});