/**
 *  OVERIGE BOEKING FUNCTIES
 */
  
/**
 *  UITLEG:
 *    Omdat de gebruiker de loaded vehicles velden moet kunnen dupliceren moest dit gedaan worden met javascript.
 *    Zo word er van te voren een string opgebouwd. Deze word later in het HTML formulier gezet en/of opgevraagd
 *    na elke duplicatie.   
  
/**
 *  De functies voor het dynamisch loaded vehicle. 
 *  Zo kan er een goods input field gemaakt worden en verwijderd worden.
 */  
//Een teller bijhouden voor unieke id's voor de divjes zodat ze op dit id weg kunnen worden gegooid
var l_intLoadedCounter  = 0;
var l_intEachLoaded     = 0;
var l_uniqueCounter     = 0;

//Opmaak van de loaded vehicles    
var l_strLoadedVehicle1 = "";
var l_strLoadedVehicle2 = "";
var l_strLoadedVehicle3 = "";
var l_strLoadedVehicle4 = "";
l_strLoadedVehicle1 += "<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\">";
l_strLoadedVehicle1 += "<tr>";

l_strLoadedVehicle2 += "<tr>";
l_strLoadedVehicle2 += "<td>Loaded vehicle</td>";
l_strLoadedVehicle2 += "<td colspan=\"3\"><input id=\"loaded_vehicle[]\" type=\"text\" size=\"30\" name=\"loaded_vehicle[]\"></td>";
l_strLoadedVehicle2 += "</tr>";      
l_strLoadedVehicle2 += "<tr>";
l_strLoadedVehicle2 += "<td width=\"195\">Make type</td>";
l_strLoadedVehicle2 += "<td width=\"400\"><input id=\"loaded_make_type[]\" type=\"text\" size=\"30\" name=\"loaded_make_type[]\"></td>";

l_strLoadedVehicle3 += "</tr>";   
l_strLoadedVehicle3 += "<tr>";
l_strLoadedVehicle3 += "<td>Chassis nr.</td>";
l_strLoadedVehicle3 += "<td><input id=\"loaded_chassis_nr[]\" type=\"text\" size=\"30\" name=\"loaded_chassis_nr[]\"></td>";
l_strLoadedVehicle3 += "<td colspan=\"2\">Booking only possible with car -papers and invoice (or custom document / T1)</td>";
l_strLoadedVehicle3 += "</tr>";        
l_strLoadedVehicle3 += "<tr>";
l_strLoadedVehicle3 += "<td>Value vehicle</td>";
l_strLoadedVehicle3 += "<td colspan=\"3\"><input id=\"loaded_value[]\" type=\"text\" size=\"30\" name=\"loaded_value[]\"></td>";
l_strLoadedVehicle3 += "</tr>";           
l_strLoadedVehicle3 += "<tr>";
l_strLoadedVehicle3 += "<td colspan=\"4\"><b>Forwarder or supplier</b></td>";
l_strLoadedVehicle3 += "</tr>";
l_strLoadedVehicle3 += "<tr>";
l_strLoadedVehicle3 += "<td>Same as debtor</td>";

