/* Author:
  Ross Brown - ross@cremalab.com
  CremaLab
*/

var pageWidth = 1480;


$(function() {
  $("#main").css('width', $(".page").size() * pageWidth )
  // $("a.nav").live('click',function() {
  //   var page = $(this).data('page');
  //   viewPage(page);
  //   $.address.value($(this).data('page').replace("#", ""));
  //   return false
  // });
  
  setNavTargets();
  calculatePagePositions();
  portfolioFlip();
  
  if ( $.address.value() == '/' ) {
    $.address.value('home');
  }
  
  $.address.change(function(event) {
    var page = event.value.replace("/","");
    viewPage("#" + page);
    $("#main_nav li").removeClass('active').filter("[id=#nav_" + page + "]").addClass('active');
    $.address.title("CremaLab | " + page.toUpperCase());
    if ( page == 'jobs') {
      $('#back').show().attr("href", "#home").data('page', '#home');
    } else if ( page == 'application' ) {
      $('#back').show().attr("href", "#jobs").data('page', '#jobs');
    } else {
      $('#back').hide();
    }
  });
  
  $('a#office_close').live('click', function(){
    parent.history.back();
    $(this).remove();
    return false;
  });
  
});


function setNavTargets() {
  $("a.nav").each(function() {
    var title = $(this).attr('href');
    $(this).data('page', title);
  });
};

function calculatePagePositions() {
  $(".page").each(function() {
    var index = $(this).index(".page") + 1;
    var leftPos = (index * pageWidth * -1) + pageWidth;
    $(this).data('leftCoord', leftPos);
  });
}

function viewPage(page) {
  var pageNumber = $(page).index(".page") + 1;
  var leftMovement = (pageNumber * 40)* -1 + 40;
  $("#wrapper, #office_cover").fadeIn(1000, function() {
    $("#main").fadeIn(1000);
  });
  
  if ( page == "#application" ) {
    $("#application iframe").fadeIn('fast');
  } else {
    $("#application iframe").fadeOut('fast');
  }
  
  $("body").attr("id", page.replace('#','') + "_page");
  
  if ( $('html').hasClass('csstransitions') && $.browser.opera != true) {
    $("#main").css('left', $(page).data('leftCoord'));
    $("#office_bg, #office_photo").css("background-position", leftMovement + "px -60px");
    $("#home_page #wrapper").css("background-position", leftMovement + "px 300px");
    $("#jobs_page #wrapper, #application_page #wrapper").css("background-position", (pageNumber * 1480)* -1 + 40 + "px 81px");
  } else {
    animationFallback(page,leftMovement,pageNumber);
  }
}

function animationFallback(page,leftMovement,pageNumber) {
   
  if ( $.browser.opera == true ) {
    $("#main").css('left', $(page).data('leftCoord'));
  } else {  
    $("#main").animate({'left': $(page).data('leftCoord')}, 1500);
  }
  
  $("#home_page #wrapper").animate({backgroundPosition: leftMovement + "px 300px"}, 1500);  
  
  if ( page == '#jobs' || page == '#application' ) {
    var officBGy = "-200px";
    if ( $.browser.opera != true ) {
      $("#jobs.page, #application.page").animate({'margin-top': 170}, 1500);
      $("#home.page").animate({"margin-top": 80}, 1500);
      $("#logo").animate({'left': -190, 'top': 120}, 1500);
      $('#logo img').animate({'width': 230}, 1500);
      $("#office_bg").animate({backgroundPosition: leftMovement + "px top", 'margin-top': -200 }, 1500);
    } else {
      $("#jobs_page #wrapper,  #application_page #wrapper").animate({backgroundPosition: (pageNumber * 1680)* -1 + 40 + "px 100px"}, 1500);
      $("#office_bg").animate({backgroundPosition: leftMovement + "px top"}, 1500);
    }
  } else {
    if ( $.browser.opera != true ) {
      $("#jobs").animate({'margin-top': 390}, 1500);
      $("#logo").animate({'left': 0, 'top': 0}, 1500);
      $('#logo img').animate({'width': 456}, 1500);
      $("#home.page").animate({"margin-top": 280}, 1500);  
      $("#office_bg").animate({backgroundPosition: leftMovement + "px top", 'margin-top': 0 }, 1500);
    } else {
      $("#office_bg").animate({backgroundPosition: leftMovement + "px top"}, 1500);
    }
  }
}


function portfolioFlip() {
  if ( $("html").hasClass('no-csstransforms3d') ) {
    $('.flipper .desc').hide();
  }
  $('.flip').click( function() {
    if ( $('html').hasClass('csstransforms') ) {
      $(this).parentsUntil('ul').siblings('li').find('.flipper').removeClass('flipped').end().end().toggleClass('flipped');
    }
    if ($("html").hasClass('no-csstransforms3d')) {
      $(this).parentsUntil('ul').siblings('li').find('.desc').hide().end().end().find('.desc').toggle();
    }
    return false
  });
}
;

