var Portfolio = new Object();

Portfolio.id = 0;
Portfolio.current_image = 0;

Portfolio.images = new Array();

Portfolio.register = function(image) {
  Portfolio.images.push(image);
}

Portfolio.setCurrentImage = function() {
  $('currentPortImage').src = '/portfolio/images/' + Portfolio.id + '/' + Portfolio.current_image + '/pic.jpg';

  var links = $('portfolioList').getElementsByTagName('A');
  for (var i = 0; i < links.length; i++) {
    if (links[i].id == 'port_image_' + Portfolio.current_image) {
      links[i].className = 'selected';
    } else {
      links[i].className = '';
    }
  }
}

Portfolio.next = function() {
  Portfolio.goto(Portfolio._getNext());
}

Portfolio.previous = function() {
  Portfolio.goto(Portfolio._getPrevious());
}

Portfolio.goto = function(image_id) {
  Portfolio.current_image = image_id;
  Portfolio.setCurrentImage();
}

Portfolio._getNext = function() {
  if (Portfolio.images.length == 1) {
    return Portfolio.images[0];
  }

  var currentPos = Portfolio.images.indexOf(Portfolio.current_image);
  if (currentPos == 0) {
    return Portfolio.images[1];
  } else if (currentPos == Portfolio.images.length - 1) {
    return Portfolio.images[0];
  } else {
    return Portfolio.images[currentPos + 1];
  }
}

Portfolio._getPrevious = function() {
  if (Portfolio.images.length == 1) {
    return Portfolio.images[0];
  }

  var currentPos = Portfolio.images.indexOf(Portfolio.current_image);
  if (currentPos == 0) {
    return Portfolio.images[Portfolio.images.length - 1];
  } else if (currentPos == Portfolio.images.length - 1) {
    return Portfolio.images[Portfolio.images.length - 2];
  } else {
    return Portfolio.images[currentPos - 1];
  }
}

