<!--

var App = {};

App.getAjaxCmd = function(url, service, cBack)
{
	AjaxUpdater.Get(url, service, cBack);
}

App.postAjaxCmd = function(url, service, JSONstr, cBack)
{
	AjaxUpdater.Post(url, service, JSONstr, cBack);
}

App.responseNotReady = function()
{
	return ((Ajax.checkReadyState('loading') != 'OK') ? true : false);
		
}

App.uin_Cback = function(AjaxResponse)
{
	if (App.responseNotReady())
		return;

	var res = Ajax.getResponse();

	var a = res.split(':');
	
	if (a[0] != '0')
	{
		document.surveydata.lastname.value = '';
		document.surveydata.firstname.value = '';
		document.surveydata.prefname.value = '';
		document.surveydata.club.value = '';
		
//		document.getElementById("error").innerHTML = res;
		
		return;
	}

	var data = a[1].split(',');
		
//	document.getElementById("error").innerHTML = '';
		
	document.surveydata.uin.value = data[0];
	document.surveydata.lastname.value = data[1];
	document.surveydata.firstname.value = data[2];
	document.surveydata.prefname.value = data[3];
	document.surveydata.club.value = data[4];



/*	
	var obj = JSON.parse(res);

	for (var i=0;i<App.shot.length;i++)
		App.shot[i] = 0;
			
	document.getElementById("lastname").innerHTML = obj.lastname;
	document.getElementById("firstname").innerHTML = obj.lastname;
	document.getElementById("club").innerHTML = obj.lastname;
//	document.getElementById("uin").innerHTML = obj.uin;
*/

/*
	JS.dbg(
	' JS debug test'
		  );
*/		  
}

function dispError(m)
{
//	document.getElementById("error").innerHTML = 'No ' + m + ' provided';
	document.getElementById("verror").innerHTML = 'No ' + m + ' provided';
	
	return (false);
}

function dispError2(m)
{
//	document.getElementById("error").innerHTML = 'No ' + m + ' provided';
	document.getElementById("verror").innerHTML = m;
	
	return (false);
}

function isEmpty(s)
{
	return ((s.length == 0) ? true : false);
}

function validate(frm)
{
//	document.getElementById("error").innerHTML = '';
	document.getElementById("verror").innerHTML = '';
	
	if (isEmpty(frm.uin.value))
	{
		if (isEmpty(frm.lastname.value))
			return (dispError('UIN or Lastname'));
	}
		
	if (isEmpty(frm.lastname.value))
	{
		if (isEmpty(frm.uin.value))
			return (dispError('UIN or Lastname'));
	}
		
	if (isEmpty(frm.firstname.value))
		return (dispError('Firstname'));
		
	{
		if (isEmpty(frm.postcode.value))
			return (dispError('Postcode'));

		JS.dbg('postcode length is ' + frm.postcode.value.length);
		
		if (frm.postcode.value.length != 4)
			return (dispError2('Invalid Postcode'));
	}		
			
		
		
//	if (isEmpty(frm.email.value))
//		return (dispError('Email address'));
		
	if (isEmpty(frm.club.value))
		return (dispError('Club'));
		
	return (true);
}

App.submit = 0;

App.Submit = function(frm)
{
	if (this.submit != 0)
		return (false);
		
	var valid = validate(frm);
	
	if (valid == false)
		return

	this.submit = 1;
		
	frm.submit()
		
	return (true);
}

App.Reset = function(frm)
{
//	JS.dbg('reset hit');
	
	frm.reset();
		
	return (true);
}

function namefld(evt, kc)
{
	if (chr.isalpha(kc))
	{
		if (isIE)
			evt.keyCode = toupper(kc);
		
		return (true);
	}
		
	if (chr.isspace(kc))
		return (true);
		
	if ((kc == 45) || (kc == 39))
		return (true);
		
	return (false);
}

