Ola pessoal…
Eu estou tentando fazer isto há meses mas nada feito… não consigo o efeito pretendido.
Este código faz funcionar uma tombola ou random number entre 1 e 5, mas eu queria que ele gerasse números entre 0 e 4.
Alguém me pode ajudar… eu até pago esse trabalho.
var board_size = 5;
var board_numbers = 1;
var board_stars = 0;
$(document).ready(function(){
$(’#user_nome’).focus();
$(’#user_email’).blur(function(e){
if ( this.value != ‘’ ) {
$("#submit").attr(“disabled”, true);
$(’.val’).remove();
$(‘
A validar…
’).insertAfter(’#user_email’);$.ajax({
type: “POST”,
url: “d4w/form.php”,
data: “value=”+this.value,
success: function(msg){
if ( msg == “false” ) {
$(’.val’).remove();
$(‘
E-mail inválido ou inexistente!
’).insertAfter(’#user_email’);$(’#user_email’).focus();
} else {
$(’.val’).remove();
$("#submit").removeAttr(“disabled”);
}
}
});
}
});
$(’#amigo_email’).blur(function(e){
if ( this.value != ‘’ ) {
$("#submit").attr(“disabled”, true);
$(’.val’).remove();
$(‘
A validar…
’).insertAfter(’#amigo_email’);$.ajax({
type: “POST”,
url: “d4w/form.php”,
data: “value=”+this.value,
success: function(msg){
//alert( msg );
if ( msg == “false” ) {
$(’.val’).remove();
$(‘
E-mail inválido ou inexistente!
’).insertAfter(’#amigo_email’);$(’#amigo_email’).focus();
} else if ( msg == “usado” ) {
$(’.val’).remove();
$(‘
Não pode repetir endereços de e-mail para o mesmo destinatário no mesmo mês.
’).insertAfter(’#amigo_email’);$(’#amigo_email’).focus();
} else {
$(’.val’).remove();
$("#submit").removeAttr(“disabled”);
}
}
});
}
});
$("#submit").click(function(e){
if ( $(’#user_nome’).val()==’’ ) {
e.preventDefault();
alert ( ‘Não preencheu o seu nome. Tente novamente.’ );
$(’#user_nome’).focus();
}else if ( $(’#user_email’).val()==’’ ) {
e.preventDefault();
alert ( ‘Não preencheu o seu endereço de e-mail. Tente novamente.’ );
$(’#user_email’).focus();
}else if ( $(’#amigo_nome’).val()==’’ ) {
e.preventDefault();
alert ( ‘Não preencheu o nome do seu amigo. Tente novamente.’ );
$(’#amigo_nome’).focus();
}else if ( $(’#amigo_email’).val()==’’ ) {
e.preventDefault();
alert ( ‘Não preencheu o endereço de e-mail do seu amigo. Tente novamente.’ );
$(’#amigo_email’).focus();
}
});
lotti();
});
function lotti() {
var howmany = 0;
var numbers = [];
var stars = [];
if ( $(’#star1’).length == 0 ) {
for ( var i = 1;i <= board_size;i++ ) {
$(’<span class=“star” id=“star’+i+’”>’+i+’</span>’).appendTo(’#d4w4’);
}
for ( var i = 1;i <= board_numbers;i++ ) {
$(’<div class=“slot orange” id=“number’+i+’”>?</div>’).appendTo(’#d4w3’);
}
for ( var i = 1;i <= board_stars;i++ ) {
$(’<div class=“slot green” id=“star’+i+’”>?</div>’).appendTo(’#d4w3’);
}
}
$(’#d4w2’).click(function(e){
if ( $(’#user_email’).val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, ‘’)==’’ || $(’#amigo_email’).val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, ‘’)==’’ || $(’#user_nome’).val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, ‘’)==’’ || $(’#amigo_nome’).val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, ‘’)==’’ ) {
alert (“Há erros ou falta algo no formulário de registo da aposta. Por favor VERIFIQUE ou CLICK RESET para começar de novo… BOA SORTE!”);
}
});
var ie = $(’#d4w4 .star’).css(“filter”);
if ( ie != “none” ) {
for ( var i = 1;i<17;i++ ) {
$(’#star’+i).css(“background-image”,“none”);
}
}
if ( ie == “none” ) $(’#d4w2’).css(“background-image”,“url(’/d4w/0_botao1.gif’)”);
$(’#d4w2’).mouseover(function(e){
if ( ie != “none” ) {
$(this).css(“filter”, “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’/d4w/0_botao2.gif’, sizingMethod=‘scale’);”);
$(this).css("-ms-filter", “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’/d4w/0_botao2.gif’, sizingMethod=‘scale’);”);
} else $(this).css(“background-image”,“url(’/d4w/0_botao2.gif’)”);
});
$(’#d4w2’).mouseout(function(e){
if ( ie != “none” ) {
$(this).css(“filter”, “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’/d4w/0_botao1.gif’, sizingMethod=‘scale’);”);
$(this).css("-ms-filter", “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’/d4w/0_botao1.gif’, sizingMethod=‘scale’);”);
} else $(this).css(“background-image”,“url(’/d4w/0_botao1.gif’)”);
});
$(’.star’).mouseover(function(e){
if (howmany >= board_numbers) green(this);
else orange(this);
});
$(’.star’).mouseout(function(e){
blue(this);
});
$(’.star’).click(function(e) {
$(this).unbind();
var number = this.innerText;
howmany++;
if ( howmany > board_numbers ) {
green(this);
stars.push(number);
$(’#d4w3 #star’ + stars.length).html(number);
} else {
numbers.push(number);
$(’#d4w3 #number’ + numbers.length).html(number);
}
if ( howmany == board_numbers + board_stars) {
$('.star').unbind();
$('#d4w2').unbind();
$('#d4w2').click(function(e){
if ( $('#user_email').val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '')=='' || $('#amigo_email').val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '')=='' || $('#user_nome').val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '')=='' || $('#amigo_nome').val().replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '')=='' ) {
alert ("Insira o seu nome ou os endereços de e-mail... BOA SORTE.");
} else {
$(this).unbind();
if ( ie != "none" ) {
$(this).css("filter", "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/d4w/0_botao3.gif', sizingMethod='scale');");
$(this).css("-ms-filter", "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/d4w/0_botao3.gif', sizingMethod='scale');");
} else $(this).css("background-image","url('/d4w/0_botao3.gif')");
el=$(this);
var time = window.setInterval(function(){
random(ie,time,el,board_size,numbers,stars);
}, 1);
}
});
}
});
}
var random = function(ie,time,el,board_length,numbers,stars) {
// the board of numbers
var board = [];
do { board.push(board.length+1);} while(board.length < board_length);
// randomize the position of the numbers and print them
var randomstars = board.slice().shuffle();
$(board).each(function(i) {
var star = $(’#star’+this);
star.html(randomstars[i]);
blue(star);
});
// randomize the position of the orange highlights
var normal_numbers = randomstars.slice().shuffle();
var selected_normal_numbers = normal_numbers.slice(0,board_numbers);
var remove = [];
$(selected_normal_numbers).each(function(i, value) {
orange(’#star’+value);
remove.push(value);
});
// remove the orange ones to get the green ones
var green_numbers = normal_numbers.slice();
$(remove).each(function(i, value) {
green_numbers = green_numbers.remove(value);
});
// randomize the position of the green highlights
var selected_star_numbers = green_numbers.slice(0,board_stars);
$(selected_star_numbers).each(function(i, value) {
var star = $(’#star’+value);
green(star);
});
el.unbind();
el.click(function(e) {
window.clearInterval(time);
el.unbind();
selected_normal_numbers = $.map( selected_normal_numbers, function( index ) {return parseInt($(’#star’+index).html());});
selected_star_numbers = $.map( selected_star_numbers, function( index ) {return parseInt($(’#star’+index).html());});
numbers.sort(function(a, b){return a-b});
stars.sort(function(a, b){return a-b});
selected_normal_numbers.sort(function(a, b){return a-b});
selected_star_numbers.sort(function(a, b){return a-b});
$(’<input type=“hidden” name=“chave” id=“chave” value="’+numbers.join(’,’)+’ + ‘+stars.join(’,’)+’-’+selected_normal_numbers.join(’,’)+’ + ‘+selected_star_numbers.join(’,’)+’" />’).insertAfter(’#amigo_email’);
window.setTimeout( function(){alert (‘Registámos a aposta nº 1 de 3 e enviámos o recibo para o seu e-mail. Se nada receber procure na pasta de Spam. Agora… click OK para continuar. BOA SORTE’);$(’#form_contacto’).submit();},1000);
});
};
Array.prototype.shuffle = function() {
var i = this.length, j, temp;
if ( i == 0 ) return this;
while ( --i ) {
j = Math.floor( Math.random() * ( i + 1 ) );
temp = this[i];
this[i] = this[j];
this[j] = temp;
}
return this;
}
Array.prototype.remove = function(value) {
var found = this.indexOf(value);
var first = this.slice(0, found);
var last = this.slice(found+1, this.length);
return first.concat(last);
};
var orange = function(el) {
$(el).removeClass(‘blue’).removeClass(‘green’).addClass(‘orange’);
}
var blue = function(el) {
$(el).removeClass(‘orange’).removeClass(‘green’).addClass(‘blue’);
}
var green = function(el) {
$(el).removeClass(‘orange’).removeClass(‘blue’).addClass(‘green’);
}