function loadNavCont(pageNav,pageCont) {
	parent.navbar.location = pageNav;
	parent.main.location = pageCont;
}

var MAIL_DOMAIN = 'impactdynamics.co.uk';
var MAIL_SITENAME = 'Impact Dynamics';
var MAIL_WEBMASTER = 'webmaster';

var SITE_PLEASE_TELL = "Please tell us ";
var SITE_NUMBER = " must be a number";
var SITE_TELNO1 = "Telephone numbers must begin with a 0 or a +";
var SITE_TELNO2 = "invalid character in telephone number - ";
var SITE_TELNO3 = "Telephone numbers must be at least ten digits long";
var SITE_EMAIL1 = 'Contact E-Mail cannot contain \' '
var SITE_EMAIL2 = 'Contact E-Mail must contain an @ symbol'
var SITE_EMAIL3 = 'Contact E-Mail cannot contain more than one @ symbol'
var SITE_EMAIL4 = 'Contact E-Mail must contain a domain name after the @ symbol'
var SITE_EMAIL5 = 'Contact E-Mail domain name is not in a valid format'


function createMail(who,what,where,why) {

	var strWhere = where;
	if (strWhere == '') { strWhere = MAIL_DOMAIN; }

	var strWhat = what;
	if (strWhat == '') { strWhat = 'E-Mail from ' + MAIL_SITENAME + ' Website'; }

	var strWhy = why;

	var strTo = '';
	var strCc = '';

	var strWho = who;
	if (strWho == '') {
		strTo = MAIL_WEBMASTER;
		strTo = strTo + '@' + MAIL_DOMAIN;
		strWhat = 'Incorrect mail link on website';
		strWhy = 'Please tell the webmaster where you found this link as it is incorrectly formatted.';
	}
	else {
		var lngComma = strWho.indexOf(',')
		if (lngComma > 0) {
			var strAddy = strWho.split(',');
			var strDom = strWhere.split(',');
			for (x=0;x<strAddy.length;x++) {
				if (strDom[x] == null) { strDom[x] = strDomain; }
				if (x == 0) {
					strTo = strAddy[x] + '@' + strDom[x];
				}
				else {
					if (x == 1) {
						strCc = strAddy[x] + '@' + strDom[x];
					}
					else {
						strCc = strCc + ',' + strAddy[x] + '@' + strDom[x];
					}
				}
			}
		}
		else {
			strTo = strWho + '@' + strWhere;
		}
	}

	var to = strTo;
	var cc = strCc;
	var subject = strWhat;
	var body = strWhy;
	var doc = "mailto:" + to +
		"?cc=" + cc +
		"&subject=" + escape(subject) +
		"&body=" + escape(body);
	window.location = doc;
}

