/**
 * file Module.js with sub applications
 * @author Janusz Rygał
 * @date 12.08.2008 
 */
 
 /**
  * @class Logging
  * class with definition of log in functions and params 
  */
 Logging = function(){
 		 /**loogin window*/
 		 var win;
 		 /**login form field*/
 		 var loginField;
 		 /**password form field*/
 		 var passwordField;
 		 /**checker for remember function*/
 		 var rememberField;
 		 
 		/**
 		 * method to show login window
 		 */ 
 		this.showLoginWindow = function() {
 				win.show();
 				loginField.focus(true, 100);
 		}
 		
 		this.loadUser = function(){
				if (Ext.ComponentMgr.get('loginForm').getForm().isValid()) {
						Ext.ComponentMgr.get('loginForm').getForm().submit({
							url:project_url + 'Login', 
							waitMsg:'Login...',														        	
							success: function(form, action) {			
							//Ext.Msg.alert('PressItON',"Login SUCCESS!");
							context.loadMask.show();
							win.close();
                            window.location.reload();
                            /*
                            context = new Context();
                            context.init();
                            context.user = new User();
                            context.user.init();
                            context.desk = new UserDesk();
                            context.desk.createDesk();
                            */
                            /*context.user.preferences.preferencesLoader.on('load', function(store_, rec_){
                                context.desk.initializeOms();
                            },context.user.preferences.preferencesLoader );*/
						},
						failure: function(form, action) {			
						Ext.Msg.alert('OMS',"ERROR Password or Login incorrect!");
					}							        	
				});																
			}
		}
		
		this.loadDemoArchitect = function(){	
			Ext.ComponentMgr.get('loginForm').getForm().setValues([  
				{id: 'loginField', value: 'architect'}, 
				{id: 'passField', value: 'demo'}
			]);
																				        			
			if (Ext.ComponentMgr.get('loginForm').getForm().isValid()) {
				Ext.ComponentMgr.get('loginForm').getForm().submit({
					url:project_url + 'Login', 
					waitMsg:'Login...',														        	
					success: function(form, action) {			
								//Ext.Msg.alert('PressItON',"Login SUCCESS!");
								win.close();
								window.location.reload();
								},
								failure: function(form, action) {			
								Ext.Msg.alert('OMS',"ERROR Password or Login incorrect!");
								}							        	
				});																
			}
		}
		
		this.loadDemo = function(){	
			Ext.ComponentMgr.get('loginForm').getForm().setValues([  
				{id: 'loginField', value: 'demo'}, 
				{id: 'passField', value: 'demo'}
			]);
																				        			
			if (Ext.ComponentMgr.get('loginForm').getForm().isValid()) {
				Ext.ComponentMgr.get('loginForm').getForm().submit({
					url:project_url + 'Login', 
					waitMsg:'Login...',														        	
					success: function(form, action) {			
								//Ext.Msg.alert('PressItON',"Login SUCCESS!");
								win.close();
								window.location.reload();
								},
								failure: function(form, action) {			
								Ext.Msg.alert('OMS',"ERROR Password or Login incorrect!");
								}							        	
				});																
			}
		}
 		/**
 		 * method to create login window
 		 */ 
 		this.createLoginWindow = function(){
											var loginForm =  new Ext.FormPanel({
																			        labelWidth: 150, // label settings here cascade unless overridden
																			        url:project_url + 'Login',
																			        id:'loginForm',
																			        name:'loginForm', 
																			        frame:true,
																			        draggable: false,
																			        style:'margin: 0 auto; margin-top: 20px;',
																			        bodyStyle:'padding:5px 5px 0;',
																			        width: 430,
																			        defaults: {width: 230},
																			        defaultType: 'textfield',
																			        buttons: [{
																			               text: 'Login',
																				            disabled:false,
																					        handler: this.loadUser
																				        },
																				        {
																				        	text: 'Demo QS',
																				        	handler: this.loadDemo
																				        },
																				        {
																				        	text: 'Demo Architect',
																				        	handler: this.loadDemoArchitect
																				        }
																			        ]
																			   });
												loginField = new Ext.form.TextField({
															               fieldLabel: 'Login',
															               id:  'loginField',
															               name: 'log',
															               value: context.user.userLoader.getAt(0).get('cookie_log'),
															               selectOnFocus: true,
															               allowBlank: false
												                       })							   
																			   
														loginForm.add(loginField);	
												
												passwordField = new Ext.form.TextField({
															               fieldLabel: 'Password',
															               name: 'pass',
															               id: 'passField',
															               value: context.user.userLoader.getAt(0).get('cookie_pass'),
															               inputType: 'password',
															               allowBlank: false
												                       })		
														loginForm.add(passwordField);
											  
											   	loginForm.add( 
											   					{
											   					   xtype: 'checkbox',
											   					   name: 'remember',
											   					   fieldLabel: 'Remember',
											   					   checked: true	
											   					}
											   				  );
						//win.add(loginForm);		
						
						var pane = new Ext.Panel({
        							autoHeight: true,
        							autoWidth: true,
        							items: [loginForm]		
        							//html: "<div style=' width: 100%; '><iframe style='width: 100%; height: 700px;' src='http://www.polconstruct.com/sprintaccess2/projects_emails.php?from=oms'></iframe></div>"
        						});
						
						win = new Ext.Window({
														id:'loggingWindow',
														title:'PressItON Log',
										                autoHeight: true,
										                minHeight: 500,
										                resizable: false,
										                closable: false,
										                manager: null,
										                listeners: null,
										                modal: true,
										                width:     450,
										                iconCls: 'login',
										                items: [pane],
										                shim:true,
										                animCollapse:false,
										                constrainHeader:true
											});
											
						var keyMap = new Ext.KeyMap(document, [{
							key: 13,
							fn: this.loadUser		
						}]);
						
																		   
 		}   
 }


 