function addressfld(evt, kc)
{
	if (chr.isdigit(kc))
		return (true);
		
	return (namefld(evt, kc));
}

function postcodefld(kc)
{
	return (chr.isdigit(kc));
}

function phonefld(kc)
{
	if (chr.isdigit(kc))
		return (true);
		
	if (chr.isspace(kc))
		return (true);
		
	if ((kc == 43) || (kc == 40) || (kc == 41) || (kc == 45))
		return (true);
		
	return (false);
}

function emailfld(evt, kc)
{
	if (chr.isalnum(kc) == true)
	{
		if (isIE)
			evt.keyCode = tolower(kc);
			
		return (true);
	}
		
	if ((kc != 64) && (kc != 95) && (kc != 46))
		return (false);
	
	return (true);	
}

function licencefld(evt, kc)
{
	var v = false;
	
	if (chr.isalnum(kc) == true)
		v = true;

	if (v == true)
	{	
		if (isIE)
			evt.keyCode = toupper(kc);
	}
	
	return (v);
}

function expfld(kc)
{
	if (chr.isdigit(kc))
		return (true);
		
	if (kc == 47)
		return (true);
		
	return (false);
}

function countryfld(evt, kc)
{
	var v = false;
	
	if (chr.isspace(kc))
		v = true;
	else if (chr.isalpha(kc))
		v = true;
		
	if (isIE)
		evt.keyCode = toupper(kc);
	
	return (v);
}

function numfld(kc)
{
	var v = chr.isdigit(kc);
	
	return (v);
}

function alphafld(evt, kc, cse)
{
	if (!chr.isalpha(kc))
		return (false);
		
	if (!isIE)
		return (true); // Firefox cannot change the key code
		
	if (cse == 'UPPER')
		evt.keyCode = toupper(kc);
	else if (cse == 'LOWER')
		evt.keyCode = tolower(kc);
			
	return (true);
}

var _cmd = false;

App.checkUIN = function(evt)
{
	if (!isIE)
		document.surveydata.uin.value = document.surveydata.uin.value.toUpperCase();	

	var uin = document.surveydata.uin;
	
	var len = uin.value.length;
	
	if (len < 7)
		return;
		
	var url = '/entryform_ajax';
	var svc = '?uin=' + uin.value;

	this.getAjaxCmd(url, svc, this.uin_Cback);

	_cmd = false;
}

App.uinfld = function(evt, kc)
{
	if (!chr.isalnum(kc))
		return (false);
		
	if (isIE)
		evt.keyCode = chr.toupper(kc);
		
	return (true);
}

App.kbdinput = function(evt, str, keyCode, fldtype, cse)
{
	var v = false;
	
	if (fldtype == 'UIN')
	{
		_cmd = true;
		v = this.uinfld(evt, keyCode);
	}
	else if (fldtype == 'NAME')
		v = namefld(evt, keyCode);
	else if (fldtype == 'ADDRESS')
		v = addressfld(evt, keyCode);
	else if (fldtype == 'POSTCODE')
		v = postcodefld(keyCode);
	else if (fldtype == 'PHONE')
		v = phonefld(keyCode);
	else if (fldtype == 'EMAIL')
		v = emailfld(evt, keyCode);
	else if (fldtype == 'LICENCE')
		v = licencefld(evt, keyCode);
	else if (fldtype == 'EXPIRY')
		v = expfld(keyCode);
	else if (fldtype == 'COUNTRY')
		v = countryfld(evt, keyCode);
	else if (fldtype == 'CLUB')
		v = countryfld(evt, keyCode);
	else if (fldtype == 'NUMERIC')
		v = numfld(keyCode);
	else if (fldtype == 'ALPHABETIC')
		v = alphafld(evt, keyCode, cse);
	
	if (isIE)
	{
		if (v == false)
			evt.keyCode = 0;
	}
	
	return (v);
}

App.Init = function()
{ 
	application = this;
}


function initialise()
{
	App.Init();
}

//-->

