/** HourlyWorker - A class to represent workers paid on a salaried basis)
 *
 * @author - Nancy Harris and YOUR NAME HERE
 * @version - V2 - YOUR UPDATE DATE HERE
 */
 
 public class HourlyWorkerV2 extends Employee
 {
 	private double pay;
	/** explicit value constructor
	 * 
	 * @param name 	The name of the worker
	 * @param SSN  	The SSN of the worker
	 * @param exempt	The number of payroll exemptions
	 & @param rate 	The hourly rate for this employee
	 */
	public HourlyWorkerV2(String name, String SSN, int exempt, double rate)
	{
		// so how do we get this into the Employee class?
		super(name,SSN,exempt,rate);
	}// end explict value contructer
	
	/** pay produces the pay amount for this employee
	 *  pay the rate * hours.  (we are disregarding overtime at this time)
	 *
	 * @param hours The number of hours for this hourly worker
	 *
	 * @return The amount to pay this employee
	 */
	public double pay(double hours)
	{ 
		// store the hours worked
		this.hours = hours;  // stores the hours worked
		// While hours are less than 80 give normal pay
		if(this.hours <= 80)
		{
			//Debug statement System.out.println("entered 1 ");
			pay = this.hours * this.wage;
		}//end iff
		// If overtime occurs increase the remaining pay to 1.5
		else
		{
			//Debug statement System.out.println("entered 2 ");
			pay = this.wage * 80; //Calcuate wage before overtime
			this.hours = this.hours - 80; //Subtract 80 to find additonal worked hours
			pay = pay + (this.wage * 1.5 * this.hours);//add the max pay to the overtime pay * hours worked
		}//end else
		return pay;
	}//end pay()
}//end Class