//	Perl Catalogy v7.3:
//	lib/email-lite-v1.0.js
//
//	default email scripts (lite version)
//
//	version: MaltonShow.com 3.6
//  compiled: 12-May-2010

var mailscript='http://www.patmore.co.uk/code/pl/ErMail.pl'
var redirect='http://www.maltonshow.com/thankyou.html'
var domid='4'
var textareas='msg,address,goods,business'
var check_bans='namx,msg,address'
var alert_title='THE MALTON SHOW 2010'
var required='namx=Name,telx=Telephone,address=Address,msg=Message,business=Type of Business,goods=Type of Goods'
var inpbordercolor='#7F9DB9'

// set id's here
var EMX='emx',PHX='telx',NAMX='namx',COMX='comx'

// trap
var banned='dating personals,asian women,matchmaking,interracial,viagra,cialis,prostate,prostatic,levitra,penis enlargement,penis,adult live chat,sex tape,xrumer,free ringtone'
var banned_words=new Array();banned_words=banned.split(',');
var banned_names=new Array();banned_names=('google,microsoft').split(',');
var banned_urls=new Array();banned_urls=('http:/, www.,\nwww.').split(',')

// elements
var html=new Array()

html['btn']='<input id="btn" type="button" class="inp-btn" value="Send %s" onclick="frm_send(\'%n\')">';
html['redstar']='&nbsp;<font color="red">*</font>'
html['form']='' +
	'<form id="%i" method="post" action="%m">' +
	'%H="id" value="%d">' +
	'%H="subject" value="%s">' +
	'%H="redirect" value="%r">' +
	'%v' +
	'</form>'

html['hidden']='<input type="hidden" name'

// messages
var msgs=new Array()

msgs['noval']='Please provide your %n\n\n'
msgs['nomsg']='You have not typed a message!'
msgs['email']='NOTE: your email address must be in the correct\nformat\n\n'
msgs['tel']='NOTE: your telephone number is not recognised.\nThe number should begin with a \'0\', or \'+\' for\ninternational numbers\n\n'
msgs['line']='\n----------------------------------------------------------------\n'
msgs['nocon']='' +
	alert_title + ' - CONTACT INFORMATION' +
	msgs['line'] +
	'\nPLEASE FILL IN ENOUGH DETAILS SO THAT WE CAN' +
	'\nCONTACT YOU!' +
	'\n' +
	'\ne.g. Name or Company AND a Telephone Number' +
	'\nor Email address' +
	'\n\n'

////////////////////////////////////////////////////////////////////////////////
var IE=(navigator.appName.toLowerCase()).indexOf('internet explorer')>-1

function put_opts(n,v,m) {document.writeln(frm_opts(n,v,m,'none'))}
function frm_opts(n,v,m,f) {var x,r='';for (x=1;x<=m;x++) r+=frm_opt(x+' '+v,x);return '<select name="'+n+'">\n'+(f==''?'':frm_opt('('+f+')',f))+r+'</select>'}
function frm_opt(n,v) {return '<option value="'+v+'">'+n+'</option>\n'}
function adjpostcode(pc) {pc.value=pc.value.toUpperCase()}
function isEmail(e) {return !(e==''||e.indexOf(' ')>-1||e.indexOf('@')<0||e.indexOf('.')<0||e.lastIndexOf('.')>e.length-2)}
function isTel(t) {var c=(t+'').charAt(0);return (c=='0'||c=='+')&&t.length>=10}
function okEmail() {var e=frm_val(EMX);return isEmail(e)||e==''}
function okPhone() {var t=frm_val(PHX);return isTel(t)||t==''}
function frm_val(n) {return ById(n)?ById(n).value:''}
function frm_stopurl() {if (isMsgUrl(this.value)) {ById('frm-nos').className+=' frm-red'}}
function frm_fld_clrbg() {
	this.style.backgroundColor=''
	this.style.border='1px solid '+inpbordercolor
	this.style.borderColor=inpbordercolor
}

