
function properCase(fld)
{
	fld.value = toProperCase(fld.value);
}


function upperCase(fld)
{
	fld.value = fld.value.toUpperCase();
}


function lowerCase(fld)
{
	fld.value = fld.value.toLowerCase();
}


function cardNumberChanged(fld)
{
	if (fld.value.search(/[^0-9]/) != -1 || fld.value.length != 16) {
		alert("Please enter 16 digits without punctuations or spaces.");
		return false;
	}
}


function expiryDateChanged(fld)
{
	if (fld.value.search(/[^0-9]/) != -1 || fld.value.length != 4) {
		alert("Please enter 4 digits in the format of mmyy (2-digit month and 2-digit year).");
		return false;
	}
}


//split a string s with the delimeter del
function split(s, del)
{
	arrS = new Array();
	var i = 0;
	var j = 0;
	var k = 0;
	var delim = new String(del);

	//Is the delimeter in the string
	if (s.indexOf(delim) != -1) {
		for (i = 0; i < s.length; i++) {
			if (s.charAt(i) == delim) {
				if (k == 0) {
					arrS[j] = s.substring(k, i);
				} else {
					arrS[j] = s.substring(k+1, i);
				}
				k = i;
				j++;
			}
		}
		arrS[j] = s.substring(k+1, s.length);
	} else {
		arrS[0] = s;
	}
	return arrS;
}


//Converts string to ProperCase with spaces and hyphens
function toProperCase(s)
{
	var i;
	var returnString = "";
	var tmpS = s.toLowerCase();
	for (i = 0; i < tmpS.length; i++) {
		doCap = 0;
		if (i == 0) {
			// Initial character
			doCap = 1;
		} else if (tmpS.charAt(i - 1) == " " || tmpS.charAt(i - 1) == "-" || tmpS.charAt(i - 1) == "'") {
			// After a single character trigger
			doCap = 1;
		} else if (i > 1) {
			// After a double character trigger
			if (tmpS.charAt(i - 2) == "m" && tmpS.charAt(i - 1) == "c") {
				doCap = 1;
			}
		}

		if (doCap) {
			returnString = returnString + tmpS.charAt(i).toUpperCase();
		} else {
			returnString = returnString + tmpS.charAt(i);
		}
	}
	return returnString;
}

function toProperCase_(s)
{
	var i;
	var returnString = "";
	var tmpS = s.toLowerCase();
	var arrS = new Array();
	var arrS2 = new Array();

	//search each word in array arrS
	arrS = split(tmpS, " ");

	for (i = 0; i < arrS.length; i++) {
		var thisWord = arrS[i];
		//Check to see if word contains a hyphen
		if (thisWord.indexOf("-") != -1) {
			arrS2 = split(thisWord, "-");
			for(var j = 0; j < arrS2.length; j++) {
				var thisWord2 = arrS2[j];
				returnString = returnString
					+ thisWord2.charAt(0).toUpperCase()
					+ thisWord2.substring(1, thisWord2.length) + "-";
			}
			returnString = returnString.substring(0, returnString.length-1) + " ";
		} else {
			returnString = returnString
				+ thisWord.charAt(0).toUpperCase()
				+ thisWord.substring(1, thisWord.length) + " ";
		}
	}
	returnString = returnString.substring(0, returnString.length-1);

	return returnString;
}
