//new auto-populate checkbox when field has input function

function doCheckInput(theForm) {
	with (document.frm2) {
    for (var i=0; i < elements.length; i++) {
        if (elements[i].type == 'text' && elements[i].value.length > 0){
			if(elements[i].name == 'contractNaicstxt') {
				elements[i - 2].checked = true;
			}else {
				elements[i - 1].checked = true;
			}
		}
		if (elements[i].type == "select-multiple") {
			for(var j = 0; j < elements[i].options.length; j++) {
				if (elements[i].options[j].selected) 
				elements[i - 1].checked = true;
			}
		}
    }
  }
 return validateForm(theForm);
}

//#####################################################
function DeleteMyError(tblID,row_name,formField) {
	var result = true;
	var oRow, oCell;
	oRow = tblID.rows;

	for(var i=0;i<oRow.length;i++) {
		if (oRow[i].name == row_name) {
			tblID.deleteRow(parseInt(oRow[i].index));
			result = true;
			return result;
		}  else {
			result = false;
		}
	}
	return result;
}

//#####################################################
function PrintMyError(tblID,row_num,msgID,custom_format)
{
  var result = true;
  var oRow, oCell;
  if (!row_num) {
    row_num = 0;
  }

  oRow = tblID.insertRow(row_num);
  oRow.name = "Error - ";	// + msgID;
  oRow.index = parseInt(row_num);
  oCell = oRow.insertCell(0);
  oCell.colSpan = "2";
  oCell.style.backgroundImage = 'url(/images/spacer.gif)';

  if (custom_format == "")
  {
	oCell.innerHTML = "<font class='error'>\t\t\t\tERROR! No <u>" + msgID + "</u> was entered.</font>";
  }  else  {
	oCell.innerHTML = "<font class='error'>\t\t\t\tERROR! Value entered for <u>" + msgID + "</u> was not entered in the proper format. Format as follows: <b>" + custom_format + "</b> .</font>";
  }

  tblID.focus();
  return result;
}

//#####################################################
function doClear(theText)
{
  theText.value = "";
}

//#####################################################
function validRequired(formField)
{
  var result = true;
  var deletion;
  var fieldLabel = formField.name;
  var error_row_name = "Error - ";	// + fieldLabel;
  var type = new String(formField.type);
 //alert("formField name: " + fieldLabel + "value of type : " + type + "\n");
  var msg;
  if (type.search("text") != -1) {
	  //alert("formField name: " + fieldLabel + " value : " + formField.value);
	  if (formField.value == "")
	  {
	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {
		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);
		//PrintMyError(document.getElementById("formTbl"),formField.index,fieldLabel,"");
		msg = "ERROR! No " + fieldLabel + " was entered.\n";
			if (formField.name == 'userNameReg')
			{
				msg = "User Name is a mandatory field.\n";
			}
			if (formField.name == 'userAnswer')
			{
				msg = "Secret Answer is a mandatory field.\n";
			}
	    }
	    else {
		msg = "ERROR! No " + fieldLabel + " was entered.\n";
			if (formField.name == 'userNameReg')
			{
				msg = "User Name is a mandatory field.\n";
			}
			if (formField.name == 'userAnswer')
			{
				msg = "Secret Answer is a mandatory field.\n";
			}
	    }
	    formField.focus();
	    result = msg;
	  }
  }
   else if (type.search("password") != -1) {
	   //alert("this field is a password");
	  if (formField.value == "")
	  {
	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {		
		msg = "Password is a mandatory field.\n";
		if (formField.name == 'checkPass')
			{
				msg = "Re-Type Password is a mandatory field.\n";
			}
		if (formField.name == 'userPassReg')
			{
				msg = "Password is a mandatory field.\n";
			}
	    }

	    else {

		//msg = "ERROR! No " + fieldLabel + " was entered.\n";

		msg = "Password is a mandatory field.\n";

		if (formField.name == 'checkPass')

			{

				msg = "Re-Type Password is a mandatory field.\n";

			}

		if (formField.name == 'userPassReg')

		{

			msg = "Password is a mandatory field.\n";

		}

	    }

	    formField.focus();

	    result = msg;

	  }

  }

  else if (type.search("select") != -1) {

	if ((parseInt(formField.selectedIndex) == -1) || (parseInt(formField.selectedIndex) == 0)) {

	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {

			msg = "ERROR! No " + fieldLabel + " was entered.\n";
	    }

	    else {

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    formField.focus();

	    result = msg;

	}

  }

  else if ((type.search("checkbox") != -1) || (type.search("radio") != -1)) {

	for(var i=0;i<formField.length;i++) {

	   if (eval(formField[i].checked)) {

	      result = true;

	   }

	   else {

	      if (!isIE3Mac && (is.ie5up || is.nav6up)) {
			msg = "ERROR! No " + fieldLabel + " was entered.\n";

	      }

	      else {

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	      }

	      result = msg;

	   }

	}

	if (!result) {

	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {
			msg = "ERROR! No " + fieldLabel + " was entered.\n";
	    }
	    else {
			msg = "ERROR! No " + fieldLabel + " was entered.\n";
	    }

	    formField.focus();
	    return msg;
	}
	else {
	    return result;
	}

  }

  else {

	return result;

  }

return result;

}


