String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

String.prototype.isEmail = function() {
	var emailMatch = /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
	
	return emailMatch.test(this);
}

function createElement(tag, elementId, innerHTML, cssClass)
{
	var newElm = document.createElement(tag);
	if (elementId != null)
	{
	
		newElm.setAttribute('id', elementId);
	}
	
	newElm.innerHTML = innerHTML;

	if (cssClass != null)
	{
		newElm.className = cssClass;
	}
	
	return newElm;
}

function isDate(year, month, day)
{
	var dayMax = daysInMonth(year, month);
	
	return day <= dayMax;
}

function daysInMonth(year, month)
{
	var testDate = new Date(year, month + 1, 0);
	return testDate.getDate();
}

function insertAfter(newNode, referenceNode)
{
	referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

function userInputIsNumeric(evt)
{
	var keyCode = (evt.which) ? evt.which : event.keyCode
	return (keyCode > 47 && keyCode < 58) || keyCode == 8;
}

function parseQuerystring(queryString)
{
	var returnArray = new Array();
	
	if (queryString.indexOf('=') > -1)
	{
		queryString = queryString.replace('?', '');
		var parts = queryString.split('&');
		
		for (var i = 0; i < parts.length; i++)
		{
			var keyValue = parts[i].split('=');
			returnArray[keyValue[0]] = keyValue[1];
		}
		
	}
	
	return returnArray;
}

