function calcHire(){
	var hire = document.getElementById("hdate");
	var salary = document.getElementById("salary");
	
	if(hire.value != ""){
		var early = new Date(2010, 1, 3, 0, 0, 0, 0);
		var enact = new Date(2010, 2, 18, 0, 0, 0, 0);
		var yearEnd = new Date(2010, 11, 31, 0, 0, 0, 0);
		var daysIn2010 = 365;

		var hireDate = new Date(hire.value);
		if(hireDate == "Invalid Date"){
			setresult("");
			return;
		}
		var hYear = hireDate.getFullYear();
		if(hYear < 2000){
			hireDate.setFullYear(hYear + 100);
		}
		var wages = salary.value.replace(/[^\d\.]/g, "");
		if(wages == ""){
			setresult("");
			return;
		}
		if(hireDate > early && hireDate <= yearEnd){
			var eDays = ((hireDate < enact) ? days_between(yearEnd, enact) : days_between(yearEnd, hireDate));
			var adjWages = wages * eDays / daysIn2010;
			var ssExempt = (adjWages < 106800) ? (adjWages * 0.062) : 6622;
			setresult(Math.round(ssExempt + 1000));
		}else{
			setresult("0");
		}
	}
}
function setresult(credit){
	var result = document.getElementById("result");
	credit = ((credit == "") ? "&nbsp;" : ("$" + credit));
	result.innerHTML = credit;
}

function days_between(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)

}

