///<summary>
/// Validates a Canadian postal code
///</summary>
///<param name="inPostal">The postal code to test</param>
function ValidatePostalCode(inPostal)
{
    var sPostal = inPostal.toLowerCase();
    var PostalPattern = /[a-z]\d[a-z] \d[a-z]\d/;
    return PostalPattern.test(sPostal);    
}//ValidatePostalCode

///<summary>
/// Validate a phone number in the format (111) 111-1111
///</summary>
///<param name="inPhone">The phone number to match</param>
function ValidatePhoneNumber(inPhone)
{
    var PhonePattern = /\(\d\d\d\) \d\d\d-\d\d\d\d/;
    return PhonePattern.test(inPhone);
}//ValidatePhoneNumber

///<summary>
/// Validates a simple email address
///</summary>
///<param name="Email">The email address to validate</param>
function EmailValidate(Email)
{
	var re=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
	return re.test(Email);
}//EmailValidate

///<summary>
/// Attempt to focus on a given input
///</summary>
///<param name="oInput">The input to focus on</param>
function AttemptFocus(oInput)
{
    try
    {
        oInput.focus();
        return true;
    }
    catch(e)
    {
        return false;
    }
}//AttemptFocus

///<summary>
/// Checks to see that at least one element in a group is checked, (Radio or checkbox groups)
///</summary>
///<param name="name">The name of the elements in the group</param>
function GroupCheck(name)
{
    var oElems = eval ("window.document.forms[0].elements['"+ name +"']")
    for(var i=0; i<oElems.length; i++)
    {    
        var CurEl = oElems[i];
        if(CurEl.checked == true)
        {
            return true;
        }
    }//for each radio in the radio group
    
    return false;
}//GroupCheck    
