    function volunteerTime(Show, Shift, Needed, Time, Name)
    {
        this['SHOW'] = Show;
        this['SHIFT'] = Shift;
        this['NEEDED'] = Needed;
        this['TIME'] = Time;
        this['NAME'] = Name;
    }

    function CheckFields(type)
    {

        if (document.SHIFTS.CONTACT.value == "")
        {
            alert("Please enter the Contact Name.");
            document.SHIFTS.CONTACT.focus();
            return(false);
        }
        if (document.SHIFTS.EMAIL.value == "")
        {
            alert("Please enter the Contact Email Address.");
            document.SHIFTS.EMAIL.focus();
            return(false);
        }
        if (document.SHIFTS.EMAIL.value.indexOf("@") < 0)
        {
            alert("Please enter a properly formatted Email Address (Ex: screenname@aol.com");
            document.SHIFTS.EMAIL.focus();
            return(false);
        }
        if (document.SHIFTS.PHONE.value == "")
        {
            alert("Please enter the 'Contact Phone Number'.");
            document.SHIFTS.PHONE.focus();
            return(false);
        }
        if (type == "Concessions")
        {
            return(true);
        }
        Message = "You have selected to volunteer for the following shift(s):\n\n";
        TT = document.SHIFTS.ITEMTOTAL.value * 1;
        Index = 4;
        Shifts = 0;
        for (i = 0; i < document.SHIFTS.RBTOTAL.value; i++)
        {
            TitleIndex = Index - 2;
            NamesIndex = Index;
            while (document.SHIFTS[NamesIndex].name != "END")
            {
                NamesIndex++;
            }
            NamesIndex++;
            while (document.SHIFTS[Index].name != "END")
            {
                if (document.SHIFTS[Index].checked == true)
                {
                    Shifts++;
                    if (document.SHIFTS[NamesIndex].value == "")
                    {
                        alert("Please enter the 'Volunteer Names' for the " + document.SHIFTS[TitleIndex].value + "shift.");
                        document.SHIFTS[NamesIndex].focus();
                        return(false);
                    }
                    Message += document.SHIFTS[Index].value + ", " + document.SHIFTS[NamesIndex].value + ", for "; 
                    Message += document.SHIFTS[TitleIndex].value + "\n";
                }
                Index++;
            }
            Index+=4;
        }
        if (Shifts == 0)
        {
            alert("Please select a day to volunteer by clicking on the number of people next to the show.");
            return(false);
        }
        Message += "\nContact Name: " + document.SHIFTS.CONTACT.value;
        Message += "\nContact Email Address: " + document.SHIFTS.EMAIL.value;
        Message += "\nContact Phone Number: " + document.SHIFTS.PHONE.value;
        Message += "\n\nIf this is not correct, please cancel and make the corrections before submitting";
        return(confirm(Message));
    }


    function CheckFireworksFields()
    {

        if (document.SHIFTS.CONTACT.value == "")
        {
            alert("Please enter the Contact Name.");
            document.SHIFTS.CONTACT.focus();
            return(false);
        }
        if (document.SHIFTS.EMAIL.value == "")
        {
            alert("Please enter the Contact Email Address.");
            document.SHIFTS.EMAIL.focus();
            return(false);
        }
        if (document.SHIFTS.EMAIL.value.indexOf("@") < 0)
        {
            alert("Please enter a properly formatted Email Address (Ex: screenname@aol.com");
            document.SHIFTS.EMAIL.focus();
            return(false);
        }
        if (document.SHIFTS.PHONE.value == "")
        {
            alert("Please enter the 'Contact Phone Number'.");
            document.SHIFTS.PHONE.focus();
            return(false);
        }
        return(true);
    }

    function CheckBoardFields()
    {
        return(true);
    }

    function BreakOutDate(dt)
    {
//        var dt = "20030131";
        y = dt.substr(0, 4);
        m = dt.substr(4, 2);
        d = dt.substr(6, 2);
        return(m + "/" + d + "/" + y);
    }

    function WriteRemainingShifts(list)
    {
        current = new Date();
        y = current.getYear();
        if (y < 2000)
        {
            y += 1900;
        }
        m = current.getMonth() + 1;
        if (m < 10)
        {
            m = "0" + m;
        }
        d = current.getDate();
        if (d < 10)
        {
            d = "0" + d;
        }
        now = y + "" + m + "" + d;

        document.writeln("  <FORM NAME=\"SHIFTS\" ACTION=\"" + list.ACTION + "\" METHOD=POST OnSubmit=\"return CheckFields();\">");
        document.writeln("      <TABLE BORDER=1><TR><TD>Directions For Use: <UL><LI>First Select the show and the number of people that you will provide to work by clicking the box next to the appropriate number for that show.  <LI>Then enter the names of all the workers in the box marked 'Volunteer Names'.  <LI>Then enter the name, email and phone number of the person to contact for confirmation (this is required to ensure a spot).  <LI>Then press the 'SUBMIT' button to reserve the shifts and send an email to the volunteer manager.</UL></TD></TR></TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=TOTAL VALUE=\"" + list.TOTAL + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=ITEMTOTAL VALUE=\"" + list.ITEMTOTAL + "\">");            
        document.writeln("      <TABLE BORDER=0>");
        Cols = document.SHIFTS.ITEMTOTAL.value * 1 + 1;
        document.writeln("          <TR><TD>Performance</TD><TD COLSPAN=" + Cols + ">Select Number Of Ushers</TD><TD>Volunteer Names</TD></TR>");
        RBTotal = 0;
        for (i = 0; i < list.TOTAL; i++)
        {
            if ((list[i].NEEDED > 0) && (list[i].SHIFT >= now))
            {
                RBTotal++;
                document.writeln("          <TR>");
                Title = list[i].SHOW + " on ";
                Title += BreakOutDate(list[i].SHIFT);
                Title += " at " + list[i].TIME;
                document.writeln("              <TD>" + Title + "<INPUT TYPE=HIDDEN NAME=\"" + list[i].NAME + "TITLE\" VALUE=\"" + Title + "\"></TD>");
                document.writeln("              <TD><INPUT TYPE=RADIO CHECKED NAME=\"" + list[i].NAME + "\" VALUE=\"0\">0</TD>");
                for (j = 0; j < list[i].NEEDED; j++)
                {
                    k =j + 1
                    document.writeln("              <TD><INPUT TYPE=RADIO NAME=\"" + list[i].NAME + "\" VALUE=\"" + k + "\">" + k + "</TD>");
                }
                for (j = list[i].NEEDED + 1; j < Cols; j++)
                {
                    document.writeln("              <TD>&nbsp;</TD>");
                }
                document.writeln("          <TD><INPUT NAME=\"END\" TYPE=HIDDEN><INPUT NAME=\"" + list[i].NAME + "NAMES\" TYPE=TEXT COLS=20></TD>");
                document.writeln("          </TR>");
            }
        }


        document.writeln("          <TR><TD><INPUT NAME=\"CONTACT\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Name</TD></TR>");
        document.writeln("          <TR><TD><INPUT NAME=\"EMAIL\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Email Address (ex: screenname@aol.com)</TD></TR>");
        document.writeln("          <TR><TD><INPUT NAME=\"PHONE\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Phone Number</TD></TR>");


        document.writeln("          <TR><TD COLSPAN=5 ALIGN=CENTER><INPUT TYPE=SUBMIT VALUE=SUBMIT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=RESET VALUE=RESET></TD></TR>");
        document.writeln("      </TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=PREFIX VALUE=\"" + list[0].NAME + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=FILENAME VALUE=\"" + list.FILE + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=VOLTYPE VALUE=\"" + list.TYPE + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=RBTOTAL VALUE=\"" + RBTotal + "\">");
        document.writeln("  </FORM>");
    }


    function WriteRemainingShiftsFireworks(list)
    {
        current = new Date();
        y = current.getYear();
        if (y < 2000)
        {
            y += 1900;
        }
        m = current.getMonth() + 1;
        if (m < 10)
        {
            m = "0" + m;
        }
        d = current.getDate();
        if (d < 10)
        {
            d = "0" + d;
        }
        now = y + "" + m + "" + d;
        document.writeln("  <FORM NAME=\"SHIFTS\" ACTION=\"" + list.ACTION + "\" METHOD=POST OnSubmit=\"return CheckFields();\">");
        document.writeln("      <TABLE BORDER=1><TR><TD>Directions For Use: <UL><LI>First Select the day and the number of people that you will provide to work by clicking the box next to the appropriate number for that day.  <LI>Then enter the names of all the workers in the box marked 'Volunteer Names'.  <LI>Then enter the name, email and phone number of the person to contact for confirmation (this is required to ensure a spot).  <LI>Then press the 'SUBMIT' button to reserve the shifts and send an email to the volunteer manager.</UL></TD></TR></TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=TOTAL VALUE=\"" + list.TOTAL + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=ITEMTOTAL VALUE=\"" + list.ITEMTOTAL + "\">");            
        document.writeln("      <TABLE BORDER=0>");
        Cols = document.SHIFTS.ITEMTOTAL.value * 1 + 1;
        document.writeln("          <TR><TD>Day</TD><TD COLSPAN=" + Cols + ">Select number of people to work</TD><TD>Volunteer Names</TD></TR>");
        RBTotal = 0;
        for (i = 0; i < list.TOTAL; i++)
        {
            if ((list[i].NEEDED > 0) && (list[i].SHIFT >= now))
            {
                RBTotal++;
                document.writeln("          <TR>");
                Title = list[i].SHOW + " ";
                Title += BreakOutDate(list[i].SHIFT);
                Title += " at " + list[i].TIME;
                document.writeln("              <TD>" + Title + "<INPUT TYPE=HIDDEN NAME=\"" + list[i].NAME + "TITLE\" VALUE=\"" + Title + "\"></TD>");
                document.writeln("              <TD><INPUT TYPE=RADIO CHECKED NAME=\"" + list[i].NAME + "\" VALUE=\"0\">0</TD>");
                for (j = 0; j < list[i].NEEDED; j++)
                {
                    k =j + 1
                    document.writeln("              <TD><INPUT TYPE=RADIO NAME=\"" + list[i].NAME + "\" VALUE=\"" + k + "\">" + k + "</TD>");
                }
                for (j = list[i].NEEDED + 1; j < Cols; j++)
                {
                    document.writeln("              <TD>&nbsp;</TD>");
                }
                document.writeln("          <TD><INPUT NAME=\"END\" TYPE=HIDDEN><INPUT NAME=\"" + list[i].NAME + "NAMES\" TYPE=TEXT COLS=40></TD>");
                document.writeln("          </TR>");
            }
        }


        document.writeln("          <TR><TD><INPUT NAME=\"CONTACT\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Name</TD></TR>");
        document.writeln("          <TR><TD><INPUT NAME=\"EMAIL\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Email Address (ex: screenname@aol.com)</TD></TR>");
        document.writeln("          <TR><TD><INPUT NAME=\"PHONE\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Phone Number</TD></TR>");


        document.writeln("          <TR><TD COLSPAN=5 ALIGN=CENTER><INPUT TYPE=SUBMIT VALUE=SUBMIT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=RESET VALUE=RESET></TD></TR>");
        document.writeln("      </TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=PREFIX VALUE=\"" + list[0].NAME + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=FILENAME VALUE=\"" + list.FILE + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=VOLTYPE VALUE=\"" + list.TYPE + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=RBTOTAL VALUE=\"" + RBTotal + "\">");
        document.writeln("  </FORM>");

    }

    function WriteRemainingShiftsBoard(list)
    {
        current = new Date();
        y = current.getYear() + 1900;
        m = current.getMonth() + 1;
        if (m < 10)
        {
            m = "0" + m;
        }
        d = current.getDate();
        if (d < 10)
        {
            d = "0" + d;
        }
        now = y + "" + m + "" + d;

        document.writeln("  <FORM NAME=\"SHIFTS\" ACTION=\"" + list.ACTION + "\" METHOD=POST OnSubmit=\"return CheckBoardFields();\">");
        document.writeln("      <TABLE BORDER=1><TR><TD>Directions For Use: Enter your email address in the shift you can work.  The press the 'SUBMIT' button to reserve the shifts and send an email to the volunteer manager.</TD></TR></TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=TOTAL VALUE=\"" + list.TOTAL + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=ITEMTOTAL VALUE=\"" + list.ITEMTOTAL + "\">");
        document.writeln("      <TABLE BORDER=0>");
        document.writeln("          <TR><TD>Performance</TD><TD>Email Address</TD></TR>");

        for (i = 0; i < list.TOTAL; i++)
        {

            if ((list[i].NEEDED > 0) && (list[i].SHIFT >= now))
            {
                document.writeln("          <TR>");
                Title = list[i].SHOW + " on ";
                Title += BreakOutDate(list[i].SHIFT);
                Title += " at " + list[i].TIME;
                document.writeln("              <TD>" + Title + "<INPUT TYPE=HIDDEN NAME=\"" + list[i].NAME + "TITLE\" VALUE=\"" + Title + "\"></TD>");
                document.writeln("          <TD><INPUT NAME=\"" + list[i].NAME + "NAMES\" TYPE=TEXT COLS=40></TD>");
                document.writeln("          </TR>");
            }
        }


        document.writeln("          <TR><TD COLSPAN=5 ALIGN=CENTER><INPUT TYPE=SUBMIT VALUE=SUBMIT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=RESET VALUE=RESET></TD></TR>");
        document.writeln("      </TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=PREFIX VALUE=\"" + list[0].NAME + "\"");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=FILENAME VALUE=\"" + list.FILE + "\"");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=VOLTYPE VALUE=\"" + list.TYPE + "\"");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=RBTOTAL VALUE=\"" + RBTotal + "\"");
        document.writeln("  </FORM>");
    }



    function WriteRemainingShiftsNew(list)
    {
        current = new Date();
        y = current.getYear();
        if (y < 2000)
        {
            y += 1900;
        }
        m = current.getMonth() + 1;
        if (m < 10)
        {
            m = "0" + m;
        }
        d = current.getDate();
        if (d < 10)
        {
            d = "0" + d;
        }
        now = y + "" + m + "" + d;

        document.writeln("  <FORM NAME=\"SHIFTS\" ACTION=\"" + list.ACTION + "\" METHOD=POST OnSubmit=\"return CheckFields('" + list.TYPE + "');\">");
        document.writeln("      <TABLE BORDER=1><TR><TD>Directions For Use: <UL><LI>First Select the show and the number of people that you will provide to work by clicking the box next to the appropriate number for that show.  <LI>Then enter the names of all the workers in the box marked 'Volunteer Names'.  <LI>Then enter the name, email and phone number of the person to contact for confirmation (this is required to ensure a spot).  <LI>Then press the 'SUBMIT' button to reserve the shifts and send an email to the volunteer manager.</UL></TD></TR></TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=TOTAL VALUE=\"" + list.TOTAL + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=ITEMTOTAL VALUE=\"" + list.ITEMTOTAL + "\">");            
        document.writeln("      <TABLE BORDER=0>");
        Cols = document.SHIFTS.ITEMTOTAL.value * 1 + 1;
        AllCols = Cols+2;
        document.writeln("          <TR><TD>Performance</TD><TD COLSPAN=" + Cols + ">Select Number Of Volunteers</TD><TD>Volunteer Names</TD></TR>");
        RBTotal = 0;
        CurrentTitle = "";
        for (i = 0; i < list.TOTAL; i++)
        {
            if ((list[i].NEEDED > 0) && (list[i].SHIFT >= now))
            {
                if (CurrentTitle != list[i].SHOW)
                {
                        CurrentTitle = list[i].SHOW;
                        document.writeln("          <TR><TD ALIGN=CENTER COLSPAN=" + AllCols + "><A HREF=#Contact>Go To Contact Information</A><BR><HR WIDTH=\"80%\"></TD></TR>");
                }
                RBTotal++;
                document.writeln("          <TR>");
                Title = "<FONT COLOR=RED><U>" + list[i].SHOW + "</U></FONT><BR>";
                Title += BreakOutDate(list[i].SHIFT);
                Title += ", " + list[i].TIME;
                Title1 = list[i].SHOW + " on ";
                Title1 += BreakOutDate(list[i].SHIFT);
                Title1 += " at " + list[i].TIME;
                document.writeln("              <TD>" + Title + "<INPUT TYPE=HIDDEN NAME=\"" + list[i].NAME + "TITLE\" VALUE=\"" + Title1 + "\"></TD>");
                document.writeln("              <TD VALIGN=TOP><INPUT TYPE=RADIO CHECKED NAME=\"" + list[i].NAME + "\" VALUE=\"0\">0</TD>");
                for (j = 0; j < list[i].NEEDED; j++)
                {
                    k =j + 1
                    document.writeln("              <TD VALIGN=TOP><INPUT TYPE=RADIO NAME=\"" + list[i].NAME + "\" VALUE=\"" + k + "\">" + k + "</TD>");
                }
                for (j = list[i].NEEDED + 1; j < Cols; j++)
                {
                    document.writeln("              <TD>&nbsp;</TD>");
                }
                document.writeln("          <TD VALIGN=TOP><INPUT NAME=\"END\" TYPE=HIDDEN><INPUT NAME=\"" + list[i].NAME + "NAMES\" TYPE=TEXT COLS=40></TD>");
                document.writeln("          </TR>");
            }
        }


        document.writeln("          <TR><TD><A NAME=Contact><INPUT NAME=\"CONTACT\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Name</TD></TR>");
        document.writeln("          <TR><TD><INPUT NAME=\"EMAIL\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Email Address (ex: screenname@aol.com)</TD></TR>");
        document.writeln("          <TR><TD><INPUT NAME=\"PHONE\" TYPE=TEXT COLS=40></TD><TD COLSPAN=4>Contact Phone Number</TD></TR>");

        document.writeln("          <TR><TD COLSPAN=" + AllCols + " ALIGN=CENTER><INPUT TYPE=SUBMIT VALUE=SUBMIT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=RESET VALUE=RESET></TD></TR>");
        document.writeln("      </TABLE>");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=PREFIX VALUE=\"" + list.PREFIX + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=FILENAME VALUE=\"" + list.FILE + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=VOLTYPE VALUE=\"" + list.TYPE + "\">");
        document.writeln("      <INPUT TYPE=HIDDEN NAME=RBTOTAL VALUE=\"" + RBTotal + "\">");
        document.writeln("  </FORM>");
    }