//********************************************************
// TeamOrb - Calculate Internet Service Rates
// Written by J. Kent Robinson, TeamOrb, LLC
// Please e-mail administrator@teamorb.net with questions or comments
// Version 21.00 - Created 20040126
// Rates effective 20040201
//********************************************************

// **************** CREATE ARRAYS FOR SETUP FEE ****************

var t1 = new createArray (4,  ' ' )
var t2 = new createArray (4,  ' ' )
var t3 = new createArray (4,  ' ' )
var t4 = new createArray (4,  ' ' )

function createArray (n, str) {
	this.size = n
	for (i=1; i<=n; i++) {
		this[i] = str
	}
	return this
}

function initArrays() {

// **************** setup fee table for month to month ****************

t1[0] = 256; t1[256] = 499
t1[1] = 512; t1[512] = 499
t1[2] = 1024; t1[1024] = 499
t1[3] = 1540; t1[1540] = 499


// **************** setup fee table for 1 year term ****************

t2[0] = 256; t2[256] = 199
t2[1] = 512; t2[512] = 159
t2[2] = 1024; t2[1024] = 149
t2[3] = 1540; t2[1540] = 139


// **************** setup fee table for 2 year term ****************

t3[0] = 256; t3[256] = 129
t3[1] = 512; t3[512] = 119
t3[2] = 1024; t3[1024] = 109
t3[3] = 1540; t3[1540] = 99

// **************** setup fee table for 3 year term ****************

t4[0] = 256; t4[256] = 89
t4[1] = 512; t4[512] = 79
t4[2] = 1024; t4[1024] = 69
t4[3] = 1540; t4[1540] = 59
}

// **************** CALCULATE INTERNET SERVICE RATES AND SETUP FEE ****************

function calculate (form) {
	var term = Math.round(form.term.options[form.term.selectedIndex].value)
	form.term.value = term
	var drate = Math.round(form.drate.options[form.drate.selectedIndex].value)
	form.drate.value = drate
	var mrate = Math.round(form.mrate.value)
	var brate = 0
	var setup = 0

//*********************** rate multiplier ***************************

//** IMPORTANT INFORMATION **
// "brate" is the base rate for service with one year contract and is multipled by the data rate.
// Discounts for contract terms are reflected in rate calculations below.

if (drate == 256) {
	brate = .113250
} else if (drate == 512) {
	brate = .075680
} else if (drate == 1024) {
	brate = .062700
} else if (drate == 1540) {
	brate = .049805
}	

//********************** rate multiplier end ************************

//********************** analyze variables and calculate ************
if (term == 1) {
	brate = brate*1.15
	setup = Math.round(t1[drate])
	mrate = drate*brate
		var whole = "" + Math.round(mrate*Math.pow(10,2))
		var decPoint = whole.length - 2
			result = whole.substring(0, decPoint)
			result += "."
			result += whole.substring(decPoint, whole.length)
		mrate = result
} else if (term == 2) {
	brate = brate
	setup = Math.round(t2[drate])
	mrate = drate*brate
		var whole = "" + Math.round(mrate*Math.pow(10,2))
		var decPoint = whole.length - 2
			result = whole.substring(0, decPoint)
			result += "."
			result += whole.substring(decPoint, whole.length)
		mrate = result
} else if (term == 3) {
	brate = brate*.95
	setup = Math.round(t3[drate])
	mrate = drate*brate
		var whole = "" + Math.round(mrate*Math.pow(10,2))
		var decPoint = whole.length - 2
			result = whole.substring(0, decPoint)
			result += "."
			result += whole.substring(decPoint, whole.length)
		mrate = result
} else if (term == 4) {
	brate = brate*.85
	setup = Math.round(t4[drate])
	mrate = drate*brate
		var whole = "" + Math.round(mrate*Math.pow(10,2))
		var decPoint = whole.length - 2
			result = whole.substring(0, decPoint)
			result += "."
			result += whole.substring(decPoint, whole.length)
		mrate = result
}
//********************** analyze variables and calculate end ************

//********************* repopulate screen with data ********************	

if ((term == 0) || (drate == 0)) {
		alert("Sorry!  All fields must be completed for proper fee calculations.")
		form.mrate.value = "not calculated"
		form.setup.value = "not calculated"
	} else {
		form.mrate.value = "$" + mrate
		form.setup.value = "$" + setup
	}
		
}

//****************** END CALCULATIONS & SCRIPT ***************************