Ext.onReady(function(){
	Ext.QuickTips.init();
	Ext.apply(Ext.QuickTips.getQuickTip(), { showDelay: 0, trackMouse: true });
	Ext.get('contactFormDiv').update('');
	new Ext.FormPanel({ id:'contactForm', renderTo:'contactFormDiv', url:'requests/contact.php', waitMsgTarget: true, autoHeight:true, 
		border:false, bodyStyle:'background:transparent;', defaultType:'textfield', 
		labelWidth: 155, defaults: { width: 180, style:'margin-bottom:3px;', msgTarget:'side' },
		reader : new Ext.data.XmlReader({ record : 'contact', success: '@success' }), errorReader: new Ext.form.XmlErrorReader(), 
		items:[
			{ fieldLabel:'Name', name:'name', allowBlank: false },
			{ fieldLabel:'Email address', name:'email', allowBlank: false, vtype:'email' },
			{ fieldLabel:'Telephone number', name:'phone', allowBlank: false },
			{ fieldLabel:'Company / Organisation', name:'company', allowBlank: false },
			{ xtype:'box', width:'100%', style:'margin: 10px 0 15px 0;', autoEl:{ tag:'div', cls:'separator' }  },
			{ fieldLabel:'Details of your enquiry', name:'details', xtype:'textarea', height: 95, allowBlank: false }
		],
		listeners:{ render: function(){ Ext.get('btnSubmit').show(); Ext.get('btnSubmit').on('click',formSubmit);  }}
	});
});


function formSubmit(){
	Ext.getCmp('contactForm').getForm().submit({ waitMsg:'Sending details...',	success: function(){ 
		Ext.getCmp('contactForm').getForm().reset();
		Ext.get('contactFormDiv').fadeOut({ easing:'easeOut', useDisplay:true });
		Ext.get('btnSubmit').fadeOut({ easing:'easeOut', useDisplay:true, callback:function(){ Ext.get('infoLabel').show(); Ext.get('infoLabel').fadeIn({ easing:'easeIn' }); }});
	}});
}


// A reusable error reader class for XML forms
Ext.form.XmlErrorReader = function(){ Ext.form.XmlErrorReader.superclass.constructor.call(this, { record : 'field', success: '@success' }, ['id', 'msg' ] ); };
Ext.extend(Ext.form.XmlErrorReader, Ext.data.XmlReader);


loadMap(document.getElementById('xAddress').innerHTML, 53.342233, -6.280878); // xwerx coords
function loadMap(info,lat,lng){
	var xwx=new google.maps.LatLng(lat,lng);
	var mapOptions={center:xwx, zoom:15, mapTypeControl:false, scrollwheel:false, mapTypeId:google.maps.MapTypeId.ROADMAP,navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}};
	var map=new google.maps.Map(document.getElementById("xMap"),mapOptions);
	var icon = new google.maps.MarkerImage('img/icons/xMapIcon.png', new google.maps.Size(32, 37));
	var shadow = new google.maps.MarkerImage('img/icons/xMapIcon-shadow.png', new google.maps.Size(51, 37), new google.maps.Point(0,0), new google.maps.Point(17, 37));
	var mrk = new google.maps.Marker({ position: xwx, title: 'Xwerx', icon: icon, shadow: shadow, map: map });
	google.maps.event.addListener(mrk, "click", function(e){ var tooltip=new google.maps.InfoWindow({content:info}); tooltip.open(map,mrk) }); 
}
