
function trim(s)
{
	return s.replace(/^\s*|\s*$/g,"");
}

function stub()
{
	// Used for the javascript:href property of the anchors, so the onclick() method can
	// be leveraged instead, which supports the parentNode evaluation.
	
	return;
}

function disableRightClick()
{
	document.oncontextmenu=new Function ("return false");
	document.onselectstart=new Function ("return false");
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function validEmail(email,showMsg)
{
	var val = trim(email);

	if (0 == val.length) return true;
	
	if (0 <= val.indexOf(' '))
	{
		if (showMsg) alert("You can't have spaces in an email address.\n\nTry again --  name@domain.extension");
		return false;
	}
	
	var badAt   = (1 > val.indexOf('@'));
	var badDot  = (3 > val.indexOf('.'));
	var badAts  = (val.indexOf('@') != val.lastIndexOf('@'));
	var badEnd  = (val.indexOf('.') == (val.length - 1));

	if (badAt || badDot || badAts || badEnd)
	{
		if (showMsg) alert("That email address is not properfly formed.\n\nTry again --  name@domain.extension");
		return false;
	}

	return true;
}

function cleanupSpacing(id)
{
	try
	{
		var val = trim(document.getElementById(id).value);
		document.getElementById(id).value = val;
	}
	catch(e)
	{
		alert("Can't find document object'" + id + "'");
	}
}

function focusFalse(objName)
{
 	document.getElementById(objName).focus();
	document.getElementById(objName).select();
	return false;
}

function stripNonNumbers(str)
{
    // Search through characters one by one, if not a
    // number, append it to the return string.

    var rtn = '';
	var chr;

    for (var i = 0; i < str.length; i++)
    {   
    	chr = str.charAt(i);
        if ('0123456789'.indexOf(chr) != -1) rtn += chr;
    }
    return rtn;
}

function validatePhone(str)
{
	var numbers = stripNonNumbers(str).length;
	if (!(numbers == 7 || numbers == 10 || numbers == 11))
	{
		alert("That phone number is poorly formed.\n\nTry again again with 7, 10 or 11 digits.");
		return false;
	}
	return true;
}
