Created
July 11, 2013 04:05
-
-
Save kyuumeitai/5972451 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*global ga*/ | |
/*global Modernizr*/ | |
/*jslint bitwise: true*/ | |
$(function(){ | |
'use strict'; | |
var cardpool = []; | |
var allcards = []; | |
function mnetgaevent(label,action){ | |
try{ | |
ga('send', 'event', label, action); | |
} catch(err){} | |
} | |
function mnetrand(obj) { | |
var keys = Object.keys(obj), | |
result = keys[keys.length * Math.random() << 0]; | |
return result; | |
} | |
function mnetremove(obj,elim){ | |
delete obj[elim]; | |
return obj; | |
} | |
function mnetgetimg(ruta, cual, idpadre){ | |
var img = new Image(); | |
$(img).attr('src', 'cards/img-'+cual+'-'+ruta+'.png').load(function(){ | |
idpadre.append(this); | |
}); | |
} | |
function mnetcomposetarjeta(ruta, cual, cualobj, idpadre){ | |
mnetgetimg(ruta, cual, idpadre); | |
idpadre.append('<div class="card-text color-'+cualobj.color+'"><p>'+cualobj.description+'</p><span class="hr sprite hr-'+cualobj.color+'"> </span></div><div class="card-heart" data-esta="'+ruta+'" data-cual="'+cual+'"><span class="sprite block img-corazon animate"> </span></div>'); | |
} | |
$('body').on('click', '.btn-next-tarjetas', function(e){ | |
var t = $(this); | |
$('body').append('<div class="loading" style="display: none;"></div>'); | |
$('.loading').fadeIn('fast', function(){ | |
$.getJSON('scripts/cards.json', function(data){ | |
allcards = $.extend(true, {}, data); | |
var tarjeta1 = mnetrand(data), | |
tarjeta1data = data[tarjeta1]; | |
cardpool = mnetremove(data, tarjeta1); | |
var tarjeta2 = mnetrand(cardpool), | |
tarjeta2data = data[tarjeta2]; | |
cardpool = mnetremove(cardpool, tarjeta2); | |
$('#loader').fadeOut('fast', function(){ | |
$(this).load(t.attr('href') + ' .inner', function(){ | |
mnetcomposetarjeta(tarjeta1, 'left', tarjeta1data, $('#left')); | |
mnetcomposetarjeta(tarjeta2, 'right', tarjeta2data, $('#right')); | |
$(this).fadeIn('fast', function(){ | |
$('.loading').fadeOut('fast', function(){ | |
$(this).empty().remove(); | |
}); | |
}); | |
}); | |
mnetgaevent('campana-elite-resfrio','empezar'); | |
}); | |
}); | |
}); | |
e.preventDefault(); | |
}).on('click', '.card-heart', function(e){ | |
var t = $(this), | |
padre = t.parent().siblings(), | |
cual = padre.children('.card-heart').data('cual'), | |
esta = t.data('esta'), | |
tarjeta = mnetrand(cardpool), | |
tarjetadata = cardpool[tarjeta]; | |
if(typeof tarjeta === 'undefined'){ | |
$('#loader').fadeOut('fast', function(){ | |
$(this).load('resultado.html .inner', function(){ | |
var cualobj = allcards[esta]; | |
mnetgetimg(esta, 'ganadora', $('#resultado')); | |
$('#resultado').append('<div class="card-text color-'+cualobj.color+'"><p>'+cualobj.description+'</p><span class="hr sprite block hr-ganadora-'+cualobj.color+'"> </span></div>'); | |
$(this).fadeIn('slow'); | |
}); | |
}); | |
} else { | |
cardpool = mnetremove(cardpool, tarjeta); | |
t.addClass('animated-heart'); | |
padre.fadeOut('fast', function(){ | |
$(this).empty(); | |
mnetcomposetarjeta(tarjeta, cual, tarjetadata, padre); | |
}); | |
setTimeout(function(){ | |
t.removeClass('animated-heart'); | |
padre.fadeIn('fast'); | |
}, 600); | |
mnetgaevent('campana-elite-resfrio','tarjeta'); | |
} | |
e.preventDefault(); | |
}).on('click', '.btn-premios', function(){ | |
mnetgaevent('campana-elite-resfrio','modal-premio'); | |
}).on('click', '.btn-next-form', function(){ | |
mnetgaevent('campana-elite-resfrio','modal-formulario'); | |
}).on('click', '#btn-registrar', function(){ | |
mnetgaevent('campana-elite-resfrio','registro'); | |
}); | |
$(window).load(function(){ | |
$('.loading').fadeOut('slow', function(){ | |
$(this).empty().remove(); | |
}); | |
}); | |
var soundsdata = [ | |
{ | |
'nombre' : 'achu01', | |
'trigger' : '.btn-next-tarjetas' | |
}, | |
{ | |
'nombre' : 'achu02', | |
'trigger' : '.btn-next-form' | |
}, | |
{ | |
'nombre' : 'achu01', | |
'trigger' : '#btn-registrar' | |
} | |
]; | |
if (Modernizr.audio){ | |
var vaudio = []; | |
$.each(soundsdata, function(i,v){ | |
vaudio[v.nombre] = document.createElement('audio'); | |
vaudio[v.nombre].setAttribute('src', 'sounds/'+v.nombre+'.mp3'); | |
vaudio[v.nombre].setAttribute('src', 'sounds/'+v.nombre+'.ogg'); | |
vaudio[v.nombre].load(); | |
$('body').on('mouseenter', v.trigger, function(){ | |
vaudio[v.nombre].currentTime -= 2; | |
vaudio[v.nombre].play(); | |
}); | |
}); | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment