class OverviewPanel {
        static start() {
            //document.weBeans.overwriteAllBeans();
        }
	constructor() {
		this._iFrame = null;
	}
	
	get iFrame() {
		this._iFrame = document.getElementById("overviewIframe");
		this._iFrame.contentWindow.TheLastApp = TheLastApp;
		return this._iFrame;
	}
	set iFrame(newValue) {
		this._iFrame = newValue;
	}
	
	init(controller) {
		
		if (controller != null) {
			this.controller = controller;

//			this.controller._eventSupport.addEventListener("select",this,this.renderSomething);
		
		}
		return this;
	}
	
	
	select(item) {
		console.log(item);
		this.controller.selectedItem = item;
		this.controller._eventSupport.getEvent("select").fire(this,item);
		
		var type = this._processType(item);
		
		
/*		Structr.find(type, id, parameter, setIFrameURL)
		Structr.defaultStructrServer = "http://structr.cerulean.it:6082";
		Structr.find("Page", null, {"name":type+"Overview"}, this._processFindPageResponse.bind(this))
*/
		this._processFindPageResponse(null);		
	}
	
	_processFindPageResponse(response) {
		console.log(response);


		var item = this.controller.selectedItem;
		var type = this._processType(item);
		
		var page = null;

		if(response != null)
			response.result[0];

/*		
		var modelIndex = this.controller.model2ViewMap.keys.index;
		var models = [];
		for(var i in modelIndex)
			models.push(modelIndex[i]);
*/		
		if (!this.overviewPanel) {
			this.overviewPanel = document.querySelector("[id*='"+this.constructor.name+"[']").weBeanNode
		}
		if (this.overviewPanel) {
			var model = this.overviewPanel.data;

			if(page == null) {
				var component = UcpComponentSupport.lookup("DefaultOverview");
				var view =this.iFrame.contentWindow.UcpComponentSupport.lookupView("DefaultOverview[0]");

				if (TheLastApp.overview.controller.selectedItem)
					if (TheLastApp.overview.controller.selectedItem.push)
						view.model.properties.heading = TheLastApp.overview.controller.selectedItem[0].constructor.name;
					else
						view.model.properties.heading = TheLastApp.overview.controller.selectedItem.constructor.name;

				model.url = component.controller.basePath + "/src/html/DefaultOverview.html";
			}
/*			
			this.iFrame.contentWindow.onload = () => {
			component=this.iFrame.contentWindow.UcpComponentSupport.lookup("DefaultOverview");
			component.controller.selectedItem = item;
			}
*/
			else
				model.properties.url = "/"+page.name;
		}


	}
	
	
	_processType(item) {
		if (item == null)
			return "";
		
		var type = null;
		if (item.type != null)
			type = item.type;
		
		if (type === "_schema")
			type = "StructrSchema";
//			type = item.name;
		
		if (type == null) {
			type = item.constructor.name;
		}		
		
		if (type == null) {
			type = "";
		}

		return type;
	}
	
	
	renderSomething(event,data) {
		var This = event.target;
		
	}
	
}