//Enable and Disable the Colleciton Day and Privat Service
function DisableSelectMenu()
          {
          if (document.getElementById('PrivateService').checked)
          {document.getElementById('CollectionDay').disabled=true}
          else
          {document.getElementById('CollectionDay').disabled=false}
      }
	
function DisableCheckBox()
          {
          if (document.getElementById('CollectionDay').selectedIndex != "")
          {document.getElementById('PrivateService').disabled=true}
          else
          {document.getElementById('PrivateService').disabled=false}
		  }
	
//Validate Email Addresses	
function validate(reqform,email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms['reqform'].elements['email'].value;
   if(reg.test(address) == false) {
      alert('You Have Entered An Invalid Email Address.  Email example: user@domain.com');
      return false;
   }
}

//Reset the entire form	
	function restart()
		 { alert("Please Start Over By Completing Step 1.")
		 document.location.reload(true)
		 }

var okToSend = true

function openwindow(help)
{
   window.open(help + ".htm","my_new_window","toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=400,height=400,top=100,left=375")
}

function put(box,list)
{
   option=eval("document.forms['reqform']."+ box +".options[document.forms['reqform']."+ box +".selectedIndex].text") 
   if (option != "Please Select One or More:") {
   /*   if (option = "Other (Please describe 'Other' in the box below)") {
         option="Other"
      } */
      txt=eval("document.forms['reqform']."+ list +".value")
      if (txt != ""){
	     txt = txt + ", " + option
      }
	  else
	     {
		 txt = option
		 }
	  eval("document.forms['reqform']."+ list +".value=txt")
   }
}

function del(list)
{
txt = ""
eval("document.forms['reqform']."+ list +".value=txt")
}


function isemail(obj,okToSend) {
    if (obj.value.length != 0) {
	   if (obj.value.indexOf('@')==-1) {
		  alert("You entered an invalid email address!")
                  document.reqform.email.value = ""
		  okToSend=false
	   }
	}
   
}

function isinteger(obj,okToSend) {
    if (okToSend) {
	   var currchar="", decimalcount=0, filteredstring="", i=0
	   
	   fieldval=obj.value
	   
	   /* scan the string, char by char */
	   for (var i=0; i<fieldval.length; i++) {
	   
	      currchar=fieldval.substring(i,i+1)
		  
		  /* look for valid characters */
		  if ((currchar >= "0" && currchar <= "9") || (currchar=="." || currchar=="," || currchar=="-")) {
		     if (currchar!=",") {
			    filteredstring+=currchar
			 }
			 if (currchar=="-" && i > 0) { /* neg sign only allowed as first character */
			    okToSend=false
		     }
		     if (currchar==".") { /* no decimal point allowed */
			    decimalcount++
				if (decimalcount > 0) {
				   okToSend=false
				}
			 }
		  }
		  else {
		       okToSend=false
		  }
       } 
       /* replace the inputted string with a filtered string */
	   if (okToSend) {
	      obj.value=filteredstring
	   }
	   else {
	      alert("Invalid Zip Code.")
              okToSend = false
              document.reqform.zip.value = ""
	   }
	}   
	
}   
	
function isbetween(obj,minval,maxval,okToSend) {
   if (okToSend) { 
      if (obj.value.length > 0) {
         if (!(parseFloat(obj.value) >= minval && parseFloat(obj.value) <= maxval)) {
         okToSend=false
         alert("Bad input: Number must be between "+minval+" and "+maxval)
         document.reqform.zip.value = ""
                  }
      }
   }
   
}

// This function will call the other subfunctions when the user hits the submit button


function checkWholeForm(reqform)  {   
      
      checkDataEntry()
      checkCollectionDay()
      automarkContainer()
      checkStep3Selection()
      checkPickup() 
      checkNewContainer() 
      checkListItems()
	  enableCollectionDay()
      submitForm()
      
}


/* This function will check if the New Container box is checked. In case the user 
checked the box, the function will check if one or more boxes have been checked under 
Step 5. If not, the function will return an error message, asking the user to select 
one or more boxes under Step 5.
*/

function checkNewContainer() {

if (document.reqform.servicec.checked) {

   if (!((document.reqform.container1.checked) || (document.reqform.container2.checked) || (document.reqform.container3.checked) || 
       (document.reqform.container4.checked))) {

  alert ("You have to check one or more items under Step 5")
  okToSend = false
  document.reqform.container1.focus()}
}
}

