var CSS_ERROR = 'err'

Object.extend(String.prototype,{
	trim: function(){
		var m =  this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
		return m == null ? '' : m[1];
	},
	format: function(){
		var s = this;
		for(var i=0;i<arguments.length;i++){
			var re = new RegExp('#\\{' + i + '\\}', 'g');
			s=s.replace(re,arguments[i]);
		}
		return s;
	},
	
	isEmpty: function(){
		return ! /^\s*(\S+(\s+\S+)*)\s*$/.test(this);
	}
});

function $F(e){
	var el = $(e);
	if(el.type=='checkbox' || el.type=='radio')
		return el.checked;
	var v = el.value;
	return v ? v.trim() : v;
}

addEvent('load', function (){
	var btn = $('btnSubmit');
	var mailer = new ajax('mailer.asp',{onComplete:function(res){
			btn.value = 'send';
			btn.disabled=false;
			if(res=='OK'){
				$('frmContact').reset();
				alert('Your contact details have been successfully registered, thank you for your interest in Harrogate Neighbours.');
			}else
				alert(res);
		}});
	
	btn.addEvent('click', function(){
		var err = null, html = [], temp=[];
		['txtAppName', 'txtTel'].each(function(e){
			var el = $(e);
			el.removeClassName(CSS_ERROR);
			if($F(e).isEmpty())
				err = err || el;
		});
		
		if(err){
			err.addClassName(CSS_ERROR);
			err.select();
			alert('#{0} is required.'.format(err.title));
			return;
		}

		$A($('section').getElementsByTagName('input')).each(function(e){
			if($F(e)) temp.push(e.title);
		});
	
		html.push(temp.join(', '));
		
		temp=[];
		$A($('details').getElementsByTagName('*')).each(function(e){
			if(!e.tagName.test(/input|textarea/i)) return;
			var v = e.tagName.test(/textarea/i) ? 
				$F(e).replace(/\n/g,'<br/>') : $F(e);
			html.push('<br/><b>#{0}:</b> #{1}'.format(e.title, v));
		});	
		
		html.push('<br/><b>#{0}:</b> #{1}'.format($('txtHistory').title, $F('txtHistory').replace(/\n/g,'<br/>')));

		$A($('benifit').getElementsByTagName('input')).each(function(e){
			if($F(e))
				html.push('<br/><b>Greenfield Court Housing benefit: </b>#{0}'.format(e.title));
		});
		
		$A($('funding').getElementsByTagName('input')).each(function(e){
			if($F(e))
				html.push('<br/><b>Heath Lodge Self funding: </b>#{0}'.format(e.title));
		});
		
		html.push('<br/><b>Information pack to:</b> ');
		$A($('packTo').getElementsByTagName('input')).each(function(e){
			if($F(e))
				temp.push(e.title);
		});
		html.push(temp.join(', '));
		
		btn.value = 'sending...';
		btn.disabled=true;
		mailer.options.postBody =  'mail='+escape(html.join(''));
		mailer.request();
		
	}.bindAsEventListener());
});




