var loading_img = new Image();
loading_img.src = '/images/loading.gif';

var Descriptions = Descriptions ? Descriptions : {
  options_clever_tld:   'Use top level domains in your name.',
  options_hyphenate:    'Hyphenate words instead of smashing together.',
  options_lolspeak:     'Misspell words like the kids do.',
  options_leetspeak:    'Misspell words like the geeks do. ',
  options_synonyms:     'Find synonyms for your words',
  options_antonyms:     'Find antonyms for your words',
  options_hybrid:       'Combine two words to create a hybrid word',
  domains_open:         'Public domains (.com, .net, .org, .tv, etc)',
  domains_limited:      'Government Only (.mil, .gov, etc)',
  domains_regional:     'Regional Only (.asia, .fr, .pt, etc)',
  domains_verified:     "Verification Required (.aero, .museum, etc)"
}

function show_names(list){
  var results = $('#results');

  if(list.length > 1){ //Generated some names
    $('#results > .header').html("<h2>Look names!</h2>");
    $('#results > .list').html('<ul></ul>');
    jQuery.each(list,function(i, val) {
      var item_class = ( ( i % 2 ) ? 'even_item' : 'odd_item');
      $('#results > .list > ul').append('<li class="' + item_class + '">' + val + '</li>')
    });
    $('#try_again').slideDown();
  } else {              //Couldn't generate names...
    $('#results > .header').html("<h2 class='error'>Couldn't make anything out of those words...</h2>");
    $('#try_again').slideDown();
  }
  
  $('#submit_btn').attr("disabled", ""); 
}

$(function(){
  $('#submit_btn').attr("disabled", "");
  $('#advanced').slideDown();

  $('#show_tips_link').click(function(){
    $('#results').slideUp();
    $('#try_again').slideUp();
    $('#advanced').slideUp();
    $('#tips').slideDown();
  });
  
  $('#hide_tips_link').click(function(){
    $('#tips').slideUp('normal',function(){
      $('#advanced').slideDown();
    });
  });
  
  $('#options_clever_tld').click(function(){
    if ($('#options_clever_tld').is(':checked')) {
      $('#domains_open').removeAttr('disabled');
      $('#domains_regional').removeAttr('disabled');
      $('#domains_limited').removeAttr('disabled');
      $('#domains_verified').removeAttr('disabled');
    } else {
      $('#domains_open').attr('disabled', true);
      $('#domains_open').attr('checked', false);
      $('#domains_regional').attr('disabled', true);
      $('#domains_regional').attr('checked', false);
      $('#domains_limited').attr('disabled', true);
      $('#domains_limited').attr('checked', false);
      $('#domains_verified').attr('disabled', true);
      $('#domains_verified').attr('checked', false);
    }
  });
  
  $('#try_again_link').click(function(){
    $('#results').slideUp('normal',function(){
      $('#try_again').slideUp();
      $('#advanced').slideDown();
    });
    
    $('#results > .header').html('');
    $('#results > .list').html('');
  });
  
  $(":checkbox").each(function(){
    var show_dflt = function(){$('#description').text("Look options! (mouse over to see what they do)");}

    $(this).hover(function(){
      $('#description').text(Descriptions[this.id]);
    },show_dflt);
  });
  
  $('#pick_a_name_form').ajaxForm({
    beforeSubmit:  function(){
      var words = $('#words');
      if (words.val().length == 0) {
        alert("Enter some words please.");
        return false;
      } else {
        $('#tips').slideUp();
        $('#advanced').slideUp('normal',function(){
          $('#results').slideDown();
        });
        $('#results > .header').html('<h2>Loading results</h2><img src="'+loading_img.src+'" />');
        $('#results > .list').html('');
        $('#submit_btn').attr("disabled", "disabled"); 
      }
    },
    success:    show_names,
    dataType:  'json'
  });
});
