jQuery(document).ready(function() {
  // ###############
  // # ORANGE VIEW #
  // ###############
  jQuery('map').focus(function() {
    jQuery(this).blur();
  });
  
  jQuery('div#content div.three_quarter div.orange_view').each(function(i, object) { // Iterate over each 'orange view'
    var orange_view = jQuery(object);
    var orange = orange_view.find('div.orange');
    var skin = orange.find('map#skin area');
    var view = orange_view.find('div.view');
    
    view.find('div.accordion div.section').each(function(i, object) { // 'DOM cleanup'
      var section = jQuery(object);
      
      section.replaceWith(section.contents());
    });
    
    view.find('div.accordion a.heading').each(function(i, object) { // Mark empty fields
      var heading = jQuery(object);
      var content = heading.next('div.content');
      
      if(content.html() == '') {
        heading.addClass('empty');
        content.addClass('empty');
      }
    });
    
    skin.hover(function() {
      var area = jQuery(this).attr('class');
      var activeArea = orange_view.attr('class').split(' ')[2].replace('-active', '');
      
      if(area != activeArea) {
        orange_view.addClass(area);
      }
    }, function() {
      var area = jQuery(this).attr('class');
      
      orange_view.removeClass(area);
    });
    
    skin.click(function() {
      var area = jQuery(this).attr('class');
      
      orange_view.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 = orange_view.attr('class').split(' ')[2].replace('-active', '');
      
      orange_view.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) { jQuery(object).unbind('click'); });
    
    view.find('div.accordion.' + orange_view.attr('class').split(' ')[2].replace('-active', '')).show();
    
    orange_view.show();
  });
});