﻿// common.js

var i=1; // global counter for colour_on functions
var timerID, timerID2; //process ID's for setTimeouts

function stripZeros(inputStr) {
	var result = inputStr
	while (result.substring(0,1) == "0") {
		result = result.substring(1,result.length)
}
	return result
}

function insert_commas(numberString)	{

var currentString = numberString;
var reverseString = "";
var i = 1;
var displayString = "";
var isDecimal = "false";
var Decimalpoint ;
var tempString = "";
var offset;

currentString = currentString.toString();
currentString = stripZeros(currentString);
Decimalpoint = currentString.indexOf(".");

if (Decimalpoint != -1) {
			isDecimal = "true";
offset = currentString.length - Decimalpoint;
switch (offset) {
	case 1:
{
	tempString = currentString.substring(0,Decimalpoint+1);
	tempString = tempString+"0"+"0";
	break;
}
	case 2:
 {
	tempString = currentString.substring(0,Decimalpoint+2)
	tempString = tempString+"0";
	break;
}
	default :
{
tempString = currentString.substring(0,Decimalpoint+3)
}
}
var cnt = Decimalpoint+3;
			for (var n=0; n>=cnt; n++) {
				var Char = tempString.charAt(cnt);
 				reverseString = reverseString + Char;
				cnt = cnt-1;
				}
			currentString = "";
			currentString = tempString;
}
for (var counter = currentString.length; counter >= 0; counter--) {
			if (isDecimal == "true") {
			i = -2;
			isDecimal = "false"
}
			var currentChar = currentString.charAt(counter);
			reverseString = reverseString + currentChar;
			if ((i==4) && (counter != 0)) {
			reverseString = reverseString + "," ;
			i=1;
	}
			i=i+1;
}


	for (var count = reverseString.length-1; count >=0; count--) {
	var curChar = reverseString.charAt(count);
	displayString = displayString + curChar;
}
numberString = displayString;
return numberString
}
function isNumeric(myString) {
        var dontCalculateFlag = 0
        var decimalFlag = 0
        for (var counter = 0; counter < eval(myString.length); counter++) {
                var myCurChar = myString.charAt(counter);
                if ((myCurChar < "0" || "9" < myCurChar) && myCurChar != ".") {
                        dontCalculateFlag = 1
                }
                if (myCurChar == "." && decimalFlag== 1) {
                        dontCalculateFlag = 1
                }
                if (myCurChar == "."){
                        decimalFlag = 1
                }
        }
        if (myString == "") {
                dontCalculateFlag = 1
        }
        if (dontCalculateFlag == 1)  {
                return false
        }
        else {
                return true
        }
}
function deFormat(myField) {
        var myString = myField; //grab the contents of the current field
        var myFinalString = ""; //declare the variable that holds the final string
        var doParseString = "false";
        var decimalFlag = "false";
        for (var counter = 0; counter < myString.length; counter++) {
                var myCurChar = myString.charAt(counter);
                if (decimalFlag == "false") {
                        myCharsAllowed="1234567890./";
                } else {
                        myCharsAllowed="1234567890/";
                }
                if ((myCurChar != "0") && (isNumeric(myCurChar))) {
                        doParseString = "true"
                }
                if (myCurChar == ".") {
                        decimalFlag = "true"
                }
                if (myCharsAllowed.indexOf(myCurChar) != -1 && doParseString == "true") {
                        myFinalString=myFinalString + myCurChar
                }
        }
        if ((myFinalString == "") || (myFinalString == ".")) {
                myFinalString="0";
        }
        myField=myFinalString;
return myField
}
function getObject(obj) {
	var theObj
	if (document.layers) {
		if (typeof obj == "string") {
			return document.layers[obj]
		} else {
			return obj
		}
	}
	if (document.all) {
		if (typeof obj == "string") {
			return document.all(obj).style
		} else {
			return obj.style
		}
	}
	if (document.getElementById) {
		if (typeof obj == "string") {
			return document.getElementById(obj).style
		} else {
			return obj.style
		}
	}
	return null
}
function setBGColor(obj, color) {
	var theObj = getObject(obj)
	if (theObj.bgColor) {
		theObj.bgColor = color
	} else if (typeof theObj.backgroundColor != "undefined") {
		theObj.backgroundColor = color
	}
}
function colour_on() {
if ( i < 7) {
setBGColor(document.forms[0].elements[i],"orange");
// 1750 msec delay before turning off
timerID=setTimeout("colour_off()",1750);
}
return
}
function colour_off(){
if (timerID) {
// kill colour_on process
clearTimeout(timerID)
}
if (timerID2) {
// kill colour_off process
clearTimeout(timerID2)
}
// reset object to default
setBGColor(document.forms[0].elements[i],"");
// Calculate Savings button found at 0
if ( i == 0 ) {
return
}
if ( i < 7 ) {
i = i + 1 ;
// final call
if ( i == 7 ){
i = 0;
}
timerID2 = setTimeout("colour_on()",700);
}
return
}
