var MenuBuilder = new Class({

	Implements: [ Options,Events ],
	
	options:{
		container : null,
		id        : 'UvumiDropdown-Case',
		className : 'UvumiDropdownMenu'
	},	
	
	initialize: function(menuData,options) {
		
		this.setOptions(options);
		
		this.menuMap = menuData;
		this.container = $(this.options.container) || document.body;

		this.build();
		//this.bindEvents();
	},
	
	Construct: function(items, level) {
		if (!level)
			level = new Number(0);
		
		if (typeof items != 'undefined' && items.length) {
			var ul = new Element('ul');
			
			if(level == 0)
			{
				ul.id = this.options.id;
				ul.addClass(this.options.className);
			}
			
			for (var i = 0; i < items.length; i++) {
				var item = items[i];
				
				if (item) {				
					var li = new Element('li');
					var hy = new Element('a', {'href': item.url || 'javascript:void(0)', 'html': item.label}).inject(li);          
					
					if (item.items) {            
						li.appendChild(this.Construct(item.items, level + 1));
					}
		
					ul.appendChild(li);
				}
			}
			
			return ul;
		}
		
		return null;
	},
	
	build: function() {
		this.container.appendChild(this.Construct(this.menuMap));		
	}

});

var CommonUtils = new function(){
	this.MenuItemFile = '/html/cases_menuitem.html';
	this.SlideshowFile = '/slideshow.swf';
	this.MediaPlayerFile = '/mediaplayer.swf';
	
	this.loadSWF = function(sType, sVars, width, height)
	{		
		var flashFile = "";
		var flashId = "";
		
		if (sType == "0")
		{
			flashId = "slideshow";
			flashFile = this.SlideshowFile
		}
		else
		{
			flashId = "flvPlayer";
			flashFile = this.MediaPlayerFile
		}
		
		document.write("<div id='flashcontent' align='center'></div>");		
		
		var so = new SWFObject(flashFile, flashId, width, height, "0");
		so.addParam("quality", "high");
		so.addParam("wmode", "transparent");
		so.addParam("FlashVars", sVars);
		so.write("flashcontent");		
	}	

	this.createMenu = function()
	{
		document.write("<div id='menuWrapper'></div>");	
		
		var mb = new MenuBuilder
		(
			[
				{
				  'label': '&raquo; Model Design',
				  'items': [
					{
					  'label': 'Bidding model',
					  'url': '/html/cases/models/bid.html'
					},
					{
					  'label': 'Plan model',
					  'url': '/html/cases/models/plan.html'
					},
					{
					  'label': 'Landscape model',
					  'url': '/html/cases/models/landscape.html'
					},
					{
					  'label': 'Commerce &amp; mansion model',
					  'url': '/html/cases/models/commercemansion.html'
					},
					{
					  'label': 'High-rise &amp; multistory housing',
					  'url': '/html/cases/models/highlevelmultistory.html'
					},
					{
					  'label': 'Ancient building model',
					  'url': '/html/cases/models/ancientbuilding.html'
					},
					{
					  'label': 'Villa model',
					  'url': '/html/cases/models/villa.html'
					},
					{
					  'label': 'Single model',
					  'url': '/html/cases/models/single.html'
					},
					{
					  'label': 'Housestyle model',
					  'url': '/html/cases/models/housestyle.html'
					}
				  ]
				},
				{
				  'label': '&raquo; Interior Design',
				  'items': [
					{
					  'label': 'Resort',
					  'url': '/html/cases/resort.html'
					},
					{
					  'label': 'Villas',
					  'items': [
						{
						  'label': 'Project in Australia',
						  'url': '/html/cases/villas/australia.html'
						},
						{
						  'label': 'Project in Russia',
						  'url': '/html/cases/villas/russia.html'
						},
						{
						  'label': 'Project in Qatar',
						  'url': '/html/cases/villas/qatar.html'
						},
						{
						  'label': 'Project in USA',
						  'url': '/html/cases/villas/usa.html'
						}
					  ]
					},
					{
					  'label': 'Showroom',
					  'url': '/html/cases/showroom.html'
					},
					{
					  'label': 'Hotel Design',
					  'items': [
						{
						  'label': 'The Hotel of Egypt',
						  'url': '/html/cases/hotels/egypt.html'
						},
						{
						  'label': 'Angola\'s leisure and shopping center',
						  'url': '/html/cases/hotels/angola.html'
						},
						{
						  'label': 'The Hotel of Trinidad',
						  'url': '/html/cases/hotels/trinidad.html'
						}
					  ]
					}
				  ]
				},
				{
				  'label': '&raquo; Architecture Design',
				  'items': [
					{
					  'label': 'Business Center',
					  'url': '/html/cases/architecture/business.html'
					},
					{
					  'label': 'Factory',
					  'url': '/html/cases/architecture/factory.html'
					},
					{
					  'label': 'Hospital',
					  'url': '/html/cases/architecture/hospital.html'
					},
					{
					  'label': 'Hotel',
					  'url': '/html/cases/architecture/hotel.html'
					},
					{
					  'label': 'Plaza',
					  'url': '/html/cases/architecture/plaza.html'
					},
					{
					  'label': 'Real Estate',
					  'url': '/html/cases/architecture/realestate.html'
					},
					{
					  'label': 'School',
					  'url': '/html/cases/architecture/school.html'
					}
				  ]
				},
				{
				  'label': '&raquo; 3D Animated Design',
				  'items': [
					{
					  'label': 'Automobile 4S shop',
					  'url': '/html/cases/3d/4S_shop.html'
					},
					{
					  'label': 'CMB Office Demo',
					  'url': '/html/cases/3d/CMBOffice.html'
					}
				  ]
				}
			],
			{
				container: 'menuWrapper'
			}								 
		);
	}	
	
	this.getGuid = function(){
		var guid = "";
		for(var i=1;i<=32;i++)
		{
			var n = Math.floor(Math.random()*16.0).toString(16);
			guid += n;
		}	
		return guid;
	}
	
}

window.addEvent('domready',function(){
    var uMenu = new UvumiDropdown("UvumiDropdown-Case",{
		closeDelay:200,
		mode:'vertical'
	});
});