function checkrequired(which) {
	var pass=true;
	var radiochecked = 0;
	var isChecked=0;
	var tempString = '';
	if (document.images) {
		for (i=0;i<which.length;i++) {
			var tempobj=which.elements[i];
			if (tempobj.id.substring(0,8)=="required") {
				tempFieldName = tempobj.id.substring(8,30).toUpperCase();
				if (((tempobj.type=="text"||tempobj.type=="textarea")&& tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&& tempobj.selectedIndex<=0)) {
					pass=false;
					alert("Please make sure the "+tempFieldName+" field was properly completed.");
					tempobj.focus();
					break;
				} 
													
				else if ((tempobj.type=="checkbox") && (tempString != tempobj.id)) {
					for (j=0;j<=tempobj.form.elements[which.elements[i].name].length-1;j++) {
						if (tempobj.form.elements[which.elements[i].name][j].checked) {
							isChecked=1;
							break;
						} else {
							isChecked=0;
						}
					}

					if (isChecked == 0) {
						pass=false;
						alert("Please make sure the "+tempFieldName+" field was properly completed.");
						tempobj.focus();
						break;
					} else {
						isChecked=0;
					}

					tempString = tempobj.id;
				}

				else if ((tempobj.type=="radio") && (tempString != tempobj.id)) {
					for (j=0;j<=tempobj.form.elements[which.elements[i].name].length-1;j++) {
						if (tempobj.form.elements[which.elements[i].name][j].checked) {
							radiochecked=1;
							break;
						} else {
							radiochecked=0;
						}
					}

					if (radiochecked == 0) {
						pass=false;
						alert("Please make sure the "+tempFieldName+" field was properly completed.");
						tempobj.focus();
						break;
					} else {
						radiochecked=0;
					}

					tempString = tempobj.id;
				}
				 				
				 else if (tempFieldName == "EMAIL") {
			                position = tempobj.value.indexOf("@");
			                if (position == -1) {
			                        alert ("The email address you have entered is not valid!");
			                        tempobj=which.elements['requiredemail'];
			                        pass=false;
						//tempobj.focus();
						break;
			                } else {
			                        position2 = tempobj.value.indexOf(".", position);
			                        if (position2 < position) {
			                                alert ("The email address you have entered is not valid!");
			                                tempobj=which.elements['requiredemail'];
			                                pass=false;
							//tempobj.focus();
							break;
			                        }
			                }
			        }
			}
		}
	}

	if (!pass) {
		return false;
	} else {
		return true;
	}
}

function CopyBilling(myChk)
{
  // myChk is the checkbox.
  for (var i = 0; i < document.esalesforms.length; i++)
    {
       var e = document.esalesforms.elements[i];
       var startOfWord = e.name.substring(0, 7);
       var endOfWord = e.name.substring(7,e.name.length);
       if (((e.type == "text") || (e.type=="textarea")) &&
            (startOfWord == "billing")&& (endOfWord !="comment"))
       {
          var shp = document.esalesforms.elements["shipping"+endOfWord];
          var newVal = "";
          // If the box is checked, copy over the fields, otherwise clear it
          if (myChk.checked) {
              newVal = document.esalesforms.elements[i].value;
          }
          document.esalesforms.elements["shipping"+endOfWord].value = newVal;
        }
   }
}

function isblank(s)
{
for(var i = 0; i < s.length; i++)
   {
   var c = s.charAt(i);
   if((c != ' ') && (c != '\n') && (c != '\t')) return false;
   }
return true;
}

function ValidateForm(f)
{
   var error = "blank";
    for (var i = 0; i < f.length; i++)
    { 
       var e = f.elements[i]; 
        if (e.type == "text" && e.value != "")
        {
              error = "notblank";
              // isNan method will return true if the value is not numeric
              // < 1 will eliminate anything 0 or negative
              if (isNaN(e.value) || e.value < 1)
              {
                 alert("Quantity should be a number greater than zero");
                 e.select();
            e.focus();
            return false;
         }
         // If you are here that means the entered value is a positive real number
         // The below check will see if it is an integer or not.
         if (Math.floor(e.value) < e.value)
         {
            alert("Quantity should be an integer value");
                 e.select();
            e.focus();
            return false;
         }
       }
   }
   // After the whole loop is processed if the error is "blank" that means no value was entered
   if (error == "blank")
   {
      alert("At least one product must be selected");
      return false;
   }
   return true;
}

