var modalFieldset = {
  fsObj:'',
  fsCount:0,
  init: function() {
    this.fsObj = $('fieldset');
    this.fsCount = this.fsObj.size();
    $(this.fsObj).addClass('hide'); // Hide all fieldsets
    this.show(0) // Start by showing first Fieldset
  },
   show: function(i) {
     this.current = i;
     $(this.fsObj).eq(i).removeClass('hide');
   },
   nextFs: function() {
     if((this.current + 1) == this.fsCount) return; // Last elem? Can't go forward
     $(this.fsObj).eq(this.current).addClass('hide'); // Hide Current
     this.show(this.current + 1); // Show next
   },
   prevFs: function() {
     if(this.current == 0) return; // First elem? Can't go back
     $(this.fsObj).eq(this.current).addClass('hide'); // Hide Current
     this.show(this.current - 1); // Show prev
   }
};

var modalLinks = {
  nextSel: 'a.next',
  prevSel: 'a.prev',
  cancSel: 'a.close',
  submBut: 'button#submit',
  init: function() {
    $(this.nextSel).click(function(){
      modalLinks.nextA();
    });
    $(this.prevSel).click(function(){
      modalLinks.prevA();
    });
    $(this.cancSel).click(function(){
      parent.$.fn.fancybox.close();
    });
    if(modalFieldset.current == 0) {
      $(this.prevSel).addClass('hide');
    }
    $(this.submBut).prependTo('div#links').addClass('hide');
    $(this.submBut).click(function(){
      $('form').trigger('submit');
    });
    if(modalFieldset.fsCount == 0) {
      $(this.prevSel).hide();
      $(this.nextSel).hide();
    }
  },
  nextA: function() {
    if($(this.prevSel).hasClass('hide')) {
      $(this.prevSel).removeClass('hide');
    }
    modalFieldset.nextFs();
    if((modalFieldset.current + 1) == modalFieldset.fsCount) {
      $(this.nextSel).addClass('hide');
      $(this.submBut).removeClass('hide');
    }
  },
  prevA: function() {
    if($(this.nextSel).hasClass('hide')) {
      $(this.submBut).addClass('hide');
      $(this.nextSel).removeClass('hide');
    }
    modalFieldset.prevFs();
    if(modalFieldset.current == 0) {
      $(this.prevSel).addClass('hide');
    }
  }
}

$(function(){
  modalFieldset.init();
  modalLinks.init();
});