Ext.GhostBox = function(){
	var msgCt;

	function createBox(t, s){
		return ['<div class="x-box-blue">',
		'<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>',
		'<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>', t, '</h3>', s, '</div></div></div>',
		'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',
		'</div>'].join('');
	}
	return {
		msg : function(title, format){
			if(!msgCt){
				msgCt = Ext.DomHelper.insertFirst(document.body, {id:'msg-div'}, true);
			}
			msgCt.alignTo(document, 't-t');
			var s = String.format.apply(String, Array.prototype.slice.call(arguments, 1));
			var m = Ext.DomHelper.append(msgCt, {html:createBox(title, s)}, true);
			m.slideIn('t').pause(5).ghost("t", {remove:true});
		},

		init : function(){

		}
	};
}();
rand=Math.random();
Ext.onReady(function(){

	var ds = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({url: '../users/getCountries'}),
		reader: new Ext.data.JsonReader(
			{root: 'results',id: 'id'},
			[{name: 'id'},{name: 'cname'}]
		)
	});
	ds.load();
	ls = new Ext.data.Store({
	    proxy: new Ext.data.HttpProxy({
			url: '../sites/getActive'
		}),

	    reader: new Ext.data.JsonReader({
            root:'results',
			totalProperty: 'total',
			id: 'id'
        }, [{name: 'lang_id'},{name: 'domain'},{name: 'display_name'},{name: 'language'}]),

		// turn on remote sorting
        remoteSort: true
    });
	ls.load();




	var sqStore = new Ext.data.SimpleStore({
		fields: ['value', 'display'],
		data : [['0', common.APP_REGISTER_QUESTION1],['1', common.APP_REGISTER_QUESTION2],['2', common.APP_REGISTER_QUESTION3]]
	});


	Ext.form.Field.prototype.msgTarget = 'side';

	function b(text) {
		return '<b>'+text+'</b>';
	}

	var user_field = new Ext.form.TextField({

		fieldLabel: b(common.APP_REGISTER_UNFIELD),
		name: 'data[User][username]',
		width:190,
//		value:'',
		allowBlank: false
	});

	var pass_field = new Ext.form.TextField({
		allowBlank: false,
		fieldLabel: b(common.APP_REGISTER_PWFIELD),
		inputType: "password",
		name: 'data[User][password]',
//		value:'',
		width:190
	});

	var re_pass_field = new Ext.form.TextField({
		allowBlank: false,
		fieldLabel: b(common.APP_REGISTER_REPWFIELD),
		inputType: "password",
		name: 'data[User][re_password]',
//		value:'',
		width:190
	});
	var country = new Ext.form.ComboBox({
		forceSelection:true,
		allowBlank: false,
		name: 'country',
		fieldLabel:b(common.APP_REGISTER_COUNTRYFIELD),
		typeAhead: true,
		store: ds,
		maxHeight: 150,
		editable:true,
		displayField: 'cname',
		valueField: 'id',
		hiddenName: 'data[User][country]',
		triggerAction: 'all',
		width:190,
		mode: 'local'
	});
	var site = new Ext.form.ComboBox({
		tpl:'<tpl for="."><div class="x-combo-list-item">{display_name} - {language}</div></tpl>',
		emptyText:common.APP_REGISTER_SITE,
		name: 'site',
		fieldLabel:b(common.APP_REGISTER_SITE),
		store: ls,
		editable:false,
		displayField: 'display_name',
		valueField: 'lang_id',
		hiddenName: 'data[User][dlang]',
		triggerAction: 'all',
		width:190,
		mode: 'local'
	});
	var sq = new Ext.form.ComboBox({
		editable:false,
		allowBlank: false,
		name: 'sq',
		fieldLabel:b(common.APP_REGISTER_QUESTIONFIELD),
		typeAhead: true,
		store: sqStore,
		displayField: 'display',
		valueField: 'display',
		hiddenName: 'data[User][s_question]',
		triggerAction: 'all',
		width:250,
		mode: 'local'
	});
	var sqAnswer = new Ext.form.TextField({
		allowBlank: false,
		fieldLabel: b(common.APP_REGISTER_ANSWERFIELD),
		name: 'data[User][s_answer]',
		width:250
	});
	var sCode = new Ext.form.TextField({
		allowBlank: false,
		fieldLabel: b(common.APP_REGISTER_CAPTCHA),
		name: 'captcha',
		width:250
	});



	var as = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({url: '../users/getAgeGroups'}),
		reader: new Ext.data.JsonReader(
			{root: 'results'},
			[{name: 'value'},{name: 'boxLabel'}]
		)
	});
	as.load();

	as.on('load', function() {
	  	response=as.getRange();
	  	ageGroups = new Array();
	  	for (i=0; i<response.length;i++){
	  		obj = new Object();
	  		obj=response[i].data;
	  		ageGroups.push(obj);

	  	}
//	  	alert(ageGroups[0].value);
//	  	alert(ageGroups[0]);

//		alert(Ext.util.JSON.encode(ageGroups));

		var register = new Ext.form.FormPanel({
			labelWidth: 190, // label settings here cascade unless overridden
			url:'../users/registration',
			labelAlign:'right',
			border:false,
			//items:[user_field,pass_field,re_pass_field,country,site,
			  items:[user_field,pass_field,re_pass_field,
			/*{
				xtype:'ux-radiogroup',
				fieldLabel:b(common.APP_REGISTER_HAWFIELD),
				allowBlank: false,
				name:'data[User][how_hear]',
				radios:[
					{value:common.APP_REGISTER_HAWANS1,boxLabel:common.APP_REGISTER_HAWANS1},
					{value:common.APP_REGISTER_HAWANS2,boxLabel:common.APP_REGISTER_HAWANS2},
					{value:common.APP_REGISTER_HAWANS3,boxLabel:common.APP_REGISTER_HAWANS3},
					{value:common.APP_REGISTER_HAWANS4,boxLabel:common.APP_REGISTER_HAWANS4}
				]
			},
			{
				xtype:'ux-radiogroup',
				fieldLabel:b(common.APP_REGISTER_HOAYFIELD),
				allowBlank: false,
				name:'data[User][how_old]',
				radios:ageGroups
			},*/
			sq,sqAnswer,
			{
				xtype: 'box',
				autoEl: {id: 'icon_div', tag: 'div', html: '<table style="margin-bottom:15px"><tr><td width="190"></td><td align="left"><img src="../users/capcha?rand='+Math.random()+'"/></td>'}
			},
			sCode
			],
			buttons: [{
	            text: common.APP_ALL_REGISTER_TITLE,
	            handler: function() {
	                // check form value
	                if (register.form.isValid()) {
		 		        register.form.submit({
				            waitMsg:'Processing',
				            failure: function(form, action) {
				            	if (action.result.errorInfo=='captcha'){
									Ext.MessageBox.alert('Error Message', common.APP_REGISTER_CAPTCHA_ERROR);
									document.getElementById('icon_div').innerHTML='<table style="margin-bottom:15px"><tr><td width="190"></td><td align="left"><img src="../users/capcha?rand='+Math.random()+'"/></td>';
									register.doLayout();
									sCode.setValue('');
				            	} else {
						    		Ext.MessageBox.alert('Error Message', action.result.errorInfo);
				            	}
							},
							success: function(form, action) {
	//						    Ext.MessageBox.alert('Record Saved', action.result.info);
							window.location='../home';

							}
				        });
	                } else {
						Ext.MessageBox.alert(common.APP_ALL_ERROR_BOX_TITLE, common.APP_ALL_ERROR_BOX_TEXT);
					}
		        }
	        }],
			defaults:{border:false}
			//END MODIFICATION 28.04.2008
		});//OP_SERVER_ADDRESS

		//	register.add(user_field,pass_field,re_pass_field,country,g1);


		//alert('x');
		register.render('register-ct');
		var registerForm = Ext.get('register-dlg');

//		registerForm.hide();
		registerForm.fadeIn({duration:0.1});

	});

});
