YUI().use('*',function(Y) {

    var closePanels = function() {
        var panels = Y.Node.all('.panel');
        panels.removeClass('active');
    };

    var panelClick = function() {

        // close all panels
        closePanels();

        // open this panel
        this.addClass('active');
    };

    var panelTitleMouseOverEvent = function() {
      this.addClass('hover');
    };

    var panelTitleMouseOutEvent = function() {
      this.removeClass('hover');
    };


    var setupAccordion = function(openedPanelIndex) {

       Y.on('click', panelClick, '.panel');
       Y.on('mouseover', panelTitleMouseOverEvent,'.panel');
       Y.on('mouseout', panelTitleMouseOutEvent, '.panel');
       
        // set height
        var wh = Y.Node.one(document).get('winHeight');
        var ph = Y.Node.one('.accordion').get('region').top;
        var fixHeight = wh - ph - 50;
        Y.Node.all( '.panel, .accordion').setStyle('height', fixHeight);
        Y.Node.all( '.panel-content').setStyle('height', fixHeight-26);
       
        // open initial predefined panel.
        Y.Node.all('.panel').item(openedPanelIndex).addClass('active');
    };
    
     var init = function() {
       setupAccordion(0);
     };

     Y.on("domready", init, document);
 });
