/*
 * netflix.js - netflix fee calculator
 * (C) Copyright 2005 Charles Fry (http://frogcircus.org/netflix)
 */

function convertToDollars(cents) {
	var dollars = '$' + cents / 100;
	if (dollars.indexOf('.') + 2 >= dollars.length) {
		dollars = dollars + '0';
	}
	return dollars;
}

function displayValue(name, value) {
	// var nodes = document.getElementsByName(name); // doesn't work in IE
	var nodes = document.getElementsByTagName('strong');
	for (var i=0; i<nodes.length; i++) {
		if (nodes[i].className == name) {
			nodes[i].firstChild.nodeValue = value;
		}
	}
}

function calculate() {
	var plan;
	for (var i=0; i<document.form.planButton.length; i++) {
		if (document.form.planButton[i].checked) {
			plan = document.form.planButton[i].value;
		}
	}
	displayValue('plan', plan);

	var days;
	for (var i=0; i<document.form.daysButton.length; i++) {
		if (document.form.daysButton[i].checked) {
			days = document.form.daysButton[i].value;
		}
	}
	displayValue('days', days);

	var totaldays = plan * days;
	displayValue('totaldays', totaldays);

	var rate;
	switch(plan) {
		case '1': rate = 999; break;
		case '2': rate = 1499; break;
		case '3': rate = 1999; break;
		case '4': rate = 2799; break;
		case '5': rate = 3499; break;
		case '6': rate = 4199; break;
		case '7': rate = 4899; break;
		case '8': rate = 5599; break;
	}

	var cost = convertToDollars(rate);
	displayValue('cost', cost);

	var dailycost = Math.ceil(rate/totaldays);
	displayValue('dailycost', convertToDollars(dailycost));

	var transit;
	for (var i=0; i<document.form.transitButton.length; i++) {
		if (document.form.transitButton[i].checked) {
			transit = (+document.form.transitButton[i].value); // convert to number
		}
	}
	displayValue('transit', transit);

	var turnaround;
	for (var i=0; i<document.form.turnaroundButton.length; i++) {
		if (document.form.turnaroundButton[i].checked) {
			turnaround = (+document.form.turnaroundButton[i].value); // convert to number
		}
	}
	displayValue('turnaround', turnaround);

	var halftrip = transit + turnaround;
	displayValue('halftrip', halftrip);

	var halftripday;
	switch(halftrip) {
		case 1: halftripday = 'Friday'; break;
		case 2: halftripday = 'Thursday'; break;
		case 3: halftripday = 'Wednesday'; break;
		case 4: halftripday = 'Tuesday'; break;
		case 5: halftripday = 'Monday'; break;
	}
	displayValue('halftripday', halftripday);

	var roundtrip = transit + halftrip + 1;
	displayValue('roundtrip', roundtrip);

	var rentalcost = dailycost * roundtrip;
	displayValue('rentalcost', convertToDollars(rentalcost));

	var totalrentals = Math.floor(totaldays / roundtrip);
	displayValue('totalrentals', totalrentals);
}

