(function() {
	if (YAHOO && YAHOO.util) {
		var loader = new YAHOO.util.YUILoader({
			base: '/common/yui/build/',
			require: ["menu","stylesheet"],
			loadOptional: false,
			combine: false,
			filter: "MIN",
			allowRollup: true,
			onSuccess: function() {
				YAHOO.util.Event.onDOMReady(sw3.initPopup);
			}
		});
	
	// Load the files using the insert() method. 
		loader.insert();
	}
})(); 

sw3.initPopup = function() {
	var pop_stylesheet = new YAHOO.util.StyleSheet();
	
	function addChildren(pid) {
		var itms = [];
		for (var i = 0; i < sw3.struct[pid].childs.length; i++) {
			var id = sw3.struct[pid].childs[i];
			var title = sw3.htmlEncode(sw3.struct[id].name[sw3.language]);
			if (sw3.struct[id].image) {
//				createCSS('.yui-skin-sam #sw3mitem_' + id + ' .yuimenuitemlabel', 'background-image: url(/files/rub/' + id + '.' + sw3.struct[id].img_ext + ');');
				pop_stylesheet.set('.yui-skin-sam #sw3mitem_' + id + ' .yuimenuitemlabel', {
								   backgroundImage: 'url(/files/rub/' + id + '.' + sw3.struct[id].img_ext + ')'
								   });
			}
			var itm = {text: title, id: 'sw3mitem_' + id, url: sw3.struct[id].url[sw3.language], classname: 'type_' + sw3.struct[id].type};
			if (sw3.struct[id].childs.length > 0) {
				itm.submenu = {id: 'sw3menu_' + id, itemdata: addChildren(id)};
			}
			itms.push(itm);
		}
		return itms;
	}

//console.log('initPopup');
	var els = YAHOO.util.Dom.getElementsByClassName('sw3mbar');
//console.log('found ' + els.length);
//	els = [];
	for (var i = 0; i < els.length; i++) {
		var ct = els[i].getElementsByTagName('a');
		var title;
		if (ct.length > 0) {
			title = ct[0].innerHTML;
		} else {
			title = els[i].innerHTML; //sw3.htmlEncode(sw3.struct[id].name[sw3.language]);
		}
		els[i].innerHTML = '';
		var id = els[i].getAttribute('sw3id');
//console.log('menu ' + id);
		if (id) {
			var oMenuBar = new YAHOO.widget.MenuBar('sw3mbar_' + id, {autosubmenudisplay: true, lazyload: true, hidedelay: 750, classname: 'yuimenubarnav bar' + i});
			oMenuBar.addItem({text: title, url: sw3.struct[id].url[sw3.language], classname: 'type_' + sw3.struct[id].type});
			if (sw3.struct[id].childs.length > 0) {
				var oItem = {id: 'sw3menu_' + id, itemdata: addChildren(id)};
//console.log(oItem);
				oMenuBar.getItem(0).cfg.setProperty("submenu", oItem);
			}
			oMenuBar.render(els[i]);
		}
	}

	els = YAHOO.util.Dom.getElementsByClassName('sw3menu');
	if (els.length > 0) {
		for (var i = 0; i < els.length; i++) {
			var id = els[i].id;
			var oMenu = new YAHOO.widget.Menu(els[i].id, { 
												position: "static", 
												hidedelay:  750, 
												lazyload: true });
			oMenu.subscribe("beforeRender", function () {
				if (this.getRoot() == this) {
					for (var j=0; j<sw3.struct[1].childs.length; j++) {
						var sid = sw3.struct[1].childs[j];
						if (sw3.struct[sid].childs.length > 0) {
							var oItem = {id: 'sw3menu_' + sid, itemdata: addChildren(sid)};
							this.getItem(j).cfg.setProperty("submenu", oItem);
						}
					}
				}
			});
	
			oMenu.render();
		}
	}
}
