Ext.onReady(function(){
	
    Ext.QuickTips.init();
    var ExtLogoutButton = new Ext.Button({
   		text:_lang.logout,
   		id:'ExtLogoutButton',
   		hidden:true,
        icon: '/bin/images/icons/logout.png',
        iconCls: 'def',
        applyTo:'logoutBtn',
   		handler: function(){
			window.location.href = '/index.html';
		}
    });
    
	
    
	function callbacker(r){
		r = store;
   		login.hide();
	   	login.destroy();
	   	Ext.getCmp('NavTab').remove('loginTab');
   		
   		for(i=0;i<store.data.length;i++)
		{
			
			//alert(store.data.items[i].data.url + '' + store.data.items[i].data.show);
			//var res = array_search('download_portal_admin',store.data.items);
			//GetValues(res);
			
			if(store.data.items[i].data.url == 'user_management' && store.data.items[i].data.show == 1){
				_user_management = 1
			}
			if(store.data.items[i].data.url == 'other_admin_tasks' && store.data.items[i].data.show == 1){
				_other_admin_tasks = 1
			}
			if(store.data.items[i].data.url == 'group_management' && store.data.items[i].data.show == 1){
				_group_management = 1
			}
			
			if(store.data.items[i].data.url == 'start' && store.data.items[i].data.show == 1){
				
				var startPanelLoaded = startPanel.loadStart();
				Ext.getCmp('NavTab').add({
					title: store.data.items[i].data.title,
					id: store.data.items[i].data.id,
					items:[
					startPanelLoaded
					],
					frame:false,
	        		layout:'fit',
	        		region:'center',
					listeners: {activate: handleActivate}
					
				});
				
//				startPanel.writeTemplate(startPanelLoaded);
			}
			if(store.data.items[i].data.url == 'leads' && store.data.items[i].data.show == 1){
				_lead_portal_mod_id = store.data.items[i].data.mod_id;
				leads_viewport = new leads_viewport(); 
				var leads_viewportLoaded = leads_viewport.loadLead();
				Ext.getCmp('NavTab').add({
					title: store.data.items[i].data.title,
					id: store.data.items[i].data.id,
					items:[leads_viewportLoaded],
					frame:false,
	        		layout:'fit',
	        		region:'center',
					listeners: {activate: { fn: function(){
								//alert(_download_portal_loginU);
								//alert(_download_portal_loginP);	
							}
						}
					}
					
				});
			}
			if(store.data.items[i].data.url == 'order_system' && store.data.items[i].data.show == 1){
				Ext.getCmp('NavTab').add({
					title: store.data.items[i].data.title,
					id: store.data.items[i].data.id,
					items:[order_system_panel],
					frame:false,
	        		layout:'fit',
	        		region:'center',
					listeners: {activate: { fn: function(){
								//alert(_download_portal_loginU);
								//alert(_download_portal_loginP);	
							}
						}
					}
					
				});
			}
			if(store.data.items[i].data.url == 'download_portal' && store.data.items[i].data.show == 1){
		   		_portal_mod_id = store.data.items[i].data.mod_id;
				dp = new download_portal();
				Ext.getCmp('NavTab').add({
					title: store.data.items[i].data.title,
					id: store.data.items[i].data.id,
					items:[dp],
					frame:false,
	        		layout:'fit',
	        		region:'center',
					listeners: {activate: { fn: function(){
							}
						}
					}
					
				});
			}
			if(store.data.items[i].data.url == 'administration' && store.data.items[i].data.show == 1){
				_admin_portal_mod_id = store.data.items[i].data.mod_id;
				administration_viewport = new administration_viewport(); 
				var administration_viewportLoaded = administration_viewport.loadAdmin();
				Ext.getCmp('NavTab').add({
					title: store.data.items[i].data.title,
					id: store.data.items[i].data.id,
					items:[administration_viewportLoaded],
					frame:false,
	        		layout:'fit',
	        		region:'center',
					listeners: {activate: handleActivate}
					
				});
			}
		}
		Ext.getCmp('NavTab').activate(store.data.items[0].data.id);
	}
	
	function changeSys(){
		alert("asd");
	}
	//alert(get_cookie('ServerUrl'));
	var login = new Ext.FormPanel({ 
	        labelWidth:150,
	        url:ServerUrl + '' + modul_login + '/login.php', 
	        frame:true, 
	        width:'100%',
	        region:'center',
	        defaultType:'textfield',
			monitorValid:true,
			monitorResize:true,
       		buttonAlign:'left',
			
	        items:[
	        	{ 
	                fieldLabel:_lang.username, 
	                name:'loginUsername',
	                id:'loginUsername',
					width: 180,
	                //value: params.username,
	                value:'',
//	                value:'ingo',
	                allowBlank:true 
	            },{ 
	                fieldLabel:_lang.password, 
	                name:'loginPassword', 
	                inputType:'password',
	                id:'loginPassword',
					width: 180,
	                //value: params.password,
	                value: '',
//	                value:'90563',
	                allowBlank:true 
	            },
	            new Ext.form.ComboBox({
					fieldLabel: _lang.sel_lang,
					name: 'login_langs',
					id:'login_langs',
					store: new Ext.data.SimpleStore({
						fields: ['sid', 'sname'],
						data : Ext.cbData.login_langs // from states.js
					}),
					valueField:'sid',
					displayField:'sname',
					typeAhead: true,
					mode: 'local',
	                //value: params.lang,
					value: select_value_lang,
					tpl:CombosTpl,
					style:'height:22px;',
					width: 180,
					triggerAction: 'all',
					emptyText:'Sprache selektieren',
					selectOnFocus:true,
					forceSelection:true,
					allowBlank:false,
					  listeners: {
						select: {
							fn: function(record){ // override default onSelect to do redirect
								window.location.search = Ext.urlEncode({"lang":Ext.getCmp('login_langs').getValue(),"username":Ext.getCmp('loginUsername').getValue(),"password":Ext.getCmp('loginPassword').getValue()});
		        			}
		        			,scope: this
		        		}
					}
				})
				],
	   
	        buttons:[{ 
	                text:_lang.login_btn,
	                id:'LoginButton',
	                icon: '/bin/images/icons/login.png',
	                iconCls: 'def',
	                formBind: true,	 
	                handler:function(){
	                changeStat('LoginButton', 'progStatusBar', '0');
	                login.getForm().submit({ 
	                    method:'POST', 
	                    waitTitle:'Login', 
	                    waitMsg:_lang.login_wait_msg,
	                    success:function(form, action){ 
					   		obj = Ext.util.JSON.decode(action.response.responseText);
					   		
					   		userId = obj.results.userId;
					   		_loggedInuserId = obj.results.userId;
					   		_loggedInRight_id = obj.results.right_id;
					   		_loggedInuserId = obj.results.userId;
					   		_loggedInUserName = obj.results.username;
					   		_loggedInPwd = obj.results.pwd;
					   		_loggedInLastName = obj.results.last_name;
					   		_loggedInFirstName = obj.results.first_name;
					   		_loggedInSalutation = obj.results.salutation;
					   		_loggedInConsultant_no = obj.results.consult_no;
					   		
					   		
					   		
					   		//alert(_loggedInSalutation);
					   		
					   		loggedInUserData.on('beforeload', function() {
							     loggedInUserData.baseParams = {
							          'userId': _loggedInuserId,
							          'right_id': _loggedInRight_id
							     };
							});
	 						loggedInUserData.load();
							
					   		loggedInUserData.on({
					   			'load' : {
					   				fn: function(){
					   					store.on('beforeload', function() {
										     store.baseParams = {
										          'userId': _loggedInuserId,
										          'right_id': _loggedInRight_id
										     };
										});
					   					//alert(_loggedInRight_id);
								   		startPanel = new startPanel();
								   		store.load({params:{user_id: userId},callback:callbacker});
								   		changeStat('LoginButton', 'progStatusBar', '1');
								   		document.getElementById('userInfoo').innerHTML = "<b>User: </b>" + _loggedInFirstName + ' ' + _loggedInLastName
										//alert("User: " + _loggedInFirstName + '' + _loggedInLastName);
										Ext.getCmp('ExtLogoutButton').show();
					   				}
					   			}
					   		});
 							//GetValues(loggedInUserData);
 							
					   		
						
	                    },
	                    failure:function(form, action){ 
	                        if(action.failureType == 'server'){ 
	                            obj = Ext.util.JSON.decode(action.response.responseText); 
	                            Ext.Msg.alert(_lang.login_failed, _lang.login_failed_txt); 
	                        }else{ 
	                            Ext.Msg.alert(_lang.warning + '!', 'Authentication server is unreachable : ' + action.response.responseText); 
	                        } 
	                        changeStat('LoginButton', 'progStatusBar', '1');
	                        login.getForm().reset(); 
	                    } 
	                }); 
	            } 
	        }] 
	});	
	
	
	
	var AppNavPanel = new Ext.TabPanel({
	        layoutOnTabChange: true,
	        id:'NavTab',
	        region:'center',
	        height:'100%',
		    frame:false,
		    bodyStyle:'border:none;',
		    style:'border:none;',
	        items:[{
	        	title:_lang.loginPage_loginNow,
	        	id:'loginTab',
	        	region:'center',
		        frame:true,
	        	items:[login]
	        }]
	});
	Ext.getCmp('NavTab').activate('loginTab');
	var LoginView = new Ext.Viewport({
	    layout: 'border',
	    frame:false,
	    bodyStyle:'border:none;',
	    style:'border:none;',
		monitorValid:true,
		monitorResize:true,
	    id:'compView',
	    items: [{
	        region: 'north',
	        xtype:'box',
	        applyTo:'HeadLine',
	        height: 55
	        /*frame:false,
	        style:'border:none;',
	        bodyStyle:'border:none;',
	        height: 31,
	        id:'northView',
	        border: false,
	        margins: '0 0 0 0',
	   		align:'right',
	   		buttonAlign:'right'
	        ,tbar: new Ext.StatusBar({
	            defaultText: '<img src="/bin/images/gp_logo.jpg"><iframe width="216" height="30" frameborder="0" src="/bin/modules/file_downloader/empty.html" name="downloader"></iframe>',
	            id: 'progStatusBar',
	            defaultIconCls: '',
	            height:'30',
		        frame:false,
		        style:'border:none;',
		        bodyStyle:'border:none;',
	            margins: '0 0 0 0',
	            paddings: '0 0 0 0',
		        items: [ExtLogoutButton]
	        })*/
	    }, 	
	    {
	        region: 'center',
		    frame:false,
		    bodyStyle:'border:none;',
		    style:'border:none;',
	        layout:'fit',
	        height:'100%',
	        items:[AppNavPanel]
	        ,bbar: new Ext.StatusBar({
	            defaultText: 'Status: ' + _lang.status_default,
	            id: 'progStatusBar',
	            defaultIconCls: '',
		        items: ['', new Date().format('l, d.m.Y'), ' ']
	        })
	    }]
	});
});