
var bSkip = false;

function setSkip(){
  bSkip = true;
}

function validateEmpty(fld, Nm) {
    var error = "";
  
    if (fld.value.length == 0) {
        fld.style.background = 'Wheat'; 
        error = "The required field - \"" + Nm + "\" has not been filled in.\n"
    } else {
        fld.style.background = 'White';
    }
    return error;   
}


function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
} 

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    
    if (fld.value == "") {
        fld.style.background = 'Wheat';
        error = "You didn't enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Wheat';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Wheat';
        error = "The email address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}

function validatePhone(fld) {
   var error = "";
   var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     
   if (fld.value == "") {
        error = "You didn't enter a phone number.\n";
        fld.style.background = 'Wheat';
    } else if (isNaN(parseInt(stripped))) {
        error = "The phone number contains illegal characters.\n";
        fld.style.background = 'Wheat';
    } else if (!(stripped.length == 10)) {
        error = "The phone number is the wrong length. Make sure you included an area code.\n";
        fld.style.background = 'Wheat';
    } 
    return error;
}

function validateFormOnSubmit(theForm) {

  var reason = "";
  if ( bSkip == false ) {
    if ( document.getElementById('email') )
      reason += validateEmail(theForm.email);
    if ( document.getElementById('fname') )
      reason += validateEmpty(theForm.fname, "First Name");
    if ( document.getElementById('lname') )
      reason += validateEmpty(theForm.lname, "Last Name");
    if ( document.getElementById('phone') )
      reason += validatePhone(theForm.phone);
    if ( document.getElementById('addr') )
      reason += validateEmpty(theForm.addr, "Address");
    if ( document.getElementById('city') )
      reason += validateEmpty(theForm.city, "City");
    if ( document.getElementById('zip') )
      reason += validateEmpty(theForm.zip, "Postal Code");
  }
  if (reason != "") {
    alert("Some fields need correction:\n" + reason);
    return false;
  }
  return true;
}

function validateFormOnSubmitGA(theForm,sEEID) {

  var reason = "";
  if ( bSkip == false ) {
    if ( document.getElementById('email') )
      reason += validateEmail(theForm.email);
    if ( document.getElementById('fname') )
      reason += validateEmpty(theForm.fname, "First Name");
    if ( document.getElementById('lname') )
      reason += validateEmpty(theForm.lname, "Last Name");
    if ( document.getElementById('phone') )
      reason += validatePhone(theForm.phone);
    if ( document.getElementById('addr') )
      reason += validateEmpty(theForm.addr, "Address");
    if ( document.getElementById('city') )
      reason += validateEmpty(theForm.city, "City");
    if ( document.getElementById('zip') )
      reason += validateEmpty(theForm.zip, "Postal Code");
  }

  if (reason != "") {
    alert("Some fields need correction:\n" + reason);
    return false;
  } else {
	var btran = 0;
	var tot = 0;
	for (i = 0; i < theForm.itemsel.length; i++)
	{
		if (theForm.itemsel[i].checked){
			btran = 1;
			if (theForm.itemv[i].value != "")
				tot = tot + parseFloat(theForm.itemv[i].value);
		}
	}
	/*alert(tot);*/
	if (btran > 0 ) { 
		pageTracker._addTrans(sEEID,"",tot,"0.00","0.00","","","");
		for (i = 0; i < theForm.itemsel.length; i++)
		{
			if (theForm.itemsel[i].checked){

				if (theForm.itemv[i].value != "") {
					var pr = parseFloat(theForm.itemv[i].value);
					var des = theForm.itemd[i].value;
					pageTracker._addItem(sEEID,des,des,theForm.actv.value,pr,"1");
					/*alert(des);*/
				}
			}
		}

		pageTracker._trackTrans();
            /* setTimeout(function() { theForm.submit(); }, 500);
            return false; */
	}
  }
  return true;

}
function removeElement(DivID) {
  var d = document.getElementById('hold');
  var elemid = document.getElementById(DivID);
  d.removeChild(elemid);
}
function removeRowFromTable(fieldName)
{
  var tbl = document.getElementById('tb1');
  var nRow = document.getElementById(fieldName).parentElement.parentElement.rowIndex;
  tbl.deleteRow(nRow);
}
function setconf(chkd,fieldName)
{
	frm = document.getElementById("frm1");
	if (chkd)
		frm.elements[fieldName].value = 'Y';
	else
		frm.elements[fieldName].value = 'N';
}

function askConf(holdid, bChecked,fieldName,sQuestion) {
	if (bChecked == false) {
		removeRowFromTable('c' + fieldName)
		return;
	}

	if (document.getElementById('c' + fieldName) != null) {
	}
	else {
		tbl = document.getElementById("tb1");
		frm = document.getElementById("frm1");
		var nRow = document.getElementById(holdid).parentElement.parentElement.rowIndex + 1;
		var newRow = tbl.insertRow(nRow);
		var oCell = newRow.insertCell();
		oCell.colSpan = 3;
		oCell.width = 120;
    		oCell.innerHTML = '<strong>' + sQuestion + '</strong>';
		var oCell2 = newRow.insertCell();
		oCell2.colSpan = 4;
		var el = document.createElement('input');
		el.type = 'checkbox';
		el.name = 'c' + fieldName;
		el.id = 'c' + fieldName;
		el.value = 'Yes';
		el.onclick = "setconf(this.checked,'" + fieldName + "')";
		el.checked = el.defaultChecked = false;
		/* el.size = 10; */
		oCell2.appendChild(el);
		oCell2.innerHTML = oCell2.innerHTML + '&nbsp;&nbsp;<strong>Yes</strong>';
	}
	return;
}

function askConf2(frm,bChecked,fieldName,sQuestion) {
	if (bChecked == false) {
		removeElement(fieldName)
		return;
	}
	var answer = confirm (sQuestion);

	if (document.getElementById(fieldName) != null) {
		if (answer){
			document.getElementById(fieldName).value="Y";
		}
		else {
			document.getElementById(fieldName).value="N";
		}
	}
	else {
		para = document.getElementById("hold");
		var inputElement = document.createElement("input");
		inputElement.type="text";
		inputElement.name=fieldName;
		inputElement.id=fieldName;
		if (answer){
			inputElement.value="Y";
		}
		else {
			inputElement.value="N";
		}

		para.appendChild(inputElement);
	}
	return;
}