/* This function will check if the Pickup container is checked. In case the user checked the box, 
the function will check if one or more boxes have been check under Step 4. If not, the 
function will return an error message, asking the user to select one or more boxes under Step 4. 
*/

function checkPickup() {

if (document.reqform.servicep.checked) {

    if (!((document.reqform.pickupBI.checked) || (document.reqform.pickupWG.checked) || (document.reqform.pickupBR.checked) || 
       (document.reqform.pickupMIMO.checked) || (document.reqform.pickupMP.checked) || (document.reqform.pickupOT.checked))) {
       
       alert ("You have to check one or more items under Step 4")
       okToSend = false
       document.reqform.pickupBI.focus()}
                            }

}

/* This function will check if the user selected at least one box under Step 3. If not, a message box 
will ask the user the select one.
*/

function checkStep3Selection() {


  if (!((document.reqform.servicep.checked) || (document.reqform.servicec.checked))) {
     alert ("You have to check at least one service type under Step 3!")
     document.reqform.servicep.focus()
     okToSend = false
} 
}

/* This function will check if the user selected one or more boxes under Step 4 and Step 5. If the user 
selected one or more boxes, this function will automatically check on or more selection under Step 3.
*/

function automarkContainer() {

  if ((document.reqform.container1.checked) || (document.reqform.container2.checked) || (document.reqform.container3.checked) || 
      (document.reqform.container4.checked)) {
      document.reqform.servicec.checked = true
                                                                     }
  if ((document.reqform.pickupBI.checked) || (document.reqform.pickupWG.checked) || (document.reqform.pickupBR.checked) || 
     (document.reqform.pickupMIMO.checked)
        || (document.reqform.pickupMP.checked) || (document.reqform.pickupOT.checked)) {
      document.reqform.servicep.checked = true 
                                                                     }
}

// The following function will check each and every list items if they should be filled or not 

function checkListItems() {
    
    checkBulkyList()
    checkMetalList()
    checkMoveList()
    checkServicesList()
    checkOtherList()
    checkBlackContainer()
    checkGreenContainer()
    checkBlueContainer()
    checkHorseContainer()
    
       
}

// The following functins will check the list items values

function checkBulkyList () {
  
     var value = ""
     value = (document.reqform.BClist.value)
     selectedIndex = (document.reqform.BulkyChoices.selectedIndex)
 
    if ((document.reqform.pickupBI.checked)) {    
    
        if (selectedIndex != 9) {  
              if (value == ""){
              alert ("You haven't transferred your Bulky Item selection to the list!")
              document.reqform.BulkyChoices.focus()
              okToSend = false                            
 }                      
                                }
                                    }
}


function checkMetalList() {

  if ((document.reqform.pickupWG.checked)) {
    var value = ""
    value = (document.reqform.WGlist.value)
    selectedIndex = (document.reqform.WhiteGoodsChoices.selectedIndex)
       
       if (selectedIndex !=9) {
           if (value == "") {
           alert ("You haven't transferred your Metal Appliances selection to the list!")
           document.reqform.WhiteGoodsChoices.focus()
           okToSend = false                            
}     
                              }
                                   }
}
                                   
function checkMoveList() {

  if ((document.reqform.pickupMIMO.checked)) {
    var value = ""
    value = (document.reqform.MIMOlist.value)
    selectedIndex = (document.reqform.MoveChoices.selectedIndex)
    
       if (selectedIndex !=3) {
           if (value == "") {
           alert ("You haven't transferred your Moving selection to the list!")
           document.reqform.MoveChoices.focus()
           okToSend = false                           
 }     
                              }
                                     }
}

function checkServicesList() {

  if ((document.reqform.pickupMP.checked)) {
    var value = ""
    value = (document.reqform.MClist.value)
    selectedIndex = (document.reqform.MissedChoices.selectedIndex)
    
       if (selectedIndex !=8) {
           if (value == "") {
           alert ("You haven't transferred your Services selection to the list!")
           document.reqform.MissedChoices.focus()
           okToSend = false                            
}     
                              }
                                     }
}

function checkOtherList() {

  if ((document.reqform.pickupOT.checked)) {
    var value = ""
    value = (document.reqform.OClist.value)
    selectedIndex = (document.reqform.OtherChoices.selectedIndex)
    
       if (selectedIndex !=2) {
           if (value == "") {
           alert ("You haven't transferred your Other selection to the list!")
           document.reqform.OtherChoices.focus()
           okToSend = false                           
 }     
                              }
                                     }
}

