/*
	Copyright (c) 2006-2007, ePages GmbH
	All Rights Reserved.

	epages.cartridges.de_epages.design.widget.Navbarpreview $Revision: 1.16 $

*/
dojo.provide("epages.cartridges.de_epages.design.widget.Navbarpreview");
dojo.require("epages.widget.LocalizedWidget");
dojo.require("dijit._Container");

dojo.declare(
	"epages.cartridges.de_epages.design.widget.Navbarpreview",
	[epages.widget.LocalizedWidget,dijit._Contained],
	{
		/**
		 * public properties
		 */
		templateType: 'Layout1',
		defaultTemplateType: 'Layout1',

		_templateMapping:{
			'Layout1' : {templatePath: dojo.moduleUrl('epages.cartridges.de_epages.design.widget', 'templates/NavbarPreviewLayout1.html')},
			'Layout2' : {templatePath: dojo.moduleUrl('epages.cartridges.de_epages.design.widget', 'templates/NavbarPreviewLayout2.html')},
			'Layout3' : {templatePath: dojo.moduleUrl('epages.cartridges.de_epages.design.widget', 'templates/NavbarPreviewLayout3.html')}
		},
		cssClass : '',
		visibleNavBars: undefined,

		/**
		 * widget properties
		 */
		imagePath       : epages.themeUrl('images'),
		templatePath    : dojo.moduleUrl('epages.cartridges.de_epages.design.widget','templates/NavbarPreviewLayout1.html'),
		translationName : dojo.moduleUrl('epages.cartridges.de_epages.design.widget','templates/translation'),

		postCreate: function() {
			this.templateDirectory = dojo.moduleUrl('epages.cartridges.de_epages.design.widget','templates');
			this.inherited('postCreate', arguments);
			this.visibleNavBars = epages.NavBars;
			if(this.visibleNavBars) {
				for(var el in this.visibleNavBars) {
					var navString=this.visibleNavBars[el][2];
					if(navString != "Delete") {
						this.enableBar(navString.toLowerCase());
						this.addNavbarEvents(navString, el);
					}
				}
			} else {
				console.warn("epages.NavBars not defined in "+this.declaredClass);
			}
		},

		addNavbarEvents : function(/* string */ navbar, /* string */ epObjectId) {
			var navbarlc = navbar.toLowerCase();
			var navbarNode = this[navbarlc + 'Node']
			navbarNode.ep_objectId = epObjectId;
			navbarNode.ep_navbar = navbar;
			this.connect(navbarNode, "onclick", '_publishSelect');
		},

		_publishSelect: function(evt) {
			var node = evt.currentTarget;
			dojo.stopEvent(evt);
			dojo.publish(this.id+'/select', [{ navbar: node.ep_navbar, objectId: node.ep_objectId }]);
		},

		enableBar: function (navbar) {
			this[navbar + 'Node'].style.display="";
		},

		disableBar: function (navbar) {
			this[navbar + 'Node'].style.display="none";
		},

		switchBar: function (navbar) {
			if (this[navbar + 'Node'].style.display=="none") {
				this.enableBar(navbar);
			} else {
				this.disableBar(navbar);
			}
		}
	}
);