// Set Global Variables
var theSpaces = / /g;
var theChars = /\D/g;
var theNums = /\d/g;
var newWindow;

// Swap Image
function swapImage(theAction, theImage, theOriginalImage) {
if (theAction == 1) {
	document[theImage].src = eval(theImage + "_On.src");
	}
if (theAction == 0) {
	document[theImage].src = eval(theImage + "_Off.src");
	}
if (theOriginalImage) {
	document[theOriginalImage].src = eval(theOriginalImage + "_On.src");
	}
}

// Swap Style
function swapStyle(theID, theClass) {
	theID.className = theClass;
}

// Give Focus
function giveFocus(theForm, theField) {
	eval("document.forms[" + theForm + "]." + theField + ".focus()");
}

// Write Email
function writeEmail(theUser, theDomain) {
var theAddress = theUser + "@" + theDomain
	document.write("<A HREF=\"mailto:" + theAddress + "\">" + theAddress + "</A>");
}

// Make Remote
function makeRemote(theURL, theWidth, theHeight, theOptions) {
var theCenterWidth = (window.screen.width - theWidth) / 2;
var theCenterHeight = (window.screen.height - theHeight) / 2;
if (newWindow) {
	newWindow.close();
	}
	newWindow = window.open(theURL, "Remote", "Width=" + theWidth + ",Height=" + theHeight + "," + theOptions);
	newWindow.moveTo(theCenterWidth, theCenterHeight - 50);
	newWindow.focus();
}

// Check Zip
function checkZip(theField) {
	theField.value = theField.value.replace(theChars, "");
var theLength = theField.value.length;
var theDash = theField.value.indexOf("-");
if (theLength == 5) {
	return true;
	}
if (theLength == 9) {
	var Part1 = theField.value.substr(0,5);
	var Part2 = theField.value.substr(5,4);
	theField.value = Part1 + "-" + Part2;
	return true;
	}
}

// Check Phone
function checkPhone(theField) {
	theField.value = theField.value.replace(theChars, "");
if (!isNaN(theField.value) && theField.value.length == 10) {
	var Part1 = theField.value.substr(0,3);
	var Part2 = theField.value.substr(3,3);
	var Part3 = theField.value.substr(6,4);
	theField.value = Part1 + "-" + Part2 + "-" + Part3;
	return true;
	}
}

// Check Email
function checkEmail(theField) {
var theInvalidChars = /[^A-Za-z0-9._@-]/g;
	theField.value = theField.value.replace(theInvalidChars, "");
var theLength = theField.value.length;
var theAt = theField.value.indexOf("@");
var thePeriod = theField.value.lastIndexOf(".");
if (!(theLength < 8 || theAt < 2 || (thePeriod > theLength - 3 || thePeriod < theLength - 5) || theAt > thePeriod - 3)) {
	return true;
	}
}

// Check Credit
function checkCredit(theType, theNumber) {
	theNumber.value = theNumber.value.replace(theChars, "");
var theCard = theType.options[theType.selectedIndex].value;
var theValue = theNumber.value;
if (theCard == "V") {
	if ((theValue.length == 13 || theValue.length == 16) && (theValue.substr(0,1) == "4")) {
		return true;
		}
	}
else if (theCard == "M") {
	if ((theValue.length == 16) && (theValue.substr(0,2) >= "51" && theValue.substr(0,2) <= "55")) {
		return true;
		}
	}
else if (theCard == "A") {
	if ((theValue.length == 15) && (theValue.substr(0,2) == "34" || theValue.substr(0,2) == "37")) {
		return true;
		}
	}
else if (theCard == "D") {
	if ((theValue.length == 16) && (theValue.substr(0,4) == "6011")) {
		return true;
		}
	}
}

// Format Currency
function formatCurrency(theValue) {
var theValue = "" + Math.round(eval(theValue) * Math.pow(10,2))
while (theValue.length <= 2) {
	theValue = "0" + theValue;
	}
var theDecimal = theValue.length - 2;
var theDollars = theValue.substring(0,theDecimal)
var theCents = theValue.substring(theDecimal,theValue.length);
var theCommas = /(-?\d+)(\d{3})/
while (theCommas.test(theDollars)) {
	theDollars = theDollars.replace(theCommas,"$1,$2")
	}
	return "$" + theDollars + "." + theCents;
}

// Confirm Delete
function confirmDelete(theURL) {
if (confirm("Are you sure you wish to delete this item?\nThis action cannot be undone.")) {
	location.href = theURL;
	}
}