//#####################################################
function validRequiredCloseDate(formField)
{
  var result = true;
  var deletion;
  var fieldLabel = formField.name;
  var error_row_name = "Error - ";	// + fieldLabel;
  var type = new String(formField.type);
  var msg;

  if (type.search("text") != -1) {
	  if (formField.value == "")
	  {
	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {
		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);
		//PrintMyError(document.getElementById("formTbl"),formField.index,fieldLabel,"");
		msg = "ERROR! No " + fieldLabel + " was entered.\n";
		msg = msg + "Any job submitted without a closure date will be removed immediately.\n";
		msg = msg + "If you'd like a job to remain for a longer period then please adjust \n";
		msg = msg + "your job closure date to one year from today.\n";
	    }
	    else {
		msg = "ERROR! No " + fieldLabel + " was entered.\n";
	    }
	    formField.focus();
	    result = msg;
	  }
  }

if (!result) {
	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"");

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    else {

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    formField.focus();

	    return msg;

	}

	else {

	    return result;

	}

	

return result;

}



//#####################################################







//#####################################################



function validRequiredDate(formField)

{

	//for purchase postings

  var result = true;

  var deletion;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var type = new String(formField.type);

  var msg;



  if (type.search("text") != -1) {

	  if (formField.value == "")

	  {

	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),formField.index,fieldLabel,"");

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

		msg = msg + "Any purchase opportunity submitted without a required date will be removed immediately.\n";

		msg = msg + "If you'd like a purchase to remain for a longer period then please adjust \n";

		msg = msg + "your purchase required date to one year from today.\n";

	    }

	    else {

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    formField.focus();

	    result = msg;

	  }

  }



if (!result) {

	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"");

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    else {

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    formField.focus();

	    return msg;

	}

	else {

	    return result;

	}

	

return result;

}



//#####################################################







//#####################################################

//contract request date field 

function validContractRequestDate(formField)

{

	//for purchase postings

  var result = true;

  var deletion;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var type = new String(formField.type);

  var msg;



  if (type.search("text") != -1) {

	  if (formField.value == "")

	  {

	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),formField.index,fieldLabel,"");

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

		msg = msg + "Any contract opportunity submitted without a request date will be removed immediately.\n";

		msg = msg + "If you'd like a contract to remain for a longer period then please adjust \n";

		msg = msg + "your contract request date to one year from today.\n";

	    }

	    else {

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    formField.focus();

	    result = msg;

	  }

  }



if (!result) {

	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"");

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    else {

		msg = "ERROR! No " + fieldLabel + " was entered.\n";

	    }

	    formField.focus();

	    return msg;

	}

	else {

	    return result;

	}

	

return result;

}



//#####################################################





function validPasswordCmp(formField_A,formField_B,required)

