//---------Coding for Online Quote Form Validation---------------//

function validateCRBchecksForm(formObj) 
{
	
// validate number of CRB Checks
	if (formObj.M_CRBchecks.value == "")
	{
		alert ("Please enter the number of CRB checks you would like.");
		formObj.M_CRBchecks.focus();
		return false;
	}	

	// validate phone number
	var valid = 1
	var GoodChars = "0123456789"
	var i = 0
	for (i =0; i <= formObj.M_CRBchecks.value.length -1; i++) {
		if (GoodChars.indexOf(formObj.M_CRBchecks.value.charAt(i)) == -1) {
	// Note: Remove the comments from the following line to see this
	// for loop in action.
			alert("You can only enter a numerical value")
			formObj.M_CRBchecks.focus();
			return false;
		} // End if statement
	} // End for loop


// validate Organisation name
	if (formObj.MC_OrgName.value == "")
	{
		alert ("Please enter your organisation name.");
		formObj.MC_OrgName.focus();
		return false;
	}

// validate Name
	if (formObj.name.value == "")
	{
		alert ("Please enter your name.");
		formObj.name.focus();
		return false;
	}

// validate Address
	if (formObj.address.value == "")
	{
		alert ("Please enter your address.");
		formObj.address.focus();
		return false;
	}

// validate Postcode
	if (formObj.postcode.value == "")
	{
		alert ("Please enter your postcode.");
		formObj.postcode.focus();
		return false;
	}	


// validate tel
	if (formObj.tel.value == "")
	{
		alert ("Please enter your telephone number.");
		formObj.tel.focus();
		return false;
	}	

	// validate email
	if (formObj.email.value < 3 )
	{
		alert ("You must enter at least three characters in your e-mail address to continue!");
		formObj.email.focus();
		return false;
	}
	if ((formObj.email.value.indexOf('@') < 0) || ((formObj.email.value.charAt(formObj.email.value.length-4) != '.') && (formObj.email.value.charAt(formObj.email.value.length-3) != '.'))) 
	{alert("You have entered an invalid e-mail address. Please try again.");
	formObj.email.select();
	return false;
	} 

// validate Name
	if (formObj.MC_FormRefNo.value == "")
	{
		alert ("Please enter a form reference number.");
		formObj.MC_FormRefNo.focus();
		return false;
	}	

return true;

}






//---------Coding for order a pack Form Validation---------------//

function validatePackForm(formObj2) 
{
		
// validate BusinessName
	if (formObj2.DCPForm.checked == 1 && formObj2.number_of_forms.value == ""){
		alert ("Please enter the number of forms required");
		formObj2.DCPForm.focus();
		return false;
	}		

// validate Name
	if (formObj2.name.value == "")
	{
		alert ("Please enter your name.");
		formObj2.name.focus();
		return false;
	}
	
// validate BusinessName
	if (formObj2.business.value == "")
	{
		alert ("Please enter your Business name.");
		formObj2.business.focus();
		return false;
	}	

// validate Address
	if (formObj2.address.value == "")
	{
		alert ("Please enter your address.");
		formObj2.address.focus();
		return false;
	}

// validate tel
	if (formObj2.office.value == "")
	{
		alert ("Please enter your telephone number.");
		formObj2.office.focus();
		return false;
	}	

	// validate email
	if (formObj2.email.value < 3 )
	{
		alert ("You must enter at least three characters in your e-mail address to continue!");
		formObj2.email.focus();
		return false;
	}
	if ((formObj2.email.value.indexOf('@') < 0) || ((formObj2.email.value.charAt(formObj2.email.value.length-4) != '.') && (formObj2.email.value.charAt(formObj2.email.value.length-3) != '.'))) 
	{alert("You have entered an invalid e-mail address. Please try again.");
	formObj2.email.select();
	return false;
	} 	

return true;

}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {
    // Convert the number to a string
    var value_string = rounded_value.toString()
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".")

    // Is there a decimal point?
    if (decimal_location == -1) {
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : ""
    }
    else {
        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1
    }
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length
    if (pad_total > 0) {    
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}

function calc_order()
{
	desc = "";
	tot = 0;
	totfee=0;
	VolunteerYesNo=="No";
	var VolunteerYesNo = document.goal.Volunteer.value;		
	if(VolunteerYesNo == "No")	
	{
	document.goal.FeeAmount.value = "63";
	document.goal.CardFee.value = "0";
	}
	else		
	{
	document.goal.FeeAmount.value = "19";
	document.goal.CardFee.value = "0";};		
	if(document.goal.M_CRBchecks.value > -1)
	{
		tot = tot + (document.goal.M_CRBchecks.value * document.goal.FeeAmount.value);
		totfee = totfee + (document.goal.M_CRBchecks.value * document.goal.CardFee.value);
		desc = desc + "CRB Checks (" + document.goal.M_CRBchecks.value + ")";
	}
	if(tot > -1)
	{
		document.goal.fee.value = round_decimals(totfee,2);			
		document.goal.amount.value = round_decimals(tot,2);
	}
	document.goal.desc.value = desc;
}   