// This function will check the selections if the Black container box is selected

function checkBlackContainer() {

if (document.reqform.container1.checked) {
  var selection = "" 
  selection = (document.reqform.BlackSize.selectedIndex)
    if (selection == 0) {
    alert ("You have to select the size for the Black Container")
    document.reqform.BlackSize.focus()
    okToSend = false}
 selection = (document.reqform.BlackQuantity.selectedIndex)
   if (selection == 0) {
   alert ("Please select the quantity for the Black Container")
   document.reqform.BlackQuantity.focus()
   okToSend = false}
 selection = (document.reqform.BlackReason.selectedIndex)
    if (selection == 0) {
    alert ("Please select a reason for asking for a new Black Container")
    document.reqform.BlackReason.focus()
    okToSend = false}

checkBlackDamage()
}
   
}

// This function will check the selections if the Green container box is selected

function checkGreenContainer() {
 
if (document.reqform.container2.checked) {
  var selection = "" 
  selection = (document.reqform.GreenSize.selectedIndex)
    if (selection == 0) {
    alert ("You have to select the size for the Green Container")
    document.reqform.GreenSize.focus()
    okToSend = false}
 selection = (document.reqform.GreenQuantity.selectedIndex)
   if (selection == 0) {
   alert ("Please select the quantity for the Green Container")
   document.reqform.GreenQuantity.focus()
   okToSend = false}
 selection = (document.reqform.GreenReason.selectedIndex)
    if (selection == 0) {
    alert ("Please select a reason for asking for a new Green Container")
    document.reqform.GreenReason.focus()
    okToSend = false}

checkGreenDamage()
}
}

// This function will check the selections if the Blue container box is selected

function checkBlueContainer() {
 
if (document.reqform.container3.checked) {
  var selection = "" 
  selection = (document.reqform.BlueSize.selectedIndex)
    if (selection == 0) {
    alert ("You have to select the size for the Blue Container")
    document.reqform.BlueSize.focus()
    okToSend = false}
 selection = (document.reqform.BlueQuantity.selectedIndex)
   if (selection == 0) {
   alert ("Please select the quantity for the Blue Container")
   document.reqform.BlueQuantity.focus()
   okToSend = false}
 selection = (document.reqform.BlueReason.selectedIndex)
    if (selection == 0) {
    alert ("Please select a reason for asking for a new Blue Container")
    document.reqform.BlueReason.focus()
    okToSend = false}

checkBlueDamage()
}
}

// This function will check the selections if the Horse Manure container box is selected

function checkHorseContainer() {

if (document.reqform.container4.checked) {
  var selection = "" 
  selection = (document.reqform.HorseQuantity.selectedIndex)
   if (selection == 0) {
   alert ("Please select the quantity for the Horse Manure Container")
   document.reqform.HorseQuantity.focus()
   okToSend = false}
 selection = (document.reqform.HorseReason.selectedIndex)
    if (selection == 0) {
    alert ("Please select a reason for asking for a new Horse Manure Container")
    document.reqform.HorseReason.focus()
    okToSend = false}

checkHorseDamage()
}
}

/* This function will check the quantity of the selected black container and 
check if at least one damaged selection is selected.
*/

function checkBlackDamage() {
   var reason = (document.reqform.BlackReason.selectedIndex)
   if (reason == 2) {

   var selection = ""
   selection = (document.reqform.BlackQuantity.selectedIndex)
    if (selection == 1) {
       if (!((document.reqform.wheel1.checked) || (document.reqform.lip1.checked) || (document.reqform.body1.checked))) {
           alert ("You have to select the damage type for Black Container #1")
           document.reqform.wheel1.focus()
           okToSend = false}
                       }

   if (selection == 2) {
      if (!((document.reqform.wheel1.checked) || (document.reqform.lip1.checked) || (document.reqform.body1.checked))){
           alert ("You have to select the damage type for Black Container #1")
           document.reqform.wheel1.focus()
           okToSend = false}
      else if 
         (!((document.reqform.wheel2.checked) || (document.reqform.lip2.checked) || (document.reqform.body2.checked))){
          alert ("You have to select the damage type for Black Container #2")
          document.reqform.wheel2.focus()
           okToSend = false}
                       }
   if (selection == 3) {
      if (!((document.reqform.wheel1.checked) || (document.reqform.lip1.checked) || (document.reqform.body1.checked))){
           alert ("You have to select the damage type for Black Container #1")
           document.reqform.wheel1.focus()
           okToSend = false}
      else if 
         (!((document.reqform.wheel2.checked) || (document.reqform.lip2.checked) || (document.reqform.body2.checked))){
          alert ("You have to select the damage type for Black Container #2")
          document.reqform.wheel2.focus()
          okToSend = false}
      else if
         (!((document.reqform.wheel3.checked) || (document.reqform.lip3.checked) || (document.reqform.body3.checked))){
          alert ("You have to select the damage type for Black Container #3")
          document.reqform.wheel3.focus()
          okToSend = false}
                       }
}
}

