/* ************************************************************************************************
							DEMO OF THE RIALTO FRAMEWORK


 ***********************************************************************************************
 									VERSION:1.0
 ************************************************************************************************
*************************************************************************************************/

rialto.onunload=function(){
	return "You are going to leave the demo. Agree with this ?"
}


rialto.Demo=function(){
   	console.time("console.time test");	
   	this.id="rialtoDemo";
   	rialto.session.reccord(this,this.id);
   	this.currentSource=null;
   	var oThis=this;
   		 	
	this.splitPG = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.21,orientation:'h',name:'splitPG',parent:document.body,style:'normal',limInf:0,limSup:1,withImg:true,reverseClose:false});
	this.splitFC = new rialto.widget.Splitter({top:0,left:0,height:'100%',width:'100%',prop:0.75,orientation:'v',name:'splitFC',parent:this.splitPG.div1,style:'3D',limInf:0,limSup:1,withImg:true,reverseClose:false});
	
	var logo = new rialto.widget.Image('../rialtoEngine/images/imagesRialto/logo_blanc.gif','40%','40%',this.splitPG.div2,"",'',{position:'absolute',boolFloatLeft:false,boolFloaRight:false,imageDisabled:''});	
	this.viewTextBtn = new rialto.widget.Image('../rialtoEngine/imagesDemo/source.png',10,15,this.splitFC.div1,"Click to view Source",'',{boolFloaRight:true});
	this.viewTextBtn.onclick=function(){
		oThis.viewSource();
	}
	var lab= new rialto.widget.Label("",20,40,this.splitFC.div1,"View source","libelleTip");
	this.widgetTree = new rialto.widget.Tree({name:'this.widgetTree',top:'50',left:'10',width:'100%',
											  height:'100%',parent:this.splitFC.div1,boolSelActive:false,
											  rootOpen:true,withRoot:false,withT:true,draggableNode:false});
	var nodeRoot =this.widgetTree.createAndAddNode(this.widgetTree.id,{});
	
	var nodeWidget =this.widgetTree.createAndAddNode(nodeRoot.id,{classname:'demo_',name:'nodeWidget',text:'WIDGETS',icon:'imagesDemo/3d.png',icon2:'',onclick:"",open:true,reload:false,url:"",typeInfo:''});
	nodeWidget.setStyle({fontWeight:"bold",color:"#0069B3",left:45});
	var splitter =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node1',text:'Splitter',icon:'imagesDemo/view_left_right.png',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	splitter.setStyle({left:45});
	splitter.onclick=function(){
		var ex=new rialto.splitterDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/view_left_right.png'});
		oThis.addToHistory(ex);		
	}
	var tabs  =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node2',text:'Tabs',icon:'imagesDemo/toggle_docbrowser.png',icon2:'',open:false,reload:false,url:"",typeInfo:''});
	tabs.onclick=function(){
		var ex=new rialto.tabsDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/toggle_docbrowser.png'});
		oThis.addToHistory(ex);		
	}
	
	tabs.setStyle({left:45});
	var treeview =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node3',text:'Treeview',icon:'imagesDemo/view_tree.png',icon2:'',open:false,reload:false,url:"",typeInfo:''});
	treeview.setStyle({left:45});
	var treeview1 =this.widgetTree.createAndAddNode(treeview.id,{classname:'demo_',name:'node3',text:'Treeview',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	treeview1.onclick=function(){
		var ex=new rialto.treeDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/view_tree.png'});
		oThis.addToHistory(ex);		
	}
	var treeview2 =this.widgetTree.createAndAddNode(treeview.id,{classname:'demo_',name:'node3',text:'Drag and Drop Treeview',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	treeview2.onclick=function(){
		var ex=new rialto.dragTreeDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/view_tree.png'});
		oThis.addToHistory(ex);		
	}
	var grid =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node4',text:'Grid',icon:'imagesDemo/journal.png',icon2:'',open:false,reload:false,url:"",typeInfo:''});
	grid.setStyle({left:45});
	var grid1 =this.widgetTree.createAndAddNode(grid.id,{classname:'demo_',name:'node4',text:'Grid Option',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	grid1.onclick=function(){
		var ex=new rialto.gridDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/journal.png'});
		oThis.addToHistory(ex);		
	}
	var grid2 =this.widgetTree.createAndAddNode(grid.id,{classname:'demo_',name:'node4',text:'Grid and data',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	grid2.onclick=function(){
		var ex=new rialto.gridDataDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/journal.png'});
		oThis.addToHistory(ex);		
	}
	var gridTree =this.widgetTree.createAndAddNode(grid.id,{classname:'demo_',name:'node9',text:'GridTreeview',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	gridTree.onclick=function(){
		var ex=new rialto.gridTreeDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/journal.png'});
		oThis.addToHistory(ex);		
	}
	var form =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node5',text:'Form elements',icon:'imagesDemo/list.png',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	form.setStyle({left:45});
	form.onclick=function(){
		var ex=new rialto.formDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/list.png'});
		oThis.addToHistory(ex);		
	}
	var frame =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node6',text:'Simple window,Popup,Frames',icon:'imagesDemo/window_list.png',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	frame.setStyle({left:45});
	frame.onclick=function(){
		var ex=new rialto.frameDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/window_list.png'});
		oThis.addToHistory(ex);		
	}
	
	var calendar =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node10',text:'Calendar',icon:'imagesDemo/agenda.png',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	calendar.setStyle({left:45});
	calendar.onclick=function(){
		var ex=new rialto.calendarDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/agenda.png'});
		oThis.addToHistory(ex);		
	}
	
	var style =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node10',text:'Style and skin',icon:'imagesDemo/colorize.png',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	style.setStyle({left:45});
	style.onclick=function(){
		var ex=new rialto.styleDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/colorize.png'});
		oThis.addToHistory(ex);		
	}
	
	var example =this.widgetTree.createAndAddNode(nodeWidget.id,{classname:'demo_',name:'node7',text:'Rialto examples',icon:'imagesDemo/tutorials.png',icon2:'',open:false,reload:false,url:"",typeInfo:''});
	example.setStyle({left:45});
	var example1 =this.widgetTree.createAndAddNode(example.id,{classname:'demo_',name:'node7',text:'Form example',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	example1.onclick=function(){
		var ex=new rialto.example1Demo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/tutorials.png'});
		oThis.addToHistory(ex);		
	}
	
		  								  																
	var nodeBehav =this.widgetTree.createAndAddNode(nodeRoot.id,{classname:'demo_',name:'nodeBehav',text:'BEHAVIORS',icon:'imagesDemo/gear.png',icon2:'',onclick:"",open:true,reload:false,url:"",typeInfo:''});
	nodeBehav.setStyle({fontWeight:"bold",color:"#0069B3",left:45});
	var dd =this.widgetTree.createAndAddNode(nodeBehav.id,{classname:'demo_',name:'node1',text:'drag and drop',icon:'imagesDemo/newrecurevent.png',icon2:'',open:false,reload:false,url:"",typeInfo:''});
	dd.setStyle({left:45});	
	var dd1 =this.widgetTree.createAndAddNode(dd.id,{classname:'demo_',name:'node1',text:'drag and drop options',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	dd1.onclick=function(){
		var ex=new rialto.ddDemo({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/newrecurevent.png'});
		oThis.addToHistory(ex);		
	}
	var dd2 =this.widgetTree.createAndAddNode(dd.id,{classname:'demo_',name:'node1',text:'drag and drop example',icon:'images/imTreeview/puce.gif',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	dd2.onclick=function(){
		var ex=new rialto.ddExample({title : this.text,parent : oThis.splitPG.div2,icone:'imagesDemo/newrecurevent.png'});
		oThis.addToHistory(ex);		
	}
	
 	var rs =this.widgetTree.createAndAddNode(nodeBehav.id,{classname:'demo_',name:'node2',text:'resize',icon:'imagesDemo/frame_spreadsheet.png',icon2:'',open:true,reload:false,url:"",typeInfo:''});
	rs.setStyle({left:45});
	rs.onclick=function(){
		var ex=new rialto.rsDemo({title : this.text,parent : oThis.splitPG.div2});
		oThis.addToHistory(ex);		
	}
	
	var nodeResources =this.widgetTree.createAndAddNode(nodeRoot.id,{classname:'demo_',name:'nodeBehav',text:'RESOURCES',icon:'imagesDemo/globe.png',icon2:'',onclick:"",open:false,reload:false,url:"",typeInfo:''});
	nodeResources.setStyle({fontWeight:"bold",color:"#0069B3",left:45});
	var home =this.widgetTree.createAndAddNode(nodeResources.id,{classname:'demo_',name:'node1',text:'Rialto home page',
															  icon:'images/imTreeview/puce.gif',
	  														  open:true,reload:false,url:"",typeInfo:''});
	home.onclick=function(){
		window.open("http://rialto.improve-technologies.com/wiki/start","home");		
	}																
	var doc =this.widgetTree.createAndAddNode(nodeResources.id,{classname:'demo_',name:'node1',text:'Documentation',
																icon:'images/imTreeview/puce.gif',
																open:true,reload:false,url:"",typeInfo:''});
	doc.onclick=function(){
		window.open("http://rialto.improve-technologies.com/js/javascriptDocV1/","doc");		
	}
	
	this.treeHistory = new rialto.widget.Tree({name:'this.treeHistory',top:'10',left:'30',width:'100%',height:'100%',parent:this.splitFC.div2,boolSelActive:true,rootOpen:true,withRoot:true,withT:true,draggableNode:false});
	var nodeRoot2 =this.treeHistory.createAndAddNode(this.treeHistory.id,{name:'nodeRoot2',text:'HISTORY',icon:'images/imTreeview/picto_box_gros.gif',icon2:'',onclick:"",open:true,reload:false,url:"",typeInfo:''});
	nodeRoot2.setStyle({fontWeight:"bold",color:"#0069B3"});
	console.timeEnd("console.time test");		
}
rialto.Demo.prototype={

	viewSource : function(){	
  	this.splitFC.setAjaxIndicator("big_ajax_i");
  	this.splitFC.startAjaxIndicator("10","105");
	
	if(this.currentSource==null){
		this.currentSource="demoRialto.js";
	}
	//window.setTimeout("rialto.session.objects['"+this.id+"'].getSourceFile();",200);  
	this.getSourceFile();
	}
	,
	getSourceFile : function(){	
	
	var remote=new rialto.io.AjaxRequest({
							url:this.currentSource,
							method: 'get', 
							withWaitWindow:false,
							callBackObjectOnSuccess:this,
							onSuccess : this.loadScript
						}) ;
	remote.load('');				
		
	}
	,	
	loadScript : function( request){		
		var text = request.responseText;
		if (rialto.config.userAgentIsFirefox){
			text = text.replace(/\r/g, '');
		}
		
		var div = document.createElement('DIV');
		this.popUpSource=new rialto.widget.PopUp('source',150,420,'700','400','',"Source",'gray');
		this.popUpSource.add(div);	
		div.innerHTML="<pre id ='text0' name='text0' class='js'></pre>";
		var source=div.firstChild;
		source.appendChild(document.createTextNode(text));
		//source.setAttribute("name", "text0");
		//source.setAttribute("class", "js");
		//source.id = "text0";		
									
		
		dp.SyntaxHighlighter.HighlightAll('text0');
		this.splitFC.stopAjaxIndicator();
	}
	,
	addToHistory : function(ihm){
		var oThis=this;
	    var window=ihm.simpleWindow;
	    //save current filename
	    this.currentSource=ihm.filename
	    //add in history treeview
	    var node=new rialto.widget.TreeNode({
	    			text: window.title,
	    			icon:  "images/imTreeview/icone_box_ptit_off.gif",
	    			icon2: "images/imTreeview/icone_box_ptit_on.gif",
	    			info: ihm.filename}
	    			);    
	    	
	    node.window=window;
	    			
		node.onclick=function(){
	    	this.window.setEnable(true);
	    	oThis.currentSource=this.info;
	    }	    			
	    			
	    this.treeHistory.rootNode.addNode(node);
	    
	    //select the node
	    node.selNode();
	    //set the node to the window
	    window.node=node;
	    //onclose definition
	    window.onClose = function (){
	        window.node.remove();
   	    	oThis.currentSource=null;
	    }
	    //onfocus definition
	    window.onfocus = function (){
	        this.node.selNode();
   	    	oThis.currentSource=this.node.info;
	    } 
	}

}

