var oTemplate = new Template();

function Template() {
	this._mainNavigationId = 7;
	this._clientTemplatePath = '';
	this._footerNavigationId = 8;
	this._topNavigationId=28;
	this._selectedNavId = 0;
	
	this._pageTitle = '';
	this._bannerText = '';
	this._bannerImage = '';
	this._bannerImageId = 'bnr';
	this._defaultBannerImage = '';
	
	this._trail = Array();
	
	this.initBeforeLoad = function(){
		this.buildTrail();
	}
	
	this.initAfterLoad = function() {
		//oDDM.enableMenu();
	}
	
	this.setSelectedNavId = function(selectedNavId) {
		this._selectedNavId = selectedNavId;
	}
	
	this.setPageTitle = function(pageTextStr) {
		this._pageText = pageTextStr;
	}
	
	this.setBannerText = function(bannerTextStr) {
		this._bannerText = bannerTextStr;
	}
	
	this.setBannerImage = function(bannerImageStr) {
		this._bannerImage = bannerImageStr;
	}
	
	this.setDefaultBannerImage = function(bannerImgStr) {
		this._defaultBannerImage = bannerImgStr;
	}
	
	this.setClientTemplatePath = function(path) {
		this._clientTemplatePath = path;		
	}	
	
	this.buildNavTitle = function() {
		//finds the of the page from the following hirachy
		// bannerText then pageTitle then selectedNavItem title else nothing
		
		if (this._bannerText != '') {
			return this._bannerText;
		} else if (oTplUtils.navItemExists(this._selectedNavId)) {
			return oTplUtils.getNavItem(this._selectedNavId)[oTplUtils.DISPLAY_TEXT];
		} else if (this._pageTitle != '') {
			return this._pageTitle;
		} else {
			return '';
		}
	}

	this.fontSizer = function(action) {
		var oFontSizer = new FontSizer();
		if (action == 'dec') {
			oFontSizer.dec();
		} else {
			oFontSizer.inc();
		}			
	}
	
	this.buildMainNavigation = function() {
		//oDDM.setStartingNavId(this._mainNavigationId);
		//oDDM.setMenuDomId('mainNav');
		//return oDDM.buildMenu();
		var menu = new NavigationItemMenu();
		menu.init(this._mainNavigationId, this._selectedNavId);
		menu.setTrail(this._trail);
		menu.exposeSubMenus('trail');
//		menu.useFirstItem(true);
		menu.useLastItem(true);
		return menu.buildMenu();
	}
	
	this.buildSelectedNavigation = function() {
		var oNavigationItemMenu = new NavigationItemMenu();
		oNavigationItemMenu.init(this._trail[2], this._selectedNavId);
		oNavigationItemMenu.setTrail(this._trail);
		oNavigationItemMenu.exposeSubMenus('trail');
		return oNavigationItemMenu.buildMenu();
	}
	
	
		this.buildTopNavigation = function() {
		var oNavigationItemMenu = new NavigationItemMenu();
		oNavigationItemMenu.init(this._topNavigationId, this._selectedNavId);
		oNavigationItemMenu.useLastItem();
		oNavigationItemMenu.setTrail(this._trail);
		return oNavigationItemMenu.buildMenu();
	}
	
	
	
	
	
	this.buildFooterNavigation = function() {
		var oNavigationItemMenu = new NavigationItemMenu();
		oNavigationItemMenu.init(this._footerNavigationId, this._selectedNavId);
		oNavigationItemMenu.useLastItem();
		oNavigationItemMenu.setTrail(this._trail);
		return oNavigationItemMenu.buildMenu();
	}
	

	this.buildTrail = function() {
		var oTrail = new Trail();
		oTrail.setSelectedNavId(this._selectedNavId);
		this._trail = oTrail.makeTrail();
	}	


	this._buildBannerImage = function() {
		if (this._bannerImage == '') {
			document.getElementById(this._bannerImageId).src = this._defaultBannerImage;
		}
	}
}