/* This function will check the quantity of the selected green container and 
check if at least one damaged selection is selected.
*/

function checkGreenDamage() {
   var reason = (document.reqform.GreenReason.selectedIndex)
   if (reason == 2) {
   var selection = ""
   selection = (document.reqform.GreenQuantity.selectedIndex)
    if (selection == 1) {
       if (!((document.reqform.wheel4.checked) || (document.reqform.lip4.checked) || (document.reqform.body4.checked))) {
           alert ("You have to select the damage type for Green Container #1")
           document.reqform.wheel4.focus()
           okToSend = false}
                       }

   if (selection == 2) {
      if (!((document.reqform.wheel4.checked) || (document.reqform.lip4.checked) || (document.reqform.body4.checked))){
           alert ("You have to select the damage type for Green Container #1")
           document.reqform.wheel4.focus()
           okToSend = false}
      else if 
         (!((document.reqform.wheel5.checked) || (document.reqform.lip5.checked) || (document.reqform.body5.checked))){
          alert ("You have to select the damage type for Green Container #2")
          document.reqform.wheel5.focus()
          okToSend = false}
                       }
   if (selection == 3) {
      if (!((document.reqform.wheel4.checked) || (document.reqform.lip4.checked) || (document.reqform.body4.checked))){
           alert ("You have to select the damage type for Green Container #1")
           document.reqform.wheel4.focus()
           okToSend = false}
      else if 
         (!((document.reqform.wheel5.checked) || (document.reqform.lip5.checked) || (document.reqform.body5.checked))){
          alert ("You have to select the damage type for Green Container #2")
          document.reqform.wheel5.focus()
          okToSend = false}
      else if
         (!((document.reqform.wheel6.checked) || (document.reqform.lip6.checked) || (document.reqform.body6.checked))){
          alert ("You have to select the damage type for Green Container #3")
          document.reqform.wheel6.focus()
          okToSend = false}
                       }
}
}

/* This function will check the quantity of the selected blue container and 
check if at least one damaged selection is selected.
*/

function checkBlueDamage() {
   var reason = (document.reqform.BlueReason.selectedIndex)
   if (reason == 2) {
   var selection = ""
   selection = (document.reqform.BlueQuantity.selectedIndex)
    if (selection == 1) {
       if (!((document.reqform.wheel7.checked) || (document.reqform.lip7.checked) || (document.reqform.body7.checked))) {
           alert ("You have to select the damage type for Blue Container #1")
           document.reqform.wheel7.focus()
           okToSend = false}
                       }

   if (selection == 2) {
      if (!((document.reqform.wheel7.checked) || (document.reqform.lip7.checked) || (document.reqform.body7.checked))){
           alert ("You have to select the damage type for Blue Container #1")
           document.reqform.wheel7.focus()
            okToSend = false}
      else if 
         (!((document.reqform.wheel8.checked) || (document.reqform.lip8.checked) || (document.reqform.body8.checked))){
          alert ("You have to select the damage type for Blue Container #2")
          document.reqform.wheel8.focus()
          okToSend = false}
                       }
   if (selection == 3) {
      if (!((document.reqform.wheel7.checked) || (document.reqform.lip7.checked) || (document.reqform.body7.checked))){
           alert ("You have to select the damage type for Blue Container #1")
           document.reqform.wheel7.focus()
           okToSend = false}
      else if 
         (!((document.reqform.wheel8.checked) || (document.reqform.lip8.checked) || (document.reqform.body8.checked))){
          alert ("You have to select the damage type for Blue Container #2")
          document.reqform.wheel8.focus()
          okToSend = false}
      else if
         (!((document.reqform.wheel9.checked) || (document.reqform.lip9.checked) || (document.reqform.body9.checked))){
          alert ("You have to select the damage type for Blue Container #3")
          document.reqform.wheel9.focus()
          okToSend = false}
                       }
}
}

