function feature_list_driver() {

$$('.feature_detail').each( 
      function (e) {
        benefit = e.select('.srv_benefit');
        if (benefit != '') {
            appendToObj = false;
            e.select('.srv_feature').each( function(s) { 
                if (s.getHeight() > 14) {
                    s.className='srv_feature collapsed';
                    obj = document.createElement("div");
                    obj.innerHTML='&nbsp;';
                    obj.className='more';
                    s.appendChild(obj);
                    appendToObj = true;
                }
            });
            benefit.each( function(s) { 
                if (s.getHeight() > 14 || appendToObj) {
                    s.className='srv_benefit collapsed';
                    obj = document.createElement("div");
                    obj.innerHTML='<a href="#">more &hellip;</a>';
                    obj.className='more';
                    s.appendChild(obj);
                }
            });
        } else {
            e.select('.srv_feature').each( function(s) { 
                if (s.getHeight() > 14) {
                    s.className='srv_feature collapsed';
                    obj = document.createElement("div");
                    obj.innerHTML='<a href="#">more &hellip;</a>';
                    obj.className='more';
                    s.appendChild(obj);
                }
            });
        }

      }
);

$$('.service_feature').each( 
      function (e) { 
            Event.observe(e, 'click', function(event) { 
                  e.select('.more', '.less').each( function(s) {															
                        if (s.firstDescendant() && s.firstDescendant().innerHTML.indexOf('more') != -1) {					
                              s.className = 'less';
                              s.firstDescendant().innerHTML = '&hellip; less';
                              e.select('.srv_benefit').each( function (e) { e.className='srv_benefit'; });
                              e.select('.srv_feature').each( function (e) { e.className='srv_feature'; });
                        } else if (s.firstDescendant() && s.firstDescendant().innerHTML.indexOf('less') != -1) {						
                              s.className = 'more';
                              s.firstDescendant().innerHTML = 'more &hellip;';
                              e.select('.srv_benefit').each( function (e) { e.className='srv_benefit collapsed'; });
                              e.select('.srv_feature').each( function (e) { e.className='srv_feature collapsed'; });
                        }
                  });

                  Event.stop(event);
                  return false;
             })
      } 
);

Event.observe($('toggle_features'), 'click', function(event) { 
    if (this.innerHTML.indexOf('Collapse') != -1) {
        $$('.srv_benefit').each( function (e) { e.className='srv_benefit collapsed'; });
        $$('.srv_feature').each( function (e) { e.className='srv_feature collapsed'; });
        $$('.less').each( function(s) {
              if (s.firstDescendant() && s.firstDescendant().innerHTML.indexOf('less') != -1) {
                    s.className = 'more';
                    s.firstDescendant().innerHTML = 'more &hellip;';
              }
        });

        this.innerHTML = 'Expand All';
    } else {
        $$('.collapsed').each ( function (e) { if (e.className.indexOf('srv_benefit')) e.className='srv_benefit'; else if (e.className.indexOf('srv_feature')) e.className='srv_feature'; });
        $$('.more').each( function(s) {
              if (s.firstDescendant() && s.firstDescendant().innerHTML.indexOf('more') != -1) {
                    s.className = 'less';
                    s.firstDescendant().innerHTML = '&hellip; less';
              } 
        });

        this.innerHTML = 'Collapse All';
    }

    Event.stop(event);
    return false;
});

$('toggle_features').style.display='';

}

addLoadEvent ( feature_list_driver );

