var reWhitespace = /^\s+$/
var reLetter = /^[a-zA-Z]$/
var reAlphabetic = /^[a-zA-Z]+$/

var reAlphanumeric = /^[a-zA-Z0-9]+$/

var reDigit = /^\d+$/

var reLetterOrDigit = /^([a-zA-Z]|\d)$/

var reInteger = /^\d+$/

var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/

var reDate = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/

var reEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isLetter (c)
{   return reLetter.test(c)
}

function isDigit (c)
{   return reDigit.test(c)
}

function isDate(d)
{
	return reDate.test(d);
}

function isEmail (s)
{
       return reEmail.test(s)
}
function reloadPage()
{
	window.location.reload(); 
}
function redirect(url)
{
	window.location = url;
}
function openWindow(theURL,winName,features) {
    window.open(theURL,winName,features);
    return false;
}
function removeLetters(field)
{
	field.value = field.value.replace(/[^0-9]/g,"");
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function onEnter( evt ) 
{
	var keyCode = null;

	if( evt.which ) 
		keyCode = evt.which;
	else if( evt.keyCode )
		keyCode = evt.keyCode;

	if( 13 == keyCode ) 
		return true;

	return false;
}

function formatPhoneNumber(phoneNumber)
{
	if(phoneNumber.length != 10)
		return phoneNumber;
	
	return "(" + phoneNumber.substring(0,3) + ")" + phoneNumber.substring(3,6) + "-" + phoneNumber.substring(6,10);
}

function sortByAttribute(containerId, elementType, attribute)
{
	itemList = jQuery('#' + containerId + ' ' + elementType + '['+attribute+']').detach();
	
	for(var j = 1; j < itemList.length; j++)
	{
		var key = itemList[j];
		var i = j - 1;
	 
		while(i >= 0 && jQuery(itemList[i]).attr(attribute) > jQuery(key).attr(attribute)) {
			itemList[i+1] = itemList[i];
			i = i - 1;
		}            
	 
		itemList[i+1] = key;
	}
	
	// re-inject sorted list into page
	for (i=0;i<itemList.length;++i) {
		jQuery("#" + containerId).append(itemList[i]);
	}
}