l_strLoadedVehicle4 += "</tr>";
l_strLoadedVehicle4 += "<tr>";
l_strLoadedVehicle4 += "<td width=\"210\">Name</td>";
l_strLoadedVehicle4 += "<td>";
l_strLoadedVehicle4 += "<div id=\"autocomplete_supplier_loaded_name"+l_intEachLoaded+"[]\" class=\"autocomplete_riding_supplier\"></div>";
l_strLoadedVehicle4 += "<input id=\"supplier_loaded_name"+l_intEachLoaded+"[]\" autocomplete=\"off\" type=\"text\" size=\"30\" name=\"supplier_loaded_name[]\" onkeyup=\"getSearch('supplier_loaded_name"+l_intEachLoaded+"[]', '"+debiteur_nr+"');\" onkeydown=\"getSearch('supplier_loaded_name"+l_intEachLoaded+"[]', '"+debiteur_nr+"');\" onblur=\"leaveSearch('supplier_loaded_name"+l_intEachLoaded+"[]');\"></td>";
l_strLoadedVehicle4 += "<td width=\"400\">E-mail</td>";
l_strLoadedVehicle4 += "<td><input id=\"supplier_loaded_e_mail"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_e_mail[]\"></td>";
l_strLoadedVehicle4 += "</tr>"; 
l_strLoadedVehicle4 += "<tr>";
l_strLoadedVehicle4 += "<td>Street</td>";
l_strLoadedVehicle4 += "<td><input id=\"supplier_loaded_street"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_street[]\"></td>"; 
l_strLoadedVehicle4 += "<td>Telephone</td>";
l_strLoadedVehicle4 += "<td><input id=\"supplier_loaded_tel"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_tel[]\"></td>";   
l_strLoadedVehicle4 += "</tr>";
l_strLoadedVehicle4 += "<tr>";
l_strLoadedVehicle4 += "<td>Place</td>";
l_strLoadedVehicle4 += "<td><input id=\"supplier_loaded_place"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_place[]\"></td>"; 
l_strLoadedVehicle4 += "<td>Fax</td>";
l_strLoadedVehicle4 += "<td><input id=\"supplier_loaded_fax"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_fax[]\"></td>";   
l_strLoadedVehicle4 += "</tr>"; 
l_strLoadedVehicle4 += "<tr>";
l_strLoadedVehicle4 += "<td>Country</td>";
l_strLoadedVehicle4 += "<td><input id=\"supplier_loaded_country"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_country[]\"></td>";   
l_strLoadedVehicle4 += "</tr>";
l_strLoadedVehicle4 += "<tr>";
l_strLoadedVehicle4 += "<td colspan=\"4\">&nbsp;</td>";
l_strLoadedVehicle4 += "<input type=\"hidden\" name=\"vehiclecounter[]\" value=\"1\">";
l_strLoadedVehicle4 += "</tr>";                       
l_strLoadedVehicle4 += "</table>";   
   
//De add functie, hier worden nieuwe input fields bijgevoegd
function addLoaded(id) {
  //Max aantal velden
  if(l_uniqueCounter < 6) {
    if(checkLoadedvehicle() == true) {
      l_intLoadedCounter++;
      l_intEachLoaded++; 
      var l_strLoadedVehicle = "";
      l_strLoadedVehicle += "<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\">";
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td colspan=\"4\" valign=\"top\"><b>Loaded vehicle "+l_intEachLoaded+"</b> <a onclick=\"deleteLoaded(\'loaded"+l_intLoadedCounter+"\')\" style=\"cursor: pointer;\"><i>Delete Loaded Vehicle entry</i></a></td>";
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>Loaded vehicle</td>";
      l_strLoadedVehicle += "<td colspan=\"3\"><input id=\"loaded_vehicle[]\" type=\"text\" size=\"30\" name=\"loaded_vehicle[]\"></td>";
      l_strLoadedVehicle += "</tr>";      
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td width=\"195\">Make type</td>";
      l_strLoadedVehicle += "<td colspan=\"2\" width=\"400\"><input id=\"loaded_make_type[]\" type=\"text\" size=\"30\" name=\"loaded_make_type[]\"></td>";
      l_strLoadedVehicle += "</tr>";   
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>Chassis nr.</td>";
      l_strLoadedVehicle += "<td><input id=\"loaded_chassis_nr[]\" type=\"text\" size=\"30\" name=\"loaded_chassis_nr[]\"></td>";
      l_strLoadedVehicle += "<td colspan=\"2\">Booking only possible with car -papers and invoice (or custom document / T1)</td>";
      l_strLoadedVehicle += "</tr>";        
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>Value vehicle</td>";
      l_strLoadedVehicle += "<td colspan=\"3\"><input id=\"loaded_value[]\" type=\"text\" size=\"30\" name=\"loaded_value[]\"></td>";
      l_strLoadedVehicle += "</tr>";            
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td colspan=\"4\"><b>Forwarder or supplier</b></td>";
      l_strLoadedVehicle += "</tr>";
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>Same as invoice</td>";
      l_strLoadedVehicle += "<td colspan=\"3\"><input id=\"same_as_invoice_loaded"+l_intEachLoaded+"\" type=\"checkbox\" onclick=\"getInvoiceInfo(\'loaded\', "+l_intEachLoaded+");\"></td>";
      l_strLoadedVehicle += "</tr>";
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>";
      l_strLoadedVehicle += "Name";
      l_strLoadedVehicle += "</td>";
      l_strLoadedVehicle += "<td>";
      l_strLoadedVehicle += "<div id=\"autocomplete_supplier_loaded_name"+l_intEachLoaded+"[]\" class=\"autocomplete_riding_supplier\"></div>";
      l_strLoadedVehicle += "<input id=\"supplier_loaded_name"+l_intEachLoaded+"[]\" autocomplete=\"off\" type=\"text\" size=\"30\" name=\"supplier_loaded_name[]\" onkeyup=\"getSearch('supplier_loaded_name"+l_intEachLoaded+"[]', '"+debiteur_nr+"');\" onkeydown=\"getSearch('supplier_loaded_name"+l_intEachLoaded+"[]', '"+debiteur_nr+"');\" onblur=\"leaveSearch('supplier_loaded_name"+l_intEachLoaded+"[]');\"></td>";
      l_strLoadedVehicle += "<td>E-mail</td>";
      l_strLoadedVehicle += "<td><input id=\"supplier_loaded_e_mail"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_e_mail[]\"></td>";
      l_strLoadedVehicle += "</tr>"; 
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>Street</td>";
      l_strLoadedVehicle += "<td><input id=\"supplier_loaded_street"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_street[]\"></td>"; 
      l_strLoadedVehicle += "<td>Telephone</td>";
      l_strLoadedVehicle += "<td><input id=\"supplier_loaded_tel"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_tel[]\"></td>";   
      l_strLoadedVehicle += "</tr>";
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>Place</td>";
      l_strLoadedVehicle += "<td><input id=\"supplier_loaded_place"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_place[]\"></td>"; 
      l_strLoadedVehicle += "<td>Fax</td>";
      l_strLoadedVehicle += "<td><input id=\"supplier_loaded_fax"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_fax[]\"></td>";   
      l_strLoadedVehicle += "</tr>"; 
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td>Country</td>";
      l_strLoadedVehicle += "<td><input id=\"supplier_loaded_country"+l_intEachLoaded+"[]\" type=\"text\" size=\"30\" name=\"supplier_loaded_country[]\"></td>";   
      l_strLoadedVehicle += "</tr>";             
      l_strLoadedVehicle += "<tr>";
      l_strLoadedVehicle += "<td colspan=\"4\">&nbsp;</td>";
      l_strLoadedVehicle += "<input type=\"hidden\" name=\"vehiclecounter[]\" value=\"1\">";
      l_strLoadedVehicle += "</tr>";                       
      l_strLoadedVehicle += "</table>";        

      document.getElementById(id).innerHTML += '<div id="loaded'+l_intLoadedCounter+'" style="display: block;">'+l_strLoadedVehicle+'</div>';
      l_uniqueCounter++;
     
    } else {
      alert("Please fulfill the previous loaded vehicle input field.");
    }
  } else {
    alert("More than 6 vehicle’s on one unit is not possible");
  }
}

