// JavaScript Document

function checkLogin(form)
{
	if (!checkField(form.txtUsername, 'Please enter your username.'))
		return false;

	if (!checkField(form.txtPass, 'Please enter your password.'))
		return false;

	return true;
}

function checkReg(form)
{
//	if (!checkField(form.txtTitle, 'Please enter your title.'))
//		return false;

	if (!checkField(form.txtFirstName, 'Please enter your first name.'))
		return false;

	if (!checkField(form.txtSurname, 'Please enter your surname.'))
		return false;

	if (!checkDate(form.selDOBDay.value, form.selDOBMonth.value, form.selDOBYear.value))
	{
		alert('The date of birth selected is not a valid date. Please check and try again.');
		form.selDOBDay.focus();
		return false;
	}

	if (!checkField(form.txtAddressRef, 'Please enter a reference for this address.'))
		return false;

	if (!checkField(form.txtPostCode, 'Please enter your post code and click \'Get Address\''))
		return false;

	if (document.getElementById('address1').style.display == 'none')
	{
		alert('Please enter your post code and click \'Get Address\'.');
		form.txtPostCode.focus();
		return false;
	}

	if (!checkField(form.txtUser, 'Please enter your desired username.'))
		return false;

	if (!checkField(form.txtPass, 'Please enter your password.'))
		return false;

	if (!checkField(form.txtPass2, 'Please confirm your password.'))
		return false;

	if (form.txtPass.value != form.txtPass2.value)
	{
		alert('The passwords entered do not match. Please re-enter your password.');
		form.txtPass.value = '';
		form.txtPass2.value = '';
		form.txtPass.focus();
		return false;
	}

	if (!checkField(form.txtPhone, 'Please enter your contact number.'))
		return false;

	if (!checkEmail(form.txtEmail, 'Please enter your email address.', 'Please enter your email address. The address entered is not a valid email address.'))
		return false;

	if (!checkEmail(form.txtEmail2, 'Please confirm your email address.', 'Please confirm your email address. The confirmation address entered is not a valid email address.'))
		return false;

	if (form.txtEmail.value != form.txtEmail2.value)
	{
		alert('The email addresses entered do not match. Please re-enter your email address.');
		form.txtEmail.value = '';
		form.txtEmail2.value = '';
		form.txtEmail.focus();
		return false;
	}

	return true;
}

function checkEditPersonal(form)
{
	if (!checkField(form.txtTitle, 'Please enter your title.'))
		return false;

	if (!checkField(form.txtFirstName, 'Please enter your first name.'))
		return false;

	if (!checkField(form.txtSurname, 'Please enter your surname.'))
		return false;

	if (!checkDate(form.selDOBDay.value, form.selDOBMonth.value, form.selDOBYear.value))
	{
		alert('The date of birth selected is not a valid date. Please check and try again.');
		form.selDOBDay.focus();
		return false;
	}

	if (form.txtNewPass.value != '')
	{
		if (!checkField(form.txtNewPass, 'Please enter your password.'))
			return false;

		if (!checkField(form.txtNewPass2, 'Please confirm your password.'))
			return false;

		if (form.txtNewPass.value != form.txtNewPass2.value)
		{
			alert('The passwords entered do not match. Please re-enter your new password.');
			form.txtNewPass.value = '';
			form.txtNewPass2.value = '';
			form.txtNewPass.focus();
			return false;
		}
	}

	if (!checkField(form.txtPhone, 'Please enter your contact number.'))
		return false;

	if (!checkEmail(form.txtEmail, 'Please enter your email address.', 'Please enter your email address. The address entered is not a valid email address.'))
		return false;

	if (!checkEmail(form.txtEmail2, 'Please confirm your email address.', 'Please confirm your email address. The confirmation address entered is not a valid email address.'))
		return false;

	if (form.txtEmail.value != form.txtEmail2.value)
	{
		alert('The email addresses entered do not match. Please re-enter your email address.');
		form.txtEmail.value = '';
		form.txtEmail2.value = '';
		form.txtEmail.focus();
		return false;
	}

	if (!checkField(form.txtPass, 'Please enter your current password.'))
		return false;

	return true;
}

