/*
 * Ext JS Library 2.0 Beta 1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Ext.onReady(function(){
    Ext.QuickTips.init();   
    var homeMenu = new Ext.menu.Menu({
        id: 'mainMenu',
        items: [
            {
                text: 'My Projects by',                             
				menu:{
				items: [
						{
							text : 'Technology',							
							menu: {
								items : [
										 {
											 text : 'Eclipse Tech\'s',
											 id: 'Eclipse Technologies',
											 handler : onItemPageClick
										 },
										 {
											 text : 'Java EE',
											 id : 'Java EE',
											 handler : onItemPageClick
										 },
										 {
											 text : '.NET',
											 id : '.NET',
											 handler : onItemPageClick
										 },
										 {
											 text : 'AJAX',
											 id : 'AJAX',
											 handler : onItemPageClick
										 },
										 {
											 text : 'UML',
											 id : 'UML',
											 handler : onItemPageClick
										 },
										 {
											 text : 'DirectX',
											 id : 'DirectX',
											 handler : onItemPageClick
										 }	
										]
								  }
								   
						},
						{
							text : 'Language',
							menu: {
								items : [
										 {
											 text : 'Java/Java Script',
											 id: 'Java/Java Script',
											 handler : onItemPageClick
										 },
										 {
											 text : 'C++',
											 id: 'C++',
											 handler : onItemPageClick
										 },										 
										 {
											 text : 'C#',
											  id: 'C#',
											 handler : onItemPageClick
										 },										 
										 {
											 text : 'VB',
											  id: 'VB',
											 handler : onItemPageClick
										 },										 
										 {
											 text : 'PHP',
  											   id: 'PHP',
											 handler : onItemPageClick
										 }
										]
								  }
						}
					]
				}
				
            },
            {
                text: 'Articles/Tutorials(Coming soon)',
                checkHandler: onItemPageClick
            }
        ]
    });
	 var requestMenu = new Ext.menu.Menu({
        id: 'requestMenu',
        items: [
            {
                text: 'Article/Tutorial',
				id: 'tuto',
				handler: onItemDialogClick					
			},
			{
                text: 'Technical help',
				id: 'help',
				handler : onItemDialogClick
					
			},
			{
                text: 'Collaboration',
				id: 'Collaboration',
				handler : onItemDialogClick
					
			}
        ]
    });
	 
	var meMenu = new Ext.menu.Menu({
        id: 'Me',
        items: [
					{
						text: 'My CV',
						 id: 'CV',
						handler : onItemPageClick
							
					},
					{
						text: 'Post quick feedback',
						id: 'feedback',
						handler : onItemDialogClick
							
					}
			]
    });

    var tb = new Ext.Toolbar();
    tb.render('toolbar');

    tb.add(
		   {
            text:'Home',
            iconCls: 'bmenu',  // <-- icon
            menu: homeMenu  // assign menu by instance
           },
		   {
			   text:'Request',
			   iconCls : 'bmenu',
			   menu: requestMenu
		   },
		    {
			   text:'Me',
			   iconCls : 'bmenu',
			   menu: meMenu
		   }
		
		 );

 /*   menu.addSeparator();
    // Menus have a rich api for
    // adding and removing elements dynamically
    var item = menu.add({
        text: 'Dynamically added Item'
    });
    // items support full Observable API
    item.on('click', onItemClick);

    // items can easily be looked up
    menu.add({
        text: 'Disabled Item',
        id: 'disableMe'  // <-- Items can also have an id for easy lookup
        // disabled: true   <-- allowed but for sake of example we use long way below
    });
    // access items by id or index
    menu.items.get('disableMe').disable();*/

    // They can also be referenced by id in or components
   /* tb.add('-', {
        icon: 'list-items.gif', // icons can also be specified inline
        cls: 'x-btn-icon',
        tooltip: '<b>Quick Tips</b><br/>Icon only button with tooltip'
    }, '-');    */

   /* // functions to display feedback
    function onButtonClick(btn){
        Ext.example.msg('Button Click','You clicked the "{0}" button.', btn.text);
    }
*/
    function onItemPageClick(item){
		var url;
		 switch(item.id){
                case "Eclipse Technologies":
						url='pages/MyProjects/eclipseTech.php';
						break;
                case "Java EE":                    
						url='pages/MyProjects/jee.php';
						break;
				case ".NET":                    
					url='pages/MyProjects/dotNet.php';
					break;
				case "AJAX":                    
					url='pages/MyProjects/ajax.php';
					break;
				case "UML":                    
					url='pages/MyProjects/uml.php';
					break;
				case "DirectX":                    
					url='pages/MyProjects/directx.php';
					break;
				case "Java/Java Script":                    
					url='pages/MyProjects/java.php';
					break;
				case "C++":                    
					url='pages/MyProjects/C2Plus.php';
					break;
				case "C#":                    
					url='pages/MyProjects/CSharp.php';
					break;
				case "VB":                    
					url='pages/MyProjects/VB.php';
					break;
				case "PHP":                    
					url='pages/MyProjects/PHP.php';
					break;
				case "CV":                    
					url='pages/cv.php';
					break;
					
            }
       addTabToCenterByURL(url,item.id);
}
   /* function onItemCheck(item, checked){
        Ext.example.msg('Item Check', 'You {1} the "{0}" menu item.', item.text, checked ? 'checked' : 'unchecked');
    }

    function onItemToggle(item, pressed){
        Ext.example.msg('Button Toggled', 'Button "{0}" was toggled to {1}.', item.text, pressed);
    }*/
	
	function onItemDialogClick(item){
		switch(item.id){
                case "tuto":
						openDialog("pages/send.php?t=tuto","Request : Article/tutorial");
						break;
                case "help":                    
						openDialog("pages/send.php?t=help","Request : Technical help");
						break;
		        case "Collaboration":                    
						openDialog("pages/send.php?t=Collaboration","Request : Collaboration");
						break;
				case "feedback":                    
						openDialog("pages/send.php?t=feedback","Post : Quick Feedback");
						break;
						


            }
}
	function openDialog(url,title){	
	var fromTextField= new Ext.form.TextField({fieldLabel : 'From',name : 'From',anchor: '100%',height : 40,allowBlank:false,value: 'Anonymous'});
	var objectTextField= new Ext.form.TextField({fieldLabel : 'Object',name : 'Object',anchor: '100%',height : 40,allowBlank:false});
	var descTextArea=new Ext.form.TextArea({fieldLabel: 'Description',name: 'Description',anchor: '100%',allowBlank:false,height : 400});
	var form = new Ext.form.FormPanel({
        baseCls: 'x-plain',
		id :'formRequest',
        labelWidth: 80,       
        defaultType: 'textfield',
		layout : 'form',		
		width : 400,		
        items: [fromTextField,
				objectTextField,
				descTextArea],
		buttons: [{
				  text: 'Send',				  
				  handler: function() {		
				  if (form.form.isValid()) {  
								var params= '&from='+fromTextField.getValue()+'&object='+objectTextField.getValue()+'&desc='+descTextArea.getValue();
								  //var url = 'checkLogin.php';
								  Ext.Ajax.request({
									 url:url+params,
									 params: params,
									 jmethod:'post'
									 ,success: function(response){ Ext.example.msg('Success', 'Thanks, your message is saved.'); win.close(); }
									}
								  );			 
					
					
				  }else Ext.example.msg('Error', 'Please, complete all required fields.');
				  }
				},
				{
					text: 'Cancel',
					handler : function(){
						win.close();
					}
				}
				]
			});
	var win = new Ext.Window({
        title: title,
		modal:true,
        width: 800,
        height:600,
        layout: 'fit',
        plain:false,
		animate: true,
        bodyStyle:'padding:5px;',
        buttonAlign:'center',
        items: form
	});
 	win.show();  
}
});