/*
Javascript to be used for checking a form before submission.
To use this page, in form to be checked add onSubmit="return checkForm(this)"
If you wish to do additional checks create a new function that performs the additional checks
eg function myFormCheck(callingForm) {
	var isOK = checkForm(callingForm);
	if (isOK){
		additional code to check the form and set value of isOK
	};
	return isOK;
}

For the checks to be made the following parameters must be added to the form controls
message="?" -- The message to show should the control fail any of the tests.
required="yes/no" -- Is a value required for this control.
rejectvalues="?" -- A comma delimited list of values for this control to reject (text,password,select)
validate="date/eurodate/emailaddress/creditcard/time/integer/float/telephone" -- What type of value is alllowed in this control. If telephone will accept numbers, spaces, - sign and + sign as first character after spaces removed
range="?,?" -- 2 comma seperated values for minimum(1st) and maximum(2nd)
matchto="?" -- Name of control this value must match, usually for password and confirm password
greaterthan="?" -- Name of control this value must be greater than, usually used for range selection controls
greaterorequalto="?" -- Name of control this value must be greater than or equal to, usually used for range selection controls
higherorequalindexthan="?" -- Name of select control that this select control must have a higher or equal selected index
filesuffix="?" -- Comma delimited list of of suffixes to allow for file upload controls, e.g. "doc,txt,rtf"
minlength="?" -- Integer for minimum number of characters to be used. (text,password)
oldvalue="?" -- Used on evaluate="creditcard". If control value is same as oldvalue then creditcard value is not evaluated. This is used as you do not show credit cards value again on site, usually just last 4 characters.
*/

onerror = handleErrors
var msg = null
function handleErrors(errorMessage, url, line){
	msg = "There was an error on this page.\n\n";
	msg += "An internal programming error may keep\n";
	msg += "this page from displaying properly.\n";
	msg += "Click OK to continue.\n\n";
	msg += "Error message: " + errorMessage + "\n";
	msg += "URL: " + url + "\n";
	msg += "Line #: " + line;
	alert(msg);
	return false;
};

function _dcl_onError(form_object, input_object, object_value, error_message){
	alert(error_message);
	return false;
};
		
function _dcl_hasValue(obj, obj_type){
	if (obj_type == "text" || obj_type == "password" || obj_type == "file" || obj_type == "textarea"){
		if (obj.value.length == 0){
			return false;
		}
		else{
			return true;
		};
	};
  else if (obj_type == "select-one" || obj_type == "select-multiple"){
		for (i=0; i < obj.length; i++){
			if (obj.options[i].selected){
				return true;
			};
		};
    return false;	
	};
	else if (obj_type == "SINGLE_VALUE_RADIO" || obj_type == "SINGLE_VALUE_CHECKBOX"){
		if (obj.checked){
			return true;
		}
		else {
			return false;	
		};
	};
  else if (obj_type == "radio" || obj_type == "checkbox"){
		for (i=0; i < obj.length; i++){
			if (obj[i].checked){
				return true;
			};
		};
		return false;	
	};
};

function _dcl_rejectValues(obj, obj_type, rejectValues){
	var arrRejectValues = rejectValues.toLowerCase().split(",");
	if (obj_type == "text" || obj_type == "password"){
		for (var j=0; j < arrRejectValues.length; j++){
			if (obj.value.toLowerCase() == arrRejectValues[j]){
				return false;
			};
		};
		return true;
	};
	if (obj_type == "select-one" || obj_type == "select_multiple"){
		for (var j=0; j < arrRejectValues.length; j++){
			for (i=0; i < obj.length; i++){
				if (obj.options[i].selected && obj.options[i].value.toLowerCase() == arrRejectValues[j]){
					return false;
				};
			};
		};
		return true;
	};
};

function _dcl_minLength(obj, obj_type, minLength){
	if (obj_type == "text" || obj_type == "password"){
		if (obj.value.length >= minLength || obj.value == ""){
			return true;
		}
		else{
			return false;
		};
	};
};

function _dcl_greaterThan(object_value, compareTo){
	//Returns true if object_value greater than compareTo
	if (object_value > compareTo){
		return true;
	};
	else{
		return false;
	};
};

function _dcl_greaterOrEqualTo(object_value, compareTo){
	//Returns true if object_value greater than or equal to compareTo
	if (object_value >= compareTo){
		return true;
	};
	else{
		return false;
	};
};

