/* This script validates the data entered by the user.
Original author: My Colorful Treasures
http://www.mycolorfultreasureswebdesign.com
Last Updated: May 6, 2008

Usage Description:
page - the page being validated
*/

function validateInfo(page){
  if (page == "link") {
    var re = /http/i;
    if (re.test(document.form1.description.value)) {
	  alert("Html links are not allowed in the description!");
	  return false;
	}
	
	if (!validcharacters(document.form1.linktitle.value) || !document.form1.linktitle.value.length) {
	   alert("Please enter a valid website name!");
	   return false;
	} else if (!validcharacters(document.form1.url.value) || !document.form1.url.value.length) {
	   alert("Please enter a valid website url!");
	   return false;
	} else if (!validcharacters(document.form1.description.value) || !document.form1.description.value.length) {
	   alert("Please enter a valid website description!");
	   return false;
	} else if (!validcharacters(document.form1.reciprocalurl.value) || !document.form1.reciprocalurl.value.length) {
	   alert("Please enter a valid reciprocal link!");
	   return false;
	} else if (!validcharacters(document.form1.contactname.value) || !document.form1.contactname.value.length) {
	   alert("Please enter a valid contact name!");
	   return false;
	} else if (!validcharacters(document.form1.contactemail.value) || !document.form1.contactemail.value.length) {
	   alert("Please enter a valid contact email!");
	   return false;
	} else if (!checkvalidationcode(document.form1.validationcode.value)) {
	   alert("Invalid validation code!");
	   return false;
	}
  } else if (page == "contact") {
    if (!validcharacters(document.form1.contactname.value) || !document.form1.contactname.value.length) {
	   alert("Please enter a valid contact name!");
	   return false;
	} else if (!validcharacters(document.form1.subject.value) || !document.form1.subject.value.length) {
	   alert("Please enter a valid subject!");
	   return false;
	} else if (!validcharacters(document.form1.contactemail.value) || !document.form1.contactemail.value.length) {
	   alert("Please enter a valid contact email!");
	   return false;
	} else if (!validcharacters(document.form1.contactnumber.value) || !document.form1.contactnumber.value.length) {
	   alert("Please enter a valid contact number!");
	   return false;
	} else if (!validcharacters(document.form1.comments.value)) {
	   alert("Invalid characters not allowed in the comments field!");
	   return false;
	} else if (!checkvalidationcode(document.form1.validationcode.value)) {
	   alert("Invalid validation code!");
	   return false;
	}
  } else if (page == "graphicinfo") {
    if (!validcharacters(document.form1.websitename.value) || !document.form1.websitename.value.length) {
	   alert("Please enter a valid website name!");
	   return false;
	} else if (!validcharacters(document.form1.fontstyle1.value) || !document.form1.fontstyle1.value.length) {
	   alert("Please enter a valid font style line 1!");
	   return false;
  	} else if (!validcharacters(document.form1.fontcolor1.value) || !document.form1.fontcolor1.value.length) {
	   alert("Please enter a valid font color line 1!");
	   return false;
	} else if (!validcharacters(document.form1.description.value)) {
	   alert("Invalid characters not allowed in the website description field!");
	   return false;
	} else if (!validcharacters(document.form1.fontstyle2.value)) {
	   alert("Invalid characters not allowed in the font style line 2 field!");
	   return false;
  	} else if (!validcharacters(document.form1.fontcolor2.value)) {
	   alert("Invalid characters not allowed in the font color line 2 field!");
	   return false;
	} else if (!validcharacters(document.form1.sizeneeded.value) || !document.form1.sizeneeded.value.length) {
	   alert("Please enter a valid image size needed!");
	   return false;
	} else if (!validcharacters(document.form1.websiteurl.value) || !document.form1.websiteurl.value.length) {
	   alert("Please enter a valid website url!");
	   return false;
	} else if (!validcharacters(document.form1.contactname.value) || !document.form1.contactname.value.length) {
	   alert("Please enter a valid contact name!");
	   return false;
	} else if (!validcharacters(document.form1.emailaddress.value) || !document.form1.emailaddress.value.length) {
	   alert("Please enter a valid email address!");
	   return false;
	} else if (!validcharacters(document.form1.comments.value)) {
	   alert("Invalid characters not allowed in the comments field!");
	   return false;
	} else if (!checkvalidationcode(document.form1.validationcode.value)) {
	   alert("Invalid validation code!");
	   return false;
	}
  } else if (page == "awardapplication") {
    if (!validcharacters(document.form1.websitename.value) || !document.form1.websitename.value.length) {
	   alert("Please enter a valid website name!");
	   return false;
	} else if (!validcharacters(document.form1.websiteurl.value) || !document.form1.websiteurl.value.length) {
	   alert("Please enter a valid website url!");
	   return false;
	} else if (!validcharacters(document.form1.contactname.value) || !document.form1.contactname.value.length) {
	   alert("Please enter a valid contact name!");
	   return false;
	} else if (!validcharacters(document.form1.emailaddress.value) || !document.form1.emailaddress.value.length) {
	   alert("Please enter a valid email address!");
	   return false;
	} else if (!validcharacters(document.form1.comments.value)) {
	   alert("Invalid characters not allowed in the comments field!");
	   return false;
	} else if (!checkvalidationcode(document.form1.validationcode.value)) {
	   alert("Invalid validation code!");
	   return false;
	}
  } else if (page == "productreview") {
	if (!validcharacters(document.form1.productname.value) || !document.form1.productname.value.length) {
	   alert("Please enter a valid product name!");
	   return false;
	} else if (!validcharacters(document.form1.linktitle.value) || !document.form1.linktitle.value.length) {
	   alert("Please enter a valid website name!");
	   return false;
	} else if (!validcharacters(document.form1.url.value) || !document.form1.url.value.length) {
	   alert("Please enter a valid website url!");
	   return false;
	} else if (!validcharacters(document.form1.imageurl.value) || !document.form1.imageurl.value.length) {
	   alert("Please enter a valid banner image url!");
	   return false;
	} else if (!validcharacters(document.form1.contactname.value) || !document.form1.contactname.value.length) {
	   alert("Please enter a valid contact name!");
	   return false;
	} else if (!validcharacters(document.form1.contactemail.value) || !document.form1.contactemail.value.length) {
	   alert("Please enter a valid contact email!");
	   return false;
	} else if (!validcharacters(document.form1.comments.value)) {
	   alert("Invalid characters not allowed in the comments field!");
	   return false;
	} else if (!checkvalidationcode(document.form1.validationcode.value)) {
	   alert("Invalid validation code!");
	   return false;
	}
  } else if (page == "newsletter") {
  	if (!validcharacters(document.form1.contactname.value) || !document.form1.contactname.value.length) {
	   alert("Please enter a valid contact name!");
	   return false;
	} else if (!validcharacters(document.form1.emailaddress.value) || !document.form1.emailaddress.value.length) {
	   alert("Please enter a valid email address!");
	   return false;
	} else if (!checkvalidationcode(document.form1.validationcode.value)) {
	   alert("Invalid validation code!");
	   return false;
	}
  }
  document.form1.blockspambots.value = 7*6*2001;
  return true;
}

function validcharacters(text)
{
	var currentText = text;
	var character;
	var code;
	for(var j=0; j< currentText.length; j++)
	{
		  character = currentText.charAt(j);
		  code = character.charCodeAt(0);
		  if((code < 32 || code > 126) && code != 13 && code != 10)
		  {
		    return false;
		  }
	}
    return true;
}

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}