$(document).ready(function(){

  $('marquee').marquee('scrollbar').mouseover(function(){
    $(this).trigger('stop');
  }).mouseout(function () {
    $(this).trigger('start');
  });

  $('.vip_error').hide();
  $('#vip-club-overlay').css({opacity: 0, zIndex: 0});

  $('#vip-club').click(function(){
    var offsetLeft = parseInt(($(window).width() - 450) / 2);
    $('#vip-club-overlay').css('zIndex','999').animate({opacity: '0.8'}, 800);
    $('#vip-club-wrapper').css({left: offsetLeft, top: '100px'}).fadeIn(800);
    var target = $('#vip-club-wrapper').offset().top;
    $('html,body').animate({scrollTop: target}, 400);
  });

  $('#vip_yes').click(function(){

    $('.vip_error').hide();

    var firstname = $('input#vip_firstname');
    if( firstname.val() == '' ){
      $('label#vip_firstname_error').show();
      firstname.focus();
      return false;
    }

    var lastname = $('input#vip_lastname');
    if( lastname.val() == '' ){
      $('label#vip_lastname_error').show();
      lastname.focus();
      return false;
    }

    var email = $('input#vip_email');
    if( email.val() == '' ){
      $('label#vip_email_error').show();
      email.focus();
      return false;
    }

    var dataString = 'firstname='+ firstname.val() + '&lastname=' + lastname.val() + '&email=' + email.val();
    $.ajax({
      type: "POST",
      url: "/vip_process.php",
      data: dataString,
      success: function() {
        $('#vip-club-inner').html('<h2>Success!</h2><p>Thank you for subscribing to our newsletter.</p>');
      }
    });
    return false;


  });

  $('#vip_no, #vip_close').click(function(){
    $('#vip-club-overlay').animate({opacity: 0}, 800).css('zIndex','0');
    $('#vip-club-wrapper').fadeOut(800);
  });

  var thisEnquiry = new enquiry();
  thisEnquiry.init();

});


var enquiry = function() {

  var hasErr = false;

  var init = function() {
    _attach_onclick_open();
    _attach_onclick_close();
    _attach_onclick_yes();
  }

  var _attach_onclick_open = function() {
    $('#enquiry').click(function(e) {
        e.preventDefault();
        _handle_onclick_open();
    })
  }

  var _attach_onclick_close = function() {
      $('#enquiry_close').click(_handle_onclick_close);
      $('#enquiry_no').click(_handle_onclick_close);
  }

  var _attach_onclick_yes = function() {
      $('#enquiry_yes').click(_handle_onclick_yes);
  }

  var _handle_onclick_open = function() {
    var offsetLeft = parseInt(($(window).width() - 650) / 2);
    $('#vip-club-overlay').css('zIndex','999').animate({opacity: '0.8'}, 400);
    $('#enquiry-wrapper').css({left: offsetLeft, top: '100px'}).fadeIn(400);
    var target = $('#enquiry-wrapper').offset().top;
    $('html,body').animate({scrollTop: target}, 400)
  }

  var _handle_onclick_close = function() {
    $('#vip-club-overlay').animate({opacity: 0}, 800).css('zIndex','0');
    $('#enquiry-wrapper').fadeOut(800);
  }

  var _handle_onclick_yes = function() {
      _validate();
      if ( hasErr == false ) {
          var compiled_dat = _compile_data();
          $.ajax({
              type: "POST",
              url: "/ajax_enquiry.php",
              data: compiled_dat,
              success: function() {
                $('#enquiry-inner').html('<h2>Success!</h2><p>Thank you for you enquiry. We aim to respond as quickly as possible.</p>');
              }
          })
      }
  }

  var _validate = function() {
      $('#enquiry-form-id').find('input').each(function(key , val) {
          if ( $(val).attr('name') == 'name' || $(val).attr('name') == 'email-address' )
              if ( !_required($(val).val() ) ) {
                 show_error = '#error_'+$(val).attr('name');
                 $(show_error).show();
                 hasErr = true;
              }
      })
  }

  var _compile_data = function() {
      to_return = ''
      $('#enquiry-form-id').find('input').each(function(key , val) {
          el = $(val);
          to_return+=''+el.attr('name')+'='+el.val()+'&';
      })

      $('#enquiry-form-id').find('textarea').each(function(key , val) {
         el = $(val);
         to_return+=''+el.attr('name')+'='+el.val()+'&';
      })
      return to_return;
  }

  var _required = function( data ) {
      if ( data == undefined || data == '' ) {
          return false
      }
      return true
  }

  return {
    init:init
  }

}

var this_console = function ( msg ) {
  alert(msg);
}