function _dcl_checkeurodate(object_value){
	//Returns true if value is a eurodate format or is NULL
	//otherwise returns false	
	if (object_value.length == 0){
        return true;
	};
	//Returns true if value is a date in the dd/mm/yyyy format
	isplit = object_value.indexOf('/');
	if (isplit == -1)	{
		isplit = object_value.indexOf('.');
	};
	if (isplit == -1 || isplit == object_value.length){
		return false;
	};
	sDay = object_value.substring(0, isplit);
	monthSplit = isplit + 1;
	isplit = object_value.indexOf('/', monthSplit);
	if (isplit == -1)	{
		isplit = object_value.indexOf('.', monthSplit);
	};
	if (isplit == -1 ||  (isplit + 1 )  == object_value.length){
		return false;
	}
	sMonth = object_value.substring((sDay.length + 1), isplit);
	sYear = object_value.substring(isplit + 1);
	if (sYear < 100) {
		sYear = sYear + 2000;
	}
	if (!_dcl_checkinteger(sMonth)){ //check month
		return false;
	};
	if (!_dcl_checkRange(sMonth, 1, 12)){ // check month
		return false;
	};
	if (!_dcl_checkinteger(sYear)){ //check year
		return false;
	};
	if (!_dcl_checkRange(sYear, 0, null)){ //check year
		return false;
	};
	if (!_dcl_checkinteger(sDay)){ //check day
		return false;
	};
	if (!_dcl_checkday(sYear, sMonth, sDay)){ //check day
		return false;
	}
	else {
		return true;
	};
};

function _dcl_checkdate(object_value){
	//Returns true if value is a date format or is NULL
	//otherwise returns false	
	if (object_value.length == 0){
		return true;
	};
	//Returns true if value is a date in the mm/dd/yyyy format
	isplit = object_value.indexOf('/');
	if (isplit == -1 || isplit == object_value.length){
		return false;
	};
	sMonth = object_value.substring(0, isplit);
	if (sMonth.length == 0){
		return false;
	};
	isplit = object_value.indexOf('/', isplit + 1);
	if (isplit == -1 || (isplit + 1 ) == object_value.length){
		return false;
	};
	sDay = object_value.substring((sMonth.length + 1), isplit);
	if (sDay.length == 0){
		return false;
	};
	sYear = object_value.substring(isplit + 1);
	if (sYear < 100) {
		sYear = sYear + 2000;
	}
	if (!_dcl_checkinteger(sMonth)){ //check month
		return false;
	};
	//else
	if (!_dcl_checkRange(sMonth, 1, 12)){ //check month
		return false;
	};
	if (!_dcl_checkinteger(sYear)) //check year
		return false;
	else
	if (!_dcl_checkRange(sYear, 0, 9999)) //check year
		return false;
	else
	if (!_dcl_checkinteger(sDay)) //check day
		return false;
	else
	if (!_dcl_checkday(sYear, sMonth, sDay)) // check day
		return false;
	else
		return true;
}

function _dcl_checktime(object_value){
	//Returns true if value is in time format or is NULL
	//otherwise returns false	
	if (object_value.length == 0){
		return true;
	};
	//Returns true if value is a date in the mm/dd/yyyy format
	isplit = object_value.indexOf(':');
	if (isplit == -1 || isplit == object_value.length){
		return false;
	};
	sHour = object_value.substring(0, isplit);
	iminute = object_value.indexOf(':', isplit + 1);
	if (iminute == -1 || iminute == object_value.length){
		sMin = object_value.substring((sHour.length + 1));
	};
	else{
		sMin = object_value.substring((sHour.length + 1), iminute);
	};
  if (!_dcl_checkinteger(sHour)){ //check hour
		return false;
	};
  if (!_dcl_checkRange(sHour, 0, 23)){ //check hour
		return false;
	};
	if (!_dcl_checkinteger(sMin)){ //check minutes
		return false;
	};
	if (!_dcl_checkRange(sMin, 0, 59)){ // check minutes
		return false;
	};
	// did they specify seconds
	if (iminute != -1){
		sSec = object_value.substring(iminute + 1);
	};
	if (!_dcl_checkinteger(sSec)){ //check seconds
		return false;
	};
	if (!_dcl_checkRange(sSec, 0, 59)){ //check seconds
		return false;	
	};    
	return true;
}
    
function _dcl_checkday(checkYear, checkMonth, checkDay){
	maxDay = 31;
	if (checkMonth == 4 || checkMonth == 6 || checkMonth == 9 || checkMonth == 11)
		maxDay = 30;
	else
		if (checkMonth == 2){
			if (checkYear % 4 > 0)
				maxDay =28;
			else
				if (checkYear % 100 == 0 && checkYear % 400 > 0)
					maxDay = 28;
				else
					maxDay = 29;
		}
		return _dcl_checkRange(checkDay, 1, maxDay); //check day
}

