﻿// ---------------------------------------
// function prototype indexOf function of Array
// ---------------------------------------
if (!Array.prototype.indexOf)
{
	Array.prototype.indexOf = function(elt /*, from*/)
	{
		var len = this.length;
		var from = Number(arguments[1]) || 0;
		from = (from < 0) ? Math.ceil(from) : Math.floor(from);
		if (from < 0) from += len;
		for (; from < len; from++)
		{
			if (from in this && this[from] === elt)
				return from;
		}
		return -1;
	};
}


// ---------------------------------------
// function prototype find function of Array
// ---------------------------------------
if (!Array.prototype.find)
{
	Array.prototype.find = function(element)
	{
		for (var keys in this)
		{
			if (this[keys] == element)
			{
				return keys;
				break;
			}
		}
		return -1;
	};
}


// ---------------------------------------
// function prototype startsWith function of String
// ---------------------------------------
if (!String.prototype.startsWith)
{
	String.prototype.startsWith = function(str)
	{
		return (this.match("^" + str) == str);
	};
}


// ---------------------------------------
// function prototype endsWith function of String
// ---------------------------------------
if (!String.prototype.endsWith)
{
	String.prototype.endsWith = function(str)
	{
		return (this.match(str + "$") == str);
	};
}


// ---------------------------------------
// function prototype trim function of String
// ---------------------------------------
if (!String.prototype.trim)
{
	String.prototype.trim = function()
	{
		return (this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""));
	};
}




