function signup(){
    Ext.QuickTips.init();
    Ext.form.Field.prototype.msgTarget = 'under';
    var itemConfigs = [
    {
        item : 'firstName',
        fieldLabel : 'firstName',
        allowBlank : false
    },{
        item : 'lastName',
        fieldLabel : 'lastName',
        allowBlank : false
    },{
        item : 'email',
        fieldLabel : 'email',
        allowBlank : false
    },{
        item : 'password',
        fieldLabel : 'password',
        allowBlank : false
    },{
        item : 'organization',
        fieldLabel : 'organization',
        allowBlank : false
    },{
        item : 'organizationGeoDiv',
        fieldLabel : 'lhin',
        allowBlank : true
    },{
        item : 'organizationAddress',
        fieldLabel : 'organizationAddress',
        allowBlank : false
    },{
        item : 'organizationProvince',
        fieldLabel : 'organizationProvince',
        allowBlank : false
    },{
        item : 'organizationPostalCode',
        fieldLabel : 'organizationPostcode',
        allowBlank : false
    },{
        item : 'profession',
        fieldLabel : 'profession',
        allowBlank : false
    },{
        item : 'specialty',
        fieldLabel : 'specialty',
        allowBlank : false
    }]
    var items = new Array();
    Ext.each(itemConfigs, function(itemConfig){
        var item = getFormItem(itemConfig);
        if(item instanceof Array){
            items.push(item[0], item[1]);
        }else{
            items.push(item);
        }
    })

    var popup = new Ext.Window({
        width: 400,
        height: 440,
        border : false,
        title: textStore['newMemberReg'],
        layout:'fit',
        modal : true,
        items:[
        new Ext.form.Panel({
            id:'signupForm',
            frame : true,
            bodyStyle: 'padding: 10px 5px 5px 5px;',
            fieldDefaults: {
                anchor:'90%',
                labelWidth : 160,
                labelAlign : 'right'
            },
            items: items
  	
        })],
        buttons:[{
            text: textStore['submit'],
            handler: function(){
                var form = Ext.ComponentMgr.get('signupForm').getForm();
                form.submit({
                    url:'/elms/webRegUser.go',
                    success: function(f,a){
                        var lf = document.loginForm;
                        var sf = form.getValues();
																						
                        lf.email.value = sf.login;
                        lf.password.value = sf.password;
                        lf.submit();
                    },
                    failure: function(form, action){
                        switch (action.failureType) {
                            case Ext.form.action.Action.CLIENT_INVALID:
                                Ext.Msg.alert(textStore['regFailed'], textStore['checkInput']);
                                break;
                            case Ext.form.action.Action.SERVER_INVALID:
                                Ext.Msg.alert(textStore['regFailed'],  textStore[action.result.msg] || action.result.msg);
                        }
                    }
                });
            }
        },
        {
            text:textStore['cancel'],
            handler: function(){
                popup.close();
            }
        }
        ]

    });
    popup.show();
}
