<!--
function findObj(n, d) {
	var p,i,x;

	if(!d) d=document;
	
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}

	if(!(x=d[n])&&d.all) x=d.all[n];

	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);

	if(!x && document.getElementById) x=document.getElementById(n);

	return x;
}

function validate() {
	var i,p,q,nm,test,num,min,max,errors='',args=validate.arguments;
	
	for (i=0; i<(args.length-2); i+=3) {
		test=args[i+2];
		val=findObj(args[i]);

		if (val) {
			nm=val.title;
			if ((val=val.value)!="") {
				if (test.indexOf('isPass')!=-1)	{
					alert ("SSSSSSSSSS");
					if (val != document.forms[0].confirm.value)	errors+='- Password and Confirm Password must be the same.\n';
				} else if (test.indexOf('isLen')!=-1) {
					if (p=test.indexOf(':')) min=test.substring(p+1);

					if (min>val.length)	errors+='- '+nm+': Must be at least ' +min+ ' characters in length.\n';
				} else if (test.indexOf('isEmail')!=-1)	{
					p=val.indexOf('@');

					if (p<1 || p==(val.length-1)) errors+='- '+nm+': Must contain an e-mail address (@).\n';
				} else if (test.indexOf('isTel')!=-1) { //tel numbers
					if(checkPhoneNumber(val) == false) {
						errors+='- '+nm+': Can only contain numbers, spaces, <(>, <)>, <+> or <->.\n';
					}
				} else if (test!='R') { //numbers only
					if (isNaN(val))	errors+='- '+nm+': Must contain a number.\n';
					
					if (test.indexOf('inRange') != -1) {
						p=test.indexOf(':');
						min=test.substring(8,p);
						max=test.substring(p+1);
						
						if (val<min || max<val)	errors+='- '+nm+': Must contain a number between '+min+' and '+max+'.\n';
					}
				}
			} else if (test.charAt(0) == 'R') errors += '- '+nm+': Is a required field.\n';
		}
	}
		
	return errors;
//	if (errors) alert('The following error(s) occurred:\n\n'+errors);
/*
	if (errors) { 
		return false; 
	} else {
		return true;
	}
*/
}

function checkPhoneNumber(number) {
	for (var i = 0; i <= number.length - 1; i++) {
		if (!parseInt(number.charAt(i)) && number.charAt(i) != ' ' && number.charAt(i) != '0' && number.charAt(i) != ')' && number.charAt(i) != '(' && number.charAt(i) != '-' && number.charAt(i) != '+') {
			return false;
		}
	}
}

			function validateContactNumber(value, what, required) {
				var errors = '';
				//if telephone entered 
				if (value.length != 0) {
					//if tel does not contain only numbers
					if(isNaN(value)) {
						errors += '- ' + what + ' number: Can only contain numbers (0 -9)\n';
					//else if length not 10 digits
					} else if (value.length != 10) {
						errors += '- ' + what + ' number: Must be 10 digits\n';
					}
				} else if (required == true) {
					errors += '- ' + what + ' number: is a required field.\n';
				}
				return errors;
			}
			
	function validateEmailAddress(value, required, dis) {
		var display = "";
		
		if (!dis) display = "Email Address";
		else display = dis;
		
		var errors = '';
		if (value.length != 0) {
			p = value.indexOf('@');
			if (p < 1) {
				errors += '- ' + display + ': Must contain an at ( @ ) character\n';
			} else if (p == (value.length-1)) {
				errors += '- ' + display + ': Must contain a domain name after the ( @ ) character\n';
			}
		} else if (required == true) {
			errors += '- ' + display + ': is a required field.\n';
		}
		return errors;
	}

	function validateLoginEmailAddress(value, required) {
		var errors = '';
		if (value.length != 0) {
			p = value.indexOf('@');
			if (p < 1) {
				errors += 'Must contain an at (@) character eg. user@domain.com';
			} else {
				temp = value.substring(p, value.length-1);
				pp = value.indexOf('.');
				if (pp < 1) {
					errors += 'Must contain a valid domain eg. user@domain.com';
				}
			}
		} else if (required == true) {
			errors += 'Is a required field';
		}
		return errors;
	}

