/** HourlyWorker - A class to represent workers paid on a salaried basis)
 *
 * @author - Nancy Harris and Jimmy Tessitore
 * @version - V1 - 10/1/08
 */
 
    public class HourlyWorkerV2 extends Employee
   {
   
   /** 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, String homeDepartment)
      {
		   //Calls value from the parent class (Employee)
         super(name, SSN, exempt, rate, homeDepartment);
      }
   
   /** 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)
      {
			//Declarations
         double pay = 0;
         double overtimePay = 0;
         double overtimeHours = 0;
      
         this.hours = hours;  // stores the hours worked
      	
			//Loop to calculate overtime pay
         if(hours > 80)
         {
            overtimeHours = hours - 80;
            overtimePay = overtimeHours * (1.5 * wage);
         
            pay = overtimePay + (wage * hours);
         }
         
			//Otherwise calculates pay normally
         else
         {
            pay = wage * hours;
         }
      	
         return pay;
      }
   	
   	
   }//end HourlyWorkerV2