// Patmore Forms

function get_tel() {var t=frm_gfld('phone');return t!=''?t:frm_gfld('telephone')}
function isTel(t) {var c=(t+'').charAt(0);return (c=='0'||c=='+')&&t.length>=10}
function isEmail(e) {return !(e==''||e.indexOf(' ')>-1||e.indexOf('@')<0||e.indexOf('.')<0||e.lastIndexOf('.')>e.length-2)}
function chk_tel(t) {return isTel(t)?t:''}
function frm_chk_send(fm) {
	var t=get_tel(),e=frm_gfld('email'),f=ById(fm?fm:'frm');
	if (frm_chk_sendable()) {
		try {ById('btn').disabled='disabled'} catch(err) {}
		f.submit();
	} else {
		alert("c o n t a c t     i n f o r m a t i o n  \n______________________________\n\nPLEASE FILL IN ENOUGH DETAILS\nFOR US TO CONTACT YOU\n\ne.g. Name or Company and \na Telephone or Email address"+(e!=''&&!isEmail(e)?'\n\nNOTE: your email address must\nbe in the correct format':'')+(!isTel(t)&&t!=''?'\n\nNOTE: your telephone number is not\nrecognisable. The number should begin  \nwith a \'0\' or \'+\' for international\nnumbers':''))
	}
}
function frm_chk_sendable() {var e=frm_gfld('email'),c=frm_gfld('company'),n=frm_gfld('name'),t=get_tel();return (n+c!=''&&(isEmail(e)?e:'')+chk_tel(t)!='')}
function frm_gfld(n) {var x,y,f;for (x=0;x<document.forms.length;x++) {f=document.forms[x];for (y=0;y<f.elements.length;y++) if (lcase(f.elements[y].name)==lcase(n)) return f.elements[y].value};return false}
function update_chars() {
	var max=220
	var v=ById('msg')
	var m=ById('msg_chars')
	v.value=v.value.substr(0,max)
	if (v.value.indexOf("http:")>-1) {
		v.value=v.value.replace(/http:(.*?)( |$)/gi,'(url removed) ')
		alert("If you want to send a URL, please use\nstandard email instead.\n\nPlease send to: "+get_em()+'\n\nAlternatively, simply phone us!\n\nTel: 0207 734 4239\n\n')
	}
	m.innerHTML='<b>'+(v.value.length+1)+' characters<\/b><br>('+max+' max)'
}

var msgx=new Array();
msgx['COMPROP']='My Commercial Property requirements:\n(fill in your requirements)ASAP';
msgx['REPORT']='Office Listings Service:\n\nPlease send me a Sample Report.TX'
msgx['BUSY']='I am too busy to search.\n\nPlease send me an Availability Report for:\n(enter locations/postcodes + size required)TX'
msgx['SVC']='Service:\n\nRE this service asap'
msgx['ENQ']='Enquiry:\n\nPCM asap'
msgx['JP']='Message for Mr James Patmore:\n\n'
msgx['ASAP']='\n\nPlease call me back asap'

function param2msg() {
	var p=get_param();
	if (p!='') {
		p=p.replace(/\\n|%NL2/g,'\n\n')
		p=p.replace(/\\n|%NL/g,'\n')
		for (n in msgx) p=p.replace(n,msgx[n])
		p=p.replace(/asap/,'a.s.a.p.TX')
		p=p.replace(/RE/,'PCM regarding')
		p=p.replace(/PCM/,'Please contact me')
		p=p.replace(/TX/,'\n\nThanks!')
		p=p.replace(/\~/g,' ')
		p=p.replace(/\_/g,'')
		p=p.replace(/  /g,' ')
	}
	ById('msg').value=p
}

var xsada='%TR Name</td><td><INPUT class="itxt" name="Name" maxlength="55">%ET'
var xasas='</td><td class="note">%NOTE %ET'

var note='<b>Please fill in all fields.</b><br><br><br>NOTE: Please do not use this form for URLs or links, as they will be treated as spam. Instead, send an ordinary email: %EX'
var formx=new Array();
formx['Enquiry']='' +
	'<table cellspacing="0" cellpadding="0" align="center"><tr><td align="right">' +
		'<table border="0" cellPadding="1" cellSpacing="1">' +
		'%TR Name %MID %INP="Name">%ET' +
		'%TR Company %MID %INP="Company">%ET' +
		'%TR Telephone %MID %INP="Phone">%ET' +
		'%TR E-Mail %MID %INP="Email">%ET' +
		'%LN' +
		'%TR Message<div id="msg_chars"></div></td><td><textarea id="msg" name="Message" onchange="update_chars()" onkeypress="update_chars()" class="itxt" rows="5"></textarea>%ET' +
		'</table>' +
	'%LN' +
	'<tr><td class="btncell"><INPUT id="btn" value="Send Enquiry >>" type="button" onclick="frm_chk_send(\'\')">%ET' +
	'</table>'