function checkLoginForm(emailField, passField, ee) {
/*
//	alert(emailField + '  ' + passField + ' ' + ee);
	var errorLoginEmail = validateLoginEmailAddress(emailField, true);
	var errorLoginPassword = (passField.length == 0)?"(required)":"";
	
	
	if (errorLoginEmail || errorLoginPassword) {
		setTextOfRegisterLayer("errorLoginEmail", errorLoginEmail);
		setTextOfRegisterLayer("errorLoginPassword", errorLoginPassword);
		
		//window.elements['errorLoginEmail'].innerHTML = errorLoginEmail;
		//document.getElementById("errorLoginEmail").innerHTML = errorLoginEmail;
		ee.innerHTML = errorLoginEmail;


		newNote = document.createElement("div");
        newNote.setAttribute("id", errorLoginEmail);

        ee.appendChild(newNote);
		
		
		alert("email:" + errorLoginEmail);
		alert("password:" + errorLoginPassword);
		return false;
	}
	
	return false;
*/	

	var errorLoginEmail = validateLoginEmailAddress(emailField, true);
	var errorLoginPassword = (passField.length == 0)?"Is a required field":"";
	
	
	if (errorLoginEmail || errorLoginPassword) {
		var errors = (errorLoginEmail)?("E-mail address: " + errorLoginEmail + "\n"):"";
		errors += (errorLoginPassword)?("Password: " + errorLoginPassword + "\n"):"";
		alert ("Login:\n\n" + errors)
		//alert("email:" + errorLoginEmail);
		//alert("password:" + errorLoginPassword);
		return false;
	}
	
	return true;

}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function setTextOfRegisterLayer(objName, newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) with (obj)
    if (document.layers) {document.write(unescape(newText)); document.close();}
    else innerHTML = unescape(newText);
}

	function validateRegisterEmailAddress(value, required) {
		var errors = '';
		if (value.length != 0) {
			p = value.indexOf('@');
			if (p < 1) {
				errors += 'E-mail Address: Must contain an at ( @ ) character.';
			} else if (p == (value.length-1)) {
				errors += 'E-mail Address: Must contain a domain name after the ( @ ) character.';
			}
		} else if (required == true) {
			errors += 'E-mail Address: is a required field.';
		}
		return errors;
	}

			function checkRegForm1() {
				var errorGeneral = "";
				var errorEmail = "";
				var errorPassword = "";
				var errorConfirmPassword = "";
				
				var theForm = document.frmRegister;

				errorEmail = validateRegisterEmailAddress(theForm['frmEmail'].value, true);
				//errors += validate('frmPassword','','R');
				//errors += validate('frmConfirmPassword','','R');
				//errors += validate('frmPassword','','isPass');

				if (!theForm.frmPassword.value.length) {
					errorPassword = "Password: is a required field.";
				}
				
				if (!theForm.frmConfirmPassword.value.length) {
					errorConfirmPassword = "Confirm Password: is a required field.";
				}
				
				if (theForm.frmPassword.value.length > 0 && theForm.frmConfirmPassword.value.length > 0) {
					if (theForm.frmPassword.value != theForm.frmConfirmPassword.value) {
						errorPassword = "Password and Confirm Password does not match.";
					}
				}

				if (errorGeneral || errorEmail || errorPassword || errorConfirmPassword) {
					setTextOfRegisterLayer("errorGeneral", errorGeneral);
					setTextOfRegisterLayer("errorEmail", errorEmail);
					setTextOfRegisterLayer("errorPassword", errorPassword);
					setTextOfRegisterLayer("errorConfirmPassword", errorConfirmPassword);
					//alert(errors);
					return false;
				}
				
				return true;
			}


			function checkRegForm2() {
				var theForm = document.frmRegister;
				
				
				var errorTitle = (!theForm.frmTitle.value.length)?"(required)":"";
				var errorName = (!theForm.frmName.value.length)?"(required)":"";
				var errorSurname = (!theForm.frmSurname.value.length)?"(required)":"";
				var errorUpdates = (theForm.receive_updates[0].checked && theForm.receive_email[1].checked && theForm.receive_env_email[1].checked && theForm.receive_sms[1].checked)?"You must select at least one update method.":"";
				var errorCell = "";
				var errorArea = "";

				if (theForm.receive_sms[0].checked) {
					errorCell = (!theForm.frmCell.value.length)?"(required)":"";

					if (!theForm.hatfield.checked && !theForm.sandton.checked && !theForm.pretoria.checked && !theForm.rosebank.checked && 
						!theForm.centurion.checked && !theForm.park.checked && !theForm.midrand.checked && !theForm.rhodesfield.checked && 
						!theForm.marlboro.checked && !theForm.ort.checked) {
	
						errorArea = "You must select at least one Area.\n"
					}

				} 

				if (errorTitle || errorName || errorSurname || errorUpdates || errorCell || errorArea) {
					setTextOfRegisterLayer("errorTitle", errorTitle);
					setTextOfRegisterLayer("errorName", errorName);
					setTextOfRegisterLayer("errorSurname", errorSurname);
					setTextOfRegisterLayer("errorUpdates", errorUpdates);
					setTextOfRegisterLayer("errorCell", errorCell);
					setTextOfRegisterLayer("errorArea", errorArea);
					return false;
				}
				
					return true;
			}
			

			function disableRegisterUpdatesChoices(set) {
				document.frmRegister.receive_email[0].disabled = set;
				document.frmRegister.receive_email[1].disabled = set;
				document.frmRegister.receive_env_email[0].disabled = set;
				document.frmRegister.receive_env_email[1].disabled = set;

				document.frmRegister.receive_sms[0].disabled = set;
				document.frmRegister.receive_sms[1].disabled = set;

				document.frmRegister.receive_email[1].checked = true;
				document.frmRegister.receive_env_email[1].checked = true;
				document.frmRegister.receive_sms[1].checked = true;
				
				if (set == true) {
					disableRegisterUpdatesAreas(true);
				}
				
				document.getElementById("updatesDiv").style.display = (set)?"none":"block";
			}

			
			function disableRegisterUpdatesAreas(set) {
//				document.frmRegister.frmCell.value = "";
				document.frmRegister.hatfield.disabled = set;
				document.frmRegister.hatfield.checked = false;
				document.frmRegister.sandton.disabled = set;
				document.frmRegister.sandton.checked = false;
				document.frmRegister.pretoria.disabled = set;
				document.frmRegister.pretoria.checked = false;
				document.frmRegister.rosebank.disabled = set;
				document.frmRegister.rosebank.checked = false;
				document.frmRegister.centurion.disabled = set;
				document.frmRegister.centurion.checked = false;
				document.frmRegister.park.disabled = set;
				document.frmRegister.park.checked = false;
				document.frmRegister.midrand.disabled = set;
				document.frmRegister.midrand.checked = false;
				document.frmRegister.rhodesfield.disabled = set;
				document.frmRegister.rhodesfield.checked = false;
				document.frmRegister.marlboro.disabled = set;
				document.frmRegister.marlboro.checked = false;
				document.frmRegister.ort.disabled = set;
				document.frmRegister.ort.checked = false;
				
				document.getElementById("smsUpdatesDiv").style.display = (set)?"none":"block";

			}


	function validatePassReminderEmailAddress(value, required) {
		var errors = '';
		if (value.length != 0) {
			p = value.indexOf('@');
			if (p < 1) {
				errors += 'E-mail Address: Must contain an at ( @ ) character.';
			} else if (p == (value.length-1)) {
				errors += 'E-mail Address: Must contain a domain name after the ( @ ) character.';
			}
		} else if (required == true) {
			errors += 'E-mail Address: is a required field.';
		}
		return errors;
	}

			function checkPassReminderForm() {
				var errorEmail = "";
				
				var theForm = document.frmPassReminder;

				errorEmail = validatePassReminderEmailAddress(theForm['frmEmail'].value, true);
				//errors += validate('frmPassword','','R');
				//errors += validate('frmConfirmPassword','','R');
				//errors += validate('frmPassword','','isPass');

				if (errorEmail) {
					setTextOfRegisterLayer("errorEmail", errorEmail);
					return false;
				}
				
				return true;
			}


			function checkEditPersonalForm() {
				var theForm = document.frmRegister;
				
				
				var errorTitle = (!theForm.frmTitle.value.length)?"(required)":"";
				var errorName = (!theForm.frmName.value.length)?"(required)":"";
				var errorSurname = (!theForm.frmSurname.value.length)?"(required)":"";
				var errorUpdates = (theForm.receive_updates[0].checked && theForm.receive_email[1].checked && theForm.receive_env_email[1].checked && theForm.receive_sms[1].checked)?"You must select at least one update method.":"";
				var errorCell = "";
				var errorArea = "";

				if (theForm.receive_sms[0].checked) {
					errorCell = (!theForm.frmCell.value.length)?"(required)":"";

					if (!theForm.hatfield.checked && !theForm.sandton.checked && !theForm.pretoria.checked && !theForm.rosebank.checked && 
						!theForm.centurion.checked && !theForm.park.checked && !theForm.midrand.checked && !theForm.rhodesfield.checked && 
						!theForm.marlboro.checked && !theForm.ort.checked) {
	
						errorArea = "You must select at least one Area.\n"
					}

				} 

				if (errorTitle || errorName || errorSurname || errorUpdates || errorCell || errorArea) {
					setTextOfRegisterLayer("errorTitle", errorTitle);
					setTextOfRegisterLayer("errorName", errorName);
					setTextOfRegisterLayer("errorSurname", errorSurname);
					setTextOfRegisterLayer("errorUpdates", errorUpdates);
					setTextOfRegisterLayer("errorCell", errorCell);
					setTextOfRegisterLayer("errorArea", errorArea);
					return false;
				}
				
					return true;
			}
			function checkFormSub() {
				var errors = "";
				var theForm = document.frmSub;

				errors = validate('frmTitle','','R','frmName','','R','frmSurname','','R');

				if (theForm.receive_updates[0].checked) {
					if (theForm.receive_email[1].checked && theForm.receive_sms[1].checked) {
						errors += "- Updates: You must select at least one update method.\n"
					}
				} 

				if (theForm.receive_email[0].checked) {
					if (theForm.e_mail.value.length == 0) { 
						errors += "- Email Address: Is a required for Newsletter by Email\n"
					}
				}


				if (theForm.receive_sms[0].checked) {
					if (theForm.cell.value.length == 0) { 
						errors += "- Cellular #: Is required for Notifications by SMS\n"
					}

					if (!theForm.hatfield.checked && !theForm.sandton.checked && !theForm.pretoria.checked && !theForm.rosebank.checked && 
						!theForm.centurion.checked && !theForm.park.checked && !theForm.midrand.checked && !theForm.rhodesfield.checked && 
						!theForm.marlboro.checked && !theForm.ort.checked) {
	
						errors += "- Area: You must select at least one Area.\n"
					}

				} 
				
				if (theForm.e_mail.value.length != 0) {
					errors += validate('e_mail','','isEmail');
				}


				if (errors) {
					alert(errors);
					return false;
				}
				
				return true;
			}
			
			function disableChoices(set) {
				document.frmSub.receive_email[0].disabled = set;
				document.frmSub.receive_email[1].disabled = set;
				document.frmSub.receive_env_email[0].disabled = set;
				document.frmSub.receive_env_email[1].disabled = set;

				document.frmSub.receive_sms[0].disabled = set;
				document.frmSub.receive_sms[1].disabled = set;

				document.frmSub.receive_email[1].checked = true;
				document.frmSub.receive_env_email[1].checked = true;
				document.frmSub.receive_sms[1].checked = true;
				
				if (set == true) {
					disableAreas(true);
				}
			}

			
			function disableAreas(set) {
				document.frmSub.hatfield.disabled = set;
				document.frmSub.hatfield.checked = false;
				document.frmSub.sandton.disabled = set;
				document.frmSub.sandton.checked = false;
				document.frmSub.pretoria.disabled = set;
				document.frmSub.pretoria.checked = false;
				document.frmSub.rosebank.disabled = set;
				document.frmSub.rosebank.checked = false;
				document.frmSub.centurion.disabled = set;
				document.frmSub.centurion.checked = false;
				document.frmSub.park.disabled = set;
				document.frmSub.park.checked = false;
				document.frmSub.midrand.disabled = set;
				document.frmSub.midrand.checked = false;
				document.frmSub.rhodesfield.disabled = set;
				document.frmSub.rhodesfield.checked = false;
				document.frmSub.marlboro.disabled = set;
				document.frmSub.marlboro.checked = false;
				document.frmSub.ort.disabled = set;
				document.frmSub.ort.checked = false;
			}


			//-->
