/*
 * Ext JS Library 2.1
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Ext.onReady(function() {

Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
var randnum = Math.random();

var login_form = new Ext.form.FormPanel({
        frame:true,
        bodyStyle:'padding:5px 5px 0',
        width: 350,
		labelWidth: 75,
        defaults: {width: 200},
        items: [{
                fieldLabel: 'Email',
                name: 'email',
				id: 'email',
				xtype:'textfield',
				vtype:'email',
                allowBlank:false
            },{
                fieldLabel: 'Password',
                name: 'pass',
				id: 'pass',
				xtype:'textfield',
				inputType: 'password',
				allowBlank:false
            }
        ],


	  buttons: [{ text: 'Login', handler: function() {
					if(!Ext.getCmp('email').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your Email Address');
						return;
					}
					if(!Ext.getCmp('pass').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your password');
						return;
					}
					Ext.Ajax.request({
							url: 'login.php',
							method: 'POST',
							success: function(result, request){
								if(result.responseText == 'success'){
									window.location.href = "user.php";
								}else{
									Ext.MessageBox.alert('Error', result.responseText);
								}
							},
							//failure: fFn,
							params: {
								d:'auth',
								email:Ext.getCmp('email').getValue(),
								pass:Ext.getCmp('pass').getValue()
							}
					});
				}},
				{ text: 'Reset', handler: function() {login_form.form.reset();}},
				{ text: 'Forget Password', handler: function() {
					if(!Ext.getCmp('email').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your Email Address');
						return;
					}
					Ext.Ajax.request({
							url: 'login.php',
							method: 'POST',
							success: function(result, request){
								if(result.responseText == 'success'){
									Ext.MessageBox.alert('Message', 'Your password has been sent to the email address provided.');
								}else{
									Ext.MessageBox.alert('Error', result.responseText);
								}
							},
							//failure: fFn,
							params: {
								d:'findpass',
								email:Ext.getCmp('email').getValue()
							}
					});				

				}}
		]
});


var reg_form = new Ext.form.FormPanel({
        frame:true,
        bodyStyle:'padding:5px 5px 0',
        width: 400,
		labelWidth: 100,
        defaults: {width: 200},
		items: [{
			fieldLabel: 'Email',
			name: 'reg_email',
			id: 'reg_email',
			xtype:'textfield',
			vtype:'email',
			vtypeText:'Your Email Address is not right',
			allowBlank:false
		},{
			fieldLabel: 'First Name',
			name: 'reg_first_name',
			id: 'reg_first_name',
			xtype:'textfield',
			allowBlank:false
		},{
			fieldLabel: 'Last Name',
			name: 'reg_last_name',
			id: 'reg_last_name',
			xtype:'textfield',
			allowBlank:false
		},{
			fieldLabel: 'Website',
			name: 'reg_website',
			id: 'reg_website',
			xtype:'textfield',
			allowBlank:false
		},{
			fieldLabel: 'Company Name',
			name: 'reg_company_name',
			id: 'reg_company_name',
			xtype:'textfield'
		},{
			fieldLabel: 'Phone Number',
			name: 'reg_phone',
			id: 'reg_phone',
			xtype:'textfield'
		},{
			fieldLabel: 'ZIP',
			name: 'reg_zip',
			id: 'reg_zip',
			xtype:'textfield'
		},{
			fieldLabel: 'Password',
			name: 'reg_pass',
			id: 'reg_pass',
			xtype:'textfield',
			inputType: 'password',
			allowBlank:false
		},{
			fieldLabel: 'Verify Password',
			name: 'reg_repass',
			id: 'reg_repass',
			xtype:'textfield',
			inputType: 'password',
			allowBlank:false
		},{
			layout:'column',
			anchor:'98%',
			bodyStyle:'padding:10px 0px 0',
			items:[{
				columnWidth:.9,
				html: 'I have read and agree with HovClick\'s <a id="links" href="http://www.hovclick.com/terms.html" target="_blank">Terms of Service</a>',
				xtype:'label'
				},
				{
				columnWidth:.1,
				name: 'reg_terms',
				id: 'reg_terms',
				xtype:'checkbox'
				}
			]
		}],
	  buttons: [{ text: 'Register', handler: function() {
					if(!Ext.getCmp('reg_email').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your Email Address');
						return;
					}
					if(!Ext.getCmp('reg_first_name').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your First Name');
						return;
					}
					if(!Ext.getCmp('reg_last_name').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your Last Name');
						return;
					}
					if(!Ext.getCmp('reg_website').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your Website');
						return;
					}
					var str_reg_website = Ext.getCmp('reg_website').getValue();
					var rex = /(\.)/i;
					var rex_result = str_reg_website.search(rex);
					if(rex_result == -1){
						Ext.MessageBox.alert('Error', 'Your Website Address is not right');
						return;						
					}
					if(!Ext.getCmp('reg_pass').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Your password');
						return;
					}
					if(!Ext.getCmp('reg_repass').getValue()){
						Ext.MessageBox.alert('Error', 'Please Enter Verify Password');
						return;
					}
					if(Ext.getCmp('reg_pass').getValue().toString() != Ext.getCmp('reg_repass').getValue().toString()){
						Ext.MessageBox.alert('Error', 'Your password and the verified password does not match');
						return;
					}
					if(!reg_form.form.isValid()){
						Ext.MessageBox.alert('Error', 'Please check to make sure the information you provided is correct');
						return;
					}
					if(!Ext.getCmp('reg_terms').getValue()){
						Ext.MessageBox.alert('Error', 'Your should agree our terms of services');
						return;
					}
					
					Ext.Ajax.request({
							url: 'register.php',
							method: 'POST',
							success: function(result, request){
								if(result.responseText == 'success'){
									reg_win.hide();
									Ext.MessageBox.alert('Message', 'Privacy is a major concern to us, Please check your email for an activation link.  Thanks.');
								}else{
									Ext.MessageBox.alert('Error', result.responseText);
								}
							},
							//failure: fFn,
							params: {
								d:'new',
								email:Ext.getCmp('reg_email').getValue(),
								first_name:Ext.getCmp('reg_first_name').getValue(),
								last_name:Ext.getCmp('reg_last_name').getValue(),
								website:Ext.getCmp('reg_website').getValue(),
								company_name:Ext.getCmp('reg_company_name').getValue(),
								phone:Ext.getCmp('reg_phone').getValue(),
								zip:Ext.getCmp('reg_zip').getValue(),
								pass:Ext.getCmp('reg_pass').getValue(),
								repass:Ext.getCmp('reg_repass').getValue()
							}
					});
				}},
				{ text: 'Reset', handler: function() {reg_form.form.reset();}}
		]
});

login_win = new Ext.Window({
		layout:'fit',
		closeAction:'hide',
		width:350,
		height:160,
		draggable : true,
		title:'User Login',
		frame: true,
		modal:true,
		items:[login_form]
});

reg_win = new Ext.Window({
		layout:'fit',
		closeAction:'hide',
		width:400,
		height:420,
		draggable : true,
		title:'User Register',
		frame: true,
		modal:true,
		items:[reg_form]
});

Ext.get('login').on('click', function(){
	login_win.show();
})

Ext.get('register').on('click', function(){
	reg_win.show();
})

Ext.get('get_started').on('click', function(){
	reg_win.show();
})

});