{

  var result = true;

  var fieldLabel = formField_B.id;

  var msg;



  if (required && !validRequired(formField_B)){

    result = false;

  }

   if (result)

   {

	if (formField_A.value != formField_B.value)

	   {

		//alert("form fields for passwords do not match");

	    if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		    //deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		    ////PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),"");

			msg = "ERROR! The Passwords do not match, please retype.\n";

	    }

	    else {

			msg = "ERROR! The Passwords do not match, please retype.\n";

	    }

	    formField_B.focus();

	    result = msg;

	  }else {

			//alert("form fields for passwords match");

	  }

   }

  //result = "the values did not match but passed anyways \n";

  return result;

}



// ######################################################

function validDomain(formField,required) {

	var regexp1 = /^[Ww][Ww][Ww]\./;

	var regexp2 = /^[a-zA-Z0-9]+$/;

	var regexp3 = /\-/;

	var maxLen = 128;

	var minLen = 5;

	var domainAry = new Array();

	var result = true;

	var fieldLabel = formField.name;

	var error_row_name = "Error - ";	// + fieldLabel;

	var custom_error = "";

	var msg;



	domainAry = formField.value.split(".");



	if (regexp1.test(formField.value)) {

	     formField.value = formField.value.replace(regexp1,'');

	}



	if (formField.value.indexOf( "." ) == -1) {

	     custom_error = "'yourdomain.com'";

	     if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),formField.index,fieldLabel,custom_error);

		//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

	     msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)";

		 }

	     else {

		//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

	     msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)";

		 }

	     formField.focus();

	     return msg;

	}



	if (!(parseInt(formField.value.length) >= minLen) && !(parseInt(formField.value) <= maxLen)) {

	     custom_error = "'Must be 5-128 characters long'";

	     if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),formField.index,fieldLabel,custom_error);

		//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

	     msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)";

		 }

	     else {

		//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

	     msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)";

		 }

	     formField.focus();

	     return msg;

	}



	for (var i=0; i< domainAry.length;i++) {

	   if (!regexp2.test(domainAry[i])) {

	      if (!regexp3.test(domainAry[i])) {

		custom_error = "'Field may only contain letters, numbers and dashes'";

		if (!isIE3Mac && (is.ie5up || is.nav6up)) {

			//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

			//PrintMyError(document.getElementById("formTbl"),formField.index,fieldLabel,custom_error);

			//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

			msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)";

		 }

		else {

			//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

			msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)";

		 }

		formField.focus();

		return msg;

	      }

	   }

	}

return result;

}



//#####################################################

function validNum(formField,required)

{

  var result = true;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var custom_error = "";

  var msg;



  if (required && !validRequired(formField,fieldLabel))

    result = false;

  

   if (result)

   {

     var num = parseInt(formField.value);

     if (isNaN(num))

     {

        custom_error = "'0123456789'";

        if (!isIE3Mac && (is.ie5up || is.nav6up)) {

	//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

	//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"0123456789");

	msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat is numeric as follows: " + custom_error + ".\n";

        }

        else {

	msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat is numeric as follows: " + custom_error + ".\n";

        }

        formField.focus();    

        result = msg;

     }

   } 

  

  return result;

}



function validNum2(formField)

{

  var result = true;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var custom_error = "";

  var msg;



   if (formField.value == "")

	  {

	   return result;

	  }

	  else {



		var num = parseInt(formField.value);

		if (isNaN(num))

		{

		custom_error = "'0123456789'";

		if (!isIE3Mac && (is.ie5up || is.nav6up)) {

		//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

		//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"0123456789");

		msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat is numeric as follows: " + custom_error + ".\n";

		}

		else {

		msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat is numeric as follows: " + custom_error + ".\n";

		}

		formField.focus();    

		result = msg;

		}

		return result;

	  }

}



//#####################################################

function validPhoneNum(formField,required)

{

  var result = true;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var custom_error = "";

  var msg;



  if (required && !validRequired(formField,fieldLabel))

    result = false;

  

   if (result)

   {

     var num = parseInt(formField.value);

     if (isNaN(num))

     {

        custom_error = "'(555) 5555555'";

        if (!isIE3Mac && (is.ie5up || is.nav6up)) {

	//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

	//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"(555) 5555555");

	msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

        }

        else {

	msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

        }

        formField.focus();

        result = msg;

     }

   }

  

  return result;

}