function _dcl_checktelephone(object_value){
	//Returns true if value is numeric when spaces are removed. Allows - sign or + sign
	//as first character after spaces removed
	//Returns true if empty sttring
	//otherwise returns false
	if (object_value.length == 0){
		return true;
	};
	while (object_value != object_value.replace(" ", "")){
		object_value = object_value.replace(" ", ""); 
	};
	//Make sure that if there is a + it is at the first character or non existent
	if (object_value.lastIndexOf("+") > 0){
		return false;
	};
	while (object_value != object_value.replace("-", "").replace("+", "")){
		object_value = object_value.replace("-", "").replace("+", ""); 
	};
	return _dcl_checknumber(object_value);
}

function _dcl_checkinteger(object_value){
	//Returns true if value is a number or is NULL
	//otherwise returns false
	if (object_value.length == 0){
		return true;
	};
	//Returns true if value is an integer defined as
	//   having an optional leading + or -.
	//   otherwise containing only the characters 0-9.
	var decimal_format = ".";
	var check_char;
	//The first character can be + -  blank or a digit.
	check_char = object_value.indexOf(decimal_format)
	//Was it a decimal?
	if (check_char < 1){
		return _dcl_checknumber(object_value);
	}
	else {
		return false;
	};
};

function _dcl_numberrange(object_value, min_value, max_value){
	// check minimum
	if (min_value != null){
		if (object_value < min_value){
			return false;
		};
	};
	// check maximum
	if (max_value != null){
		if (object_value > max_value){
			return false;
		};
	};
	//All tests passed, so...
	return true;
};

function _dcl_checkCreditCard (object_value, old_value){
	//Returns true if value is a 16 digit number with only spaces in 
	//or if the ld value is the same as the new value
	//otherwise returns false
	if (object_value == old_value) {
		return true;
	}
	var toFind = /\s/;
	var NoSpace = object_value.replace(toFind, "");
	var NoSpace = NoSpace.replace(toFind, "");
	var NoSpace = NoSpace.replace(toFind, "");
	var NoSpace = NoSpace.replace(toFind, "");
	if (NoSpace.length != 16) {
		return false;
	}
	else {
		return _dcl_checknumber(NoSpace);
	}
}

function _dcl_checkEmailAddress (object_value) {
	//Returns true if value contains 1 @ character and at least one period after the @ character
	//otherwise returns false
	var partSplit = object_value.split("@");
	if (partSplit.length != 2) {
		return false;
	}
	else {
		var afterSplit = partSplit[1];
		afterSplit = afterSplit.split(".");
		if (afterSplit.length > 1) {
			if (afterSplit[afterSplit.length - 1].length > 0) {
				return true;
			}
			else
			{
				return false;
			};
		}
		else {
			return false;
		};
	};
}

function _dcl_checknumber(object_value){
	//Returns true if value is a number or is NULL
	//otherwise returns false	
	if (object_value.length == 0){
		return true;
	};
	//Returns true if value is a number defined as
	//   having an optional leading + or -.
	//   having at most 1 decimal point.
	//   otherwise containing only the characters 0-9.
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;
	//The first character can be + - .  blank or a digit.
	check_char = start_format.indexOf(object_value.charAt(0));
	//Was it a decimal?
	if (check_char == 1){
		decimal = true;
	}
	else if (check_char < 1){
		return false;
	};
	//Remaining characters can be only . or a digit, but only one decimal.
	for (var i = 1; i < object_value.length; i++){
		check_char = number_format.indexOf(object_value.charAt(i));
		if (check_char < 0){
			return false;
		}
		else if (check_char == 1){
			if (decimal){		// Second decimal.
				return false;
			}
			else{
				decimal = true;
			};
		}
		else if (check_char == 0){
			if (decimal || digits){
				trailing_blank = true;
			};
			// ignore leading blanks
		}
		else if (trailing_blank){
			return false;
		}
		else {
			digits = true;
		};
	};
	//All tests passed, so...
	return true;
};

function _dcl_checkRange(object_value, min_value, max_value){
	//if value is in range then return true else return false
	if (object_value.length == 0){
		return true;
	};
	if (!_dcl_checknumber(object_value)){
		return false;
	}
	else{
		return (_dcl_numberrange((eval(object_value)), min_value, max_value));
	};
	//All tests passed, so...
	return true;
};

