Ext.onReady(function() {
show_regform();
});
function __show_regform() {
Ext.create('Ext.panel.Panel', {
title: 'Registration sendNow',
border: false,
width: '100%',
layout: 'fit',
bodyPadding: 12,
html: '
Hier können Sie sich in Kürze für
sendNow
registrieren. Wir freuen uns auf Sie!',
renderTo: 'js-content',
});
Ext.destroy(Ext.get('ttcLoadingDiv'));
}
function show_regform() {
Ext.create('Ext.panel.Panel', {
id: 'ttcRegFormPanel',
title: 'Registration sendNow',
border: false,
width: '100%',
layout: 'fit',
bodyPadding: 12,
items: [{
xtype: 'form',
border: false,
title: false,
referenceHolder: true,
defaultButton: 'submitButton',
style: 'margin-bottom: 24px;',
layout: 'anchor',
defaults: {
//labelAlign: 'top',
//labelTextAlign: 'left',
hideLabel: true,
height: 50,
anchor: '100%',
allowBlank: false
},
items: [{
xtype: 'panel',
referenceHolder: true,
height: false,
border: false,
html: 'Sie registrieren sich für die Nutzung von sendNow für eine einmalige Registrierungsgebühr von 69,- EUR.',
style: 'margin: 12px 0;'
},{
xtype: 'combobox',
name: 'salutation',
emptyText: 'Anrede *',
blankText: 'Bitte wählen Sie Ihre Anrede',
queryMode: 'local',
forceSelection: true,
editable: false,
displayField: 'name',
valueField: 'value',
store: Ext.create('Ext.data.Store', {
fields: ['name', 'value'],
data: [
{ name: 'Frau', value: 'Frau' },
{ name: 'Herr', value: 'Herr' }
]
})
},{
xtype: 'textfield',
name: 'first_name',
maxLength: 30,
enforceMaxLength: true,
emptyText: 'Vorname *',
blankText: 'Bitte geben Sie Ihren Vornamen ein!'
},{
xtype: 'textfield',
name: 'middle_name',
maxLength: 40,
enforceMaxLength: true,
allowBlank: true,
labelStyle: 'text-align: left;',
emptyText: 'Weitere(r) Vorname(n)',
blankText: 'Bitte geben Sie ggf. Ihre weiteren Vornamen ein!'
},{
xtype: 'textfield',
name: 'last_name',
maxLength: 30,
enforceMaxLength: true,
emptyText: 'Nachname *',
blankText: 'Bitte geben Sie Ihren Nachnamen ein!'
},{
xtype: 'textfield',
name: 'email',
maxLength: 40,
enforceMaxLength: true,
vtype: 'email',
emptyText: 'E-Mail-Adresse *',
blankText: 'Bitte geben Sie Ihre E-Mail-Adresse ein!'
},{
xtype: 'textfield',
name: 'mobile_phone',
maxLength: 40,
enforceMaxLength: true,
emptyText: 'Mobilnummer *',
blankText: 'Bitte geben Sie Ihre Mobilnummer ein!'
},{
xtype: 'textfield',
name: 'address',
maxLength: 40,
enforceMaxLength: true,
emptyText: 'Adresse (Straße) *',
blankText: 'Bitte geben Sie Ihre Adresse ein!'
},{
xtype: 'textfield',
name: 'zip',
maxLength: 40,
enforceMaxLength: true,
emptyText: 'PLZ *',
blankText: 'Bitte geben Sie Ihre PLZ ein!'
},{
xtype: 'textfield',
name: 'city',
maxLength: 40,
enforceMaxLength: true,
emptyText: 'Wohnort *',
blankText: 'Bitte geben Sie Ihren Wohnort ein!'
},{
xtype: 'combobox',
name: 'country',
id: 'ttc-regform-country',
emptyText: 'Land *',
blankText: 'Bitte wählen Sie Ihr Land aus!',
ttcval: '',
displayField: 'title',
valueField: 'iso2',
typeAhead: true,
minChars: 1,
autoSelect: false,
selectOnFocus: true,
store: Ext.create('Ext.data.Store', {
fields: ['title', 'iso2'],
proxy: {
type: 'ajax',
withCredentials: true,
api: {
read: '/index.php?eID=ttc&key=getCountries&pass=u8dBhawmDD54NXy6'
},
reader: {
type: 'json',
rootProperty: 'items'
}
},
listeners: {
load: function(me, records, successful, operation, eOpts) {
var country = Ext.getCmp('ttc-regform-country');
country.setValue(country.ttcval);
}
},
autoLoad: true
}),
listeners: {
change: function(me, newValue, oldValue, eOpts) {
this.up('form').getForm().findField('fedstate').getStore().load({ params:{country: newValue} })
}
}
},{
xtype: 'combobox',
name: 'fedstate',
id: 'ttc-regform-fedstate',
hidden: true,
disabled: true,
emptyText: 'Bundesland *',
blankText: 'Bitte wählen Sie das Bundesland aus!',
ttcval: '',
displayField: 'title',
valueField: 'code',
editable: false,
typeAhead: true,
forceSelection: true,
queryMode: 'local',
store: Ext.create('Ext.data.Store', {
fields: ['title', 'code'],
storeId: 'regform_fedstates',
proxy: {
type: 'ajax',
withCredentials: true,
api: {
read: '/index.php?eID=ttc&key=getFedStates&pass=u8dBhawmDD54NXy6'
},
reader: {
type: 'json',
rootProperty: 'items'
}
},
autoLoad: false,
listeners: {
load: function(me, records, successful, operation, eOpts) {
var fedstate = Ext.getCmp('ttc-regform-fedstate');
fedstate.setValue(fedstate.ttcval);
var hide = (records.length == 0);
fedstate.allowBlank = hide;
var show = hide? fedstate.hide() : fedstate.show();
var show = hide? fedstate.disable() : fedstate.enable();
fedstate.validate();
}
}
})
},{
xtype: 'datefield',
name: 'date_of_birth',
width: 300,
anchor: false,
editable: true,
blankText: 'Ihr Geburtsdatum',
emptyText: 'Bitte geben Sie Ihr Geburtsdatum an',
minValue: '1910-01-01',
maxValue: [new Date().getFullYear() - 18, new Date().getMonth() + 1, new Date().getDate()].join('-'),
maxLength: 10,
enforceMaxLength: true,
value: ''
},{
xtype: 'textfield',
name: 'place_of_birth',
maxLength: 40,
enforceMaxLength: true,
blankText: 'Bitte geben Sie Ihren Geburtsort an',
emptyText: 'Ihr Geburtsort *',
value: ''
},{
xtype: 'checkboxfield',
name: 'regterms_accepted',
reference: 'checkboxRegterms',
height: false,
hideLabel: true,
boxLabel: 'Ich akzeptiere die
Nutzungsbedingungen und möchte mich gerne kostenpflichtig registrieren.',
validateField: true,
msgTarget: 'under',
validateMessage: 'Bitte lesen Sie den oben stehenden Hinweis und unsere AGB und bestätigen Sie dies durch Setzen eines Häkchens in dieses Feld!'
},{
xtype: 'panel',
title: false,
height: false,
border: false,
html: '* Pflichtfelder'
},{
xtype: 'panel',
referenceHolder: true,
height: false,
border: false,
html: 'sendNow wird bereitgestellt von
BCIT MEDIA SERVICES - FZCOIFZA Properties
Dubai Silicon Oasis
Dubai
Registernummer: DSO-FZCO-35199
E-Mail: info@shifter.mx
Web: https://t10c.pro',
style: 'margin: 12px 0; border-top: 1px solid #4FA3ED;'
}]
}],
renderTo: 'js-content',
buttonAlign: 'center',
buttons: [{
text: 'Abbrechen',
height: 40,
style: 'padding: 0 24px',
handler: function() {
Ext.MessageBox.confirm('Abbrechen', '
Sind Sie sicher, dass Sie den Registrierungsprozess abbrechen möchten?
', function(btn) {
if (btn === 'yes') {
var pnl = this.up('panel');
pnl.removeAll();
pnl.destroyDockedItems();
pnl.update('
Ihre Registrierung wurde nicht abgesendet. Sie können dieses Fenster jetzt schließen.
');
}
}, this);
window.scrollTo({
top: 0,
left: 0,
behavior: 'smooth'
});
}
},{
text: 'Jetzt kostenpflichtig und verbindlich bestellen',
reference: 'submitButton',
height: 40,
style: 'padding: 0 24px',
handler: function() {
var formEl = this.up('panel').down('form');
var form = formEl.getForm();
if (!form.isValid()) {
Ext.Msg.alert('Fehler', 'Sie haben nicht alle Pflichtfelder ausgefüllt. Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut!', function() { window.scrollTo({ top: 0, left: 0, behavior: 'smooth' }); });
return false;
}
Ext.getBody().mask('Einen Moment bitte...');
Ext.Ajax.request({
scope: this,
withCredentials: true,
url: '/index.php?eID=ttc&key=submitSnRegfrm&pass=u8dBhawmDD54NXy6',
method: 'POST',
params: {
fdata: Ext.util.JSON.encode(form.getValues())
},
success: function(p_result) {
Ext.getBody().unmask();
try { Ext.util.JSON.decode(p_result.responseText); } catch (e) { Ext.Msg.alert('Fehler beim Absenden!', 'Beim Absenden des Formulars ist ein interner Fehler aufgetreten!
Bitte versuchen Sie es erneut oder setzen Sie sich mit uns in Verbindung!'); return false; }
var result = Ext.util.JSON.decode(p_result.responseText);
if (!result.success) {
Ext.Msg.alert(result.title, result.msg);
return false;
}
verify_email_pin(result);
},
failure: function(response, opts) {
Ext.getBody().unmask();
Ext.Msg.alert('Interner Fehler', 'Es ist ein interner Fehler aufgetreten, wir bitten um Entschuldigung. Bitte setzen Sie sich mit uns in Verbindung!');
}
});
}
},{
text: 'debug',
hidden: true,
handler: function() {
var values = {
'salutation': 'Herr',
'first_name': 'Max',
'middle_name': 'Moritz',
'last_name': 'Mustermann',
'email': 'debug@top10coins.pro',
'mobile_phone': '+49 123 4567890',
'address': 'Teststr. 123',
'zip': '12345',
'city': 'Testcity',
'country': 'DE',
'fedstate': 'HH',
'date_of_birth': '01.02.1970',
'place_of_birth': 'Home'
};
var formEl = this.up('panel').down('form');
var form = formEl.getForm();
var items = form.getFields().items;
for (var i in items)
items[i].setValue(values[items[i].getName()]);
}
}]
});
function verify_email_pin(p_result) {
Ext.create({
xtype: 'window',
title: 'E-Mail verifizieren',
referenceHolder: true,
defaultButton: 'submitButton',
width: 450,
height: false,
modal: true,
constrain: true,
bodyPadding: 10,
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'panel',
title: false,
border: false,
bodyStyle: 'text-align: left;',
html: '
Wir haben Ihnen eine E-Mail mit einem PIN geschickt, um Ihre E-Mail-Adresse zu verifizieren. Bitte geben Sie diesen PIN aus der E-Mail hier ein:
'
},{
xtype: 'textfield',
height: 40,
name: 'emailPin',
maxLength: 4,
enforceMaxLength: true,
vtype: 'mailpin',
fieldStyle: 'text-align: center; font-size: 20px; line-heigth: 24px;',
emptyText: 'E-Mail-PIN',
blankText: 'Bitte geben Sie den PIN aus der E-Mail ein!',
msgTarget: 'side',
autoFitErrors: false
},{
xtype: 'panel',
title: false,
border: false,
bodyStyle: 'text-align: left;',
reference: 'noEmailTip',
html: 'Keine E-Mail erhalten?',
listeners: {
afterRender: function() {
var tip = new Ext.tip.ToolTip({
target: this,
anchor: 'left',
html: '
Sollten Sie die E-Mail nicht innerhalb weniger Minuten erhalten, kontrollieren Sie bi1tte Ihren SPAM-Ordner. Ansonsten klicken Sie bitte auf "Abbrechen" und überprüfen Sie die von Ihnen eingegebene E-Mail-Adresse!
'
});
},
},
}],
listeners: {
'afterrender': function(el) {
el.down('textfield').focus();
}
},
buttonAlign: 'center',
buttons: [{
text: 'Abbrechen',
height: 40,
width: 120,
handler: function () {
this.up('window').destroy();
}
},{
text: 'OK',
reference: 'submitButton',
height: 40,
width: 120,
handler: function () {
var pinfield = this.up('window').down('textfield');
if (!pinfield.isValid()) {
Ext.Msg.alert('Ungültige Eingabe', 'Der von Ihnen eingegebene PIN ist ungültig oder stimmt nicht mit dem PIN aus der E-Mail überein! Bitte überprüfen Sie Ihre Eingabe und geben Sie genau vier Ziffern ein!');
return false;
}
this.up('window').setLoading('Einen Moment bitte, Ihre Daten werden abgesendet...');
Ext.Ajax.request({
scope: this,
withCredentials: true,
url: '/index.php?eID=ttc&key=submitPinForm2&pass=u8dBhawmDD54NXy6',
method: 'POST',
params: {
pin: pinfield.getValue(),
},
success: function(p_result) {
this.up('window').setLoading(false);
try { Ext.util.JSON.decode(p_result.responseText); } catch (e) { Ext.Msg.alert('Fehler beim Absenden!', 'Beim Absenden des Formulars ist ein interner Fehler aufgetreten!
Bitte versuchen Sie es erneut oder setzen Sie sich mit uns in Verbindung!'); return false; }
var result = Ext.util.JSON.decode(p_result.responseText);
if (!result.success) {
Ext.Msg.alert(result.title, result.msg);
return false;
}
this.up('window').close();
Ext.getCmp('ttcRegFormPanel').destroy();
Ext.create('Ext.panel.Panel', {
title: 'Registrierung erfolgreich abgeschlossen',
html: '
Vielen Dank, Ihre Registrierung wurde erfolgreich abgeschlossen! Sie erhalten auf die von Ihnen eingegebene E-Mail-Adresse eine Nachricht mit Ihren Zugangsdaten zu sendNow.
Bitte loggen Sie sich gleich ein und vervollständigen Sie Ihr Profil, damit wir Ihre Konten schnellstmöglich anlegen können.
',
bodyPadding: 12,
renderTo: 'js-content',
bodyStyle: 'text-align: left;',
style: 'margin-bottom: 36px; margin-top: 36px;',
buttonAlign: 'center',
buttons: [{
text: 'Login',
width: 150,
height: 40,
handler: function() { document.location.href = '/login/'; }
}]
});
},
failure: function(response, opts) {
this.up('window').setLoading(false);
Ext.Msg.alert('Fehler beim Absenden!', 'Beim Absenden des Formulars ist ein interner Fehler aufgetreten!
Bitte versuchen Sie es erneut oder setzen Sie sich mit uns in Verbindung!');
}
});
}
}]
}).show();
}
// FIX - focus input element on touchscreens
Ext.define("Ext.overrides.form.field.Text", {
override: "Ext.form.field.Text",
squashMouseUp: {
mouseup: function (e) {
if (this.selectOnFocus) {
this.inputEl.dom.select();
}
},
translate: false,
single: true,
preventDefault: true
}
});
Ext.destroy(Ext.get('ttcLoadingDiv'));
}