Menu = function(ph)
{
	this.model = new MenuModel(this);
    this.placeHolder = ph;

    this.loader = new Loader();
    this.loader.setHandler(4, this.handler(this.loadedHandler));
    
    this.loader.load(config.contentFolder + "menu.xml", true);
 }

Menu.prototype.setSelected = function(name)
{
	//alert(name);
	this.model.setSelected(name);
}

Menu.prototype.loadedHandler = function()
{
	var xmlDoc = this.loader.getXML();
    if(xmlDoc == null)
    {
        return;
    }
    
    var models = xmlDoc.getElementsByTagName("model");
    if (models != null && models.length > 0)
    {
		this.model.load(models[0]);
    }
    
    var views = xmlDoc.getElementsByTagName("view");
    if (views != null && views.length > 0)
    {
		var selectedNode = views[0];
		for(var i = 0; i < selectedNode.childNodes.length; i++)
		{
			this.placeHolder.appendChild(convert.toElement(selectedNode.childNodes[i]));
		}
    }
    
    // load home
    if (this.model.root != null)
    {
		loadPage(this.model.root.page);
    }
}

Menu.prototype.handler = function(handler)
{
    var ref = this;
    return function()
    {
        handler.apply(ref, arguments)
    }
}