formx['Registration']='' +
	'<table cellspacing="0" cellpadding="0"><tr><td align="right">' +
		'<table border="0" cellPadding="1" cellSpacing="1">' +
		'%TR Name: %MID %INP="Name">%ET' +
		'%TR Company: %MID %INP="Company">%ET' +
		'%TR Telephone: %MID %INP="Phone">%ET' +
		'%TR E-Mail: %MID %INP="Email">%ET' +
		'%LN' +
		'%TR Property Type: %MID '+put_opts('Type','Conventional Offices,Serviced Offices,Retail Space,D1/Educational Premises,Other Commercial Property Type')+' %ET' +
		'%TI="rPreferTenure"%TD Tenure: %MID '+put_opts('Tenure','Short Lease/Rental,Long Lease/Leasehold,Freehold')+' %ET' +
		'%LN' +
		'%TR Number of Employees:<small>This gives us a good idea of the size of office you require, if you haven\'t got a specific footage in mind</small> %MID %INP="PreferEmployees">%ET' +
		'%TI="rPreferSize"%TD Preferred Size:<small>If you know the size in Sq.Ft., mention that otherwise not to worry!</small> %MID %INP="PreferSize" id="PreferSize">%ET' +
		'%TR Preferred Location:<small>Mention postcodes, boroughs, cities, or just the country!</small> %MID %INP="PreferLocation">%ET' +
		'%LN' +
		'%TR When do you wish to move? %MID %INP="PreferTimescale" value="A.S.A.P.">%ET' +
		'%LN' +

		'%TR Further Details:<div id="msg_chars"></div></td><td><textarea id="msg" name="Message" onchange="update_chars()" onkeypress="update_chars()" class="itxt" rows="5"></textarea>%ET' +
		'</table>' +
	'%LN' +
	'<tr><td class="btncell"><INPUT id="btn" value="Send Registration >>" type="button" onclick="frm_chk_send(\'\')">%ET' +
	'</table>'

formx['Call-back']='' +
	'<table cellspacing="0" cellpadding="0"><tr><td align="left">' +
		'%SRName</span><input class="itxt" name="Name" maxlength="55"><br>' +
		'%SRTelephone</span><input class="itxt" name="Phone" maxlength="55"><br>' +
		'%SRE-Mail</span><input class="itxt" name="Email" maxlength="65"><br>' +
	'</td></tr></table>'

function put_opts(n,opts) {
	var r='',x,o=('(not specified),'+opts).split(',')
	for(x=0;x<o.length;x++) r+='<option value="'+o[x]+'">'+o[x]+'</option>'
	return '<select class="itxt" name="Prefer'+n+'" id="Prefer'+n+'">'+r+'</select>'
}

function put_form(mode) {
	var p=get_param();
	var e=get_mt('info')
	var f='<form class="nom" id="frm" method="post" action="%MS">' +
		'<input type="hidden" name="id" value="patmore.co.uk">' +
		'<input type="hidden" name="subject" value="%MODE">' +
		formx[mode] +
		'</form>'

	f=f.replace(/%NOTE/,note)
	f=f.replace(/%MODE/g,mode)
	f=f.replace(/%MS/g,'http://www.parvati.co.uk/code/mail/ErMail.pl')
	f=f.replace(/%INP/g,'<INPUT class="itxt" maxlength="65" name')
	f=f.replace(/%EX/g,e)
	f=f.replace(/%SR/g,'<span class="lbl">')
	f=f.replace(/%TR/g,'<tr><td class="lbl">')
	f=f.replace(/%TI/g,'<tr id')
	f=f.replace(/%TD/g,'><td class="lbl">')
	f=f.replace(/%MID/g,'</td><td>')
	f=f.replace(/%ET/g,'</td></tr>')
	f=f.replace(/%LN/g,'<tr><td height="6"></td></tr><tr><td class="ln" colspan="2">&nbsp;</td></tr><tr><td height="6"></td></tr>')

	ById('form_goes_here').innerHTML=f
	var act=-1
	if (p) {
		var o=ById('PreferType');
		p=(p.replace(/-/g,' ')).toLowerCase();
	    for(x=0;x<o.options.length;x++) {
	        o.options[x].selected=o.options[x].value.toLowerCase().indexOf(p)>-1
		}
		for (x=1;x<=3;x++) {
			o=ById('ga'+x)
			if (o) if (o.href.indexOf('?'+p)>-1) {ById('g'+x).className='act';act=x}
		}
	}
	if (act==2) {
		var i='Tenure,Size'.split(',')
		for(x=0;x<i.length;x++) ById('Prefer'+i[x]).disabled=ById('rPrefer'+i[x]).className='disabled'
	}
}
