$(document).ready(function() {
  // ###############
  // # ORANGE VIEW #
  // ###############
  $('map').focus(function() {
    $(this).blur();
  });
  
  $('div#content div.three_quarter div.orange_view').each(function(i, object) { // Iterate over each 'orange view'
    var orangeView = $(object);
    var orange = orangeView.find('div.orange');
    var skin = orange.find('map#skin area');
    var view = orangeView.find('div.view');
    
    view.find('div.accordion div.section').each(function(i, object) { // 'DOM cleanup'
      var section = $(object);
      
      section.replaceWith(section.contents());
    });
    
    view.find('div.accordion a.heading').each(function(i, object) { // Mark empty fields
      var heading = $(object);
      var content = heading.next('div.content');
      
      if (content.html() == '') {
        heading.addClass('empty');
        content.addClass('empty');
      }
    });
    
    skin.hover(function() {
      var area = $(this).attr('class');
      var activeArea = orangeView.attr('class').split(' ')[2].replace('-active', '');
      
      if (area != activeArea) {
        orangeView.addClass(area);
      }
    }, function() {
      var area = $(this).attr('class');
      
      orangeView.removeClass(area);
    });
    
    skin.click(function() {
      var area = $(this).attr('class');
      
      orangeView.attr('class', 'orange_view services ' + area + '-active');
      
      view.find('div.accordion').not('.' + area).hide();
      view.find('div.accordion.' + area).show();
      
      skin.blur();
      
      return false;
    });
    
    orange.mouseout(function() {
      var activeArea = orangeView.attr('class').split(' ')[2].replace('-active', '');
      
      orangeView.attr('class', 'orange_view services ' + activeArea + '-active');
    });
    
    view.find('div.accordion').accordion({
      autoHeight: false,
      navigation: true
    });
    
    view.find('div.accordion a.heading.empty').each(function(i, object) { $(object).unbind('click'); });
    
    view.find('div.accordion.' + orangeView.attr('class').split(' ')[2].replace('-active', '')).show();
    
    orangeView.show();
  });
});
