/* Calculator Script */

function resultHandler () {
	// request is 'ready'
	if (myxmlhttp.readyState == 4) {
		// success
		if (myxmlhttp.status == 200) {
			// myxmlhttp.responseText is the content that was received from the request
		} else {
		}
	}
}

function CreateXmlHttpReq(handler) {
	var xmlhttp = null;

	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		// users with activeX off
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	}

	if (xmlhttp) xmlhttp.onreadystatechange = handler;

	return xmlhttp;
}

// XMLHttp send GEt request
function XmlHttpGET(xmlhttp, url) {
	try {
		xmlhttp.open("GET", url, true);	
		xmlhttp.send(null);
	} catch (e) {}
}






function calculate() {	  
	var library;
	library = 'ore';
	var incpercap = 41.4794174979933;
	var yourlib = 'OREGON PUBLIC LIBRARY';
	var thislib;
	
	if (library == "none") {thislib = "your library";}
	else {thislib = yourlib;}
	
	
	var monthinc = incpercap / 12;
	
	var booksValue = document.calculator.books.value * 15;
	document.getElementById("booksResult").value = booksValue.toFixed(2);
	
	var magazineValue = document.calculator.magazine.value * 2;
	document.getElementById("magazineResult").value = magazineValue.toFixed(2);
	
	var libmagValue = document.calculator.libmag.value * 2;
	document.getElementById("libmagResult").value = libmagValue.toFixed(2);
	
	var newsarticlesValue = document.calculator.newsarticles.value * 1;
	document.getElementById("newsarticlesResult").value = newsarticlesValue.toFixed(2);
	
	var videoValue = document.calculator.video.value * 4;
	document.getElementById("videoResult").value = videoValue.toFixed(2);
	
	var audioValue = document.calculator.audio.value * 15;
	document.getElementById("audioResult").value = audioValue.toFixed(2);
	
	var meetingValue = document.calculator.meeting.value * 50;
	document.getElementById("meetingResult").value = meetingValue.toFixed(2);
	
	var computerValue = document.calculator.computer.value * 12;
	document.getElementById("computerResult").value = computerValue.toFixed(2);
	
	var databaseValue = document.calculator.database.value * 10;
	document.getElementById("databaseResult").value = databaseValue.toFixed(2);
	
	var referenceValue = document.calculator.reference.value * 15;
	document.getElementById("referenceResult").value = referenceValue.toFixed(2);
	
	var programValue = document.calculator.program.value * 10;
	document.getElementById("programResult").value = programValue.toFixed(2);
	
	var program2Value = document.calculator.program2.value * 6;
	document.getElementById("program2Result").value = program2Value.toFixed(2);
							 
	var totalresult = booksValue+magazineValue+libmagValue+newsarticlesValue+videoValue+audioValue+meetingValue+computerValue+databaseValue+referenceValue+programValue+program2Value;
	
	document.getElementById("totalResult").innerHTML = " \$ "+totalresult.toFixed(2);
	
	var personalvalue = totalresult / monthinc;
	document.getElementById("personalvalue").innerHTML = personalvalue.toFixed(2);	
	document.getElementById("yourresult").innerHTML = "<p>*Your personal return on investment is based on your responses and the typical annual tax contribution for <span class='boldthis'>"+yourlib+" patrons</span>. You see a returned value of <span class='boldthis'>$"+personalvalue.toFixed(2)+"</span> for every one dollar invested.</p>";
	document.getElementById("librarychoice").innerHTML = thislib;	
	document.getElementById("rightside").innerHTML = "<h3>Your Personal ROI</h3><h2>$"+personalvalue.toFixed(2)+"</h2><p>For every <span class='red'>$1.00</span> in taxes you spend on your library, you receive <span class='red'>$"+personalvalue.toFixed(2)+"</span> of value in return*</p>";
	document.getElementById("rightside").style.border = "2px dashed #003366";

	var totalvalue=totalresult.toFixed(2);
	var roi=personalvalue.toFixed(2);
	
	
	
	
	if(isNaN(booksValue)) {alert("Your response for number of books borrowed contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(magazineValue)) {alert("Your response for number of magazines borrowed contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(libmagValue)) {alert("Your response for number of magazines read in the library contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(newsarticlesValue)) {alert("Your response for number of newspapers read in the library contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(videoValue)) {alert("Your response for number of videos borrowed contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(audioValue)) {alert("Your response for number of audio materials borrowed contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(meetingValue)) {alert("Your response for number of hours of meeting room use contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(computerValue)) {alert("Your response for number of hours using the computer contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(databaseValue)) {alert("Your response for number of databases used contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(referenceValue)) {alert("Your response for number of reference questions asked contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(programValue)) {alert("Your response for number of adult programs attended contains a non-numeric character. Please re-enter your response.");}
	if(isNaN(program2Value)) {alert("Your response for number of children's programs attended contains a non-numeric character. Please re-enter your response.");}

	
	
	var collect_id = document.getElementById("collect_id").value*1;
	
	var url = "process/communicate.php?collect_id="+collect_id+"&library="+library+"&total_value="+totalvalue+"&roi="+roi+"&books="+booksValue+"&magazine="+magazineValue+"&libmag="+libmagValue+"&newsarticle="+newsarticleValue+"&video="+videoValue+"&audio="+audioValue+"&meeting="+meetingValue+"&program="+programValue+"&program2="+program2Value+"&computer="+computerValue+"&database="+databaseValue+"&reference="+referenceValue+"";
	myxmlhttp = CreateXmlHttpReq(resultHandler);

	if (myxmlhttp) {
		XmlHttpGET(myxmlhttp, url);
	} else {
		alert("An error occured while attempting to process your request.");
		// provide an alternative here that does not use XMLHttpRequest
	}
	
}
 