$(function(){
  var self;
  var __hasProp = Object.prototype.hasOwnProperty;
  self = this;
  self.slideDir = 'next';
  self.slideTimer = false;
  self.currentQuote = 0;
  self.currentPage = 0;
  self.slideDelaySecond = 2;
  self.slideQuoteDelaySecond = 10;
  self.init = function() {
    var current_tab;
    current_tab = window.location.hash;
    if (current_tab.indexOf('#' !== -1)) {
      current_tab = current_tab.substr(current_tab.indexOf('#') + 1, current_tab.length - 1);
    } else {
      current_tab = 'home';
    }
    if (current_tab !== 'home' && current_tab !== 'work' && current_tab !== 'contact') {
      current_tab = 'home';
    }
    self.switchTab(current_tab);
    setTimeout(function(){
      self.slideQuote();
    }, self.slideQuoteDelaySecond * 1000);
    return self.loadProjects();
  };
  self.loadProjects = function() {
    var $work;
    $work = $('#work');
    return $.get(SITEURL + '/front/load_projects', {}, function(rs) {
      $work.html(rs.html);
//      return setTimeout(function() {
//        return self.slideShow(self.slideDir);
//      }, self.slideDelaySecond * 1000);
    }, 'json');
  };
  self.switchTab = function(tab) {
    var $nav;
    $nav = $('#nav');
    $('a', $nav).removeClass('active');
    $('a.' + tab, $nav).addClass('active');
    $('.content').hide();
    return $('#' + tab).slideDown();
  };
  self.slideQuote = function() {
    var totalquotes,$quotes;
    $quotes = $('#quoteslider');
    $slide = $('ul',$quotes);
    totalquotes = $('li',$quotes).length;
    if (self.currentQuote==totalquotes-1) self.currentQuote = 0;
    else self.currentQuote++;
    left = self.currentQuote*212;
    $quotes.stop().scrollTo({
      top: '0px',
      left: left + 'px'
    },800);
    return (setTimeout(function(){
      self.slideQuote();
    },self.slideQuoteDelaySecond * 1000));
  };
  self.slideShow = function(dir) {
    var totalPages,totalProjects;
    totalProjects = $('.projects li:visible').length;
    totalPages = Math.ceil(totalProjects/3);
    if (dir == 'prev') {
      if (self.currentPage==0) self.currentPage = totalPages - 1;
      else self.currentPage--;
    } else {
      if (self.currentPage==totalPages-1) self.currentPage = 0;
      else self.currentPage++;
    }
    left = self.currentPage*750;
    $('#projects').stop().scrollTo({
      top: '0px',
      left: left + 'px'
    },800);
//    return (self.slideTimer = setTimeout(function() {
//      return self.slideShow(dir);
//    }, self.slideDelaySecond * 1000));
  };
  $('.pagingbtn').live('click',function() {
    var $t,dir;
    $t = $(this);
    self.slideDir = $t.attr('rel');
//    clearTimeout(self.slideTimer);
    return self.slideShow(self.slideDir);
  });
  $('#nav a').live('click', function() {
    var $t, tab;
    $t = $(this);
    tab = $t.attr('rel');
    return self.switchTab(tab);
  });
  $('.projects li').live({
    mouseenter: function() {
      var $overlay, $t;
      $t = $(this);
      $t.toggleClass('over');
      $overlay = $t.find('.overlay');
      return $overlay.slideToggle();
    },
    mouseleave: function() {
      var $overlay, $t;
      $t = $(this);
      $t.toggleClass('over');
      $overlay = $t.find('.overlay');
      return $overlay.slideToggle();
    }
  });
  $('#cats a').live('click', function() {
    var $t, cat;
    $t = $(this);
    $('#cats a').removeClass('active');
    $t.addClass('active');
    cat = $t.attr('rel');
    if (cat === 'all') {
      $('#projects li').show();
    } else {
      $('#projects li').each(function() {
        var $li;
        $li = $(this);
        return $li.hasClass(cat) ? $li.show() : $li.hide();
      });
    }
    return $('#projects').stop().scrollTo({
      top: '0px',
      left: '0px'
    }, 800);
  });
  $('#name').live('focus', function() {
    var $t;
    $t = $(this);
    return $t.val() === 'Your Name' ? $t.val('') : null;
  }).live('blur', function() {
    var $t;
    $t = $(this);
    return $t.val() === '' ? $t.val('Your Name') : null;
  });
  $('#email').live('focus', function() {
    var $t;
    $t = $(this);
    return $t.val() === 'Your Email' ? $t.val('') : null;
  }).live('blur', function() {
    var $t;
    $t = $(this);
    return $t.val() === '' ? $t.val('Your Email') : null;
  });
  $('#message').live('focus', function() {
    var $t;
    $t = $(this);
    return $t.val() === 'Your Message' ? $t.val('') : null;
  }).live('blur', function() {
    var $t;
    $t = $(this);
    return $t.val() === '' ? $t.val('Your Message') : null;
  });
  $('#contactfrm').live('submit', function() {
    var $submit, $t, action;
    $t = $(this);
    $submit = $('#contactbtn');
    action = $t.attr('action');
    $('.errmsg').remove();
    $submit.val('Please wait a second while sending your message...').addClass('btnblur').attr('disabled', true);
    $.post(action, {
      name: $('#name').val(),
      email: $('#email').val(),
      message: $('#message').val()
    }, function(rs) {
      var _ref, errorIndex, errorMsg;
      if (rs.success) {
        return $t.replaceWith(rs.message);
      } else {
        _ref = rs.errors;
        for (errorIndex in _ref) {
          if (!__hasProp.call(_ref, errorIndex)) continue;
          errorMsg = _ref[errorIndex];
          $('#' + errorIndex).before('<div class="errmsg">' + errorMsg + '</div>');
        }
        return $submit.val('SEND MESSAGE').removeClass('btnblur').attr('disabled', false);
      }
    }, 'json');
    return false;
  });
  self.init();
});
