'use strict';
var PIXELFUSION = function ($) {

  var PF = {

    ContactForm: function (event) {
      var contact = $(this);
      event.preventDefault();
      $('button', contact).addClass('loading');
      $.post('/contact/', {
        name: $('#name', contact).val(),
        email: $('#email', contact).val(),
        message: $('#message', contact).val()
      }, function (response) {
        if (response.sent) {
          $('#name, #email, #message', contact).val('');
          $('button', contact).removeClass('loading');
          $('#result', contact).text('Sweet! We got your message.').fadeIn(100).animate({color: '#000'}, 5000).fadeOut(2500);
        } else {
          $('button', contact).removeClass('loading');
          $('#result', contact).text(response.error).fadeIn(100).animate({color: '#000'}, 5000).fadeOut(2500);
        }
      }, 'json');
      return false;
    },

    Portfolio: function (portfolio) {
      
      portfolio.addClass('slider');
      
      var panels = $('#panels li', portfolio),
          controls = $('<div id="controls"><div><div class="directions"><span id="prev" class="previous" title="Previous">Prev</span><span id="next" class="next" title="Next">Next</span></div><ul id="pointers" class="pagination"></ul></div></div>'),
          pointer_control = $('#pointers', controls),
          pointers, slider;
      
      portfolio.bind('slide.start', function () {
        $('#panels div').css('z-index', 100);
      }).bind('slide.end', function () {
        $('#panels div').css('z-index', 1);
      });

      controls.hide().appendTo(portfolio);
      
      portfolio.loopedSlider({
        addPagination: true,
        autoStart: 12500,
        containerClick: false,
        fadespeed: 250,
        slidespeed: 1000
      });

      controls.fadeIn();
    }

  },

  PIXELFUSION = {

    initialise: function (event) {

      if (!Modernizr.fontface) {
        Cufon.replace('body > header .greeting, body > header strong, h1 em, h2 strong, .button', { fontFamily: 'Avenir Black' })
             .replace('body > header, h1, #content aside header', { fontFamily: 'Avenir Light' }).now();
      }

    },

    loaded: function (event) {
      $('#contact').bind('submit', PF.ContactForm);
      PF.Portfolio($('#portfolio'));
      $('a[rel="client"], a[rel="location"]').bind('click', function (event) {
        event.preventDefault();
        window.open($(this).attr('href'));
        return false;
      });
    }

  };

  $(document).bind('ready', PIXELFUSION.initialise);
  $(window).bind('load', PIXELFUSION.loaded);

  return PIXELFUSION;

};

PIXELFUSION = (PIXELFUSION)(jQuery);