//#####################################################

function validDate(formField,required)

{

  var result = true;

  var fieldLabel = formField.name;

  var custom_error = "";

  var msg;



  if (required && !validRequired(formField,fieldLabel))

    result = false;

  

   if (result)

   {

     var elems = formField.value.split("/");

     

     result = (elems.length == 3); // should be three components

     

     if (result)

     {

       var month = parseInt(elems[0],10);

       var day = parseInt(elems[1]);

       var year = parseInt(elems[2],10);

       result = !isNaN(month) && (month > 0) && (month < 13) &&

            !isNaN(day) && (day > 0) && (day < 32) &&

            !isNaN(year) && (elems[2].length == 4);

     }



     if (!result)

     {

        custom_error = "'MM/DD/YYYY'";

        if (!isIE3Mac && (is.ie5up || is.nav6up)) {

	//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

	//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"MM/DD/YYYY");

	msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

        }

        else {

	msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

        }

        formField.focus();

        result = msg;

     }



  } 

  

  return result;

}



//#####################################################

function validEmail(formField,required)

{

  var result = true;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var custom_error = "";

  var msg;



  if (required && !validRequired(formField,fieldLabel))

    result = false;

  

   if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )

   {

        custom_error = "'username@emailcompany.com'";

        if (!isIE3Mac && (is.ie5up || is.nav6up)) {

	//deletion = DeleteMyError(document.getElementById("formTbl"),error_row_name,formField);

	//PrintMyError(document.getElementById("formTbl"),parseInt(formField.index),fieldLabel,"username@emailcompany.com");

	//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

    msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)\n";

		}else {

	//msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

      msg = "E-mail Address is a mandatory field and must be entered in format of user@domainname.domain (for example joe@ait.com)\n";

		}

        formField.focus();

        result = msg;

   }



  return result;

}



//#####################################################

function validKeywords(formField,required)

{

  var result = true;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var custom_error = "";

  var keywords = new String(formField.value);

  var custom_error = "'word, word2, word3, ... , word100'";

  var reg_alpha = /\w+/g;

  var reg_nonalpha = /\W+/g;

  var reg_key_word = /\b(,)\s\w+/g;

  var reg_key = /\b(,)\s/g;

  var reg_spaces = /\w+\s/g;

  var reg_word = /\b/g;

  var reg_nonword = /\B/g;

  var msg = "ERROR! Value entered for '" + fieldLabel + "' was not entered in the proper format.\nFormat as follows: " + custom_error + ".\n";

  var msg2 = "Click OK to Confirm that you do not want to enter any keywords at this time.";

  var type = new String(formField.type);



  if (type.search("hidden") != -1) {

	return result;

  }



  if (required && !validRequired(formField,fieldLabel))

    result = false;

  

   if (result)

   {

        if (keywords.search(reg_key_word) != -1) {

	    keywords = keywords.split(reg_key);

	    for(var j=0;j<keywords.length;j++) {

	        if (keywords[j].search(reg_alpha) != -1) {

		keywords_spaces = keywords[j].split(reg_spaces);

		for(var k=0;k<keywords_spaces.length;k++) {

		        if (keywords_spaces[k].search(reg_nonalpha) != -1) {

			formField.focus();

			result = msg;

			break;

		        }

		        else {

			result = true;

		        }

		}

	        }

	        else if (keywords[j].search(reg_nonalpha) != -1) {

		formField.focus();

		result = msg;

		break;

	        }

	        else {

		formField.focus();

		result = msg;

		break;

	        }

	    }

        }

        else if (keywords.search(reg_nonalpha) != -1) {

	    formField.focus();

	    result = msg;

        }

        else if (keywords == "") {

	    result = confirm(msg2);

	    if (!result) {

		formField.focus();

		result = msg;

	    }

	    else {

		result = true;

	    }

        }

   }

   else {

	result = confirm(msg2);

	if (!result) {

		formField.focus();

		result = msg;

	}

	else {

		result = true;

	}

   }



  return result;

}



//###########################

function validUserName(formField)

