function showField(id) {
	document.getElementById(id).style.display = '';
}
function hideField(id) {
	document.getElementById(id).style.display = 'none';
}
function allowNumeric(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if (charCode > 31 && (charCode < 48 || charCode > 57)) {
		return false;
		return true;
	}
}
function checkEmail(str) {
	var at   = '@';
	var dot  = '.';
	var lat  = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);
	if (str.indexOf(at)==-1) {
		return false;
	}
	else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
		return false;
	}
	else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
		return false;
	}
	else if (str.indexOf(at,(lat+1))!=-1) {
		return false;
	}
	else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
		return false;
	}
	else if (str.indexOf(dot,(lat+2))==-1) {
		return false;
	}
	else if (str.indexOf(' ')!=-1) {
		return false;
	}
	else {
		return true;
	}
}
function changeCountry(id) {
	var countries = id.options[id.selectedIndex].value;
   switch (countries) {
      case 'United States':
      case 'Canada':
         $('#countryCode, #intPhone').hide();
         $('#defaultPhone').show();
         break;
      default:
         $('#defaultPhone').hide();
         $('#countryCode, #intPhone').show();
   }
}


var url = '/captcha/validate.php?value=';
var cStatus = 2;

function httpObject() {
	try {
		req = new XMLHttpRequest();
	}
	catch (err1) {
		try {
			req = new ActiveXObject("Msxml12.XMLHTTP");
		}
		catch (err2) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (err3) {
				req = false;
			}
		}
	}
	return req;
}

var http = httpObject();

function handleResponse() {
	if (http.readyState == 4) {
		cStatus = http.responseText;
		if (cStatus != 1) {
			alert('The security code that you entered is incorrect. Please try again');
			var randomnumber = Math.floor(Math.random()*1001)
			document.getElementById('captcha').src = '/captcha/captcha.php?reload='+randomnumber;
			document.contactForm.captcha.value = '';
			document.contactForm.captcha.focus();
			return false;
		}
		document.contactForm.submit();
	}
}

function checkCode(captcha) {
	http.open("GET", url + captcha, true);
	http.onreadystatechange = handleResponse;
	http.send("");
}



function checkFields() {
	var errorBorder     = 'solid 1px #dc5c26';
	var errorBackground = '#ffe7cd';
	var validBorder     = 'solid 1px #999999';
	var validBackground = '#ffffff';
	var f               = document.contactForm;
	var captcha         = f.captcha;
	var reqField        = new Array();
	reqField[0]         = f.fname;
	reqField[1]         = f.lname;
	reqField[2]         = f.country;
	reqField[3]         = f.email1;
	reqField[4]         = f.email2;
	reqField[5]         = f.company;
	reqField[6]         = f.inquiry;
   reqField[7]         = f.comments;
   reqField[8]         = captcha;
	var errors          = 0;
	for (i=0; i<reqField.length; i++) {
		switch (i) {
			case 2:
				switch(reqField[i].value) {
					case 'United States':
					case 'Canada':
						var reqOption = new Array();
						reqOption[0]  = f.areacode;
						reqOption[1]  = f.prefix;
						reqOption[2]  = f.suffix;
						reqOption[3]  = f.faxareacode;
						reqOption[4]  = f.faxprefix;
						reqOption[5]  = f.faxsuffix;
						var reqLength  = new Array(3, 3, 4, 3, 3, 4);
						for (j=0;j<reqOption.length;j++) {
							if (reqOption[j].value.length<reqLength[j]) {
								reqOption[j].style.border     = errorBorder;
								reqOption[j].style.background = errorBackground;
								errors += 1;
							}
							else {
								reqOption[j].style.border     = validBorder;
								reqOption[j].style.background = validBackground;
							}
						}
						break;
					default:
						var reqOption = new Array();
						reqOption[1]  = f.countrycode;
						reqOption[2]  = f.intlphone;
						reqOption[3]  = f.intlfax;
						for (j=1;j<reqOption.length;j++) {
							if (reqOption[j].value == "") {
								reqOption[j].style.border     = errorBorder;
								reqOption[j].style.background = errorBackground;
								errors += 1;
							}
							else {
								reqOption[j].style.border     = validBorder;
								reqOption[j].style.background = validBackground;
							}
						}
						break;
				}
				break;
			case 3:
				if (checkEmail(reqField[i].value) == false ) {
					reqField[i].style.border     = errorBorder;
					reqField[i].style.background = errorBackground;
					errors += 1;
				}
				else {
					reqField[i].style.border     = validBorder;
					reqField[i].style.background = validBackground;
				}
				break;
			case 4:
				if ((reqField[i].value == "")||(reqField[i].value != reqField[i-1].value)) {
					reqField[i].style.border     = errorBorder;
					reqField[i].style.background = errorBackground;
					errors += 1;
				}
				else {
					reqField[i].style.border     = validBorder;
					reqField[i].style.background = validBackground;
				}
				break;
			case 8:
				if (reqField[i].value.length != 6) {
					reqField[i].style.border     = errorBorder;
					reqField[i].style.background = errorBackground;
					errors += 1;
				}
				else {
					reqField[i].style.border     = validBorder;
					reqField[i].style.background = validBackground;
				}
				break;
			default:
				if (reqField[i].value == '') {
					reqField[i].style.border     = errorBorder;
					reqField[i].style.background = errorBackground;
					errors += 1;
				}
				else {
					reqField[i].style.border     = validBorder;
					reqField[i].style.background = validBackground;
				}
		}
	}
		if (errors > 0) {
			alert('The highlighted fields need correction before you can submit your request.');
			return false;
		}
      checkCode(captcha.value);
}