//Delete functie, hier worden input fields verwijderd
function deleteLoaded(id) {
  l_uniqueCounter--;
  document.getElementById(id).innerHTML = "";
  document.getElementById(id).style.display = "none";
}  

/**
 *  Het controleren van de voorgaande loaded vehicle velden, om te kijken of er een nieuwe geadd mag worden
 */
function checkLoadedvehicle() {
  var returnValue = true;
  var loadedVehicle = document.getElementsByName("loaded_vehicle[]");
  for(var i = 0; i < loadedVehicle.length; i++) {
    loadedVehicleValue = loadedVehicle[i].value;
    if(loadedVehicleValue == 0) {
      returnValue = false;
    }        
  }
  return returnValue;
}              

/**
 *  Dynamische form checker, er word gekeken of er een veld leeg is gelaten
 *  Als er een veld leeg is word er daar automatisch focus() gedaan zodat de gebruiker ziet welk veld het is
 */        
function formchecker() {
  returnValue = true;
  if(document.getElementById("consignee_name").value == "") {
    returnValue = false;
    document.getElementById("consignee_name").focus();
  }
  
  if(document.getElementById("consignee_street").value == "") {
    returnValue = false;
    document.getElementById("consignee_street").focus();
  }
  
  if(document.getElementById("consignee_country").value == "") {
    returnValue = false;
    document.getElementById("consignee_country").focus();
  }
  
  if(document.getElementById("consignee_place").value == "") {
    returnValue = false;
    document.getElementById("consignee_place").focus();
  }
  
  if(document.getElementById("riding_vehicle").value == "") {
    returnValue = false;
    document.getElementById("riding_vehicle").focus();
  }
  
  if(document.getElementById("riding_make_type").value == "") {
    returnValue = false;
    document.getElementById("riding_make_type").focus();
  }
  
  if(document.getElementById("riding_chassis_nr").value == "") {
    returnValue = false;
    document.getElementById("riding_chassis_nr").focus();
  }   
  
  if(document.getElementById("riding_supplier_name").value == "") {
    returnValue = false;
    document.getElementById("riding_supplier_name").focus();
  }
  
  if(document.getElementById("supplier_tel").value == "") {
    returnValue = false;
    document.getElementById("supplier_tel").focus();
  }   

  var loadedValue     = true;
  var loadedMsg       = "";
  var loadedVehicle   = document.getElementsByName("loaded_vehicle[]");
  var loadedMakeType  = document.getElementsByName("loaded_make_type[]");
  var loadedChassisNr = document.getElementsByName("loaded_chassis_nr[]");
  var supplierName  = document.getElementsByName("supplier_loaded_name[]");
  var supplierTel   = document.getElementsByName("supplier_loaded_tel[]");    
  for(var iVehicle = 0; iVehicle < loadedVehicle.length; iVehicle++) {
    loadedVehicleValue = loadedVehicle[iVehicle].value.length;
    if(loadedVehicleValue != 0) {

      for(var iMakeType = 0; iMakeType < loadedMakeType.length; iMakeType++) {
        loadedMakeTypeValue = loadedMakeType[iMakeType].value.length;
        if(loadedMakeTypeValue == 0) {
          loadedMsg = "When you fill in loaded vehicle. You also need to fill in the folowing fields:\n\tmake type\n\tchassis nr\n\tsupplier name\n\tsupplier telephone\n\n";
          loadedValue = false;
        }
      }
      
      for(var iChassisNr = 0; iChassisNr < loadedChassisNr.length; iChassisNr++) {
        loadedChassisNrValue = loadedChassisNr[iChassisNr].value.length;
        if(loadedChassisNrValue == 0) {
          loadedMsg = "When you fill in loaded vehicle. You also need to fill in the folowing fields:\n\tmake type\n\tchassis nr\n\tsupplier name\n\tsupplier telephone\n\n";
          loadedValue = false;
        }
      }
       
      for(var iSupplierName = 0; iSupplierName < supplierName.length; iSupplierName++) {
          supplierNameValue = supplierName[iSupplierName].value.length;
          if(supplierNameValue == 0) {
            loadedMsg = "When you fill in loaded vehicle. You also need to fill in the folowing fields:\n\tmake type\n\tchassis nr\n\tsupplier name\n\tsupplier telephone\n\n";
            returnValue = false;
          }
      }
      
      for(var iSupplierTel = 0; iSupplierTel < supplierTel.length; iSupplierTel++) {
          supplierTelValue = supplierTel[iSupplierTel].value.length;
          if(supplierTelValue == 0) {
            loadedMsg = "When you fill in loaded vehicle. You also need to fill in the folowing fields:\n\tmake type\n\tchassis nr\n\tsupplier name\n\tsupplier telephone\n\n";
            returnValue = false;
          }
      }
                                       
    }        
  }
  
  var termsandcon = "";
  if(document.getElementById("termradio").checked) {
    //alles prima
  } else {
    returnValue = false;
    var termsandcon = "Please accept the terms and conditions.";
  }                 

	if(returnValue == false) {
    alert("You didnt fill in all the required fields.\n\n" + loadedMsg + termsandcon);
		return returnValue;
	} else {
		return returnValue;	
	}  
} 

