// Addition to Array object
Array.prototype.contains = Array_Contains;

function Array_Contains(p_oValue)
{
	var iLength = this.length;
	for (var i = 0; i < iLength; i++)
	{
		if (this[i] == p_oValue)
			return true;
	}
	return false;
}

// Addition to Date object
Date.prototype.getDateString = Date_GetDateString;
Date.prototype.getShortTimeString = Date_GetShortTimeString;

function Date_GetDateString()
{
	return new String((this.getMonth() + 1) + '/' + this.getDate() + '/' + this.getFullYear());
}

function Date_GetShortTimeString(p_bAmPm)
{
	var iHours = this.getHours();
	var sMinutes = String(this.getMinutes()).paddStart("0", 2);
	if (p_bAmPm)
	{
		var sAmPm = " AM";
		if (iHours == 0)
			iHours = 12;
		else if (iHours >= 12)
		{
			sAmPm = " PM";
			if (iHours > 12)
				iHours -= 12;
		}
		return (iHours + ":" + sMinutes + sAmPm);
	}
	else
		return (iHours + ":" + sMinutes);
}

// Addition to String object
String.prototype.paddEnd = String_PaddEnd;
String.prototype.paddStart = String_PaddStart;
String.prototype.trim = String_Trim;

function String_PaddEnd(sCharacter, iLength)
{
	var sReturn = this;
	while (sReturn.length < iLength)
		sReturn += sCharacter;
	return sReturn;
}

function String_PaddStart(sCharacter, iLength)
{
	var sReturn = this;
	while (sReturn.length < iLength)
		sReturn = sCharacter + sReturn;
	return sReturn;
}

function String_Trim()
{
	var sReturn = this;
	sReturn = sReturn.replace(/^[\s]*/gi, "");
	sReturn = sReturn.replace(/[\s]*$/gi, "");
	return sReturn;
}