function _dcl_comparePassword (password1, password2){
	//if password values match thn return true else return false
	if (password1 == password2)
	{
		return true;
	}
	else
	{
		return false;
	}	
}

function  _dcl_checkForm(_dcl_this){
	var elementRequired;
	var elementMessage;
	var elementValidate;
	var passwordMatchFrom;
	var passwordMatchTo;
	var elementMinLength;
	var	elementMinValue;
	var elementMaxValue;
	var elementOldValue;
	var elementFileSuffix;
	var elementGreaterThan;
	var elementGreaterOrEqualTo;
	for (var x = 0; x < _dcl_this.length; x++){
		if (_dcl_this.elements[x].type == null){
			elementType = "";
		}
		else{
			elementType = _dcl_this.elements[x].type;
		}
		elementRequired = "No";
		elementMessage = "";
		elementValidate = "";
		passwordMatchFrom = "";
		passwordMatchTo = "";
		elementMinLength = 0;
		elementMinValue = "";
		elementMaxValue = "";
		elementOldValue = "";
		elementFileSuffix = "";
		elementRejectValues = "";
		elementGreaterThan = "";
		elementGreaterOrEqualTo = "";
		elementThisValue = "";
		elementThisSelectedIndex = -1;
		elementLowerOrEqualIndex = -1;
		for (var eachProperty in _dcl_this.elements[x]) {
			if (eachProperty.toLowerCase() == "required") {
				elementRequired = _dcl_this.elements[x][eachProperty];
			}
			else if (eachProperty.toLowerCase() == "message") {
				elementMessage = _dcl_this.elements[x][eachProperty];
			}
			else if (eachProperty.toLowerCase() == "validate") {
				elementValidate = _dcl_this.elements[x][eachProperty];
			};
			else if (eachProperty.toLowerCase() == "minlength") {
				elementMinLength = _dcl_this.elements[x][eachProperty];
			};
			else if (eachProperty.toLowerCase() == "oldvalue") {
				elementOldValue = _dcl_this.elements[x][eachProperty];
			};
			else if (eachProperty.toLowerCase() == "range") {
				var valueArray = _dcl_this.elements[x][eachProperty].split(",");
				elementMinValue = valueArray[0];
				elementMaxValue = valueArray[1];
			};
			else if (eachProperty.toLowerCase() == "greaterthan") {
				elementThisValue = _dcl_this.elements[x].value;
				for (var y = 0; y < _dcl_this.length; y++)
				{
					if (_dcl_this.elements[y].name && !(_dcl_this.elements[x][eachProperty] == null)){
						if (_dcl_this.elements[y].name.toLowerCase() == _dcl_this.elements[x][eachProperty].toLowerCase())
						{
							elementGreaterThan = _dcl_this.elements[y].value;
						};
					};
				};
			};
			else if (eachProperty.toLowerCase() == "greaterorequalto") {
				elementThisValue = _dcl_this.elements[x].value;
				for (var y = 0; y < _dcl_this.length; y++)
				{
					if (_dcl_this.elements[y].name && !(_dcl_this.elements[x][eachProperty] == null) && _dcl_this.elements[y].name.toLowerCase() == _dcl_this.elements[x][eachProperty].toLowerCase())
					{
						elementGreaterOrEqualTo = _dcl_this.elements[y].value;
					};
				};
			};
			else if (eachProperty.toLowerCase() == "higherorequalindexthan") {
				elementThisSelectedIndex = _dcl_this.elements[x].selectedIndex;
				for (var y = 0; y < _dcl_this.length; y++)
				{
					if (_dcl_this.elements[y].name && !(_dcl_this.elements[x][eachProperty] == null) && _dcl_this.elements[y].name.toLowerCase() == _dcl_this.elements[x][eachProperty].toLowerCase())
					{
						elementLowerOrEqualIndex = _dcl_this.elements[y].selectedIndex;
					};
				};
			};
			else if (eachProperty.toLowerCase() == "matchto" && _dcl_this.elements[x].value != "") {
				passwordMatchFrom = _dcl_this.elements[x].value;
				for (var y = 0; y < _dcl_this.length; y++)
				{
					if (_dcl_this.elements[y].name.toLowerCase() == _dcl_this.elements[x].matchto.toLowerCase())
					{
						passwordMatchTo = _dcl_this.elements[y].value;
					};
				};
			};
			else if (eachProperty.toLowerCase() == "filesuffix" && _dcl_this.elements[x].value != "") {
				elementFileSuffix =  _dcl_this.elements[x][eachProperty];
			}
			else if (eachProperty.toLowerCase() == "rejectvalues" && _dcl_this.elements[x].value != "") {
				elementRejectValues = _dcl_this.elements[x][eachProperty];
			}
		};
		if (elementRequired.toLowerCase() == "yes" && elementMessage != "") {
			if (!_dcl_hasValue(_dcl_this.elements[x], elementType)){
				if (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false;
				};
			};
		};
		if (elementMinLength != 0 && elementMessage != "") {
			if (!_dcl_minLength(_dcl_this.elements[x], elementType, elementMinLength)){
				if (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false;
				};
			};
		};
		if (elementValidate.toLowerCase() == "emailaddress" && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_checkEmailAddress(_dcl_this.elements[x].value)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementValidate.toLowerCase() == "creditcard" && elementMessage != "" && _dcl_this.elements[x].value != "") {
		  if (!_dcl_checkCreditCard(_dcl_this.elements[x].value, elementOldValue)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementValidate.toLowerCase() == "date" && elementMessage != "" && _dcl_this.elements[x].value != "") {
		  if (!_dcl_checkdate(_dcl_this.elements[x].value)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementValidate.toLowerCase() == "eurodate" && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_checkeurodate(_dcl_this.elements[x].value)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementValidate.toLowerCase() == "time" && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_checktime(_dcl_this.elements[x].value)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementValidate.toLowerCase() == "integer" && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_checkinteger(_dcl_this.elements[x].value)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementValidate.toLowerCase() == "float" && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_checknumber(_dcl_this.elements[x].value)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementValidate.toLowerCase() == "telephone" && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_checktelephone(_dcl_this.elements[x].value)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if ((elementMinValue != "" || elementMaxValue != "") && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_checkRange(_dcl_this.elements[x].value, elementMinValue, elementMaxValue)) {
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (!_dcl_comparePassword(passwordMatchFrom, passwordMatchTo) && elementMessage != "") {
			if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
				return false; 
			};
		};
		if (elementFileSuffix != "" && elementMessage != "" && _dcl_this.elements[x].value != "") {
			if (!_dcl_suffixCheck (elementFileSuffix, _dcl_this.elements[x].value)) {
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementRejectValues != "" && elementMessage != "") {
			if (!_dcl_rejectValues(_dcl_this.elements[x], elementType, elementRejectValues)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementGreaterThan != "" && elementMessage != "" && _dcl_this.elements[x].value != ""){
			if (!_dcl_greaterThan(elementThisValue, elementGreaterThan)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementGreaterOrEqualTo != "" && elementMessage != "" && _dcl_this.elements[x].value != ""){
			if (!_dcl_greaterOrEqualTo(elementThisValue, elementGreaterOrEqualTo)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
		if (elementThisSelectedIndex != "-1" && elementMessage != ""){
			if (!_dcl_greaterOrEqualTo(elementThisSelectedIndex, elementLowerOrEqualIndex)){
				if  (!_dcl_onError(_dcl_this, _dcl_this.elements[x], _dcl_this.elements[x].value, elementMessage)){
					return false; 
				};
			};
		};
	};
  return true;
};

function _dcl_multiSelectAny (selectObject){
	var i
	var hasSelected = false;
	if (selectObject.options[0].selected) {
		for (i = 1; i < selectObject.length; i++) {
			selectObject.options[i].selected = false;
		};
	}
	else
	{
		for (i = 1; i < selectObject.length; i++) {
			if (selectObject.options[i].selected == true) {
				hasSelected = true
			};
		};
	};
	selectObject.options[0].selected = !hasSelected;
};

function _dcl_suffixCheck (suffixList, fileName) {
	//checks to make sure that the suffix for the fileName is in the suffixList
	//returns true if in list, false if not
	suffixList = suffixList.replace(" ", "");
	var arraySuffix = suffixList.split(",");
	//If no file name then return true
	if (fileName == "") {
		return true;
	}
	//make sure there is a suffix
	if (fileName.lastIndexOf(".") == -1 || fileName.lastIndexOf(".") == fileName.length) {
		return false;
	};
	//now get the suffix
	var fileSuffix = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length);
	//loop through checking for the suffix, if found return true
	for (i = 0; i < arraySuffix.length; i++){
		if (arraySuffix[i] == fileSuffix) {
			return true;
		}
	}
	//as not found return false
	return false;
}

