/**
 * A utility class that can be used to calculate state taxes.
 *
 * In this case, there is a sales tax on all items but
 * (non-prepared) food has a special exemption.
 *
 *
 * This work complies with the JMU Honor Code.
 *
 * @author  Your Name
 * @version 1.0
 */
public class StateTaxes
{
    private static double FOOD_EXEMPTION_RATE = 0.02;
    private static double SALES_TAX_RATE      = 0.05;
    

    /**
     * Calculate the exemption on (non-prepared) food
     *
     * @param value   The value of the (non-prepared) food
     * @return        The exemption (in dollars)
     */
    public static double foodExemption(double value)
    {
	 	double exemption;
		//checks to make sure the value is positive.
		if (value > 0.0)
		 	exemption = value * FOOD_EXEMPTION_RATE;
		else
			exemption = 0.0;

       return exemption;       
    }//end foodExemption


    /**
     * Calculate the tax on (non-prepared) food.
     *
     * The food tax is the sales tax less the food exemption.
     *
     * @param value   The value of the (non-prepared) food
     * @return        The tax (in dollars)
     */
    public static double foodTax(double value)
    {
       double   tax;
		 double taxobject = value;

		//In the event that the food exemption exceeds the sales tax 
		//on the total value of the (non-prepared) food items 
		//purchased, the food tax is zero.
		if(foodExemption(taxobject) > salesTax(taxobject))
			tax = 0.0;
		else
      	tax = value * (FOOD_EXEMPTION_RATE + SALES_TAX_RATE);
              
       return tax;       
    }//end foodTax
    


    /**
     * Calculate the sales tax.
     *
     * @param value   The value of the items
     * @return        The tax (in dollars)
     */
    public static double salesTax(double value)
    {
       double    tax;
		 //If the (total) value is less than $0.20
         //then the sales tax is 0
   	if (value < .2)
			tax = 0.0;
		else 
       tax = value * SALES_TAX_RATE;       

       return tax;       
    }//end salesTax
    


}//end StateTaxes