function checkForm(form) {
	var dF = form;
	sAlert = ''

	for (i=0;i<arrCheck.length;i++) {
		if (arrType[i] == 0) { // Text Boxes
			if (dF.elements[arrCheck[i]].value == '') {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
		}
		else if (arrType[i] == 1) { // Drop-Downs
			if (dF.elements[arrCheck[i]][dF.elements[arrCheck[i]].selectedIndex].value == 0) {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
		}
		else if (arrType[i] == 2) { // Radio Buttons
			if (dF.elements[arrCheck[i]].checked == false && dF.elements[arrCheck[i] + 1].checked == false) {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
		}
		else if (arrType[i] == 3) { // E-Mail Addresses
			if (dF.elements[arrCheck[i]].value == '') {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
			if (!validEmail(dF.elements[arrCheck[i]].value)) {
				iAlert = arrCheck[i]; sAlert = 'dummy'; break;
			}
		}
		else if (arrType[i] == 4) { // Phone
			if (dF.elements[arrCheck[i]].value == '') {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
			if (!validTel(dF.elements[arrCheck[i]].value)) {
				iAlert = arrCheck[i]; sAlert = 'dummy'; break;
			}
		}
		else if (arrType[i] == 5) { // Number
			if (dF.elements[arrCheck[i]].value == '') {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
			if (isNaN(dF.elements[arrCheck[i]].value)) {
				iAlert = arrCheck[i]; sAlert = arrAlert[i] + SITE_NUMBER; break;
			}
		}
		else if (arrType[i] == 6) { // E-Mail Addresses that can be omitted
			if (dF.elements[arrCheck[i]].value != '') {
				if (!validEmail(dF.elements[arrCheck[i]].value)) {
					iAlert = arrCheck[i]; sAlert = 'dummy'; break;
				}
			}
		}
		else if (arrType[i] == 7) { // Number that can be omitted
			if (isNaN(dF.elements[arrCheck[i]].value)) {
				iAlert = arrCheck[i]; sAlert = arrAlert[i] + SITE_NUMBER; break;
			}
		}
		else if (arrType[i] == 8) { // Password
			if (dF.elements[arrCheck[i]].value != dF.elements[arrCheck[i]+1].value) {
				iAlert = arrCheck[i]; sAlert = SITE_PASSWORD1; break;
			}
			if (!validPass(dF.elements[arrCheck[i]].value,dF.elements[arrCheck[i+1]].value)) {
				iAlert = arrCheck[i]; sAlert = SITE_PASSWORD2; break;
			}
		}
		else if (arrType[i] == 9) { // Phone that can be omitted
			if (dF.elements[arrCheck[i]].value != '') {
				if (!validTel(dF.elements[arrCheck[i]].value)) {
					iAlert = arrCheck[i]; sAlert = 'dummy'; break;
				}
			}
		}
		else if (arrType[i] == 10) { // Screen Name - min 6 chars
			if (!validScreen(dF.elements[arrCheck[i]].value)) {
				iAlert = arrCheck[i]; sAlert = SITE_SCREEN; break;
			}
		}
		else if (arrType[i] == 11) { // Date
			if (dF.elements[arrCheck[i]].value == '') {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
			if (!validDate(dF.elements[arrCheck[i]].value)) {
				iAlert = arrCheck[i]; sAlert = 'dummy'; break;
			}
		}
		else if (arrType[i] == 12) { // Date that can be omitted
			if (dF.elements[arrCheck[i]].value != '') {
				if (!validDate(dF.elements[arrCheck[i]].value)) {
					iAlert = arrCheck[i]; sAlert = 'dummy'; break;
				}
			}
		}
		else if (arrType[i] == 13) { // Decimal
			if (dF.elements[arrCheck[i]].value == '') {
				iAlert = arrCheck[i]; sAlert = SITE_PLEASE_TELL + arrAlert[i] + '.'; break;
			}
			if (!validDecimal(dF.elements[arrCheck[i]].value)) {
				iAlert = arrCheck[i]; sAlert = SITE_INVALID + arrAlert[i] + '.'; break;
			}
		}
		else if (arrType[i] == 14) { // Single Check Box
			if (dF.elements[arrCheck[i]].checked == false) {
				iAlert = arrCheck[i]; sAlert = arrAlert[i] + '.'; break;
			}
		}
		else if (arrType[i] == 15) { // Password that can be omitted
			if (dF.elements[arrCheck[i]].value != '' && dF.elements[arrCheck[i]+1].value != '') {
				if (dF.elements[arrCheck[i]].value != dF.elements[arrCheck[i]+1].value) {
					iAlert = arrCheck[i]; sAlert = SITE_PASSWORD1; break;
				}
				if (!validPass(dF.elements[arrCheck[i]].value,dF.elements[arrCheck[i+1]].value)) {
					iAlert = arrCheck[i]; sAlert = SITE_PASSWORD2; break;
				}
			}
		}
	}

	if (sAlert.length == 0) {
		dF.submit();
	}
	else {
		if (sAlert != 'dummy') {
			alert(sAlert);
		}
		dF.elements[iAlert].focus();
	}
}

function validDecimal(fldVal) {
	validChars = "0123456789.,"
	for (k=1; k<fldVal.length; k++) {
		testChar = fldVal.charAt(k)
		if (validChars.indexOf(testChar,0) == -1) {
			return false;
		}
	}
	return true;
}

function validScreen(fldVal) {
	if (fldVal.length < 6) { // >
		return false;
	}
	return true;
}

function validPass(fldVal) {
	vC1 = 'abcdefghijklmnopqrstuvwxyz'; vC2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; vC3 = '0123456789'
	lng1 = 0; lng2 = 0; lng3 = 0;
	for (j=0;j<fldVal.length;j++) {
		if (vC1.indexOf(fldVal.charAt(j)) != -1) {
			lng1++
		}
		else if (vC2.indexOf(fldVal.charAt(j)) != -1) {
			lng2++
		}
		else if (vC3.indexOf(fldVal.charAt(j)) != -1) {
			lng3++
		}
		else {
			return false;
			break;
		}
	}
	if (lng1 == 0 || lng2 == 0 || lng3 == 0) {
		return false
	}
	else {
		return true
	}
}

function validTel(strVal) {
	if (strVal.charAt(0) != '0' && strVal.charAt(0) != '+') {
		alert(SITE_TELNO1)
		return false;
	}
	validChars = " 0123456789-/"
	for (k=1; k<strVal.length; k++) {
		testChar = strVal.charAt(k)
		if (validChars.indexOf(testChar,0) == -1) {
			alert(SITE_TELNO2 + testChar)
			return false;
		}
	}
	if (strVal.length < 10) {
		alert(SITE_TELNO3)
		return false;
	}
	return true;
}

function validEmail(strVal) {
	strInv = ' /:,;'
	for (l=0;l<strInv.length;l++) { // >
		strBad = strInv.charAt(l)
		if (strVal.indexOf(strBad,0) > -1) { // <
			alert(SITE_EMAIL1 + strBad + '\'')
   		return false;
		}
	}
	atPos = strVal.indexOf('@',1)
	if (atPos == -1) {
		alert(SITE_EMAIL2)
 		return false;
	}
	if (strVal.indexOf('@',atPos+1) > -1) { // <
		alert(SITE_EMAIL3)
		return false;
	}
	dotPos = strVal.indexOf('.',atPos)
	if (dotPos == -1) {
		alert(SITE_EMAIL4)
		return false;
	}
	if (dotPos+3 > strVal.length) { // <
		alert(SITE_EMAIL5)
		return false;
	}
	return true;
}

function validDate(dteVal) {
	var msg = ''
	var ok = true
	var d1 = dteVal.slice(0, 2)
	var m1 = dteVal.slice(3, 5)
	var y1 = dteVal.slice(6, 8)
	var sa1 = dteVal.slice(2, 3)
	var sb1 = dteVal.slice(5, 6)
	if (isNaN(d1) || isNaN(m1) || isNaN(y1)) {
		ok = false;
	}
	if (sa1 != '\/' || sb1 != '\/' ) {
		ok = false;
	}
	if (!ok) {
		alert(SITE_DATE)
 		return false;
	}
	return true;
}

function validateNos(fldVal) {
	if (fldVal != '') {
   	var valid = '0123456789'
      var temp;
		for (j=0; j<fldVal.length; j++) { // >
      	temp = '' + fldVal.substring(j, j+1);
         if (valid.indexOf(temp) == -1) {
         	return false
			}
		}
		return true
	}
	else {
     	return true
	}
}

function validChars(fldVal) {
	vChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
	for (j=0;j<fldVal.length;j++) {
		if (vChars.indexOf(fldVal.charAt(j)) == -1) {
			ivC = fldVal.charAt(j)
			if (ivC == ' ') {
				ivC = 'Spaces'
			}
			return false
			break;
		}
	}
	return true
}

function validCharsName(fldVal) {
	vChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -'
	for (j=0;j<fldVal.length;j++) {
		if (vChars.indexOf(fldVal.charAt(j)) == -1) {
			return false
			break;
		}
	}
	return true
}

function validFileChars(fldVal) {
	vChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._'
	for (k=0;k<fldVal.length;k++) {
		if (vChars.indexOf(fldVal.charAt(k)) == -1) {
			ivC = fldVal.charAt(k)
			if (ivC == ' ') {
				ivC = 'Spaces'
			}
			return false
			break;
		}
	}
	return true
}

