﻿errorClr = "#FF8888";
greyClr = "#EEEEEE";
whiteClr = "#FFFFFF";

function setprof(theform) {
	if (bobjectsprof != null) {
		for (var i=0; i < theform.elements.length; i++) {
			var fld = theform.elements[i];
			switch (fld.type) {
				case "text":
				case "textarea":
				case "select":
				case "select-one":
					if (bobjectsprof[fld.name] != undefined) {
						var val = bobjectsprof[fld.name];
						if ((val.length > 0)
							&& (fld.name.indexOf("qrQuestion_") != 0)
							&& (fld.name.indexOf("qrResponse_") != 0)
							&& (fld.name.indexOf("CID") != 0)
							&& (fld.name.indexOf("campaign_array") != 0)
							&& (fld.name.indexOf("00N30000000hvfB") != 0)) {
							setval(fld, val);
							fld.style.backgroundColor = whiteClr;
						}
					}
					break;
				case "radio":
					if (bobjectsprof[fld.name] != undefined) {
						var val = bobjectsprof[fld.name];
						if ((val.length > 0) && (fld.value == val))
							fld.click();
					}
			}
		}
	}
}

function foc(fld) {
	fld.style.backgroundColor = whiteClr;
}

function blr(fld) {
	if (getval(fld).length == 0) {
		fld.style.backgroundColor = greyClr;
	} else {
		fld.style.backgroundColor = whiteClr;
	}
}

function selchg(fld) {
	if (fld.selectedIndex > 0)
		fld.style.backgroundColor = whiteClr;
	else
		fld.style.backgroundColor = greyClr;
}

function radchg(fld) {
	radset = fld.form[fld.name];
	for (i=0; i < radset.length; i++)
		radset[i].style.backgroundColor = whiteClr;
}

function isreq(item, theform) {
	var reqarray = theform.reqlist.value.split(",");
	for (var i=0; i < reqarray.length; i++) {
		if (item == reqarray[i])
			return true;
	}
	return false;
}

function isRadio(fld) {
	if ((fld.length > 0) && ((fld.type == null) || (fld.type == "undefined")))
		return true;
	else
		return false;
}

function getval(fld) {
	if (isRadio(fld))
		return getvalradio(thisfld);
	else {
		switch (fld.type) {
			case "select":
			case "select-one":
				if (fld.selectedIndex != -1)
					return fld.options[fld.selectedIndex].value;
				else
					return "";
		}
		return fld.value;
	}
}

function getvalradio(fld) {
	for (i=0; i < fld.length; i++) {
		if (fld[i].checked)
			return fld[i].value;
	}
	return "";
}

function setvalradio(fld, val) {
	for (i=0; i < fld.length; i++) {
		if (fld[i].value == val)
			fld[i].click();
	}
}

function setval(fld, val) {
	if (isRadio(fld))
		setvalradio(fld, val);
	else {
		switch (fld.type) {
			case "select":
			case "select-one":
				for (var i=0; i < fld.options.length; i++) {
					if (fld.options[i].value == val) {
						fld.options[i].selected = true;
						return;
					}
				}
				fld.options[0].selected = true;
			default:
				fld.value = val;
		}
	}
}

function setErrorClr(fld) {
	if (isRadio(fld)) {
		for (i=0; i < fld.length; i++) {
			fld[i].style.backgroundColor = errorClr;
		}
	} else
		fld.style.backgroundColor = errorClr;
}

function getmark(fld) {
	if (isRadio(fld))
		thisfld = fld[0];
	else
		thisfld = fld;
	
	if ((thisfld.attributes["mark"] == null) || (thisfld.attributes["mark"] == "undefined"))
		return "";
	else
		return thisfld.attributes["mark"].value;
}

function checkreqs(theform) {
	var reqarray = theform.reqlist.value.split(",");
	var havereqs = true;
	var sep = "";
	
	var errMsg;	
	thisfld = theform.elements["missingErrorMsg"];
	if (typeof(thisfld) != "undefined") {
		val = getval(thisfld);
		if (val.length > 0) {
			errMsg = val;
		} else {
			errMsg = "Required fields missing: ";
		}
	} else {
		errMsg = "Required fields missing: ";
	}
	
	var formatMsg;	
	thisfld = theform.elements["formatErrorMsg"];
	if (typeof(thisfld) != "undefined") {
		val = getval(thisfld);
		if (val.length > 0) {
			formatMsg = val;
		} else {
			formatMsg = "Email format not valid";
		}
	} else {
		formatMsg = "Email format not valid";
	}
	
	if (theform.AMEmailproductpromo != null) {
		reqarray[reqarray.length] = "AMEmailproductpromo";
	}
	
	for (var i=0; i < reqarray.length; i++) {
		var fldname = reqarray[i];
		thisfld = theform.elements[fldname];
		val = getval(thisfld);
		if (val.length == 0) {
			setErrorClr(thisfld);
			if (hasmark(thisfld)) {
				errMsg += sep + getmark(thisfld);
			} else {
				errMsg += sep + fldname;
			}
			sep = ", ";
			havereqs = false;
		}
		if (!isRadio(thisfld) && (fldname == "email") && (!emailCheck(thisfld.value))) {
			thisfld.style.backgroundColor = errorClr;
			errMsg += sep + formatMsg;
			sep = ", ";
			havereqs = false;
		}
	}
	var errSpot = document.getElementById("errMsg");
	if (!havereqs)
		errSpot.innerHTML = errMsg;
	return havereqs;
}

function hasmark(fld) {
	if (isRadio(fld))
		thisfld = fld[0];
	else
		thisfld = fld;

	if ((thisfld.attributes["mark"] != undefined) && (thisfld.attributes["mark"].value.length > 0))
		return true;
	else
		return false;
}