function registerformChecker() {
  var bReturnValue = true;
  
  if(document.getElementById("userName").value == "") {
    bReturnValue = false;
    document.getElementById("userName").focus();  
  }
  
  if(document.getElementById("userPassword").value == "") {
    bReturnValue = false;
    document.getElementById("userPassword").focus();  
  }
  
  if(document.getElementById("userSecondPassword").value == "") {
    bReturnValue = false;
    document.getElementById("userSecondPassword").focus();  
  }
  
  if(document.getElementById("userAddress").value == "") {
    bReturnValue = false;
    document.getElementById("userAddress").focus();  
  }
  
  if(document.getElementById("userCity").value == "") {
    bReturnValue = false;
    document.getElementById("userCity").focus();  
  }
  
  if(document.getElementById("userCountry").value == "") {
    bReturnValue = false;
    document.getElementById("userCountry").focus();  
  }
  
  if(document.getElementById("userEmail").value == "") {
    bReturnValue = false;
    document.getElementById("userEmail").focus();  
  }
  
  if(document.getElementById("userTel").value == "") {
    bReturnValue = false;
    document.getElementById("userTel").focus();  
  }
  
	if(bReturnValue == false) {
    alert("You didnt fill in all the required fields.");
		return bReturnValue;
	} else {
		return bReturnValue;	
	}                 
}
