﻿/************************************ 初始化导航条 *********************************************/
Ext.ns('Ext.gzj');
Ext.gzj.initNav = Ext.extend(Ext.util.Observable, {
	navItem: 'a',
	menuItem: '.menu',
	//组件的构造方法
    constructor: function(navId, menuId, config) {
        config = config || {};
        Ext.apply(this, config);
        Ext.gzj.initNav.superclass.constructor.call(this, config);
		this.nav = Ext.get(navId);            //获取主导航对象
		this.menu = Ext.get(menuId);        //获取子导航对象
        this.initMarkup();       //初始化组件
    },
	//方法：初始化组件
    initMarkup: function() {
		this.navlist = this.nav.select(this.navItem);
		this.menulist = this.menu.select(this.menuItem);
		var minX = this.menu.getX();
		var maxX = minX + this.menu.getWidth();
		//计算主导航中每个元素的中心x坐标, 设置每个子菜单的x坐标
		for(var i=0; i<this.navlist.getCount(); i++){
			var navPos = this.navlist.item(i).getX()+(this.navlist.item(i).getWidth()/2);
			var menuWidth = this.menulist.item(i).getWidth();
			var menuPos = navPos + (menuWidth/2);
			if(menuPos >= maxX){
				menuPos = maxX - menuWidth - 10;
			}else if((menuPos - menuWidth) <= minX){
				menuPos = minX + 10;
			}else {
				menuPos = navPos - (menuWidth/2);
			}
			this.menulist.item(i).setX(menuPos);
		}
    }
});