{

	var result = true;

	var fieldLabel = formField.name;

	var msg = "ERROR! Value entered for '" + fieldLabel + "' contained invalid characters.\nThe following are valid: (A-Z,0-9,`,~,-,_) \n";

	userinput = formField.value;

	//var array = new Array("\\",",","'","~","`","!","@","#","$","%","^","&","*","(",")","_","+","=","{","}","|","]","[",";",":","<",">","?");

    var array = new Array("\\",",","'","!","@","#","$","%","^","&","*","(",")","+","=","{","}","|","]","[",";",":","<",">","?");

    for(var i=0; i < array.length; i++)

    {

        if(userinput.indexOf(array[i]) != -1)

        {

			formField.focus();

		return msg;

        }

    }

    return result;

}

//#################################



//######################################################

function validNAICS(formField)

{

    var result = true;

    var fieldLabel = formField.name;

    var msg = "ERROR! Value entered for '" + fieldLabel + "' contained invalid characters.\nYou must enter valid 6-digit NAICS codes separated by commas.";

    var naics = formField.value;

    var naicsArray;



    if (naics.length > 0)

    {

    	naicsArray = naics.replace(/\n/g,",");

    	naicsArray = naics.replace(/\r/g,",");

        naicsArray = naics.split(",");

        for (i=0; i < naicsArray.length; i++)

        {

            var tmp = naicsArray[i];

            tmp = tmp.replace(/^\s+/g,"");

            tmp = tmp.replace(/\s+$/g,"");

            if (tmp.length != 6) {

                formField.focus();

                return msg;

            }

            for (j=0; j < tmp.length; j++)

            {

                var nums = "0123456789";

                if (nums.indexOf( tmp.charAt(j) ) == -1)

                {

                    formField.focus();

                    return msg;

                }

            }

        }

    }

    return result;

}



//#####################################################

function isEmailAddr(email)

{

  var result = false;

  var theStr = new String(email);

  var index = theStr.indexOf("@");



  if (index > 0)

   {

	var pindex = theStr.indexOf(".",index);

	if ((pindex > index+1) && (theStr.length > pindex+1))

		result = true;

   }



  return result;

}



// ######################################################

function confirmed(formField) {

  var result = true;

  var fieldLabel = formField.name;

  var error_row_name = "Error - ";	// + fieldLabel;

  var type = new String(formField.type);



  if (type.search("text") != -1) {

	  if (formField.value == "")

	  {

	    result = confirm('Is there anything that you would like to enter for the "' + fieldLabel +'" field?\nYes = OK and No = CANCEL');

	    formField.focus();

	    return !result;

	  }

  }

  else if (type.search("select-one") != -1) {

	if ((parseInt(formField.selectedIndex) == -1) || (parseInt(formField.selectedIndex) == 0)) {

	    result = confirm('Is there anything that you would like to enter for the "' + fieldLabel +'" field?\nYes = OK and No = CANCEL');

	    formField.focus();

	    return !result;

	}

  }

  else if ((type.search("checkbox") != -1) || (type.search("radio") != -1)) {

	for(var i=0;i<formField.length;i++) {

	   if (eval(formField[i].checked)) {

	      result = true;

	   }

	   else {

	      result = false;

	   }

	}

	if (!result) {

	    result = confirm('Is there anything that you would like to enter for the "' + fieldLabel +'" field?\nYes = OK and No = CANCEL');

	    formField.focus();

	    return !result;

	}

	else {

	    return result;

	}

  }

  else {

	return result;

  }

return result;

}







// ######################################################

function PrintAlertAll(msg) {

  var message = "";

  for(var i=0;i<msg.length;i++) {

	if (msg[i]) {

		message += msg[i];

	}

  }

	alert("The following field(s) were incomplete or incorrect:\n\n" + message + "\n\nPlease complete or correct the form and submit again.");

return true;

}



//#####################################################

