// stuff for project page

/**
 * Retrieve the coordinates of the given event relative to the center
 * of the widget.
 *
 * @param event
 *   A mouse-related DOM event.
 * @param reference
 *   A DOM element whose position we want to transform the mouse coordinates to.
 * @return
 *    A hash containing keys 'x' and 'y'.
 */
function getRelativeCoordinates(event, reference) {
  var x, y;
  event = event || window.event;
  var el = event.target || event.srcElement;

  if (!window.opera && typeof event.offsetX != 'undefined') {
    // Use offset coordinates and find common offsetParent
    var pos = { x: event.offsetX, y: event.offsetY };

    // Send the coordinates upwards through the offsetParent chain.
    var e = el;
    while (e) {
      e.mouseX = pos.x;
      e.mouseY = pos.y;
      pos.x += e.offsetLeft;
      pos.y += e.offsetTop;
      e = e.offsetParent;
    }

    // Look for the coordinates starting from the reference element.
    var e = reference;
    var offset = { x: 0, y: 0 }
    while (e) {
      if (typeof e.mouseX != 'undefined') {
        x = e.mouseX - offset.x;
        y = e.mouseY - offset.y;
        break;
      }
      offset.x += e.offsetLeft;
      offset.y += e.offsetTop;
      e = e.offsetParent;
    }

    // Reset stored coordinates
    e = el;
    while (e) {
      e.mouseX = undefined;
      e.mouseY = undefined;
      e = e.offsetParent;
    }
  }
  else {
    // Use absolute coordinates
    var pos = getAbsolutePosition(reference);
    x = event.pageX  - pos.x;
    y = event.pageY - pos.y;
  }
  // Subtract distance to middle
  return { x: x, y: y };
}

function getAbsolutePosition(element) {
  var r = { x: element.offsetLeft, y: element.offsetTop };
  if (element.offsetParent) {
    var tmp = getAbsolutePosition(element.offsetParent);
    r.x += tmp.x;
    r.y += tmp.y;
  }
  return r;
};

$(document).ready(function() {
	
	$("#breadcrumb .more-link").click(function(){
		if($("#more-work").css("display") == "none"){
			$("#more-work").slideDown();
		}else{
			$("#more-work").slideUp();
		}
		return false;
	});

});

/*
var intervalId, lastMouseBand;
$(document).ready(function() {
  $("#project-screenshots .screenshot img").css({ top: 0 });
  $("#project-screenshots .screenshot").hover(function() {
    var container        = $(this),
        totalHeightParts = (container.height() / 10),
        elem             = container.find('img'),
        bottom           = -(elem.get(0).offsetHeight - container.height()),
        speed            = 0;

    $(document).mousemove(function(event) {
      var relativeOffset = getRelativeCoordinates(event, container.get(0)),
          currentBand    = Math.ceil(relativeOffset.y / totalHeightParts);
      
      if (lastMouseBand == currentBand) 
        return;
      lastMouseBand = currentBand;
      
           if (currentBand == 1)  speed = 12;
      else if (currentBand == 2)  speed = 10;
      else if (currentBand == 3)  speed = 5;
      else if (currentBand == 4)  speed = 3;
      else if (currentBand == 7)  speed = -3;
      else if (currentBand == 8)  speed = -5;
      else if (currentBand == 9)  speed = -10;
      else if (currentBand == 10) speed = -12;
      else speed = 0;
    });
    
    
    intervalId = setInterval(function() {
      var top    = parseInt(elem.css('top'));
          newTop = (top + speed);
          
      if ((newTop > 0) || (newTop <= bottom))
        return;
      
      elem.css({ top: (top + speed) });
    }, 13);
  }).mouseout(function() {
    $(document).unbind('mousemove');
    clearInterval(intervalId);
  });
});
*/