/* **** NavigationStylesAPI.js ****
created by: Elaine Harman

NavStyleTemplate takes a map of the root name for the classes as well as the id and path for images with rollovers.

Example usages with either imageMap or classMap:
imageMap-
   var staticSubnavStyle = new NavStyleTemplate(null, {"_img1":"<DTL:design-image-path relativePath="images/nav/" />arrow"});
   staticSubnavStyle.addMembers(StaticNavType2JSDO.getItemsAtLevel(1));

classMap-
   var subnavStyle = new NavStyleTemplate({"":"navbg2"}, {});
   subnavStyle.addMembers(NavJSDO.getItemsAtLevel(2));

*/

// Styles for navigation objects
function NavStyleTemplate(classMap, imgMap) {
	this.hasClasses = (classMap && hasNodes(classMap)) ? true : false;
	this.hasImages = (imgMap && hasNodes(imgMap)) ? true : false;
	this.classMap = (this.hasClasses) ? classMap : null;
	this.imgMap = (this.hasImages) ? imgMap : null;
	return this;
}
// This happens onLoad!!
NavStyleTemplate.prototype.addMembers = function(list) {
	for (var i=0; i<list.length; i++) {
		if (!MasterNav[list[i]]) continue;
		var thisItem = MasterNav[list[i]];
		thisItem.hasClasses = this.hasClasses;
		thisItem.hasImages = this.hasImages;
		thisItem.classMap = (this.hasClasses) ? {} : null;
		thisItem.imgMap = (this.hasImages) ? {} : null;
		for (var suffix in this.classMap) thisItem.classMap[thisItem.id + suffix] = this.classMap[suffix];
		for (var suffix in this.imgMap) thisItem.imgMap[thisItem.id + suffix] = this.imgMap[suffix];
	}
}