////////////////////////////////////////////////////////////////////////////////
function frm_send(f) {
	var x,n,m=ById('frm-nos'),failed=0,s=check_bans.split(','),u=new Array(),r=new Array()
	r=required.split(',')
	for (x=0;x<s.length;x++) {
		n=s[x];
		if (isBanned(frm_val(n),n=='namx'?'n':'w')) {failed++;ById(n).value=''}
		if (isMsgUrl(frm_val(n))) {failed+=100;ById(n).value=''}
	}
	for (x=0;x<r.length;x++) {
		u=r[x].split('=');n=u[0]
		if (ById(n)&&ById(n).value.length<1) {
			failed+=10000;break
		}
	}
	if (ById('msg')&&ById('msg').value.length<5) {
		alert(msgs['nomsg'])
	} else if (failed>=10000) {
	    if (x<r.length) {
			alert(msgs['noval'].replace(/%n/,u[1]))
			ById(u[0]).onblur=frm_fld_clrbg
			ById(u[0]).style.border='1px solid black'
			ById(u[0]).style.backgroundColor='yellow'
			ById(u[0]).focus()
		}
	} else if (failed>=100) {
	    if (m) {m.className+=' frm-red'}
	} else if (failed<1 && frm_check()) {
		ById(f).submit()
		failed=0
	} else {
		alert(msgs['nocon']+(!okEmail()?msgs['email']:'')+(!okPhone()?msgs['tel']:'')+msgs['line'])
		failed=0
	}
	if (failed==0) m.className=m.className.replace(/ frm-red/g,'')
}
function frm_check() {
	var e=frm_val(EMX),t=frm_val(PHX),c=frm_val(COMX),n=frm_val(NAMX);
	return ((c+n)!=''&&((isEmail(e)?e:'')+(isTel(t)?t:''))!='')
}
function isBanned(n,m) {
	var x
	if (n&&(m=='n'||m=='')) for (x=0;x<banned_names.length;x++) if (n.toLowerCase().indexOf(banned_names[x])>-1) return true
	if (n&&(m=='w'||m=='')) for (x=0;x<banned_words.length;x++) if (n.toLowerCase().indexOf(banned_words[x])>-1) return true
	return false
}
function isMsgUrl(v) {
	if (v) for (var x=0;x<banned_urls.length;x++) if (v.toLowerCase().indexOf(banned_urls[x])>-1) return true
	return false
}

////////////////////////////////////////////////////////////////////////////////
function get_opts(n,v) {
	var x,s=n+'{',t,u=new Array(),y=0
	x=v.indexOf(s)
	while (x>-1&++y<10) {
		t=v.substr(x,v.indexOf('}',x)-x)
		t=t.substr(s.length);u=t.split('\|')
		o=frm_opts(u[0],u[1],u[2],u[3])
		v=v.replace(s+t+'}',o)
		x=v.indexOf(s)
	}
	return v
}
function set_reqs(v) {
	var x,y=0,s=new Array(),t,u=new Array()
	var t=v
	s=required.split(',')
	for (x=0;x<s.length;x++) {
		u=s[x].split('=')
		t='>'+u[1]+'<'
		i=v.indexOf(t)
		if (i>-1) {
			v=v.substr(0,i+1)+u[1]+'**'+v.substr(v.indexOf('<',i+5))
		}
	}
	return v
}
////////////////////////////////////////////////////////////////////////////////

//		t='lbl">'+u[1]+'<'
//			v=v.substr(0,i+5)+u[1]+'**'+v.substr(v.indexOf('<',i+5))

////////////////////////////////////////////////////////////////////////////////

function frm_build(n,s,r) {
	var v=''
	var D=ById(n+'-div')
	if (D) {
		v=html['form']
		v=v.replace(/%v/g,D.innerHTML)
		v=v.replace(/%m/g,mailscript)
		v=v.replace(/%d/g,domid)
		v=v.replace(/%r/g,redirect)
		v=v.replace(/%s/g,s)
		v=v.replace(/%i/g,n)
		v=v.replace(/%H/g,html['hidden'])
		v=get_opts('FRMOPTS',v)
		v=set_reqs(v)
		v=v.replace(/\*\*/g,html['redstar'])
		D.innerHTML=v
	}
	var B=ById(n+'-button')
	if (B) {
		v=html['btn']
		v=v.replace(/%s/gi,s)
		v=v.replace(/%n/gi,n)
		B.innerHTML=v
	}
	frm_ismsg(textareas);

	B=ById('btn');
	if (B) {
		if (IE) {
			B.value=B.value.replace(/ Tradestand/,'')
//			B.value=B.value.replace(/ Craft Marquee/,' Marquee')
			B.value=B.value.replace(/ Craft Marquee/,'')
			B.style.height="30px"
		}
	}

}
function frm_ismsg(m) {
	var x,n,v=new Array();v=m.split(',');
	for (x=0;x<v.length;x++) {
		n=ById(v[x]);if (n) {n.onkeyup=frm_stopurl;ById('frm-nos').className+=' frm-blue'}
	}
}

////////////////////////////////////////////////////////////////////////////////

setTimeout("show_versions()",3000)
function show_versions() {
	if (ById('vinfo')) {
		ById('vinfo').innerHTML+=" :: lib/email-lite-v1.0.js :: http://www.patmore.co.uk/code/pl/ErMail.pl"
	}
}