$(document).ready(function () {

  // backstretch
  $.backstretch("images/backgrounds/bgr_01.jpg");

  // music
  $('#music').flash({
    swf: 'flash/music.swf',
    width: 200,
    height: 77,
    params: {
      salign: 'b',
      wmode: 'transparent',
      bgcolor: '#800000'
    }
  });

  var glass_bottle          = $('form#glass_bottle');
  var glass_bottle_in       = glass_bottle.find('.in');
  var glass_bottle_out      = glass_bottle.find('.out');
  var glass_bottle_response = glass_bottle.find('.response');

  // glass bottle
  glass_bottle_in
    .addClass('pointer')
    .click(function (e) {
      glass_bottle_in.slideUp();
      glass_bottle_out.slideDown();
    });
  
  glass_bottle_out
    .hide();

  glass_bottle_response
    .hide();

  glass_bottle.ajaxForm({
    target: glass_bottle_response,
    resetForm: true,
    beforeSubmit: function (formData, jqForm, options) {
      var errors = [];
      for (var i=0; i < formData.length; i++) {
        if (!formData[i]['value']) {
          errors.push(formData[i]['name'].ucFirst());
        };
      };
      if (errors.length != 0) {
        show_response($(this.target), '<strong>Required:</strong> ' + errors.join(', '));
      };
      return !errors.length;
    },
    success: function(responseText, statusText, xhr, form){
      glass_bottle_in.slideDown();
      glass_bottle_out.slideUp();
      show_response(glass_bottle_response);
    },
    error: function (response, status) {
      show_response(glass_bottle_response, response.responseText);
    }
  });
});

// --------------------------------------------------
// FUNCTIONS
// --------------------------------------------------

function show_response (element, html) {
  element
    .slideDown()
    .find('p')
      .html(html);
}

// --------------------------------------------------
// EXTENSIONS
// --------------------------------------------------

String.prototype.ucFirst = function() {
  return this.charAt(0).toUpperCase() + this.substring(1);
}