var SCALEUP_TIME = 100;
var SCALEDOWN_TIME = 300;
var lastActive;

$(function(){
  
  ///////////////////////////////////////////
  //
  // hide/show logic
  //
  ///////////////////////////////////////////
  
  
  // init
  
  
  $('.pgroup_wrapper').each(function() {
    var obj = $(this);
    if (obj.find('.pcontainer').length > 4) {
      $(this).find('a.collapse').css('display', 'block');
      $(this).find('a.collapse div').each(function() {
        var obj = $(this)
        waveArrow($(this));
      })
    }
  })
  

  collapseProducts($('a.collapse'));
  $('a.collapse div').toggleClass('active');
  collectProducts();
  
  
  function collapseProducts(object){
    
    var wrapper = object.parents('.pgroup_wrapper');
        
    wrapper.find('.pcontainer:gt(3)').hide();
    wrapper.data('collapse_flag', false);
    
    refreshCollapseAnchor();
  }
  
  function unfoldProducts(object){
    var wrapper = object.parents('.pgroup_wrapper');
    
    wrapper.find('.pcontainer:gt(3)').fadeIn();
    wrapper.data('collapse_flag', true);
    
    refreshCollapseAnchor();
  }
  
  function refreshCollapseAnchor() {    
    $('.pgroup_wrapper').each(function(){
      var container_height = $(this).find('.center').height();
      $(this).find('.left, .left a.collapse').height(container_height);
    });
  }
  
  
  $('a.collapse').click(function(event){
    
    if (isiPad && (typeof(lastActive) !== 'undefined'))
    {
      var toggle_controller = lastActive.children('div');

      toggle_controller.toggleClass('active');
      collapseProducts(lastActive);
      waveArrow(toggle_controller);

    }
    
    var obj = $(this);
    lastActive = obj
    obj.addClass("collapsed");
    
    var toggle_controller = obj.children('div');
    
    toggle_controller.toggleClass('active');
    
    if (toggle_controller.hasClass('active')) {
      unfoldProducts(obj);
    } else {
      collapseProducts(obj);
      waveArrow(toggle_controller);
    }
    
    event.preventDefault();
  });
  
  ///////////////////////////////////////////
  //
  // hover logic
  //
  ///////////////////////////////////////////
  
  $('.pcontainer:not(.age-inactive) img').live('hover', function(event){
    if (event.type == 'mouseover') {
      $(this).stop().animate({
        'width' : '91px',
        'height' : '112px',
        'margin-top' : '0px',
        'margin-left' : '6px',
        'margin-right' : '5px'
      }, SCALEUP_TIME);
    }
    
    if (event.type == 'mouseout') {
      $(this).stop().animate({
        'width' : '78px',
        'height' : '96px',
        'margin-top' : '10px',
        'margin-left' : '12px',
        'margin-right' : '12px'
      }, SCALEDOWN_TIME);
    }
    });
});

function collectProducts() {
  $('.pgroup_wrapper').each(function(){
    var product_order = new Array();
    
    $(this).find('.pcontainer').each(function(){
      product_order.push($(this));
    });
    
    $(this).data('collapse_flag', false)
    $(this).data('product_order', product_order);
    
  });
}

function waveArrow(el) {
  
  el.fadeTo( 800, 0.3, function() {
    el.fadeTo( 1000, 1, function() {
      if (! el.hasClass('active'))
      waveArrow(el);
    });
  });
  
}