function checkAddAddress(form)
{
	if (!checkField(form.txtAddressRef, 'Please enter a reference for this address.'))
		return false;

	if (!checkField(form.txtPostCode, 'Please enter your post code and click \'Get Address\''))
		return false;

	if (document.getElementById('address1').style.display == 'none')
	{
		alert('Please enter your post code and click \'Get Address\'.');
		form.txtPostCode.focus();
		return false;
	}

	return true;
}

function showAddressList()
{
	showAddressList('');
}

function showAddressList(root)
{
	var postCode = getEl('txtPostCode').value.toUpperCase();

	if (postCode != '')
	{
		popUp(root + 'functions/pcList.asp?pc=' + postCode, '550', '335');
		return true;
	}
	else
	{
		alert('Please enter your post code before clicking \'Get Address\'.');
		return false;
	}
}

function popUp(page, width, height)
{
	if (isNaN(width) || width == '') { width = 450; }
	if (isNaN(height) || height == '') { height = 300; }

	window.open(page, 'popUpWindow','width=' + width + ',height=' + height + ',toolbar=0,location=0,directories=0,menubar=0,scrollbars=1');
	return true;
}

function showAddress()
{
	el = document.getElementById('selAddress');
	id = el.options[el.selectedIndex].value;
	pa = window.opener;
	paLoc = pa.location.toString();

	if (paLoc.indexOf('http://www.terryschemist.co.uk') != -1 || paLoc.indexOf('http://www.da-newmedia.co.uk') != -1 || paLoc.indexOf('http://terryschemist.co.uk') != -1)
	{
		pa.document.getElementById('txtAddress1').value = address[id]['address1'];
		pa.document.getElementById('txtAddress2').value = address[id]['address2'];
		pa.document.getElementById('txtTown').value = address[id]['town'];
		pa.document.getElementById('txtCounty').value = address[id]['county'];
		pa.document.getElementById('txtPostCode').value = address[id]['postCode'];

		pa.document.getElementById('address1').style.display = '';
		pa.document.getElementById('address2').style.display = '';
		pa.document.getElementById('address3').style.display = '';
		pa.document.getElementById('address4').style.display = '';

		if (pa.document.getElementById('getAddy') && pa.document.getElementById('addAddy'))
		{
			pa.document.getElementById('getAddy').style.display = 'none';
			pa.document.getElementById('addAddy').style.display = '';
		}
	}
	else
	{
		//Page has not been opened from one of the authorised sites, so close the page
	}

	self.close();
}

function clearAddressFields()
{
	document.getElementById('txtAddress1').value = '';
	document.getElementById('txtAddress2').value = '';
	document.getElementById('txtTown').value = '';
	document.getElementById('txtCounty').value = '';

	document.getElementById('address1').style.display = 'none';
	document.getElementById('address2').style.display = 'none';
	document.getElementById('address3').style.display = 'none';
	document.getElementById('address4').style.display = 'none';

	if (document.getElementById('getAddy') && document.getElementById('addAddy'))
	{
		document.getElementById('getAddy').style.display = '';
		document.getElementById('addAddy').style.display = 'none';
	}

	return true;
}

function updateDoctors(surgID)
{
	sql = "SELECT doctorID, CONCAT_WS(' ', title, firstName, surname) AS docName FROM doctor ";
	sql += "WHERE surgeryID = " + surgID + " AND active = 'Y'";
	return runAjax("updateDocs", sql);
}

function checkAddToOrder(form)
{
	if (!checkField(form.txtDrug, 'Please enter the name of the drug you would like to order.'))
		return false;

	if (!checkField(form.txtStrength, 'Please enter the strength of the drug, e.g. 15mg.'))
		return false;

	if (!checkField(form.txtQuantity, 'Please tell us the quantity you would like, i.e. \'15\' or \'100ml\'.'))
		return false;

	return true;
}

function checkAddUser(form)
{
	if (!checkField(form.txtUsername, 'Please enter a username.'))
		return false;

	if (!checkField(form.txtFirstName, 'Please enter the user\'s first name.'))
		return false;

	if (!checkField(form.txtSurname, 'Please enter the user\'s surname.'))
		return false;

	if (!checkField(form.txtPass, 'Please enter a password.'))
		return false;

	return true;
}

