public function start($attributes = array())
    {
        if (sfConfig::get('app_parser_skip_toolbar')) {
            $attributes['toolbar'] = false;
            $attributes['north'] = false;
            $attributes['west'] = false;
        }
        /**
         * TOOLBAR
         */
        if (isset($attributes['toolbar']) && is_object($attributes['toolbar']) && get_class($attributes['toolbar']) == 'afExtjsToolbar') {
            $attributes['toolbar']->end();
        } elseif ((!isset($attributes['toolbar']) || isset($attributes['toolbar']) && $attributes['toolbar'] != false) && afExtjs::getInstance()->isDesktop() == false) {
            sfProjectConfiguration::getActive()->loadHelpers(array('afExtjsToolbar'));
        }
        /**
         * NORTH PANEL
         */
        if (isset($attributes['north']) && is_array($attributes['north'])) {
            $this->addPanel('north', $attributes['north']);
        } elseif (!isset($attributes['north']) || isset($attributes['north']) && $attributes['north'] != false) {
            $this->addPanel('north', array('id' => 'north_panel', 'region' => 'north', 'height' => '32', 'border' => false, 'bodyStyle' => 'background-color:#dfe8f6;'));
        }
        /**
         * WEST PANEL
         */
        if (isset($attributes['west']) && is_array($attributes['west'])) {
            $this->addPanel('west', $attributes['west']);
        } elseif (!isset($attributes['west']) || isset($attributes['west']) && $attributes['west'] != false) {
            $logoScript = "";
            if (class_exists('ConfigPeer')) {
                $avatarLogo = ConfigPeer::get("avatar_logo", false);
            } else {
                $avatarLogo = sfConfig::get('app_avatar_logo', false);
            }
            if ($avatarLogo && file_exists(sfConfig::get('sf_web_dir') . $avatarLogo)) {
                $imagesize = getimagesize(sfConfig::get('sf_web_dir') . $avatarLogo);
                $clickAction = 'onClick="var aboutWin = null;if(aboutWin = Ext.getCmp(\'about-window\')){aboutWin.show();aboutWin.center();}" style="cursor:pointer"';
                $logo = '<div style="background-color:#d9e7f8;border-right:1px solid #99bbe8;border-left:1px solid #99bbe8;border-bottom:1px solid #99bbe8; padding:2px 0px 0px 0px; margin:0px;text-align:center;"><img id="avatar_image" ' . $clickAction . ' src="' . $avatarLogo . '"/></div>';
                $logoScript = 'var logoDiv = Ext.DomHelper.insertBefore(comp.bwrap,{tag:"div",html:"' . addslashes($logo) . '"});			
				var resize = function(comp){
					var body = comp.body, bodyHeight = body.getHeight();
					body.setHeight(bodyHeight-' . $imagesize[1] . '-3);					
				}; 
				resize(comp); 
				comp.on("bodyresize",function(comp,w,h){resize(comp);});';
            }
            $attributes_temp = array('id' => 'west_panel', 'stateful' => true, 'stateEvents' => array('afterlayout'), 'getState' => $this->afExtjs->asMethod(array("parameters" => "", "source" => "return { activeItemIndex: this.items.findIndex('id',this.layout.activeItem.id) };")), 'stateId' => 'west_panel', 'region' => 'west', 'title' => 'Navigation', 'width' => '255', 'minWidth' => '255', 'split' => 'true', 'layoutConfig' => array('animate' => 'true'), 'collapsible' => 'true', 'layout' => 'accordion', 'listeners' => '{"beforerender": function(){var state=Ext.state.Manager.get("west_panel");if(!state){this.activeItem = this.findById("profile");}else{this.activeItem = state.activeItemIndex;}},"render":function(comp){' . $logoScript . '}}');
            if (!isset($this->attributes['viewport']['west_panel'])) {
                $this->attributes['viewport']['west_panel'] = $attributes_temp;
            } else {
                $this->attributes['viewport']['west_panel'] = array_merge($attributes_temp, $this->attributes['viewport']['west_panel']);
            }
            unset($attributes_temp);
        } elseif (isset($attributes['west']) && $attributes['west'] == false) {
            $this->attributes['viewport']['west_panel'] = false;
        }
        parent::start($attributes);
    }