$(document).ready(function() {
  $("a.ajuda").next("p").addClass("tooltip");
  
  $("p.tooltip").hide();
  
  $("a.ajuda").mouseover(function(){
    $("p.tooltip").hide();
    $("p#" + $(this).attr("href")).fadeIn("fast");
    return false;
  }).mouseout(function(){
    $("p.tooltip").fadeOut("fast");
  });

  $('form').submit(function () {
    return false;
  });
  $('#gerar').click(function () {
    var u = $('#url').val();
    var w = $('#w').val();
    var h = $('#h').val();
    u = (typeof u == 'string' && u.length > 0) ? u : '';
    w = (typeof w == 'string' && w.length > 0 && w.match(/[0-9]+/i)) 
        ? parseInt(w) : '';
    h = (typeof h == 'string' && h.length > 0 && h.match(/[0-9]+/i)) 
        ? parseInt(h) : '';
    generateCode(u, w, h);
  });
  $('#code').focus(function () {
    this.select();
  });
});

/**
 * O código padrão válido (webstandard) para o embed do YouTube.
 *
 * @var string O código.
 */
var code = '<!--[if !IE]> -->';
code    += '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/{ID}" width="{W}" height="{H}">';
code    += '<!-- <![endif]-->';
code    += '<!--[if IE]>';
code    += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="{W}" height="{H}">';
code    += '<param name="movie" value="http://www.youtube.com/v/{ID}" />';
code    += '<!--><!--dgx-->';
code    += '<param name="loop" value="true" />';
code    += '<param name="menu" value="false" />';
code    += '<p>Seu navegador não suporta o vídeo.</p>';
code    += '</object>';
code    += '<!-- <![endif]-->';

/**
 * Gera o código válido para um embed do YouTube a partir de uma URL. A 
 * altura e largura do vídeo podem ser definidas também, mas não são 
 * obrigatórias. Se não forem passadas, os valores padrão serão usados.
 *
 * @param string url
 *         A URL do vídeo do YouTube.
 * @param integer w
 *         A largura do vídeo.
 * @param integer h
 *         A altura do vídeo.
 * @return void
 */
 
function generateCode(u, w, h) {
  var botao = false;
  if (typeof u == 'string' && u.length > 0) {
    w = typeof w == 'number' && w > 0 ? w : 425;
    h = typeof h == 'number' && h > 0 ? h : 344;
    var m = u.match(/v=([^&]+)/i);
    if (m != null && m.length == 2) {
      var c = code;
      c = c.replace(/\{ID\}/g, m[1]);
      c = c.replace(/\{W\}/g, w);
      c = c.replace(/\{H\}/g, h);
      $('#code').val(c);
    } else {
      $("#conteudo").append('<div id="mensagem"><h3>Oops!</h3><p>Uma URL válida deve ser informada</p> <a class="botao" href="#" title="Fechar esta janela">Fechar</a></div>');
      botao = true;
    }
  } else {
     $("#conteudo").append('<div id="mensagem"><h3>Oops!</h3><p>Uma URL deve ser informada</p> <a class="botao" href="#" title="Fechar esta janela">Fechar</a></div>');
     botao = true;
  }
  if (botao) { 
    $("#mensagem a.botao").click(function(){
      $("#mensagem").remove();
      return false;
    });
  }
}
