﻿Itsb_ContattiPage = function(config)
{
    Ext.apply(this, config);
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = 'side';

	Ext.ns('Ext.ux.layout');
	Ext.ux.layout.CenterLayout = Ext.extend(Ext.layout.ContainerLayout,{
		onLayout: function(ct, target) {
			if(!this.innerCt) {
				this.innerCt = target.createChild({tag:'center'});
			}
			this.renderAll(ct, this.innerCt);
		}
	});
	Ext.Container.LAYOUTS['ux.center'] = Ext.ux.layout.CenterLayout;

	var iframepanel = new Ext.ux.ManagedIframePanel({
		id: 'iframe-home-page',
		defaultSrc :  'public/WebPage/Contatti.aspx',
		width: 620,
		height: 50,
		loadMask:true
	});
    var emailForm = new Ext.FormPanel({
        frame:false,
		labelWidth:150,
        width: 620,
        items: [{
				layout: 'form',				
                labelAlign: 'left',
				bodyStyle:'padding:0px 0px 0px 5px',
        		items: [
				{
                    xtype:'textfield',
					fieldLabel: 'Nome',
                    id: 'nomeemail',
                    allowBlank: false,
                    anchor:'90%'
                }, {
                    xtype:'textfield',
                    labelAlign: 'left',
                    fieldLabel: 'Cognome',
                    id: 'cognomeemail',
					allowBlank: false,
                    anchor:'90%'
                },{
					xtype:'textfield',
                    labelAlign: 'left',
					fieldLabel: 'Email',
					id: 'fromemail',
					allowBlank: false,
                    vtype:'email',
					vtypeText : 'Indicare un indirizzo email valido',
                    anchor:'90%'
				}]
				},{
					layout: 'form',				
	                labelAlign: 'top',
					items: [{
								xtype:'htmleditor',
					            id:'testoemail',
					            allowBlank: false,
								fieldLabel:'Messaggio',
					            height:200,
								width: 420,
					            anchor:'90%'
							}]
		        }],
        buttons: [{
            text: 'Invia il messaggio',
	    	id: 'btn-invia-email',
	    	listeners: {
						click:function(mi,e){
						Ext.MessageBox.confirm('Messaggio', 'Confermi l\'invio della tua email?', 
						function(btn){
									if(btn == 'yes')
									{
										if (!Ext.getCmp('nomeemail').isValid())
										{
											Ext.Msg.show({
												title:'Errore',
												msg: 'Devi inserire il tuo nome',
												buttons: Ext.Msg.OK,
												icon: Ext.MessageBox.ERROR 
											});
											return false;
										}
										if (!Ext.getCmp('cognomeemail').isValid())
										{
											Ext.Msg.show({
												title:'Errore',
												msg: 'Devi inserire il tuo cognome',
												buttons: Ext.Msg.OK,
												icon: Ext.MessageBox.ERROR 
											});
											return false;
										}
										if (!Ext.getCmp('fromemail').isValid())
										{
											Ext.Msg.show({
												title:'Errore',
												msg: 'Devi inserire un indirizzo email corretto',
												buttons: Ext.Msg.OK,
												icon: Ext.MessageBox.ERROR 
											});
											return false;
										}
										if (Ext.getCmp('testoemail').getValue()=='')
										{
											Ext.Msg.show({
												title:'Errore',
												msg: 'Devi inserire un testo nel messaggio',
												buttons: Ext.Msg.OK,
												icon: Ext.MessageBox.ERROR 
											});
											return false;
										}

										Ext.Ajax.request({
											url:'handler/EmailHandler.ashx?action=invia',
											params:{
													cognomeemail:Ext.getCmp('cognomeemail').getValue(),
													nomeemail:Ext.getCmp('nomeemail').getValue(),
													fromemail:Ext.getCmp('fromemail').getValue(),
													testoemail:Ext.getCmp('testoemail').getValue()
												},
											success:function()
											{                                                                    
												Ext.Msg.show({
															title:'Info',
															msg:'Email inviata correttamente.',
															icon:Ext.Msg.INFO,
															buttons:Ext.Msg.OK
														});
											},
											failure:function()
											{
												Ext.Msg.show({
															title:'Errore nell\'invio dell\'email',
															msg:'L\'email non e\' stata inviata a causa di un errore. Digitare correttamente i campi',
															icon:Ext.Msg.ERROR,
															buttons:Ext.Msg.OK
														});
											}
										});
									}
							});
						}
                    }
	    },{
            text: 'Pulisci i campi',
	    	listeners: {
						click:function(mi,e){
							Ext.MessageBox.confirm('Messaggio', 'Confermi la pulizia di tutti i campi?', 
							function(btn){
								if(btn == 'yes')
								{
									Ext.getCmp('cognomeemail').setValue('');
									Ext.getCmp('nomeemail').setValue('');
									Ext.getCmp('fromemail').setValue('');
									Ext.getCmp('testoemail').setValue('');
								}
							});
						}
			}
        }]
    });
	
	var contentContattiPage =  new Ext.Panel({
        collapsible: false,
        id:'center-panel-contatti-page',
		layout:'ux.center',
		frame:false,
		width: 640,
		height: 440,
		border : true,
		items:[iframepanel,emailForm]
    });
    
    Itsb_ContattiPage.superclass.constructor.call(this, {
        id:         config.id,
        title:      config.title,
        layout:     'fit',
        border:     false,
        bodyStyle:  'padding:5px',
        closable:   true,
        autoScroll: true,
        items:      [contentContattiPage]
    });
};



Ext.extend(Itsb_ContattiPage, Ext.Panel, {

    initComponent : function(){
        Itsb_ContattiPage.superclass.initComponent.call(this);             
    }
    
});
