var companySet = false;
var contactSet = false;
var phoneSet = false;
var emailSet = false;
var regnumSet = false;
var expreleaseSet = false;
var progversionSet = false;
var patchlevelSet = false;
var osSet = false;

function isValid(div, type, value, variable) {
	switch(type) {
		case 'text':
			if(value.length > 0) {
				setVar(true, variable);
				printImg(true, div);
			}
			else {
				setVar(false, variable);
				printImg(false, div);
			}
			break;
		case 'phone':
			if(isPhone(value)) {
				phoneSet = true;
				printImg(true, div);
			}
			else {
				phoneSet = false;
				printImg(false, div);
			}
			break;
		case 'email':
			var pattern = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
			if(pattern.test(value)) {
				emailSet = true;
				printImg(true, div);
			}
			else {  
				emailSet = false;
				printImg(false, div);
			}
			break;
		case 'regnum':
			if(isRegNum(value)) {
				regnumSet = true;
				printImg(true, div);
			}
			else {
				regnumSet = false;
				printImg(false, div);
			}
			break;
	}
}

function setVar(check, variable) {
	switch(variable) {
		case 'company':
			companySet = check;
			break;
		case 'contact':
			contactSet = check;
			break;
		case 'exprelease':
			expreleaseSet = check;
			break;
		case 'progversion':
			progversionSet = check;
			break;
		case 'patchlevel':
			patchlevelSet = check;
			break;
		case 'os':
			osSet = check;
			break;
	}
}

function printImg(check, div) {
	if(check) {
		document.getElementById(div).innerHTML = '<img src="images/checkmark.png" alt="" />';
	}
	else {
		document.getElementById(div).innerHTML = '<img src="images/red_x.png" alt="" />';
	}
}

function isPhone(phone) {
	var phoneVars = "0123456789.,-() ";
	for(var i = 0; i < phone.length; i++) {
		var check = phone.charAt(i);
		if(phoneVars.indexOf(check) == -1) {
			return false;
		}
	}
	if(phone.length > 0) {
		return true;
	}
	return false;
}

function isRegNum(regnum) {
	var allowed = "0123456789";
	for(var i = 0; i < regnum.length; i++) {
		var check = regnum.charAt(i);
		if(allowed.indexOf(check) == -1) {
			return false;
		}
	}
	if(regnum.length > 0) {
		return true;
	}
	return false;
}

function onFormSubmit() {
	if(contactSet && companySet && phoneSet && emailSet && regnumSet && expreleaseSet && progversionSet && osSet && patchlevelSet) {
		return true;
	}
	else {
		alert('Please fill in all required fields marked with a * and make sure all information is correct.');
		return false;
	}
}