function validateForm(theForm)
{
//diable button after submission
if (theForm.subbtn) {
	theForm.subbtn.disabled = true;
}
  var error_on = "";
  var temp = "";
  var update = true;
  var error_row_name = "Error - ";	// + fieldLabel;
  var removed_msg = "";
  var msg = new Array();
  var i = 0;

//check business description length and keywords length and make sure they are within limit
if (theForm.businessDescription) {
	var maxchars = 600;
	if (theForm.businessDescription.value.length > maxchars)
	{
		msg[i] = 'please limit your business description to 600 characters\n';
		update = false;
	}else {
		removed_msg = msg.splice(i,i);
	}
}

i++;

if (theForm.businessKeywords) {
	var maxchars = 600;
	if (theForm.businessKeywords.value.length > maxchars)
	{
		msg[i] = 'please limit your business keywords to 600 characters\n';
		update = false;
	}else {
		removed_msg = msg.splice(i,i);
	}
}

i++;

//***************************************
if (theForm.businessNaics) {
	theForm.businessNaics.value = theForm.businessNaics.value.replace(/\r/g,",");
	theForm.businessNaics.value = theForm.businessNaics.value.replace(/\n/g,",");
	theForm.businessNaics.value = theForm.businessNaics.value.replace(/:/g,",");
	theForm.businessNaics.value = theForm.businessNaics.value.replace(/;/g,",");
	theForm.businessNaics.value = theForm.businessNaics.value.replace(/,+/g,",");
    msg[i] = validNAICS(theForm.businessNaics);
    if (msg[i] != true)
    {
        update = false;
    }
    else {
        removed_msg = msg.splice(i,i);
    }

}

i++;

//field for posting purchases//////////
if (theForm.purchaseRequiredDate) {
     msg[i] = validRequiredDate(theForm.purchaseRequiredDate);
  if (msg[i] != true)
    {
    update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }

}

i++;

//field for posting purchases//////////
if (theForm.purchaseRequiredDate) {
	 msg[i] = validRequiredDate(theForm.purchaseRequiredDate);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;
//field for posting contracts//////////
if (theForm.contractRequestDate) {
	 msg[i] = validContractRequestDate(theForm.contractRequestDate);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

//***********************************//
if (theForm.business_type) {
  msg[i] = validRequired(theForm.business_type);
  if (msg[i] != true)
   {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

if (theForm.jobPositions) {
   msg[i] = validNum(theForm.jobPositions,true);
   if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }

}


i++;

if (theForm.userEmail) {
  msg[i] = validEmail(theForm.userEmail,(validRequired(theForm.userEmail)));
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }

}


i++;
//Login fields******************************
if (theForm.userName) {
  msg[i] = validRequired(theForm.userName);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;
if (theForm.userPass) {
  msg[i] = validRequired(theForm.userPass);
   if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}


i++;
//Registration fields for username and password

if (theForm.userNameReg) {
	msg[i] = validRequired(theForm.userNameReg);
	//  msg[i] = validUserName(theForm.userNameReg);
	if (msg[i] != true)
	{
		update = false;
	}
	else {
		removed_msg = msg.splice(i,i);

		msg[i] = validUserName(theForm.userNameReg);
		if (msg[i] != true)
		{
			update = false;
		}
		else {
			removed_msg = msg.splice(i,i);
		}
		//removed_msg = msg.splice(i,i);
	}
}

i++;
if (theForm.userPassReg) {
  msg[i] = validPasswordCmp(theForm.userPassReg,theForm.checkPass,(validRequired(theForm.userPassReg)));
  //msg[i] = validRequired(theForm.userPass);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
  //msg[i] = msg[i] + "| im inside userpass check function \n";
}
i++;



if (theForm.checkPass) {
  //msg[i] = validPasswordCmp(theForm.userPass,theForm.checkPass,(validRequired(theForm.checkPass)));
  msg[i] = validRequired(theForm.checkPass);
  if (msg[i] != true)
	{
	update = false;
	}
	else {
	 removed_msg = msg.splice(i,i);
	 }
 //msg[i] = msg[i] + "| im inside checkpass check function \n";
}
i++;
//************************************************

if (theForm.userAnswer) {
  msg[i] = validRequired(theForm.userAnswer);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

if (theForm.agree) {
  msg[i] = validRequired(theForm.agree);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

if (theForm.jobCloseDate) {
  msg[i] = validRequiredCloseDate(theForm.jobCloseDate);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);

  }

}


i++;

if (theForm.business_type) {
  msg[i] = validRequired(theForm.business_type);
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

//The following fields are for the feedback form
//*********************************************
if (theForm.feedFName) {
	msg[i] = validRequired(theForm.feedFName);
	if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;
if (theForm.feedLName) {
	msg[i] = validRequired(theForm.feedLName);
	if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++
if (theForm.feedEmail) {
	msg[i] = validEmail(theForm.feedEmail,(validRequired(theForm.feedEmail)));
  if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;
if (theForm.feedPhone) {
	msg[i] = validPhoneNum(theForm.feedPhone,(validRequired(theForm.feedPhone)));
	if (msg[i] != true)
    {
		update = false;
    }  else {
	   removed_msg = msg.splice(i,i);
  }
}
i++;

if (theForm.feedMessage) {
	msg[i] = validRequired(theForm.feedMessage);
	if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

//The following fields are for the partnership form
//*********************************************
if (theForm.partnerFName) {
        msg[i] = validRequired(theForm.partnerFName);
        if (msg[i] != true)
    {
        update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;
if (theForm.partnerLName) {
        msg[i] = validRequired(theForm.partnerLName);
        if (msg[i] != true)
    {
        update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++
if (theForm.partnerEmail) {
        msg[i] = validEmail(theForm.partnerEmail,(validRequired(theForm.partnerEmail)));
  if (msg[i] != true)
    {
        update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;
if (theForm.partnerPhone) {
        msg[i] = validPhoneNum(theForm.partnerPhone,(validRequired(theForm.partnerPhone)));
        if (msg[i] != true)
    {
                update = false;
    }  else {
           removed_msg = msg.splice(i,i);
  }
}
i++;

if (theForm.partnerMessage) {
        msg[i] = validRequired(theForm.partnerMessage);
        if (msg[i] != true)
    {
        update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

//Fields for advanced searching on opportunity Id
if (theForm.contractopportunityId) {
	msg[i] = validNum2(theForm.contractopportunityId);
	if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;

//Fields for advanced searching on opportunity Id

if (theForm.jobopportunityId) {
	msg[i] = validNum2(theForm.jobopportunityId);
	if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}

i++;
//**************************************************
//credit card info validation
if (theForm.x_card_num) {
	msg[i] = validRequired(theForm.x_card_num);
	if (msg[i] != true)
    {
	update = false;
    }
  else {
    removed_msg = msg.splice(i,i);
  }
}
i++

if (theForm.x_card_code) {

	msg[i] = validRequired(theForm.x_card_code);

	if (msg[i] != true)

    {

	update = false;

    }

  else {

    removed_msg = msg.splice(i,i);

  }

}
i++

if (theForm.x_first_name) {

	msg[i] = validRequired(theForm.x_first_name);

	if (msg[i] != true)

    {

	update = false;

    }

  else {

    removed_msg = msg.splice(i,i);

  }

}
i++

if (theForm.x_last_name) {

	msg[i] = validRequired(theForm.x_last_name);

	if (msg[i] != true)

    {

	update = false;

    }

  else {

    removed_msg = msg.splice(i,i);

  }

}
i++

if (theForm.x_address) {

	msg[i] = validRequired(theForm.x_address);

	if (msg[i] != true)

    {

	update = false;

    }

  else {

    removed_msg = msg.splice(i,i);

  }

}
i++

if (theForm.x_zip) {

	msg[i] = validRequired(theForm.x_zip);

	if (msg[i] != true)

    {

	update = false;

    }

  else {

    removed_msg = msg.splice(i,i);

  }

}
i++

if (theForm.x_phone) {

	msg[i] = validRequired(theForm.x_phone);

	if (msg[i] != true)

    {

	update = false;

    }

  else {

    removed_msg = msg.splice(i,i);

  }

}
i++

if (theForm.x_email) {

	msg[i] = validRequired(theForm.x_email);

	if (msg[i] != true)

    {

	update = false;

    }

  else {

    removed_msg = msg.splice(i,i);

  }

}
i++

if (!update) {

  PrintAlertAll(msg);

  return false;

}


  return true;

}


