function toggleSmile(x) {
	var e = document.getElementById("smile");
	if(x == 'hide') {
		e.style.display = 'none';
	} else {
		e.style.display = 'block';
	}
}

function validateform(theForm) {
 var sPage = location.href.substring(location.href.lastIndexOf('/') + 1);

	var reason = "";
	if (sPage == "appointment.htm")
	{
	reason += validateCheckboxSelected(theForm.interestedin, 'Please select the type of treatment you are interested in.');
	reason += validateEmpty(theForm.fullname, 'Please enter a Full Name.');
	reason += validateEmpty(theForm.dob, 'Please enter a Date of Birth.');
	reason += validateEmail(theForm.emailaddress, 'Please enter a valid Email Address.');
	reason += validateEmpty(theForm.mobilenumber, 'Please enter a Mobile Phone Number.');
	reason += validateEmpty(theForm.additionalinfo, 'Please enter the Additional Info.');
	}
	else if (sPage == "register.htm")
	{
	reason += validateRadioSelected(theForm.wants_to_be_seen, 'Please select if you want to be seen Privately or on the NHS.');
	reason += validateEmpty(theForm.first_name, 'Please enter a First Name.');
	reason += validateEmpty(theForm.surname, 'Please enter a Surname.');
	reason += validateEmpty(theForm.dob, 'Please enter a Date of Birth.');
	reason += validateEmpty(theForm.address, 'Please enter your Address.');
	reason += validateEmpty(theForm.postcode, 'Please enter your Postcode.');
	reason += validateEmpty(theForm.mobilenumber, 'Please enter a Mobile Phone Number.');
	reason += validateEmail(theForm.emailaddress, 'Please enter a valid Email Address.');
	}
	else if (sPage == "unsubscribe.htm")
	{
	reason += validateEmpty(theForm.fullname, 'Please enter your Name.');
	reason += validateEmail(theForm.emailaddress, 'Please enter a valid Email Address.');
	}
	else if (sPage == "subscribe.htm")
	{
	reason += validateEmpty(theForm.fullname, 'Please enter your Name.');
	reason += validateEmail(theForm.emailaddress, 'Please enter a valid Email Address.');
	}

	if (reason != "") {
    		alert("Unable to continue due to the following error(s):\n" + reason);
   		return false;
  	}

  return true;
}

function validateEmpty(fld, errorText) {
    var error = "";
    if (fld.value.length == 0) {
        //fld.style.background = '#FFFF80'; 
        error = errorText + "\n";
    } else {
        //fld.style.background = 'White';
    }
    return error;   
}

function old_validateRadioSelected(fld, errorText)
{
var error = "";
myOption = -1;
for (i=fld.length-1; i > -1; i--) {
	if (fld[i].checked) 
		{
		myOption = i; i = -1;
		}
	}

if (myOption == -1) {
	error = errorText + "\n";
	}
	return error;
}

function validateRadioSelected(fld, errorText) {
    var cnt = -1;
    var error = "";
    for (var i=fld.length-1; i > -1; i--) {
        if (fld[i].checked) {
        cnt = 1; i = -1;
        }
    }
    if (cnt == -1) {
	error = errorText + "\n";
	}
	return error;
}
                  

function validateCheckboxSelected(fld, errorText) {
    var cnt = -1;
    var error = "";
    for (var i=fld.length-1; i > -1; i--) {
        if (fld[i].checked) {
        cnt = 1; i = -1;
        }
    }
    if (cnt == -1) {
	error = errorText + "\n";
	}
	return error;
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
} 

function validateEmail(fld, errorText) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    
    if (fld.value == "") {
        error = errorText + "\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        error = errorText + "\n";
    } else if (fld.value.match(illegalChars)) {
        error = errorText + "\n";
    } 
    return error;
}