function checkAddSurgery(form)
{
	if (!checkField(form.txtSurgName, 'Please enter the name of the surgery.'))
		return false;

	if (!checkField(form.txtPostCode, 'Please enter your post code and click \'Get Address\''))
		return false;

	if (document.getElementById('address1').style.display == 'none')
	{
		alert('Please enter your post code and click \'Get Address\'.');
		form.txtPostCode.focus();
		return false;
	}

	return true;
}

function checkSurgery(form)
{
	if (!checkField(form.txtSurgName, 'Please enter the name of the surgery.'))
		return false;

	if (!checkField(form.txtAddress1, 'Please enter the first line of the surgery address.'))
		return false;

	if (!checkField(form.txtPostCode, 'Please enter the post code for this surgery.'))
		return false;

	if (form.txtEmail.value != '')
		if (!checkEmail(form.txtEmail, 'Please enter an email address for the surgery.', 'Please check the email address entered for the surgery. The address entered is not a valid email address.'))
			return false;

	return true;
}

function checkAddDoctor(form)
{
	if (!checkField(form.txtTitle, 'Please enter the doctors title.'))
		return false;

	if (!checkField(form.txtSurname, 'Please enter the doctors surname.'))
		return false;

	return true;
}

function checkAddExemption(form)
{
	if (!checkField(form.txtReason, 'Please enter the reason for exemption.'))
		return false;

	return true;
}

function showHide(objRef)
{
	if (objRef.indexOf('_') != -1)
		id = objRef.substr(objRef.indexOf('_') + 1);

	if (document.getElementById(objRef))
		if (document.getElementById(objRef).style.display == 'none')
		{
			document.getElementById(objRef).style.display = '';
			
			if (document.getElementById('expandImg_' + id))
				document.getElementById('expandImg_' + id).src = document.getElementById('expandImg_' + id).src.replace('plus.gif', 'minus.gif');
		}
		else
		{
			document.getElementById(objRef).style.display = 'none';

			if (document.getElementById('expandImg_' + id))
				document.getElementById('expandImg_' + id).src = document.getElementById('expandImg_' + id).src.replace('minus.gif', 'plus.gif');
		}

	return true;
}

function checkEditMember(form)
{
	if (!checkField(form.txtTitle, 'Please enter the member\'s title.'))
		return false;

	if (!checkField(form.txtFirstName, 'Please enter the member\'s forename.'))
		return false;

	if (!checkField(form.txtSurname, 'Please enter the member\'s surname.'))
		return false;

	if (!checkDate(form.selDOBDay.value, form.selDOBMonth.value, form.selDOBYear.value))
	{
		alert('The date of birth selected is not a valid date. Please check and try again.');
		form.selDOBDay.focus();
		return false;
	}

	if (!checkField(form.txtUsername, 'Please enter the member\'s username.'))
		return false;

	if (!checkEmail(form.txtEmail, 'Please enter the member\'s email address.', 'Please enter the member\'s email address. The address entered is not a valid email address.'))
		return false;

	if (!checkField(form.txtPhone, 'Please enter the member\'s phone number.'))
		return false;

	return true;
}

function checkNewRegRem(form)
{
	memID = form.memberID.value;

	if (memID.toString() == '-99')
		return false;

	d = document.getElementById('selDay_' + memID);
	m = document.getElementById('selMonth_' + memID);
	y = document.getElementById('selYear_' + memID);

	if (!checkDate(d.value, m.value, y.value))
	{
		alert('The date selected is not a valid date. Please check and try again.');
		d.focus();
		return false;
	}

	remPerEl = document.getElementById('txtRemPer_' + memID);

	if (isNaN(remPerEl.value) || remPerEl.value == '')
	{
		alert('The reminder period entered must be a number of days.');
		remPerEl.focus();
		return false;
	}

	return true;
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber = true;

	for (i = 0; i < sText.length && IsNumber == true; i++) 
		if (ValidChars.indexOf(sText.charAt(i)) == -1) 
			IsNumber = false;

	return IsNumber;
}

function checkSpecials(form)
{
	if (!checkField(form.txtName, 'Please enter your name.'))
		return false;

	if (!checkEmail(form.txtEmail, 'Please enter your email address.', 'Please enter your email address. The address entered is not a vaild email address.'))
		return false;

	if (!checkField(form.txtMsg, 'Please enter your message.'))
		return false;

	return true;
}