/* This function will check the quantity of the selected horse container and 
check if at least one damaged selection is selected.
*/

function checkHorseDamage() {
   var reason = (document.reqform.HorseReason.selectedIndex)
   if (reason == 2) {
   var selection = ""
   selection = (document.reqform.HorseQuantity.selectedIndex)
    if (selection == 1) {
       if (!((document.reqform.wheel10.checked) || (document.reqform.lip10.checked) || (document.reqform.body10.checked))) {
           alert ("You have to select the damage type for Horse Manure Container #1")
           document.reqform.wheel10.focus()
           okToSend = false}
                       }

   if (selection == 2) {
      if (!((document.reqform.wheel10.checked) || (document.reqform.lip10.checked) || (document.reqform.body10.checked))){
           alert ("You have to select the damage type for Horse Manure Container #1")
           document.reqform.wheel10.focus()
           okToSend = false}
      else if 
         (!((document.reqform.wheel11.checked) || (document.reqform.lip11.checked) || (document.reqform.body11.checked))){
          alert ("You have to select the damage type for Horse Manure Container #2")
          document.reqform.wheel11.focus()
          okToSend = false}  }
     if (selection == 3) {
      if (!((document.reqform.wheel10.checked) || (document.reqform.lip10.checked) || (document.reqform.body10.checked))){
           alert ("You have to select the damage type for Hourse Manure Container #1")
           document.reqform.wheel10.focus()
           okToSend = false}
      else if 
         (!((document.reqform.wheel11.checked) || (document.reqform.lip11.checked) || (document.reqform.body11.checked))){
          alert ("You have to select the damage type for Horse Manure Container #2")
          document.reqform.wheel11.focus()
          okToSend = false}
      else if
         (!((document.reqform.wheel12.checked) || (document.reqform.lip12.checked) || (document.reqform.body12.checked))){
          alert ("You have to select the damage type for Horse Manure Container #3")
          document.reqform.wheel12.focus()
          okToSend = false}
                       }
}
}

//This function checks if the name, address, city, zip, or phone fields are empty

function checkDataEntry(){

var why = ""
why += checkName()
why += checkAddress()
why += checkCity()
why += checkZip()
why += checkPhone()
why += checkEmail()
    if (why != "") {
        alert (why)
		document.reqform.name.focus()
        okToSend = false}
	else {okToSend = true}
}

//The following functions will check if the user entered something in the required fields

function checkName(){
  var error = ""
  var strng = (document.reqform.name.value)
  if (strng == "") {
    error = "You didn't enter your name.\n"}
return error
}

function checkAddress() {
  var error = ""
  var strng = (document.reqform.address.value)
  if (strng == "") {
    error = "You didn't enter your address.\n"}
return error
}

function checkCity() {
  var error = ""
  var strng = (document.reqform.city.value)
  if (strng == "") {
    error = "You didn't enter your city.\n"}
return error
}

function checkZip() {
  var error = ""
  var strng = (document.reqform.zip.value)
  if (strng == "") {
    error = "You didn't enter your zip.\n"}
return error
}

function checkPhone() {
  var error = ""
  var strng = (document.reqform.phone.value)
  if (strng == "") {
    error = "You didn't enter your phone number.\n"}
return error
}
function checkEmail() {
  var error = ""
  var strng = (document.reqform.email.value)
  if (strng == "") {
    error = "You didn't enter your email address.\n"}
return error
}

//This function checks if the collection day has been selected

function checkCollectionDay(){

var strng = ""
var strngPS = ""
strng = (document.reqform.CollectionDay.selectedIndex)
strngPS = (document.reqform.PrivateService.checked)
	if (strng == 0  && strngPS == false) {
     alert ("Please select a collection day or Check the Private Service")
     document.reqform.CollectionDay.focus()
     okToSend = false
}
}

//enable the disabled Colleciton Day field so Coldfusion could read it

function enableCollectionDay() {
	if (document.getElementById('CollectionDay').disabled=true)
	{document.getElementById('CollectionDay').disabled=false}
}


//This function checks if it is ok to send the form.

function submitForm() {

   if (okToSend == true) {

        document.reqform.submit()
        alert ("Form has been sent. Thank you!")
}
}




