
/* Insert B elements into various places to hook up the image replacement */

var image_replacement_selectors = ['#header h2 a','#header h1','#header em','#header a#pn-members-area','#primary-navigation li a'];
image_replacement_selectors.each(function(selector){
  var elements = $$(selector);
  if(elements.size() > 0){
    elements.each(function(element){
      if(selector == '#header h2 a'){
		element.update('<span class="t">Tattersalls</span> Club Sydney');
      }
      element.insert({bottom: '<b></b>'});
    });
  }
});


/* Hook up hover animations for primary nav */

var primary_nav_fade_duration_over = 0.25;
var primary_nav_fade_duration_out = 0.75;

function primary_nav_item_mouseover(event){
  var caller = event.element();
  if(caller.tagName != 'I'){
    caller = caller.select('i');
  }
  var parent_node = caller.up('li');
  if(parent_node == null){
    parent_node = caller.up('a');
  }
  var animation_scope = parent_node.id;

  var effect_queue = Effect.Queues.get(animation_scope + '-out');
  effect_queue.each(function(e){e.cancel()});
  new Effect.Fade(caller, {from: 1.0, to: 0.01, duration: primary_nav_fade_duration_over, transition: Effect.Transitions.sinoidal, queue: {position: 'front', scope: animation_scope + '-over', limit: 1}});
}

function primary_nav_item_mouseout(event){
  var caller = event.element();
  if(caller.tagName != 'I'){
    caller = caller.select('i');
  }
  var parent_node = caller.up('li');
  if(parent_node == null){
    parent_node = caller.up('a');
  }
  var animation_scope = parent_node.id;
  new Effect.Fade(caller, {from: 0.01, to: 1.0, duration: primary_nav_fade_duration_out, transition: Effect.Transitions.sinoidal, queue: {position: 'end', scope: animation_scope + '-out', limit: 1}});
}

$$('#primary-navigation li a').add($('pn-members-area')).each(function(nav_item){
  var hover_state = nav_item.select('b')[0];
  var bgpos = hover_state.getStyle('backgroundPosition');
  // IE doesn't do backgroundPosition, but we can grab the X position easily enough
  if(bgpos == null){
    bgpos = hover_state.getStyle('backgroundPositionX');
  }
  if(bgpos != null){
    nav_item.insert({bottom: '<i></i>'});
    var y_pos = nav_item.id == 'pn-members-area' ? ' -148px' : ' -40px';
    hover_state.style.backgroundPosition = bgpos.split(' ')[0] + y_pos;
    nav_item.observe('mouseover', primary_nav_item_mouseover);
    nav_item.observe('mouseout', primary_nav_item_mouseout);
  }
});
