/**
 *
 *  Javascript for enforcing that mandatory fields are set
 *
 */

/**
 *   Fields expected in form with id/name = salesforce_leads  
 */
function mandatoryFields() {
 
   var mandatoryElements  	= document.getElementById('mandatory_elements'); 
   var mandatoryFieldsArr 	=   mandatoryElements.value.split(';');
   var atLeastOneOfElements	= document.getElementById('atleastoneof_elements'); 
   var atLeastOneOfArr 		= atLeastOneOfElements.value.split(';');
	
   var deb = "";
   var allSet = true;
   var i      = 0;
   for (i = 0; i < mandatoryFieldsArr.length; i++) {
      var elem = document.getElementById(mandatoryFieldsArr[i]);
      deb = deb + mandatoryFieldsArr[i] + ":" + elem.value + ":" + elem.value.length + ";";
      if (elem.value.length === 0) {
          allSet = false;
      }  
   }
   
   var atLeastOne = false;
   if (allSet) { // check the at least one of also is checked:NB Only applies to checboxes
	   for (i = 0; i < atLeastOneOfArr.length; i++) {
		  var elem = document.getElementById(atLeastOneOfArr[i]);
		  deb = deb + mandatoryFieldsArr[i] + ":" + elem.value + ":" + elem.value.length + ";";
		  if (elem.checked) {
			  atLeastOne = true;
			  break;
		  }  
	   }   		
   }
   
   var submitElem = null;
	try {
		submitElem = document.getElementById('submit');
	}	
	catch(e) {
		try {
			submitElem = document.getElementByName('submit');
		}	
		catch(e) {
			alert("Error: Could not find submit element");
			return;
		}
	}

   if (allSet && atLeastOne) {
      submitElem.disabled = null;
   }
   else {
      submitElem.disabled ='disabled';
   }
    
}

