function checkRegister(theForm)
{
    var HCPerReg = document.getElementById("EventHCPerReg").value;
    var AvailableHC = document.getElementById("EventHCAvailable").value;
    var objUREG_WAIT = "NO";
    var UserHCSelect = 0;
    var tmp = new String(theForm.UREG_NOTES.value)
    
    
    if(document.getElementById("UREG_WAIT") != null) objURE_WAIT = document.getElementById("UREG_WAIT").value;
    if(objURE_WAIT.length == 0) objURE_WAIT = 'NO';
    
    if(document.getElementById("UREG_HEADCOUNT") != null){
        UserHCSelect = Math.abs(document.getElementById("UREG_HEADCOUNT").options[document.getElementById("UREG_HEADCOUNT").selectedIndex].value);
        if(HCPerReg == 0) HCPerReg = document.getElementById("UREG_HEADCOUNT").options.length - 1;
    }
    
    if(UserHCSelect == 0)
    {
        var Exl1 = -1, Exl2 = -1, Exl3 = -1, Exl4 = -1;
        var ExlVal = "";
        if(document.getElementById("txtExcludeHC") != null) {
            ExlVal = document.getElementById("txtExcludeHC").value;
            if(ExlVal.length > 0) {
                if(ExlVal.indexOf(":") != -1){
                    switch (ExlVal.split(':').length)
                    {
                        case 4:
                            Exl1 = Math.abs(ExlVal.split(":")[0]);
                            Exl2 = Math.abs(ExlVal.split(":")[1]);
                            Exl3 = Math.abs(ExlVal.split(":")[2]);
                            Exl4 = Math.abs(ExlVal.split(":")[3]);
                            break;
                       case 3:
                            Exl1 = Math.abs(ExlVal.split(":")[0]);
                            Exl2 = Math.abs(ExlVal.split(":")[1]);
                            Exl3 = Math.abs(ExlVal.split(":")[2]);
                            break;
                      case 2:
                            Exl1 = Math.abs(ExlVal.split(":")[0]);
                            Exl2 = Math.abs(ExlVal.split(":")[1]);
                            break;
                      default:
                            Exl1 = Math.abs(ExlVal.split(":")[0]);
                            break;
                    }
                    //alert("Exl1: " + Exl1 + "\nExl2: " + Exl2 + "\nExl3: " + Exl3 + "\nExl4: " + Exl4);
                }
            }
        }
        if(document.getElementById("HEADCOUNT_BO_1") != null)
        {
            if(Exl1 != 1){
                UserHCSelect += Math.abs(document.getElementById("HEADCOUNT_BO_1").options[document.getElementById("HEADCOUNT_BO_1").selectedIndex].value);
                if(HCPerReg == 0) HCPerReg = document.getElementById("HEADCOUNT_BO_1").options.length - 1;
            }
        }
        
        if(document.getElementById("HEADCOUNT_BO_2") != null)
        {
            if(Exl2 != 1){
                UserHCSelect += Math.abs(document.getElementById("HEADCOUNT_BO_2").options[document.getElementById("HEADCOUNT_BO_2").selectedIndex].value);
            }
        }
        if(document.getElementById("HEADCOUNT_BO_3") != null)
        {
            if(Exl3 != 1){
                UserHCSelect += Math.abs(document.getElementById("HEADCOUNT_BO_3").options[document.getElementById("HEADCOUNT_BO_3").selectedIndex].value);
            }
        }
        if(document.getElementById("HEADCOUNT_BO_4") != null)
        {
            if(Exl4 != 1){
                UserHCSelect += Math.abs(document.getElementById("HEADCOUNT_BO_4").options[document.getElementById("HEADCOUNT_BO_4").selectedIndex].value);
            }
        }
    }
	
    
    //alert("Headcount Per Registration: " + HCPerReg + "\nAvailable Headcount: " + AvailableHC + "\nUser Selection HC: " + UserHCSelect);
    
    if(Math.abs(UserHCSelect) <= 0)
    {
        alert("You must select \"Number of People to Register for Event\". ");
        return false;
    }
    
    if(Math.abs(UserHCSelect) > Math.abs(HCPerReg)) {
        alert("The headcount requested exceeds maximum of " + HCPerReg + " per registration.");
        return false;
    }
    
    if( (Math.abs(UserHCSelect) > Math.abs(AvailableHC)) && (Math.abs(AvailableHC) <= Math.abs(HCPerReg)) && objURE_WAIT == 'NO'){
        alert("Cannot proceed with your registration due to unavailability of requested headcount.\nPlease select headcount (" + AvailableHC + ") or less if you wish to continue with this event registration.");
        ShowHideLayerWaitlist(true);
        return false;
    }

	if (tmp.length > 255)
	{
		alert ("You have entered too many characters (" + tmp.length + ") in the \"Notes\" field.\nMax is 255 characters.\nPlease Shorten the Notes.");
		theForm.UREG_NOTES.focus();
		return false;
	}


	if (theForm.elements["UREG_TIME"])
	{
	    try{
		    if (theForm.UREG_TIME.options[theForm.UREG_TIME.selectedIndex].value == "")
		    {
			    alert("You must select a Time");
			    theForm.UREG_TIME.focus();
			    return false;
		    }
		}catch(e){e;}
	}

    return true;
	
}
function ShowHideLayerWaitlist(flg)
{
    var Lyr = document.getElementById("DivAddToWaitlist");
    try{
        if(Lyr != null)
        {
            if(flg){
                Lyr.style.visibility = "visible";
            }else{Lyr.style.visibility = "hidden";}
        }
   }catch(e){;}
   Lyr = null;
}