function validateAddress(incoming) {
   var emailstring = incoming;
   var ampIndex = emailstring.indexOf("@");
   var afterAmp = emailstring.substring((ampIndex + 1), emailstring.length);
   var dotIndex = afterAmp.indexOf(".");

   dotIndex = dotIndex + ampIndex + 1;
   afterAmp = emailstring.substring((ampIndex + 1), dotIndex);
   var afterDot = emailstring.substring((dotIndex + 1), emailstring.length);
   var beforeAmp = emailstring.substring(0,(ampIndex));
   var email_regex = /^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/ 

   if ((emailstring.indexOf("@") != "-1") &&
    (emailstring.length > 5) &&
    (afterAmp.length > 0) &&
    (beforeAmp.length > 1) &&
    (afterDot.length > 1) &&
    (email_regex.test(emailstring)) ) {
      return true;
   } else {
    	return false;
   }
}

function changeImage(imgtag, imagename) {
  var last = document.images[imgtag].src;
	document.images[imgtag].src = imagename;
}

function openClose(elementOpen, elementClose) {
	if(elementClose != null) {
		var closeElement = document.getElementById(elementClose);
		closeElement.style.display = 'none';
	}
	
	if(elementOpen != null) {
		var openElement = document.getElementById(elementOpen);
		openElement.style.display = 'block';
	}
}

function checkForm(fieldArray, mandError) {
	var currentElement = null;
	var errorCount = 0;
	
	for(i=0; i < fieldArray.length; i++) {
		currentElement = document.getElementById(fieldArray[i]);
		
		if(trimValue(currentElement.value) == '') {
			currentElement.style.borderColor = 'red';
			errorCount++;
		}
		else {
			currentElement.style.borderColor = '#A2B7CB';
		}
	}
	
	if(errorCount > 0) {
		alert(mandError);
		return false;
	}
	else {
		return true;
	}
}	

function trimValue(s) {
	// Remove leading spaces and carriage returns
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
  	s = s.substring(1,s.length);
  }

  // Remove trailing spaces and carriage returns
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
		s = s.substring(0,s.length-1);
  }

  return s;
}

function checkNumberFields(fieldArray, numberError) {
	var currentElement = null;
	var errorCount = 0;
	
	for(i=0; i < fieldArray.length; i++) {
		currentElement = document.getElementById(fieldArray[i]);
		elementValue = trimValue(currentElement.value);
		
		if(elementValue != '' && isNaN(elementValue) == true) {
			currentElement.style.borderColor = 'red';
			errorCount++;
		}
		else {
			currentElement.style.borderColor = '#A2B7CB';
		}
	}
	
	if(errorCount > 0) {
		alert(numberError);
		return false;
	}
	else {
		return true;
	}
}	

function countChars(elementInput, elementOutput) {
	var inputElement = document.getElementById(elementInput);
	var outputElement = document.getElementById(elementOutput);
	var inputValue = inputElement.value;
	var charCount = 0;
	
	if(inputValue.length > 1000) {
		outputElement.style.color = 'red';
	}
	else {
		outputElement.style.color = '#929292';
	}
	
	outputElement.innerHTML = inputValue.length;
}

