Advertisement
ipsBruno

(Javascript) Armazenamento de Músicas em Cookies

Aug 22nd, 2013
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. *
  3. * Código do antigo Mix Músicas 1.0
  4. * Armazenamento de Músicas em Cookies
  5. * Com classficação e acesso ao youtube para require informação
  6. *
  7. * author: Bruno da Silva
  8. * thanks: Kevin van Zoneeveld, w3schools
  9. * site: www.mixmusicas.com.br
  10. */
  11.  
  12.  
  13. var listaplayer = new Array();
  14.  
  15. function juntarMusicas() {
  16.     var keys = [];
  17.     for (var key in listaplayer) {
  18.         if (listaplayer.hasOwnProperty(key)) {
  19.             key = key + ">" + listaplayer[key];
  20.             keys.push(key)
  21.         }
  22.     }
  23.     return keys.join("|")
  24. }
  25.  
  26. function adicionarMusica(id) {
  27.     if (isset(GetCookie("lista"))) {
  28.         stringArray = GetCookie("lista").split("|");
  29.         for (var i = 0; i != stringArray.length; i++) {
  30.             array = stringArray[i].split(">");
  31.             listaplayer[array[0]] = parseInt(array[1])
  32.         }
  33.     }
  34.     document.cookie = "";
  35.     listaplayer[id] = (listaplayer[id]) ? listaplayer[id] + 1 : 1;
  36.     SetCookie("lista", juntarMusicas(), 365);
  37.     return true
  38. }
  39.  
  40. function removerMusica(id) {
  41.     var keys = [];
  42.     for (var key in listaplayer) {
  43.         if (listaplayer.hasOwnProperty(key)) {
  44.             if (key == id) {
  45.                 delete listaplayer[key]
  46.             }
  47.         }
  48.     }
  49.     return true
  50. }
  51.  
  52. function classificarMusicas(arr) {
  53.     var retorno = [];
  54.     var i = 0;
  55.     var posicoes = [];
  56.     var posicao = [];
  57.     var valores = [];
  58.     for (var y = 0; y != 3; y++) {
  59.         i = 0;
  60.         for (var key in arr) {
  61.             if (arr.hasOwnProperty(key)) {
  62.                 ++i;
  63.                 if ((!isset(valores[y]) || arr[key] > valores[y]) && !posicao[key]) {
  64.                     posicao[key] = 1;
  65.                     if (isset(posicoes[y])) {
  66.                         posicao[posicoes[y]] = 0
  67.                     }
  68.                     posicoes[y] = key;
  69.                     valores[y] = arr[key]
  70.                 }
  71.             }
  72.         }
  73.     }
  74.     return posicoes
  75. }
  76.  
  77. function listarMusicas() {
  78.     listagem = classificarMusicas(listaplayer);
  79.     for (var i = 0; i < listagem.length; i++) {
  80.         key = listaplayer[listagem[i]];
  81.         value = listagem[i];
  82.         $.ajax({
  83.             url: "http://gdata.youtube.com/feeds/api/videos/" + key + "?v=2&alt=jsonc",
  84.             dataType: "json",
  85.             success: function (dados) {
  86.                 imagem = dados.data.thumbnail.sqDefault;
  87.                 tempo = dados.data.duration;
  88.                 titulo = dados.data.title;
  89.                 checarVideo(imagem, titulo, key, tempo, 0, value, i)
  90.             }
  91.         })
  92.     }
  93. }
  94.  
  95. function isset() {
  96.     var a = arguments,
  97.         l = a.length,
  98.         i = 0,
  99.         undef;
  100.     if (l === 0) {
  101.         throw new Error('Empty isset');
  102.     }
  103.     while (i !== l) {
  104.         if (a[i] === undef || a[i] === null) {
  105.             return false
  106.         }
  107.         i++
  108.     }
  109.     return true
  110. }
  111.  
  112. function GetCookie(name) {
  113.     var cookies = document.cookie.split(';'),
  114.         length = cookies.length,
  115.         i, cookie, nameEQ = name + '=';
  116.     for (i = 0; i < length; i += 1) {
  117.         cookie = cookies[i];
  118.         while (cookie.charAt(0) === ' ') {
  119.             cookie = cookie.substring(1, cookie.length)
  120.         }
  121.         if (cookie.indexOf(nameEQ) === 0) {
  122.             return cookie.substring(nameEQ.length, cookie.length)
  123.         }
  124.     }
  125.     return null
  126. }
  127.  
  128. function SetCookie(name, value, days) {
  129.     var expires = '',
  130.         date = new Date();
  131.     if (days) {
  132.         date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  133.         expires = '; expires=' + date.toGMTString()
  134.     }
  135.     document.cookie = name + '=' + value + expires + '; path=/'
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement