window.addEvent('domready', function() {

    //window.store('domready', true);

    //The mootools accordion opens all its elements when the page loads and then immediately closes them.  By
    //setting the pageContainer div to display none first, and then setting it to display block, this seems to give the accordion
    //time enough to open and close behind the scenes.

    //This application also now working in IE8. -- is no longer working in IE.
    //

    

    // Create StickyWin  for browser detection msg.
  

    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
        var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
        if (ieversion<8)
            $('pageContainerIE').setStyle('display','block');
        else {
            $('pageContainerIE').setStyle('display','none');
             $('pageContainer').setStyle('display','block');
        }
    }
    else
        $('pageContainer').setStyle('display','block');
    
    var phpPath = '/reservation';
    // var phpPath = '/reservation';

    var MA = [];
    var MAsort = [];
    var regFormPassed = 'NO';
    var urldates = '';
    var save_urldates = '';
    var urlRES = '';

    var urlPASS = '';
    var urldatesEmail = '';
    var save_urldatesEmail = '';
    var urldatesReload = '';
    var save_urldatesReload = '';
    var numdates = 0;
    var PERSONv = [];
    //   var PERSONk=['dblbed',
    //       'status1','fname1','lname1','address11','address12','city1','state1','zipcode1','email1','phone1',
    //       'status2','fname2','lname2','address21','address22','city2','state2','zipcode2','email2','phone2']
    var PERSONk=['dblbed',
    'fname1','lname1','address11','address12','city1','state1','zipcode1','email1','phone1',
    'fname2','lname2','address21','address22','city2','state2','zipcode2','email2','phone2']
    var PERSON = [];
    var RESselNamev = ['none','none','none','none','none','none'];
    var RESselNamek = ['selName0','selName1','selName2','selName3','selName4','selName5'];
    var RESselName = RESselNamev.associate(RESselNamek);
    var RESv =[];
    var RESk =['resDate','room','bed','bednum','selname','dinner1','dinner2'];
    var RES = [];

    var tmpci = 0; //tmp to hold ci+1;
    var tmpFlag = 0; //to flag if familyNames is entered correctly

    var adminuser1 = 'traildiamond@gmail.com';
    var adminuser2 = 'doriev@verizon.net';
    var adminuser3 = 'wkornrum@nycap.rr.com';
    var adminuser4 = 'davemrg@gmail.com';
    var adminuser5 = 'wschaef1@nycap.rr.com';

    var clickcnt = 0;  // indicates when a reservation has been made.  used as a flag.
    var contentHold = $('content').get('value');
    var cancelRES = [];
    var ci = 0;

    var i = 0;
    var j = 0;
    var maxdates = 6;
    var maxdatescancel = 20;
    var tmp = '';
    var tmp1 = '';
    var profileFields = [];
    var selectUsersListRows = [];
    var selectUsersListFields = [];
    var stickyUsersListOpen = 'closed';

    var urlProfile = '';
    var updateMode = 'none';  //none, cancel, reserve, view
    var username = '';  //this is the emailaddr used to sign into application
    var userlname = '';
    var userfname = '';

    var selectlistfamilycolor = 'royalblue';

    var resOrCancelByAdmin = ''; //this indicates that an admin is reserving for someone else
    var resOrCancelByAdminFlag = 'resOrCancel'; //Flag = Yes if admin is reserving for someone else
    var resOrCancelByAdminUsername = ''; //Username (aka email) for whom admin is making a reservation

    //   var cancelByAdmin = ''; //this indicates that an admin is reserving for someone else
    //var cancelByAdminFlag = 'NO'; //Flag = Yes if admin is reserving for someone else
    //  var cancelByAdminUsername = ''; //Username (aka email) for whom admin is making a reservation

    var selectMembersListRows = [];
    var selectMembersListFields = [];
    var stickyMembersListOpen = 'closed';

    var tmpconfirmContent_responseHTML = '';

    var validateFields = [];
    var validateRows = [];
    var validateNumRows = 0;
    var validateNumlength = 0;
    var validateI = 0;

    //////////////////////////////TIME OUT/////////////////////////////////
    var timeit = function(){
        setTimeout("location.href = 'http://www.swcweb.org/';",1000*60*20);
    }
    $('tableContainer').addEvent('click',timeit);

    ///////////////////////////STICKY SECTION/////////////////////////////////
    ////STICKYs MUST BE DEFINED before defining var for their elements////////
    //

 


    // Create StickyWin  for forgotton password.
    var myStickyPassword = new StickyWin({
        content: $('stickyPassword').get('value'),
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 700,
        showNow: false,
        height: 400,
        relativeTo: $('el0'),
        /*upper left corner of el1 */
        position: 'center',
        offset: {
            x: 5, /*over to the right*/
            y: 100 /*and down a little*/
        }
    });
    // Create StickyWin  for modifyDinner form
    var myStickyAllDinners = new StickyWin({
        content: $('stickyAllDinners').get('value'),
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 800,
        showNow: false,
        height: 700,
        relativeTo: $('el0'),
        position: 'center',
        offset: {
            x: 5, /*over to the right*/
            y: 100 /*and down a little*/
        }
    });

    // Create StickyWin  for assigning Hosts to Room13
    var myStickyAssignHosts = new StickyWin({
        content: $('stickyAssignHosts').get('value'),
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 500,
        showNow: false,
        height: 700
    });

    // Create StickyWin  Help popup for Accordion.display(0).
    var myStickyHelp1 = new StickyWin({
        content: $('stickyWinHelp1').get('value'),
        //     fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 800,
        showNow: false,
        height: 550
    });

  // Create StickyWin  Help popup for Accordion.display(0).
    var myStickyPayMyBill = new StickyWin({
        content: $('stickyPayMyBill').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 650,
        showNow: false,
        height: 500
    });
    // Create StickyWin  Help popup for Accordion.display(1).
    var myStickHelp2 = new StickyWin({
        content: $('stickyWinHelp2').get('value'),
        //   fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 800,
        showNow: false,
        height: 500
    });

    // Create StickyWin  Help popup for Accordion.display(1).
    var myStickyRoomDescriptions = new StickyWin({
        content: $('stickyRoomDescriptions').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 300,
        showNow: false,
        height: 550,
        relativeTo: $('el2'),
        /*upper left corner of el1 */
        position: 'upperLeft',
        offset: {
            x: -200, /*over to the left*/
            y: -30 /*and up a little*/
        }
    });
    // Create StickyWin  Login Reminder
    var myStickyLoginReminder= new StickyWin({
        content: $('stickyLoginReminder').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 800,
        showNow: false,
        height: 500,
        relativeTo: $('tableContainer'),
        /*upper left corner of el1 */
        position: 'center',
        offset: {
            x: 5, /*over to the right*/
            y: 1 /*and down a little*/
        }
    });

    // Create StickyWin  To ask users to re request their login username-password.
    var myStickyLoginReRequest = new StickyWin({
        content: $('stickyLoginReRequest').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 700,
        showNow: false,
        height: 300,
        relativeTo: $('el0'),
        /*upper left corner of el1 */
        position: 'center',
        offset: {
            //     x: 5, /*over to the left*/
            y: -90 /*and up a little*/
        } //,
    //   onClose: function(){
    //       eluserslistbox.checked = false;
    //       eluserslistbox2.checked = false;
    //       stickyUsersListOpen = 'closed';
    //   }
    });
    // Create StickyWin  Users List popup for Accordion.display(2).
    var myStickySelectUsersList = new StickyWin({
        content: $('stickySelectUsersList').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 400,
        showNow: false,
        height: 700,
        relativeTo: $('el0'),
        /*upper left corner of el1 */
        position: 'upperLeft',
        offset: {
            x: -200, /*over to the left*/
            y: -01 /*and up a little*/
        },
        onClose: function(){
            eluserslistbox.checked = false;
            eluserslistbox2.checked = false;
            stickyUsersListOpen = 'closed';
        }
    });

    // Create StickyWin  Users List popup for Accordion.display(2).
    var myStickySelectMembersList = new StickyWin({
        content: $('stickySelectMembersList').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 400,
        showNow: false,
        height: 700,
        relativeTo: $('el0'),
        /*upper left corner of el1 */
        position: 'upperLeft',
        offset: {
            x: -200, /*over to the left*/
            y: -20 /*and up a little*/
        },
        onClose: function(){
            stickyMembersListOpen = 'closed';
        }
    });

    var myStickySelectedMember = new StickyWin({
        content: $('stickySelectedMember').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 450,
        showNow: false,
        height: 100,
        relativeTo: $('top_border'),
        /*upper left corner of el1 */
        position: 'upperLeft'
    //  offset: {
    //      x: -200, /*over to the left*/
    //      y: -20 /*and up a little*/
    //   } //,
    //onClose: function(){
    //    stickyMembersListOpen = 'closed';
    //}
    });

    // Create StickyWin  Email List popup for Accordion.display(2).
    var myStickyEmailList = new StickyWin({
        content: $('stickyEmailList').get('value'),
        //  fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: true,
        resizeHandleSelector: 'a.resizer',
        closeOnClickOut:true,
        width: 1000,
        showNow: false,
        height: 700
    });

    // Create StickyWin  allUsers List popup for Accordion.display(0).
    var myStickyAllUsers = new StickyWin({
        content: $('stickyAllUsers').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: true,
        resizeHandleSelector: 'a.resizer',
        closeOnClickOut:true,
        width: 1024,
        showNow: false,
        height: 700
    });

    // Create StickyWin  Reservation Confirmation popup for Accordion.display(2).
    var myStickyConfirm = new StickyWin({
        content: $('stickyConfirm').get('value'),
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 900,
        showNow: false,
        height: 500
    });

    // Create StickyWin  Reservation Dinner popup for Accordion.display(2).
    var myStickyDinner = new StickyWin({
        content: $('stickyDinner').get('value'),
        fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 900,
        showNow: false,
        height: 500
    });

    // Create StickyWin  Reservation Cancellation popup for Accordion.display(2).
    var myStickyCancel = new StickyWin({
        content: $('stickyCancel').get('value'),
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 900,
        showNow: false,
        height: 400
    });

    var myStickyValidate = new StickyWin({
        content: $('stickyValidate').get('value'),
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 750,
        showNow: false,
        height: 650
    });

    var myStickyRequest = new StickyWin({
        content: $('stickyRequest').get('value'),
        // fadeDuration: 600,
        draggable: true,
        dragHandleSelector: 'div.handle',
        resizable: false,
        resizeHandleSelector: 'a.resizer',
        width: 750,
        showNow: false,
        height: 650
    });
    // Define html variables:  elchkbox, regForm1All, reForm2All, regButts
    // CANNOT declare variables of stickys before defining the stickys
    var decide2 = $('divDecide2');
    var decideInputs = $$(decide2.getElementsByTagName('input'));

    var elchkbox = $('dblbed');
    var elselfbox = $('self');
    var eluserslistbox = $('userslist');
    var eluserslistbox2 = $('userslist2');
    var elnewbox = $('addNewUser');
    var elvalidatebox = $('validateRequest');
    var elmodifydinnerbox = $('modifyDinner');
    var elassignhostsbox = $('assignHosts');
    var elresbyadmin = $('resByAdmin');
    var elcancelbyadmin = $('cancelByAdmin');

    var regForm1 = $('regForm1');
    var regForm1Inputs = $$(regForm1.getElementsByTagName('input'));
    var regForm1Select = $$(regForm1.getElementsByTagName('select'));
    var regForm1All = $$(regForm1Inputs, regForm1Select);


    var regForm2 = $('regForm2');
    var regForm2Inputs = $$(regForm2.getElementsByTagName('input'));
    var regForm2Select = $$(regForm2.getElementsByTagName('select'));
    var regForm2All = $$(regForm2Inputs, regForm2Select);

    var regButts = $('regButts');
    var regButtsAll = $$(regButts.getElementsByTagName('input'));

    var profileForm1 = $('profileForm1');
    var profileForm1Inputs = $$(profileForm1.getElementsByTagName('input'));
    var profileForm1Select = $$(profileForm1.getElementsByTagName('select'));
    var profileForm1All = $$(profileForm1Inputs, profileForm1Select);

    var profileButts = $('profileButts');
    var profileButtsAll = $$(profileButts.getElementsByTagName('input'));

    var passForm1 = $('passForm1');
    var passForm1Inputs = $$(passForm1.getElementsByTagName('input'));
    var passForm1Select = $$(passForm1.getElementsByTagName('select'));
    var passForm1All = $$(passForm1Inputs, passForm1Select);

    var requestForm1 = $('requestForm1');
    var requestForm1Inputs = $$(requestForm1.getElementsByTagName('input'));
    var requestForm1Select = $$(requestForm1.getElementsByTagName('select'));
    var requestForm1All = $$(requestForm1Inputs, requestForm1Select);

    var requestButts = $('requestButts');
    var requestButtsAll = $$(requestButts.getElementsByTagName('input'));

    var validateForm1 = $('validateForm1');
    var validateForm1Inputs = $$(validateForm1.getElementsByTagName('input'));
    var validateForm1Select = $$(validateForm1.getElementsByTagName('select'));
    var validateForm1All = $$(validateForm1Inputs, validateForm1Select);

    var validateButts = $('validateButts');
    var validateButtsAll = $$(validateButts.getElementsByTagName('input'));


    var selDates = $('selDates');
    var selDatesInputs = $$(selDates.getElementsByTagName('input'));

    var availButts = $('availButts');
    var availButtsAll = $$(availButts.getElementsByTagName('input'));

    var saveButts = $('saveButts');
    var saveButtsAll = $$(saveButts.getElementsByTagName('input'));

    var VerticalSlideStatus = {
        'true': 'open',
        'false': 'close'
    };

    var myVerticalSlide = new Fx.Slide('vertical_slide').hide();

    var myAccordion = new Accordion($('accordion'), 'h3.toggler', 'div.element', {
        opacity: true,
        alwaysHide: true,
        display:0,
        show:-1,
        onActive: function(toggler, element){
           if ($('toggleLogin').get('text') !=='Log in successful!'){
               //myAccordion.display(-1);
               myVerticalSlide.slideOut();
               myStickyLoginReminder.show();
               mySlide.toggle();

            }
            toggler.setStyle('color', 'white');

        },

        onBackground: function(toggler, element){
            toggler.setStyle('color', '#D3D3D3');

        }
    });
    
    var allSaveReserve = function(){
        //function to add to click event on availAllSave button
        tmpconfirmContent_responseHTML='';
        document.body.style.cursor = "wait";
        $('availAllSave').set('disabled', true);
        $('availAllCancel').set('disabled', true);
        $('availAllClose').set('disabled', false);
        urlRES = phpPath+'/php/PHPUpdateReservation.php?';
        urlRES = urlRES + 'dblbed='+PERSON['dblbed'];
        //  urlRES = urlRES + '&status1='+PERSON['status1'];
        urlRES = urlRES + '&lname1='+PERSON['lname1'];
        urlRES = urlRES + '&fname1='+PERSON['fname1'];
        urlRES = urlRES + '&address11='+PERSON['address11'];
        urlRES = urlRES + '&address12='+PERSON['address12'];
        urlRES = urlRES + '&city1='+PERSON['city1'];
        urlRES = urlRES + '&state1='+PERSON['state1'];
        urlRES = urlRES + '&zipcode1='+PERSON['zipcode1'];
        urlRES = urlRES + '&email1='+PERSON['email1'];
        urlRES = urlRES + '&phone1='+PERSON['phone1'];
        //   urlRES = urlRES + '&status2='+PERSON['status2'];
        urlRES = urlRES + '&fname2='+PERSON['fname2'];
        urlRES = urlRES + '&lname2='+PERSON['lname2'];
        urlRES = urlRES + '&address21='+PERSON['address21'];
        urlRES = urlRES + '&address22='+PERSON['address22'];
        urlRES = urlRES + '&city2='+PERSON['city2'];
        urlRES = urlRES + '&state2='+PERSON['state2'];
        urlRES = urlRES + '&zipcode2='+PERSON['zipcode2'];
        urlRES = urlRES + '&email2='+PERSON['email2'];
        urlRES = urlRES + '&phone2='+PERSON['phone2'];
        j=0;
        //  for (j=0;j<numdates;j++){
        for (j=0;j<maxdates;j++){
            tmp = 'selName'+j;
            tmp1 = RESselName[tmp];
            if (tmp1 != 'none'){
                RESv = RESselName[tmp].split('.');
                RES = RESv.associate(RESk);
                urlRES = urlRES + '&selName'+j+'resDate='+RES['resDate'];
                urlRES = urlRES + '&selName'+j+'room='+RES['room'];
                urlRES = urlRES + '&selName'+j+'bed='+RES['bed'];
                urlRES = urlRES + '&selName'+j+'bednum='+RES['bednum'];
                urlRES = urlRES + '&selName'+j+'dinner1='+RES['dinner1'];
                urlRES = urlRES + '&selName'+j+'dinner2='+RES['dinner2'];
            }
            else{
                urlRES = urlRES + '&selName'+j+'resDate=none';
                urlRES = urlRES + '&selName'+j+'room=none';
                urlRES = urlRES + '&selName'+j+'bed=none';
                urlRES = urlRES + '&selName'+j+'bednum=none';
                urlRES = urlRES + '&selName'+j+'dinner1=none';
                urlRES = urlRES + '&selName'+j+'dinner2=none';
            }
        }
        urlRES = urlRES + '&maxdates='+maxdates;
        urlRES = urlRES + '&updateMode='+updateMode;
        if (resOrCancelByAdminFlag == 'RES')
            urlRES = urlRES + '&username='+resOrCancelByAdminUsername;
        else
            urlRES = urlRES+'&username='+username;
        urlRES = urlRES+'&resbyadmin='+resOrCancelByAdmin;
        // alert('debugMsg urldatesReload'+urldatesReload);
        new Request.HTML({
            url: urlRES,
            method: 'get',
            update: 'confirmContent',
            //update: 'confirmEmail',
            evalScripts: true, /* this is the default */
            noCache: true,
            link:'chain',
            onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
                tmpconfirmContent_responseHTML = responseHTML;
                //  alert('debugMsg-1 '+responseHTML);
                $('confirmEmail').set('html',responseHTML)
                if (responseHTML.contains('Oops!')) {
                    StickyWin.alert("Uh oh!", responseHTML);
                }
            },
            onComplete: function(){
                //   alert('debugMsg-2 '+urldatesReload);
                new Request.HTML({
                    url: urldatesReload,
                    method: 'get',
                    update: 'content',
                    evalScripts: true,
                    noCache: true,
                    onComplete: fncDisableAfterReload() //reload beds to show beds were reserved
                }).send();

            }
        }).send();
        clickcnt=0;
        //Will not reload if 'content' is not the focus - so have to hide the sticky.
        myStickyConfirm.hide();

    };

    var allSaveCancel = function(){
        //function to add to click event on availAllSaveCancel button
        document.body.style.cursor = "wait";

        $('availAllSaveCancel').set('disabled', true);
        $('availAllCancelCancel').set('disabled', true);
        $('availAllCloseCancel').set('disabled', false);
        urlRES = phpPath+'/php/PHPUpdateReservationForCancel.php?';
        j=0;
        for (j=0;j<ci+1;j++){
            RESv = cancelRES[j].split('.');
            RES = RESv.associate(RESk);
            urlRES = urlRES + '&cancelBox'+j+'resDate='+RES['resDate'];
            urlRES = urlRES + '&cancelBox'+j+'room='+RES['room'];
            urlRES = urlRES + '&cancelBox'+j+'bed='+RES['bed'];
            urlRES = urlRES + '&cancelBox'+j+'bednum='+RES['bednum'];
        }
        tmpci = ci+1;
        urlRES = urlRES + '&numbeds='+tmpci;
        urlRES = urlRES + '&updateMode='+updateMode;
        if (resOrCancelByAdminFlag == 'CAN')
            urlRES = urlRES + '&username='+resOrCancelByAdminUsername;
        else
            urlRES = urlRES+'&username='+username;
        urlRES = urlRES+'&resbyadmin='+resOrCancelByAdmin;
       // alert('allSaveCancel '+ urlRES);
       // alert('urldatesreload '+urldatesReload);
        new Request.HTML({
            url: urlRES,
            method: 'get',
            update: 'confirmContentCancel',
            evalScripts: true, /* this is the default */
            noCache: true,
            link:'chain',
            onComplete: function(){
                //reload beds to show beds were cancelled
                new Request.HTML({
                    url: urldatesReload,
                    method: 'get',
                    update: 'content',
                    evalScripts: true,
                    noCache: true,
                    onComplete: fncDisableAfterReload()
                }).send();
            }
        }).send();
        clickcnt=0;
    };
    //create Html Table instance
    var mySelectUsersTable = new HtmlTable({
        properties: {
            border: 1,
            cellspacing: 1,
            cellpadding: 3
        },
        headers: ['Last Name', 'First Name', 'City of Residence'],
        rows: [
        [{
            content: 'List',
            properties: {
                colspan: 3,
                'class': "someCssClass",
                style: "border: 1px solid blue"
            }
        }]
        ],
        selectable: true,
        onRowFocus: function(el){
            fncRegSelectUsersOnRowFocus(el.getProperty('id'));
        }
    });

    var mySelectMembersTable = new HtmlTable({
        properties: {
            border: 1,
            cellspacing: 1,
            cellpadding: 3
        },
        headers: ['Last Name', 'First Name', 'City of Residence'],
        rows: [
        [{
            content: 'List',
            properties: {
                colspan: 3,
                'class': "someCssClass",
                style: "border: 1px solid blue"
            }
        }]
        ],
        selectable: true,
        onRowFocus: function(el){
            fncDecideSelectMembersOnRowFocus(el.getProperty('id'));
        }
    });
    function fncDisableAfterReload(){
        //after reloading beds disable buttons and disable radio buttons.

        document.body.style.cursor = "default";
        $('availUndo').set('disabled',true);
        $('availSave').set('disabled',true);
        $('availAnother').set('disabled',false);
        // var selRadios = $('content');
        // var selRadiosAll = $$(selRadios.getElementsByTagName('input'));
        //selRadiosAll.set('disabled',true);
        return true;
    }
    function fncClosed(cal) {
        //http://www.dynarch.com/static/jscalendar-1.0/doc/html/reference.html
        //var MA and function are called from Calendar.Setup.
        //This function call needs to be in same js file as call to Calendar
        //because MA is used as a global variable.
        //
        // Reset the "MA", in case one triggers the calendar again.
        // CAREFUL!  You don't want to do "MA = [];".  We need to modify
        // the value of the current array, instead of creating a new one.
        // Calendar.setup is called only once! :-)  So be careful.
        MA.length = 0;
        MAsort.length = 0;
        tmp = 0;

        // walk the calendar's multiple dates selection hash
        for (var i in cal.multiple) {
            var d = cal.multiple[i];

            // sometimes the date is not actually selected, that's why we need to check.
            if (d) {
                // OK, selected.  Fill an input field or innerHTML.  Or something.
                // and push it in the "MA", in case one triggers the calendar again.
                //    alert ('incal '.MA.length);
                //    if (MA.length < 7)
                MA[MA.length] = d;
            }
        }

        for (i=0;i<MA.length;i++){
            MAsort[i] = MA[i].print("%Y-%m-%d %A, %B %d %Y");
        }
        MAsort.sort();
        for (i=0;i<MA.length;i++){
            if (i < 6)
                document.getElementById("date"+i).value = MAsort[i].substr(11,MAsort[i].length - 1);
        }
        //Clear datefields and hide calendar
        $('buttClearDates').set('disabled', false);
        cal.hide();
        return true;
    }
    function fncReserveBtnStartEverythingOver(){
        //1. empties all arrays
        //2. resets flags
        //3. resets buttons
        updateMode = 'none';
        clickcnt=0;
        regFormPassed = 'NO';
        urldates = '';
        urldatesEmail = '';
        urldatesReload = '';
        urlRES = '';
        PERSONv.empty();
        RESselNamev.empty();
        RESv.empty();
        cancelRES.empty();
        regForm2All.each(function(all){
            regFormValidator
            .ignoreField(all)
            .resetField(all);
        });
        $('regReset').set('disabled',true);
        regForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',true)
            .setStyle('background-color','#E9E9EC');
        });
        regForm2All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',true)
            .setStyle('background-color','#E9E9EC');
        });
        regButtsAll.each(function(input){
            input
            .set('disabled',true)
        });
        elchkbox.checked = false;
        elchkbox.disabled = true;
        elselfbox.checked = false;
        elselfbox.disabled = true;
        eluserslistbox.checked = false;
        eluserslistbox.disabled = true;
        eluserslistbox2.checked = false;
        eluserslistbox2.disabled = true;
        $('checkboxLabels').setStyle('color','grey');
        regFormValidator.reset();
        saveButtsAll.each(function(input){
            input
            .set('disabled',true)
        });
        decideInputs.each(function(input){
            input
            .set('disabled',false)
            .set('checked',false);
        });

        resOrCancelByAdmin = '';
        resOrCancelByAdminFlag = 'RESORCAN';
        resOrCancelByAdminUsername = '';
        myStickySelectedMember.hide();
        myStickySelectMembersList.hide();
        //  myAccordion.display(0);

        $('tog0').set('html','What do you want to do?');
        $('availWarning').setStyle('visibility','hidden');
        myStickyRoomDescriptions.hide();

        return true;
    }
    function fncInitializeConfirmationStickies(){
        //initialize reservation confirmation and cancellation confirmation
        //This is called from GETBEDS and from RETURN button on confirmation sticky.
        for (j=0;j<maxdates;j++){
            $('tdate'+j).set('html', '');
            $('troom'+j).set('html', '');
            $('tbed'+j).set('html', '');
            $('tdinner1'+j).set('html', '');
        }
        j=0;
        for (j=0;j<maxdatescancel;j++){
            $('tdateCancel'+j).set('html', '');
            $('troomCancel'+j).set('html', '');
            $('tbedCancel'+j).set('html', '');
        }
        $('confirmContent').set('html','');
        $('confirmContentCancel').set('html','');
    }
    function fncProfileGet(){
        urlProfile = phpPath+'/php/PHPGetProfile.php?';
        urlProfile = urlProfile + 'username='+ username;
        new Request({
            url: urlProfile,
            method: 'get',
            noCache: true,
            onSuccess: function(responseText, responseXML){
                // alert('alert getprofile '+responseText);
                profileFields=responseText.split('$');
                // alert(profileFields[0]);
                $('recordidProfile').set('value',profileFields[0]);
                $('username').set('value',profileFields[1]);
                $('password').set('value',profileFields[2]);
                $('securityQ1').set('value',profileFields[3]);
                $('securityQ2').set('value',profileFields[4]);
                $('addressProfile1').set('value',profileFields[5]);
                $('addressProfile2').set('value',profileFields[6]);
                $('cityProfile').set('value',profileFields[7]);
                $('stateProfile').set('value',profileFields[8]);
                $('zipcodeProfile').set('value',profileFields[9]);
                $('phoneProfile').set('value',profileFields[10]);
                userfname = profileFields[11];
                userlname = profileFields[12];
                $('familyLName1').set('value',profileFields[13]);
                $('familyFName1').set('value',profileFields[14]);
                $('familyLName2').set('value',profileFields[15]);
                $('familyFName2').set('value',profileFields[16]);
                $('familyLName3').set('value',profileFields[17]);
                $('familyFName3').set('value',profileFields[18]);
                $('familyLName4').set('value',profileFields[19]);
                $('familyFName4').set('value',profileFields[20]);
                $('familyLName5').set('value',profileFields[21]);
                $('familyFName5').set('value',profileFields[22]);


                //disable family names if prior one is empty
                if ($('familyLName1').get('value') !== '')
                    if ($('familyLName2').get('value') !== '')
                        if ($('familyLName3').get('value') !== '')
                            if ($('familyLName4').get('value') !== '')
                                xtempholder = 'ok'
                            else { //familyLName 4 is null
                                $('familyLName5')
                                .set('disabled', true)
                                .setStyle('background-color','#E9E9EC');
                                $('familyFName5')
                                .set('disabled', true)
                                .setStyle('background-color','#E9E9EC');
                            }
                        else{ //familyLName 3 is null
                            $('familyLName4')
                            .set('disabled', true)
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName4')
                            .set('disabled', true)
                            .setStyle('background-color','#E9E9EC');
                            $('familyLName5')
                            .set('disabled', true)
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName5')
                            .set('disabled', true)
                            .setStyle('background-color','#E9E9EC');
                        }
                    else{ //familyLName 2 is null
                        $('familyLName3')
                        .set('disabled', true)
                        .setStyle('background-color','#E9E9EC');
                        $('familyFName3')
                        .set('disabled', true)
                        .setStyle('background-color','#E9E9EC');
                        $('familyLName4')
                        .set('disabled', true)
                        .setStyle('background-color','#E9E9EC');
                        $('familyFName4')
                        .set('disabled', true)
                        .setStyle('background-color','#E9E9EC');
                        $('familyLName5')
                        .set('disabled', true)
                        .setStyle('background-color','#E9E9EC');
                        $('familyFName5')
                        .set('disabled', true)
                        .setStyle('background-color','#E9E9EC');
                    }
                else { //familyLName 1 is null
                    $('familyLName2')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                    $('familyFName2')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                    $('familyLName3')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                    $('familyFName3')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                    $('familyLName4')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                    $('familyFName4')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                    $('familyLName5')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                    $('familyFName5')
                    .set('disabled', true)
                    .setStyle('background-color','#E9E9EC');
                }

            }
        }).send();
        profileFormValidator.reset();
    }
    function fncValidateRequestsSubmit(validateMode){
        // $('validateUsername').set('value',validateFields[0]);
        //                $('validateFname').set('value',validateFields[1]);
        //                $('validateLname').set('value',validateFields[2]);
        //                $('validateAddress1').set('value',validateFields[3]);
        //                $('validateAddress2').set('value',validateFields[4]);
        //                $('validateCity').set('value',validateFields[5]);
        //                $('validateState').set('value',validateFields[6]);
        //                 $('validateZipcode').set('value',validateFields[7]);
        //                $('validatePhone').set('value',validateFields[8]);
        //                $('validateStatus').set('value',validateFields[9]);
        //                $('validateRecordID').set('value',validateFields[10]);
        urlValidate = phpPath+'/php/PHPUpdateRequests.php?';
        urlValidate = urlValidate + 'recordID='+ $('validateRecordID').get('value');
        urlValidate = urlValidate +'&validateUsername='+$('validateUsername').get('value');
        urlValidate = urlValidate +'&validateLname='+$('validateLname').get('value');
        urlValidate = urlValidate +'&validateFname='+$('validateFname').get('value');
        urlValidate = urlValidate +'&validateAddress1='+$('validateAddress1').get('value');
        urlValidate = urlValidate +'&validateAddress2='+$('validateAddress2').get('value');
        urlValidate = urlValidate +'&validateCity='+$('validateCity').get('value');
        urlValidate = urlValidate +'&validateState='+$('validateState').get('value');
        urlValidate = urlValidate +'&validateZipcode='+$('validateZipcode').get('value');
        urlValidate = urlValidate +'&validatePhone='+$('validatePhone').get('value');
        urlValidate = urlValidate +'&mode='+validateMode;
        //  alert('alert urlvalidate '+urlValidate);
        document.body.style.cursor = "wait";
        new Request.HTML({
            url: urlValidate,
            method: 'get',
            update: 'confirmValidate',
            evalScripts: true, /* this is the default */
            noCache: true,
            onComplete:  function() {
                document.body.style.cursor = "default";
            },
            onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
                //  alert('alert  '+responseHTML);
                //document.body.style.cursor = "default";
                $('validateStatus').setStyle('font-weight','bold');
                if (responseHTML.contains('failed')) {
                    StickyWin.alert("Uh oh!", responseHTML);
                    $('validateStatus').set('value','?????');
                }
                else{

                    $('validateStatus').set('value',validateMode);
                }
            }
        }).send();

    }
    function fncValidateRequestsGetNext(){
        validateI = validateI + 1;
        //   alert (validateI +' '+validateNumRows);
        if (validateI<1 || validateI>validateNumRows){
            $('confirmValidate').set('html','No more requests!')
            validateForm1All.each(function(input_select){
                input_select
                .set('value', '')
                .set('disabled',true)
                .setStyle('background-color','#E9E9EC');
            });
            $('validateState').set('value','Please select');
        }
        else{
            // for (validateI=2;validateI<validateNumRows+1;validateI++){
            validateFields = validateRows[validateI].split('$');
            $('validateUsername').set('value',validateFields[0]);
            $('validateFname').set('value',validateFields[1]);
            $('validateLname').set('value',validateFields[2]);
            $('validateAddress1').set('value',validateFields[3]);
            $('validateAddress2').set('value',validateFields[4]);
            $('validateCity').set('value',validateFields[5]);
            $('validateState').set('value',validateFields[6]);
            $('validateZipcode').set('value',validateFields[7]);
            $('validatePhone').set('value',validateFields[8]);
            $('validateStatus').set('value',validateFields[9]);
            $('validateRecordID').set('value',validateFields[10]);
        //}
        }
    }
    function fncProfileOnValidate(){
        // $('profileSubmit').addEvent('click', function(event){
        //    event.stop();

        urlUpdateProfile = phpPath+'/php/PHPUpdateProfile.php?';
        urlUpdateProfile = urlUpdateProfile + 'userid='+ $('recordidProfile').get('value');
        urlUpdateProfile = urlUpdateProfile + '&username='+ $('username').get('value');
        urlUpdateProfile = urlUpdateProfile + '&lname='+ userlname;
        urlUpdateProfile = urlUpdateProfile + '&fname='+ userfname;
        urlUpdateProfile = urlUpdateProfile + '&password='+ $('password').get('value');
        urlUpdateProfile = urlUpdateProfile + '&securityQ1='+ $('securityQ1').get('value');
        urlUpdateProfile = urlUpdateProfile + '&securityQ2='+ $('securityQ2').get('value');
        urlUpdateProfile = urlUpdateProfile + '&address1='+ $('addressProfile1').get('value');
        urlUpdateProfile = urlUpdateProfile + '&address2='+ $('addressProfile2').get('value');
        urlUpdateProfile = urlUpdateProfile + '&city='+ $('cityProfile').get('value');
        urlUpdateProfile = urlUpdateProfile + '&state='+ $('stateProfile').get('value');
        urlUpdateProfile = urlUpdateProfile + '&zipcode='+ $('zipcodeProfile').get('value');
        urlUpdateProfile = urlUpdateProfile + '&phone='+ $('phoneProfile').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyFName1='+ $('familyFName1').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyLName1='+ $('familyLName1').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyFName2='+ $('familyFName2').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyLName2='+ $('familyLName2').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyFName3='+ $('familyFName3').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyLName3='+ $('familyLName3').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyFName4='+ $('familyFName4').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyLName4='+ $('familyLName4').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyFName5='+ $('familyFName5').get('value');
        urlUpdateProfile = urlUpdateProfile + '&familyLName5='+ $('familyLName5').get('value');
        // alert(urlUpdateProfile);
        document.body.style.cursor = "wait";
        new Request.HTML({
            url: urlUpdateProfile,
            method: 'get',
            //   onSuccess: function(responseText, responseXML){
            noCache: true,
            onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){

                //  alert('html '+responseHTML);
                if (responseHTML.contains('Oops!')){
                    StickyWin.alert("Uh oh!", responseHTML);
                    myAccordion.display(-1);
                }
                // else if(responseHTML.contains('Oops!')){
                //     StickyWin.alert("Uh oh!", responseHTML);
                // }
                else {
                    fncLoginPreLoadUsersList();
                    $('tog0').set('html','What do you want to do?');
                    $('tog3').set('html','Your Profile Information  &nbsp&nbsp <span color:\"#FFFFCC\">Your profile information has been updated and a confirmation email sent to you.</span>');
                    // $('tog3').setStyle('color','#E9E9EC');
                    if ($('loginReply').get('text').contains('Please update your profile')){
                        tmpString = $('loginReply').get('text');
                        tmpIndex = tmpString.indexOf('Please update your profile.');
                        tmpGreeting = tmpString.substring(0,tmpIndex);
                        $('loginReply').set('text',tmpGreeting);
                    }
                    $('addABed').set('disabled',false);
                    $('cancelABed').set('disabled',false);
                    $('viewABed').set('disabled',false);
                    $('modifyProfile').set('disabled',false);
                    $('addABed').set('checked',false);
                    $('cancelABed').set('checked',false);
                    $('viewABed').set('checked',false);
                    $('modifyProfile').set('checked',false);
                    $('resetABed').set('disabled',false);
                    //   $('resetABed').fireEvent('click');
                    // $('tog3').set('html','Your Profile Information')
                    document.body.style.cursor = "default";
                    myAccordion.display(0);
                }
            }

        }).send();
    //  }
    }
    function fncProfileCancel(){
        if ($('loginReply').get('text').contains('Please update your profile')){
            StickyWin.alert("Uh oh!", "Please update your profile. After answering the security questions, you will be able to retrieve your password in the event that you might forget it!");
        }
        else
        {
            profileFormValidator.reset();
            fncProfileGet();
            profileForm1All.each(function(input_select){
                input_select
                .set('disabled',true)
                .setStyle('background-color','#E9E9EC');
            });
            profileButtsAll.each(function(input){
                input
                .set('disabled',true)
            });
            $('tog0').set('html','What do you want to do?');
            $('tog3').set('html','Your Profile Information');
            $('addABed').set('disabled',false);
            $('cancelABed').set('disabled',false);
            $('viewABed').set('disabled',false);
            $('modifyProfile').set('disabled',false);
            $('addABed').set('checked',false);
            $('cancelABed').set('checked',false);
            $('viewABed').set('checked',false);
            $('modifyProfile').set('checked',false);
            $('resetABed').set('disabled',false);
            myAccordion.display(0);
        }
    }
    function fncProfileReset(){
        profileFormValidator.reset();
        fncProfileGet();
        profileFormValidator.reset();
    }
    function fncRequestOnValidate(){
        urlRequest = phpPath+'/php/PHPInsertRequest.php?';
        urlRequest = urlRequest + '&username='+ $('requestUsername').get('value');
        urlRequest = urlRequest + '&lname='+ $('requestLname').get('value');
        urlRequest = urlRequest + '&fname='+ $('requestFname').get('value');
        urlRequest = urlRequest + '&address1='+ $('requestAddress1').get('value');
        urlRequest = urlRequest + '&address2='+ $('requestAddress2').get('value');
        urlRequest = urlRequest + '&city='+ $('requestCity').get('value');
        urlRequest = urlRequest + '&state='+ $('requestState').get('value');
        urlRequest = urlRequest + '&zipcode='+ $('requestZipcode').get('value');
        urlRequest = urlRequest + '&phone='+ $('requestPhone').get('value');
        //  alert ('alert '+urlRequest);
        document.body.style.cursor = "wait";
        new Request.HTML({
            url: urlRequest,
            method: 'get',
            update: 'confirmRequest',
            evalScripts: true, /* this is the default */
            noCache: true,
            onComplete:  function() {
                document.body.style.cursor = "default";
            }
        }).send();

        requestForm1All.each(function(input_select){
            input_select
            .set('disabled',true)
            .setStyle('background-color','#E9E9EC');
        });
        requestButtsAll.each(function(input_select){
            input_select
            .set('disabled',true);
        });
        //if (username == adminuser1 || username == adminuser2 || username == adminuser3 || username == adminuser4){
        $('buttRequestReset').set('disabled',false);
    //}
    }
    function fncRequestOnOpen(){
        myVerticalSlide.slideOut();
        myStickyLoginReRequest.hide();
        $('confirmRequest').set('html','');
        requestForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',false)
            .setStyle('background-color','white');
        });
        requestButtsAll.each(function(input_select){
            input_select
            .set('disabled',false);
        });
        myStickyRequest.show();
    }
    function fncRequestReset(){
        requestFormValidator.reset();
        $('confirmRequest').set('html','');
        requestForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',false)
            .setStyle('background-color','white');
        });
        requestButtsAll.each(function(input_select){
            input_select
            .set('disabled',false);
        });
        $('requestState').set('value','Please select');
    }
    function fncPassOnValidate(){
        urlPASS = phpPath+'/php/PHPGetPass.php?';
        urlPASS = urlPASS + 'username='+ $('usernamePass').get('value');
        urlPASS = urlPASS + '&securityQ1='+ $('securityQ1Pass').get('value');
        urlPASS = urlPASS + '&securityQ2='+ $('securityQ2Pass').get('value');
        new Request.HTML({
            url: urlPASS,
            method: 'get',
            update: 'confirmPass',
            noCache: true,
            evalScripts: true /* this is the default */
        }).send();
    }
    function fncPassOnOpen(){
        myVerticalSlide.slideOut();
        myStickyLoginReRequest.hide();
        if  ($('toggleLogin').get('text') !== 'Log in successful!') {
            passFormValidator.reset();
            $('submitPass').set('disabled',false);
            $('usernamePass').set('value','');
            $('securityQ1Pass').set('value','');
            $('securityQ2Pass').set('value','');
            $('confirmPass').set('text','');
            passFormValidator.reset();
            myStickyPassword.show();
        }
    }
    function fncLoginOnValidate(passed){
        if (!passed) {
            event.stop();
            $('errMsg').set('text','Username-password combination is invalid');

        }
        else{
            username = $('log').get('value');
            $('errMsg').set('text','');

        }

    }
    function fncLoginFupdateOnSuccess(){
        //20100912 document.body.style.cursor = "wait";
        if ($('loginReply').get('text') !== 'Log in incorrect'){

            //If login successful:
            //   1.  slideout login panel
            //   2.  initialize myAccordion.display(0)
            myStickyLoginReminder.hide();
            myStickyLoginReRequest.hide();
            myVerticalSlide.slideOut();
            $('loginReply').setStyle('color', '#004080');
            $('toggleLogin').set('text','Log in successful!');
            $('toggleLogin').setStyle('color', '#004080');
            $('toggleLogin').setStyle('font-size', '12px');
            //    $('toggleLogPass').setStyle('color', '#004080');
            $('toggleLogPass').setStyle('display', 'none');
            //    $('toggleLogRequest').setStyle('color', '#004080');
            $('toggleLogRequest').setStyle('display', 'none');
            $('togglePipe1').setStyle('display', 'none');
            $('togglePipe2').setStyle('display', 'none');
            //  $('togglePipe3').setStyle('display', 'none');
            //  $('bottomLine').setStyle('color', '#E9E9EC');
            $('availAllReset').set('disabled',false);
            if ($('loginReply').get('text').contains('profile')){
                $('tog3').set('html','Your Profile Information  &nbsp&nbsp <span style=\"color:#FFFFCC;text-align:center\"> The first time you sign on we are asking that you update your profile information.</span>');
                $('modifyProfile').fireEvent('click');
            //fncProfileGet()
            }
            else {
                fncProfileGet(); //get profile information
                fncLoginPreLoadUsersList();
                decideInputs.each(function(input){
                    input
                    .set('disabled',false)
                });

                if (username == adminuser1 || username == adminuser2 || username == adminuser3 || username == adminuser4 || username == adminuser5){

                    $('divaddNewUser').setStyle('display','');
                    $('requestFormInstructionsMember').setStyle('display','none');
                    $('requestFormInstructionsAdmin').setStyle('display','');
                    $('adminPrivileges').setStyle('display','block');
                    $('adminPrivileges').set('html','<br>You are signed in as an administrator');
                    $('adminPrivileges').setStyle('color','#004080');
                    $('adminPrivileges').setStyle('font-weight','bold');
                }
                else {
                    $('adminPrivileges').set('html','');
                    $('adminPrivileges').setStyle('display','none');
                }
                $('resetABed').set('disabled',true)
                myAccordion.display(0);


            //20100912 document.body.style.cursor = "default";
            }
            //setup Calendar - when using multiple it seems like we need to use OnClose function to fill fields.
            Calendar.setup({
                align      : "BR",
                showOthers : true,
                multiple   : MA, // pass the initial or computed array of multiple dates to be initially selected
                onClose    : fncClosed,  //FUNCTION CALLED when user closes calendar
                button     : "trigger"
            });

        }
        else {
            $('errMsg').set('text','Username-password combination is invalid');
            myStickyLoginReRequest.show();
        }
    //20100912 document.body.style.cursor = "default";
    }
    function fncRegOnValidate(passed){
        if (!passed){
           
            regFormPassed = 'NO';
        }
        else {
            if (updateMode == 'reserveAnother'){
                save_urldates = urldates;
                save_urldatesEmail = urldatesEmail;
                save_urldatesReload = urldatesReload;
            }
            else{
                fncReserveClearDates();
            }
            myAccordion.display(2);
            regFormPassed = 'YES';
            myStickySelectUsersList.hide()
            elchkbox.disabled = true;
            elselfbox.disabled = true;
            eluserslistbox.disabled = true;
            eluserslistbox2.disabled = true;
            $('checkboxLabels').setStyle('color','grey');
            regForm1All.each(function(input_select){
                input_select
                .set('disabled',true)
                .setStyle('background-color','#E9E9EC');
            });

            regForm2All.each(function(input_select){
                input_select
                .set('disabled',true)
                .setStyle('background-color','#E9E9EC');
            });
            regButtsAll.each(function(input){
                input
                .set('disabled',true)
            });
            //    $('availAllReset').set('disabled',false);
            //    $('buttGetBeds').fireEvent('click',event);
            fncReserveGetBeds();
            $('availWarning').setStyle('visibility','hidden');

        }
    }
    function fncRegReset(){
        elchkbox.checked = false;
        elchkbox.disabled = false;
        elselfbox.checked = false;
        elselfbox.disabled = false;
        eluserslistbox.checked = false;
        eluserslistbox.disabled = false;
        eluserslistbox2.checked = false;
        eluserslistbox2.disabled = true;
        myStickySelectUsersList.hide();
        $('checkboxLabels').setStyle('color','grey');
        $('copyButton').set('disabled',true);
        regFormValidator.reset();
        //   regFormPassed = 'NO';
        regForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',false)
            .setStyle('background-color','white');
        });

        regForm2All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',true)
            .setStyle('background-color','#E9E9EC');
        });

        regButtsAll.each(function(input){
            input
            .set('disabled',false)
        });
    }
    function fncRegSelectUsersList(){
        //  alert('eluserslistbox.checked '+eluserslistbox.checked);
        //   alert('eluserslistbox2.checked '+eluserslistbox2.checked);
        if (eluserslistbox.checked == true || eluserslistbox2.checked == true ){

            if (stickyUsersListOpen !== 'open'){
                //mySelectUsersTable.empty();
                //urlGetSelectUsersList = phpPath+'/php/PHPGetSelectUsersList.php';
                //new Request({
                //    url: urlGetSelectUsersList,
                //    method: 'get',
                //    onSuccess: function(responseText, responseXML){
                //        //   alert(responseText);
                //        selectUsersListRows=responseText.split('%*');
                //       for (i = 0;i<=selectUsersListRows.length - 2;i++){
                //           selectUsersListFields = selectUsersListRows[i].split('$');
                //           mySelectUsersTable.push([
                //               selectUsersListFields[0],
                //               selectUsersListFields[1], //fname
                //               selectUsersListFields[4] //city
                //               ]).tr.setProperty('id','a'+i);
                //       }
                //   },
                //    onComplete: function(){
                myStickySelectUsersList.show();
                stickyUsersListOpen = 'open';
                mySelectUsersTable.inject($('selectUsersList'));
            //   }
             
            // }).send();
            }
        }
    }
    function fncLoginPreLoadUsersList(){
        //  alert('eluserslistbox.checked '+eluserslistbox.checked);
        //   alert('eluserslistbox2.checked '+eluserslistbox2.checked);
        //  if (eluserslistbox.checked == true || eluserslistbox2.checked == true ){

        //  if (stickyUsersListOpen !== 'open'){
        mySelectUsersTable.empty();
        urlGetSelectUsersList = phpPath+'/php/PHPGetSelectUsersList.php?';
        urlGetSelectUsersList = urlGetSelectUsersList + 'username='+ username;
        //  alert ('alert '+ urlGetSelectUsersList )
        new Request({
            url: urlGetSelectUsersList,
            method: 'get',
            noCache: true,
            onSuccess: function(responseText, responseXML){
                //   alert(responseText);

                selectUsersListRows=responseText.split('%*');
                for (i = 0;i<=selectUsersListRows.length - 2;i++){
                    selectUsersListFields = selectUsersListRows[i].split('$');
                    if (selectUsersListFields[0].contains('familyname')){
                        if (selectUsersListFields[0].contains('newfamilyname')){
                            selectUsersListFields[0] = selectUsersListFields[0].replace("newfamilyname","");
                            if (selectlistfamilycolor == 'royalblue'){
                                selectlistfamilycolor = '#004080';
                            }
                            else {
                                selectlistfamilycolor = 'royalblue';
                            }
                        }
                        else {
                            selectUsersListFields[0] = selectUsersListFields[0].replace("familyname","");
                        }
                        mySelectUsersTable.push([
                            selectUsersListFields[0],
                            selectUsersListFields[1], //fname
                            selectUsersListFields[4] //city
                            ]).tr.setProperty('id','a'+i).setStyle('color',selectlistfamilycolor);

                    }
                    else{
                        mySelectUsersTable.push([
                            selectUsersListFields[0],
                            selectUsersListFields[1], //fname
                            selectUsersListFields[4] //city
                            ]).tr.setProperty('id','a'+i);
                    }
                }
            } //,
        //    onComplete: function(){
        // myStickySelectUsersList.show();
        // stickyUsersListOpen = 'open';
        // mySelectUsersTable.inject($('selectUsersList'));
        // }

        }).send();
    //   }
    //  }
    }
    function fncRegSelectUsersOnRowFocus(rowid) {
        // alert ('debugmsg '+rowid);

        var rowIndex = (rowid.substr(1));

        regFormValidator.reset();
        if (eluserslistbox.checked == true)
        {
            selectUsersListFields = selectUsersListRows[rowIndex].split('$');
            if (selectUsersListFields[0].contains('familyname')){
                if (selectUsersListFields[0].contains('newfamilyname')){
                    selectUsersListFields[0] = selectUsersListFields[0].replace("newfamilyname","");
                }
                else {
                    selectUsersListFields[0] = selectUsersListFields[0].replace("familyname","");
                }
            }
            $('lname1').set('value',selectUsersListFields[0]),
            $('fname1').set('value',selectUsersListFields[1]),
            $('address11').set('value',selectUsersListFields[2]),
            $('address12').set('value',selectUsersListFields[3]),
            $('city1').set('value',selectUsersListFields[4]),
            $('state1').set('value',selectUsersListFields[5]),
            $('zipcode1').set('value',selectUsersListFields[6]),
            $('email1').set('value',selectUsersListFields[7]),
            $('phone1').set('value',selectUsersListFields[8])
        }
        if (eluserslistbox2.checked == true)
        {
            selectUsersListFields = selectUsersListRows[rowIndex].split('$');
            //      if (selectUsersListFields[0].contains('familyname')){
            //          selectUsersListFields[0] = selectUsersListFields[0].replace("familyname","");
            //      }
            if (selectUsersListFields[0].contains('familyname')){
                if (selectUsersListFields[0].contains('newfamilyname')){
                    selectUsersListFields[0] = selectUsersListFields[0].replace("newfamilyname","");
                }
                else {
                    selectUsersListFields[0] = selectUsersListFields[0].replace("familyname","");
                }
            }
            $('lname2').set('value',selectUsersListFields[0]),
            $('fname2').set('value',selectUsersListFields[1]),
            $('address21').set('value',selectUsersListFields[2]),
            $('address22').set('value',selectUsersListFields[3]),
            $('city2').set('value',selectUsersListFields[4]),
            $('state2').set('value',selectUsersListFields[5]),
            $('zipcode2').set('value',selectUsersListFields[6]),
            $('email2').set('value',selectUsersListFields[7]),
            $('phone2').set('value',selectUsersListFields[8])
        }
    // regFormValidator.validate();


    //  $('status1').set('value','guest')

    //
    //
    //    selectUsersListFields[2], //address1
    //    selectUsersListFields[3], //address2
    //    selectUsersListFields[4] //city
    //     selectUsersListFields[5], //state
    //     selectUsersListFields[6], //zipcode
    //     selectUsersListFields[7], //email
    //     selectUsersListFields[8], //phone
    //  $('fname1').set('value',profileFields[0]);
    //  $('lname1').set('value',profileFields[1]);
    //   $('status1').set('value','member');
    //    mySelectUsersTable.rows
    //    $('email1').set('value',profileFields[1]);
    //                $('address11').set('value',selectUsersListFields[0]);
    //                $('address12').set('value',profileFields[6]);
    //                $('city1').set('value',profileFields[7]);
    //                $('state1').set('value',profileFields[8]);
    //                $('zipcode1').set('value',profileFields[9]);
    //                $('phone1').set('value',profileFields[10]);
    //                $('fname1').set('value',profileFields[11]);
    //                $('lname1').set('value',profileFields[12]);
    //                $('status1').set('value','member');
    }
    function fncRegCheckSelf(){
        regFormValidator.reset();
        if (elselfbox.checked == true){

            //  ($('self').set('checked',true));
            urlProfile = phpPath+'/php/PHPGetProfile.php?';
            urlProfile = urlProfile + 'username='+ username;
            new Request({
                url: urlProfile,
                method: 'get',
                noCache: true,
                onSuccess: function(responseText, responseXML){
                    //alert(responseText);
                    profileFields=responseText.split('$');
                    $('email1').set('value',profileFields[1]);
                    $('address11').set('value',profileFields[5]);
                    $('address12').set('value',profileFields[6]);
                    $('city1').set('value',profileFields[7]);
                    $('state1').set('value',profileFields[8]);
                    $('zipcode1').set('value',profileFields[9]);
                    $('phone1').set('value',profileFields[10]);
                    $('fname1').set('value',profileFields[11]);
                    $('lname1').set('value',profileFields[12]);
                //   $('status1').set('value','member');
                }
            }).send();
        }
        else {
            //   ($('self').set('checked',false));

            regForm1All.each(function(input_select){
                input_select
                .set('value', '')
            });
            $('state1').set('value','Please select');
        //  $('status1').set('value','Select member or guest');
        }
    }
    function fncRegCheckDbl(){
        if (elchkbox.checked == true){
            $('copyButton').set('disabled',false);
            eluserslistbox2.disabled = false;
            $('checkboxLabels').setStyle('color','black');
            regForm2All.each(function(input_select){
                input_select
                .set('value', '')
                .set('disabled',false)
                .setStyle('background-color','white');

            });
            regForm2All.each(function(all){
                regFormValidator
                .enforceField(all);
            });
        }
        else {
            regForm2All.each(function(all){
                regFormValidator
                .ignoreField(all)
                .resetField(all);
            });
            $('copyButton').set('disabled','true');
            $('checkboxLabels').setStyle('color','grey');
            regForm2All.each(function(input_select){
                input_select
                .set('value', '')
                .set('disabled',true)
                .setStyle('background-color','#E9E9EC');
            });

            regForm2All.each(function(all){
                regFormValidator
                .ignoreField(all)
                .resetField(all);
            });

        }
    }

    function fncRegBtnCopyDbl(){
        $('address21').set('value', $('address11').get('value'));
        $('address22').set('value', $('address12').get('value'));
        $('city2').set('value', $('city1').get('value'));
        $('state2').set('value', $('state1').get('value'));
        $('zipcode2').set('value', $('zipcode1').get('value'));
        $('email2').set('value', $('email1').get('value'));
        $('phone2').set('value', $('phone1').get('value'));
    }

    function fncReserveClearDates(){
        if (clickcnt == 1){
            new StickyWin.Confirm("Confirm Reset", "Are you sure you want to clear dates? The beds you selected to reserve or cancel will NOT be saved. ", {
                onConfirm: fncReserveClearDates_aux()
            });
        }
        else
            fncReserveClearDates_aux();
    }
    function fncReserveClearDates_aux(){
        //1. empties the date array (MA and MAsort),
        //2. initializes content area
        //3. initializes date fields
        //4. disables buttons
        clickcnt=0;
        MA.empty();
        MAsort.empty();
        $('content').set('html',contentHold);
        $('emailList').set('html','');
        $('buttGetBeds').set('disabled', true);
        $('buttClearDates').set('disabled', true);
        selDatesInputs.each(function(input){
            input.set('value','');
        });
        saveButtsAll.each(function(input){
            input
            .set('disabled',true)
        });
        return true;
    }
    function fncReserveGetBeds(){
        if (MAsort.length > 6){
            StickyWin.alert("Woops!","You may only select up to 6 dates.");
            for (i=0;i<6;i++){
                document.getElementById("date"+i).value = '';
            }
        }
        else {
            if (MAsort.length > 0){
                //build urls for getting beds (urldates), for getting email list (urldatesEmail), and for reloading all radios as disabled (urldatesReload)
                //The only difference between urldates and urldatesReload is that updateMode = reserve and updateMode = view respectively
                document.body.style.cursor = "wait";
                urldates='';
                urldatesEmail='';
                urldatesReload='';
                urldates = phpPath+'/php/PHPGetBeds.php?dt=';
                urldatesEmail = phpPath+'/php/PHPGetEmailList.php?dt=';
                urldatesReload = phpPath+'/php/PHPGetBeds.php?dt=';
                for (i=0;i<MA.length;i++){
                    urldates = urldates+ MAsort[i].substr(0,10)+'d';
                    urldatesEmail = urldatesEmail+ MAsort[i].substr(0,10)+'d';
                }
                urldates = urldates+'&numdates='+MA.length+'&rFP='+regFormPassed;
                urldatesEmail = urldatesEmail+'&numdates='+MA.length+'&rFP='+regFormPassed;
                var propDblbed_checked = $('dblbed').getProperty('checked');
                urldates = urldates+'&dblbed='+propDblbed_checked;
                urldatesReload = urldates;
                urldates = urldates+'&updateMode='+updateMode;
                if (resOrCancelByAdminFlag == 'CAN')
                    urldates = urldates + '&username='+resOrCancelByAdminUsername;
                else
                    urldates = urldates+'&username='+username;
                //     urldates = urldates+'&username='+username;
                urldatesReload = urldatesReload+'&updateMode=view';
                if (resOrCancelByAdminFlag == 'CAN')
                    urldatesReload = urldatesReload + '&username='+resOrCancelByAdminUsername;
                else
                    urldatesReload = urldatesReload + '&username='+username;
                urldatesEmail = urldatesEmail+'&dblbed='+propDblbed_checked+'&updateMode='+updateMode;
                if (resOrCancelByAdminFlag == 'CAN')
                    urldatesEmail = urldatesEmail + '&username='+resOrCancelByAdminUsername;
                else
                    urldatesEmail = urldatesEmail + '&username='+username;
                $('buttGetBeds').set('disabled', true);
                $('buttClearDates').set('disabled', false);
                //initialize arrays and display tables
                RESselName = '';
                RESselNamev = ['none','none','none','none','none','none'];
                RESselName = RESselNamev.associate(RESselNamek);
                fncInitializeConfirmationStickies();
                //    alert('debugMsg '+urldates);
                //    ('content').set('html','');
                new Request.HTML({
                    url: urldates,
                    method: 'get',
                    update: 'content',
                    noCache: true,
                    evalScripts: true, /* this is the default */
                    onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
                    // alert('debugMsg '+responseHTML);
                    },
                    onComplete:  function() {
                        //  alert('oncomplete');
                        document.body.style.cursor = "default";
                        clickcnt = 0;
                        $('availEmail').set('disabled',false);
                        if (regFormPassed == 'YES' || updateMode == 'cancel'){
                            //set all buttons to false enabling them and then disable as per updateMode
                            saveButtsAll.each(function(input){
                                input
                                .set('disabled',false)
                            });
                            $('availAnother').set('disabled',true);
                            for (j=0;j<MA.length;j++){
                                $$('input[name=selName'+j+']').each(function(el){
                                    el.addEvent('click',function(){
                                        // the value of the radio button is date.room.bed.bednum.radioButtonName (ex 2009-06-11.11.Single.11S1.selName1.NO)
                                        // On click, get the value of the radioButtonName and store in array.
                                        tmp = el.get('value').split('.');
                                        RESselName[tmp[4]] = el.get('value');
                                        clickcnt = 1;
                                    // alert('here');
                                    })
                                });
                            }
                        }
                    //$             myMooScrollerH.update()
                    //$             myMooScrollerV.update()
                    }

                //   console.log('request completed'); (command does not work in IE unless firebug enabled)
                }).send();
            }
        }
    }
    function fncReserveBtnSave(){
        if (updateMode !== 'cancel'){
            fncReserveDinner();
        }
        else
            fncReserveSave();
    }
    function fncReserveDinner(){
        // if (updateMode !== 'cancel'){
        if ($('dblbed').get('checked')){
            $('dinnerSingle').setStyle('display', 'none');
            $('dinnerLeft').setStyle('width', '10%');
            $('dinnerRight').setStyle('width', '10%');
            $('dinnerDouble').setStyle('display', '');

            for (j=0;j<maxdates;j++){
                $('trDinnerdbl'+j).setStyle('display','none');
            //  $('dinnerName'+j+'1').setStyle('visibility','hidden');
            //  $('dinnerName'+j+'2').setStyle('visibility','hidden');
            //   $('dinnerdbl'+j+'1').setStyle('visibility','hidden');
            //   $('dinnerdbl'+j+'2').setStyle('visibility','hidden');
            //   $('dbldate'+j).set('html', '');
            }

            for (j=0;j<maxdates;j++){
                tmp = 'selName'+j;
                tmp1 = RESselName[tmp];
                if (tmp1 != 'none')
                {
                    RESv = RESselName[tmp].split('.');
                    RES = RESv.associate(RESk);
                    $('trDinnerdbl'+j).setStyle('display','');
                    $('dbldate'+j).set('html', RES['resDate']);
                    //   $('dinnerName'+j+'1').setStyle('visibility','');
                    //   $('dinnerName'+j+'2').setStyle('visibility','');
                    $('dinnerName'+j+'1').set('value',$('fname1').get('value'));
                    $('dinnerName'+j+'2').set('value',$('fname2').get('value'));
                //   $('dinnerdbl'+j+'1').setStyle('visibility','');
                //   $('dinnerdbl'+j+'2').setStyle('visibility','');
                }
            }

        }
        else {
            $('dinnerSingle').setStyle('display', '');
            $('dinnerLeft').setStyle('width', '33%');
            $('dinnerRight').setStyle('width', '33%');
            $('dinnerDouble').setStyle('display', 'none');

            for (j=0;j<maxdates;j++){
                //  $('dinner1'+j).setStyle('visibility','hidden');
                $('trDinner1'+j).setStyle('display','none');
            //   $('ddate'+j).set('html', '');
            }
            for (j=0;j<maxdates;j++){
                tmp = 'selName'+j;
                tmp1 = RESselName[tmp];
                if (tmp1 != 'none')
                {
                    RESv = RESselName[tmp].split('.');
                    RES = RESv.associate(RESk);

                    $('trDinner1'+j).setStyle('display','');
                    $('ddate'+j).set('html', RES['resDate']);
                //  $('dinner1'+j).setStyle('visibility','');
                }
            }
        }
        myStickyDinner.show();
    // }
    // else
    // fncReserveSave();
    }
    function fncReserveDinnerBtnSave(){
        // if (updateMode !== 'cancel'){  //update mode then equals 'reserve' or 'none'.

        for (j=0;j<maxdates;j++){
            tmp = 'selName'+j;
            tmp1 = RESselName[tmp];
            //if tmp1 != none means that a date was selected and reservation made.
            //(RESselName is initialed as RESselName[0] = 'none', RESselName[1] = 'none' .. RESselName[5] = 'none'
            if (tmp1 != 'none')
            {
                RESv = RESselName[tmp].split('.');
                //RES = RESv.associate(RESk);
                //RESv[5]  should be same as RES['dinner'] but this doesnt appear to be true.
                if ($('dblbed').get('checked')){
                    RESv[5] = $('dinnerdbl'+j+'1').get('value');
                    RESv[6] = $('dinnerdbl'+j+'2').get('value');
                }
                else {
                    RESv[5] = $('dinner1'+j).get('value');
                }
                RESselName[tmp]=RESv.join('.');
            }
        }
        //   }
        myStickyDinner.hide();
        fncReserveSave();

    }
    function fncReserveSave(){
        //    alert('updateMode '+updateMode);
        if (updateMode == 'cancel'){
            numdates = 0;
            ci = -1;
            //check to see if any boxes are checked - if not show error.
            $$('input[name=cancelBox]').each(function(box){
                if (box.checked == true && ci < maxdatescancel){
                    ci = ci + 1;
                    cancelRES[ci] = box.value;
                }
            });
            j=0;
            if (ci == -1){
                StickyWin.alert("Woops!","Please select a reservation to cancel.");
            }
            else {
                for (j=0;j<ci+1;j++){
                    //!!!!need to build html table here cuz don't know length-or allow only upto 20 to fit on confirmation page.'
                    //alert('cancelresJ ci '+ci+' '+j+' '+cancelRES[j]);
                    RESv = cancelRES[j].split('.');
                    RES = RESv.associate(RESk);
                    $('tdateCancel'+j).set('html', RES['resDate']);
                    $('troomCancel'+j).set('html', RES['room']);
                    $('tbedCancel'+j).set('html', RES['bed']);
                }
                $('availAllSaveCancel').set('disabled', false);
                $('availAllCancelCancel').set('disabled', false);
                $('availAllCloseCancel').set('disabled', true);
                myStickyCancel.show();
                $('availAllSaveCancel').addEvent('click', allSaveCancel);
            }
        }
        else  //update mode = reserve or none
        {


            PERSONv.empty();
            PERSONv = [
            $('dblbed').get('checked'),
            //       $('status1').get('value'),
            $('fname1').get('value'),
            $('lname1').get('value'),
            $('address11').get('value'),
            $('address12').get('value'),
            $('city1').get('value'),
            $('state1').get('value'),
            $('zipcode1').get('value'),
            $('email1').get('value'),
            $('phone1').get('value'),
            //     $('status2').get('value'),
            $('fname2').get('value'),
            $('lname2').get('value'),
            $('address21').get('value'),
            $('address22').get('value'),
            $('city2').get('value'),
            $('state2').get('value'),
            $('zipcode2').get('value'),
            $('email2').get('value'),
            $('phone2').get('value')
            ];
            PERSON = PERSONv.associate(PERSONk);

            //    $('tstatus1').set('html', $('status1').get('value') );
            //     $('tstatus2').set('html', $('status2').get('value') );
            $('tfname1').set('html', $('fname1').get('value') );
            $('tfname2').set('html', $('fname2').get('value') );
            $('tlname1').set('html', $('lname1').get('value') );
            $('tlname2').set('html', $('lname2').get('value') );
            $('taddress11').set('html', $('address11').get('value') );
            $('taddress12').set('html', $('address12').get('value') );
            $('taddress21').set('html', $('address21').get('value') );
            $('taddress22').set('html', $('address22').get('value') );
            $('tcity1').set('html', $('city1').get('value') );
            $('tcity2').set('html', $('city2').get('value') );
            $('tstate1').set('html', $('state1').get('value') );
            $('tstate2').set('html', $('state2').get('value') );
            $('tzipcode1').set('html', $('zipcode1').get('value') );
            $('tzipcode2').set('html', $('zipcode2').get('value') );
            $('temail1').set('html', $('email1').get('value') );
            $('temail2').set('html', $('email2').get('value') );
            $('tphone1').set('html', $('phone1').get('value') );
            $('tphone2').set('html', $('phone2').get('value') );
            numdates = 0;
            for (j=0;j<maxdates;j++){
                tmp = 'selName'+j;
                tmp1 = RESselName[tmp];
                if (tmp1 != 'none')
                {
                    numdates++;

                    RESv = RESselName[tmp].split('.');
                    RES = RESv.associate(RESk);
                    // tmpDate = RES['resDate'];
                    //  alert ('dbug alert ');
                    tmpDateFormat = Date.parse(RES['resDate']).format("%a");
                    //alert ('dbug alert '+tmpDateFormat);
                    $('tdow'+j).set('html', tmpDateFormat);
                    $('tdate'+j).set('html', RES['resDate']);
                    $('troom'+j).set('html', RES['room']);
                    $('tbed'+j).set('html', RES['bed']);
                    if ($('dblbed').get('checked',true)){
                        if (RES['dinner1'] == 'Yes' && RES['dinner2'] == 'Yes')
                            $('tdinner1'+j).set('html', 'two');
                        else
                        if (RES['dinner1'] == 'Yes' || RES['dinner2'] == 'Yes')
                            $('tdinner1'+j).set('html', 'one');
                        else
                            $('tdinner1'+j).set('html', 'none');
                    }
                    else {
                        $('tdinner1'+j).set('html', RES['dinner1']);
                    }
                }
            }
            if (numdates == 0){
                StickyWin.alert("Woops!","Please select a bed to reserve.");
            }
            else {
                $('availAllSave').set('disabled', false);
                $('availAllCancel').set('disabled', false);
                $('availAllClose').set('disabled', true);
                myStickyConfirm.show();

                $('availAllSave').addEvent('click', allSaveReserve);
            }
        }
    }
    function fncReserveBtnAnother(){
        updateMode = 'reserveAnother';
        //myAccordion.display(1);
        // decideInputs.each(function(input){
        //     input
        //     .set('disabled',true)
        // });
        //  $('resetABed').set('disabled',false);
        elchkbox.disabled = false;
        elselfbox.disabled = false;
        elselfbox.checked = false;
        eluserslistbox.disabled = false;
        eluserslistbox.checked = false;
        eluserslistbox2.disabled = true;
        $('checkboxLabels').setStyle('color','grey');
        eluserslistbox2.checked = false;
        regForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',false)
            .setStyle('background-color','white');
        });
        regButtsAll.each(function(input){
            input
            .set('disabled',false)
        });

        $('tog0').set('html','What do you want to do?  &nbsp&nbsp You have chosen to make another reservation.');
        $('availWarning').setStyle('visibility','hidden');
    }

    function fncReserveBtnConfirmSave(){
    //function is located in VAR section as a variable
    //which was needed to add to a click event.
    //
    // see var allSaveReserve
    }
    function fncDecideAddABed(){
        updateMode = 'reserve';
        myAccordion.display(1);
        decideInputs.each(function(input){
            input
            .set('disabled',true)
        });
        $('resetABed').set('disabled',false);
        elchkbox.disabled = false;
        elselfbox.disabled = false;
        eluserslistbox.disabled = false;
        $('checkboxLabels').setStyle('color','grey');
        eluserslistbox2.disabled = true;
        regForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',false)
            .setStyle('background-color','white');
        });
        regButtsAll.each(function(input){
            input
            .set('disabled',false)
        });

        $('tog0').set('html','What do you want to do?  &nbsp&nbsp You have chosen to make a reservation.');
        $('availWarning').setStyle('visibility','hidden');
        if (resOrCancelByAdminFlag == 'RES'){
            $('self').set('disabled',true);
        }

    }


    function fncDecideCancelABed(){
        updateMode = 'cancel';
        cancelRES.empty();
        myAccordion.display(2);
        decideInputs.each(function(input){
            input
            .set('disabled',true)
        });
        $('resetABed').set('disabled',false);

        saveButtsAll.each(function(input){
            input
            .set('disabled',true)
        });

        $('tog0').set('html','What do you want to do? &nbsp&nbsp You have chosen to CANCEL a reservation.');
        $('availWarning').setStyle('visibility','hidden');

    }
    function fncDecideModifyDinner(){
        if (elmodifydinnerbox.checked == true ){
            updateMode = 'none';
            decideInputs.each(function(input){
                input
                .set('disabled',true)

            });
            $('resetABed').set('disabled',false);
            $('alldinnersList').set('html','');
            htmlTitle = 'The following is a list of reservations made by username '+username;
            htmlTitle = htmlTitle + '<br><br>Please note: you may only modify dinner options to reservations that you made under the current logged on username';
            $('alldinnersTitle').set('html',htmlTitle);
            urlAllDinners = phpPath+'/php/PHPGetAllDinners.php?';
            urlAllDinners = urlAllDinners+'username='+username;
            urlAllDinners = urlAllDinners+'&dbPath='+phpPath;
            new Request.HTML({
                url: urlAllDinners,
                method: 'get',
                update: 'alldinnersList',
                evalScripts: true,
                noCache: true
            }).send();
            myStickyAllDinners.show();
        }
    }

    function fncDecideViewABed(){
        updateMode = 'view';
        myAccordion.display(2);
        decideInputs.each(function(input){
            input
            .set('disabled',true)
        });
        $('resetABed').set('disabled',false);
        $('tog0').set('html','What do you want to do?  &nbsp&nbsp You have chosen to VIEW availability.');
        $('availWarning').setStyle('visibility','');
    }

    function fncDecideModifyProfile(){
        updateMode = 'none';
        myAccordion.display(3);
        decideInputs.each(function(input){
            input
            .set('disabled',true)

        });
        if ($('loginReply').get('text').contains('profile'))
            $('resetABed').set('disabled',true);
        else
            $('resetABed').set('disabled',false);
        profileForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',false)
            .setStyle('background-color','white');
        });




        profileButtsAll.each(function(input){
            input
            .set('disabled',false)
        });
        $('recordidProfile')
        .set('disabled',true)
        .setStyle('background-color','#E9E9EC');
        $('tog0').set('html','What do you want to do?  &nbsp&nbsp You have chosen to MODIFY PROFILE.');
        //    $('tog3').set('html','Your Profile Information');
        fncProfileGet();
    }

    function fncDecideAddNewUser(){
        if (elnewbox.checked == true ){
            updateMode = 'none';
            decideInputs.each(function(input){
                input
                .set('disabled',true)

            });
            $('resetABed').set('disabled',false);

            requestForm1All.each(function(input_select){
                input_select
                .set('value', '')
                .set('disabled',false)
                .setStyle('background-color','white');
            });

            myStickyRequest.show();
        }
    }

    function fncDecideValidateRequest(){
        if (elvalidatebox.checked == true ){
            updateMode = 'none';
            decideInputs.each(function(input){
                input
                .set('disabled',true)

            });
            $('resetABed').set('disabled',false);
            validateForm1All.each(function(input_select){
                input_select
                .set('value', '')
                .set('disabled',true)
                .setStyle('background-color','#E9E9EC');
            });

            $('confirmValidate').set('html','');
            $('validateStatus')
            .set('value','')
            .set('disabled',true)
            .setStyle('background-color','#FFFFCC');
            urlValidate = phpPath+'/php/PHPGetRequests.php?';
            //urlProfile = urlProfile + 'username='+ username;
            //  alert (urlValidate);
            new Request({
                url: urlValidate,
                method: 'get',
                noCache: true,
                onSuccess: function(responseText, responseXML){
                    //      alert('alert after getRequests '+responseText);
                    validateRows=responseText.split('*');
                    validateNumlength = validateRows.length;
                    validateNumRows = validateRows.length - 2;
                    validateI = 1;
                    if (validateNumRows == 0)
                        $('confirmValidate').set('html','No more requests!');
                    else{
                        validateFields = validateRows[validateI].split('$');
                        $('validateUsername').set('value',validateFields[0]);
                        $('validateLname').set('value',validateFields[1]);
                        $('validateFname').set('value',validateFields[2]);
                        $('validateAddress1').set('value',validateFields[3]);
                        $('validateAddress2').set('value',validateFields[4]);
                        $('validateCity').set('value',validateFields[5]);
                        $('validateState').set('value',validateFields[6]);
                        $('validateZipcode').set('value',validateFields[7]);
                        $('validatePhone').set('value',validateFields[8]);
                        $('validateStatus').set('value',validateFields[9]);
                        $('validateRecordID').set('value',validateFields[10]);
                    }
                }
            }).send();
            myStickyValidate.show();
        }
    }

    function fncDecideAssignHosts(){
        if (elassignhostsbox.checked == true ){
            updateMode = 'none';
            decideInputs.each(function(input){
                input
                .set('disabled',true)

            });
            $('resetABed').set('disabled',false);
            $('assignhostsTitle').set('html','');
            htmlTitle = 'Please wait......';
            $('assignhostsTitle').set('html',htmlTitle);
            urlGetHosts = phpPath+'/php/PHPGetHosts.php?';
            urlGetHosts = urlGetHosts+'dbPath='+phpPath;
            new Request.HTML({
                url: urlGetHosts,
                method: 'get',
                update: 'assignhostsList',
                noCache: true,
                onComplete:  function() {
                    htmlTitle = 'Assign Hosts';
                    $('assignhostsTitle').set('html',htmlTitle);
                    document.body.style.cursor = "default";
                },
                evalScripts: true
            }).send();
            myStickyAssignHosts.show();
            document.body.style.cursor = "wait";
        }
    }

    function fncDecideAdminEditProfile(){
        if ($('adminEditProfile').get('checked') == true){
            decideInputs.each(function(input){
                input
                .set('disabled',true)
            });
            $('resetABed').set('disabled',false);
            $('adminTextLast3').setStyle('visibility','');
            $('adminLast3').set('disabled',false);
            $('adminGoButton').set('disabled',false);
        }
        else
            $('adminTextLast3').setStyle('visibility','hidden');
    }

    function fncDecideAdminGoButton(){
        if ($('adminLast3').get('value').length > 2){
            document.body.style.cursor = "wait";
            urlEditProfile = phpPath+'/php/PHPGetAllUsers.php?';
            urlEditProfile = urlEditProfile+'firstletters='+$('adminLast3').get('value');
            urlEditProfile = urlEditProfile+'&username='+username;
            urlEditProfile = urlEditProfile+'&dbPath='+phpPath;
            //  alert(urlEditProfile);
            new Request.HTML({
                url: urlEditProfile,
                method: 'get',
                update: 'allusersList',
                noCache: true,
                evalScripts: true //,
            // onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
            // tmpconfirmContent_responseHTML = responseHTML;
            // alert(responseHTML);

            //},
            }).send();
            myStickyAllUsers.show();
            document.body.style.cursor = "default";
        }
        else
            StickyWin.alert("Woops!", "Please enter the first 3 letters of last name");

    }
    function fncDecideAdminEditProfile(){
        if ($('adminEditProfile').get('checked') == true){
            decideInputs.each(function(input){
                input
                .set('disabled',true)
            });
            $('resetABed').set('disabled',false);
            $('adminTextLast3').setStyle('visibility','');
            $('adminLast3').set('disabled',false);
            $('adminGoButton').set('disabled',false);
        }
        else
            $('adminTextLast3').setStyle('visibility','hidden');
    }

    
    function fncDecideAdminResOrCancelByAdmin(){
        
        myStickySelectedMember.hide();

        mySelectMembersTable.empty();
        urlGetSelectMembersList = phpPath+'/php/PHPGetSelectMembersList.php?';
        urlGetSelectMembersList = urlGetSelectMembersList + 'username='+ username;
        new Request({
            url: urlGetSelectMembersList,
            method: 'get',
            noCache: true,
            onSuccess: function(responseText, responseXML){
                selectMembersListRows=responseText.split('%*');
                for (i = 0;i<=selectMembersListRows.length - 2;i++){
                    selectMembersListFields = selectMembersListRows[i].split('$');
                    mySelectMembersTable.push([
                        selectMembersListFields[0],  //lname
                        selectMembersListFields[1], //fname
                        selectMembersListFields[4] //city
                        ]).tr.setProperty('id','a'+i);

                }
            },
            onComplete: function(){
                myStickySelectMembersList.show();
                stickyMembersListOpen = 'open';
                mySelectMembersTable.inject($('selectMembersList'));
            }

        }).send();

    }

    
    function fncDecideSelectMembersOnRowFocus(rowid) {

        var rowIndex = (rowid.substr(1));

        resOrCancelByAdmin = username;
        resOrCancelByAdminUsername = '';

        selectMembersListFields = selectMembersListRows[rowIndex].split('$');
        $('selectedMember').set('html',selectMembersListFields[1]+' '+selectMembersListFields[0]+' (username: '+selectMembersListFields[7]+')');
        resOrCancelByAdminUsername=selectMembersListFields[7];

        //     //     $('lname1').set('value',selectMembersListFields[0]),
        //    //      $('fname1').set('value',selectMembersListFields[1]),
        //     //     $('address11').set('value',selectMembersListFields[2]),
        //     //     $('address12').set('value',selectMembersListFields[3]),
        //     //     $('city1').set('value',selectMembersListFields[4]),
        //      //    $('state1').set('value',selectMembersListFields[5]),
        //     //     $('zipcode1').set('value',selectMembersListFields[6]),
        //     //     $('email1').set('value',selectMembersListFields[7]),
        //    //     $('phone1').set('value',selectMembersListFields[8])
        //  //    }
        //  myStickySelectMembersList.hide();
        myStickySelectedMember.show();
        myStickySelectMembersList.hide();
        if (resOrCancelByAdminFlag == 'RES'){
            $('selectedMemberTitle').set('html','As an Admin you are making a reservation or reservations as requested by');
            $('selectedMemberHandle').setStyle('background-color','#008B8B');
            fncDecideAddABed();
        }
        if (resOrCancelByAdminFlag == 'CAN'){
            $('selectedMemberTitle').set('html','As an Admin you are <span style=\'font-weight:bold;color:maroon\'>CANCELING</span> a reservation or reservations as requested by');
            $('selectedMemberHandle').setStyle('background-color','maroon');
            fncDecideCancelABed();
        }

    //  $('selectedMember').set('html','As an admin you are making reservations or reservations for '+memberlname);
        
    }
    function fncDecideResetABed(){
        updateMode = 'none';
        clickcnt=0;
        regFormPassed = 'NO';
        urldates = '';
        urldatesEmail = '';
        urlRES = '';

        resOrCancelByAdmin = '';
        resOrCancelByAdminFlag = 'RESORCAN';
        resOrCancelByAdminUsername = '';
        myStickySelectedMember.hide();
        myStickySelectMembersList.hide();

        PERSONv.empty();
        RESselNamev.empty();
        RESv.empty();
        cancelRES.empty();
        //re-initialize registration form
        $('regReset').set('disabled',false);
        elchkbox.checked = false;
        elchkbox.disabled = true;
        elselfbox.checked = false;
        elselfbox.disabled = true;
        eluserslistbox.checked = false;
        eluserslistbox.disabled = true;
        eluserslistbox2.checked = false;
        eluserslistbox2.disabled = true;
        $('checkboxLabels').setStyle('color','grey');
        $('copyButton').set('disabled',true);
        regForm2All.each(function(all){
            regFormValidator
            .ignoreField(all)
            .resetField(all);
        });
        regFormValidator.reset();
        regFormPassed = 'NO';
        regForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',true)
            .setStyle('background-color','#E9E9EC');
        });


        regForm2All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',true)
            .setStyle('background-color','#E9E9EC');
        });

        regButtsAll.each(function(input){
            input
            .set('disabled',true)
        });

        //re-initialize reservation form
        //   $('buttClearDates').fireEvent('click',event);
        fncReserveClearDates();
        saveButtsAll.each(function(input){
            input
            .set('disabled',true)
        });
        profileForm1All.each(function(input_select){
            input_select
            .set('value', '')
            .set('disabled',true)
            .setStyle('background-color','#E9E9EC');
        });
        profileButtsAll.each(function(input){
            input
            .set('disabled',true)
        });
        $('addABed').set('disabled',false);
        $('cancelABed').set('disabled',false);
        $('modifyDinner').set('disabled',false);
        $('viewABed').set('disabled',false);
        $('modifyProfile').set('disabled',false);
        $('payMyBill').set('disabled',false);
        $('addNewUser').set('disabled',false);
        $('validateRequest').set('disabled',false);
        $('assignHosts').set('disabled',false);
        $('adminEditProfile').set('disabled',false);
        $('resByAdmin').set('disabled',false);
        $('cancelByAdmin').set('disabled',false);
        
        $('addABed').set('checked',false);
        $('cancelABed').set('checked',false);
        $('modifyDinner').set('checked',false);
        $('viewABed').set('checked',false);
        $('modifyProfile').set('checked',false);
        $('payMyBill').set('checked',false);
        $('addNewUser').set('checked',false);
        $('validateRequest').set('checked',false);
        $('assignHosts').set('checked',false);
        $('adminEditProfile').set('checked',false);
        $('resByAdmin').set('checked',false);
        $('cancelByAdmin').set('checked',false);
        $('adminTextLast3').setStyle('visibility','hidden');
        $('tog0').set('html','What do you want to do?');
        $('availWarning').setStyle('visibility','hidden');
        $('availEmail').set('disabled',true);

        myStickyRoomDescriptions.hide();
    }
    // initialize decide section (accordion(0))

    $('adminTextLast3').setStyle('visibility','hidden');
    elchkbox.checked = false;
    elchkbox.disabled = true;
    elselfbox.checked = false;
    elselfbox.disabled = true;
    eluserslistbox.checked = false;
    eluserslistbox.disabled = true;
    eluserslistbox2.checked = false;
    eluserslistbox2.disabled = true;
    $('checkboxLabels').setStyle('color','grey');
    decideInputs.each(function(input){
        input
        .set('disabled',true)
        .set('checked',false);
    });


    // initialize registration form  section (accordion(1))
    $('copyButton').set('disabled',true);


    regForm1All.each(function(input_select){
        input_select
        .set('value', '')
        .set('disabled',true)
        .setStyle('background-color','#E9E9EC');
    });

    regForm2All.each(function(input_select){
        input_select
        .set('value', '')
        .set('disabled',true)
        .setStyle('background-color','#E9E9EC');
    });

    regButtsAll.each(function(input){
        input
        .set('disabled',true)
    });

    //initialize availability/reservation form (accordion(2))
    selDatesInputs.each(function(input_select){
        input_select
        .set('value', '')
        .set('disabled',true)
        .setStyle('background-color','#E9E9EC');
    });
    availButtsAll.each(function(input){
        input
        .set('disabled',true)
    });

    //need to disable reset everything button separately.
    saveButtsAll.each(function(input){
        input
        .set('disabled',true)
    });
    $('availAllReset').set('disabled','true');

    $('availWarning').setStyle('visibility','hidden');
    $('availEmail').set('disabled',true);

    // initialize profile form  section (accordion(3))
    $('listFamilyNames').set('text','Please list names of other family members included in your membership');

    profileForm1All.each(function(input_select){
        input_select
        .set('value', '')
        .set('disabled',true)
        .setStyle('background-color','#E9E9EC');
    });
    $('familyNames')  // this is a point to move focus to.  It has no meaning.
    .set('value', '')
    .set('disabled',true)
    .setStyle('background-color','#E9E9EC')
    .setStyle('width','0px');

    profileButtsAll.each(function(input){
        input
        .set('disabled',true)
    });

    ///////////////////////////CLICK EVENTS SECTION/////////////////////////////////
    // ADD CLICK EVENT SECTION - for elements in accordion(0) --

    //Onclick 'addABed' checkbox
    //1. initialize registration form
    //2. enable registration form
    $('addABed').addEvent('click', function(event) {
        // event.stop();
        fncDecideAddABed();
    });

    //Onclick 'cancelABed' checkbox
    //1.  set mode to cancel reservation
    $('cancelABed').addEvent('click', function(event) {
        fncDecideCancelABed();
    });

    //Onclick 'modifyDinner' checkbox
    $('modifyDinner').addEvent('click', function(event) {
        fncDecideModifyDinner();
    });

    //Onclick 'viewABed' checkbox
    ////1. set mode to view only reservations
    $('viewABed').addEvent('click', function(event) {
        //  event.stop();
        fncDecideViewABed();
    });

    //Onclick 'modifyProfile' checkbox
    ////1. set mode to none
    $('modifyProfile').addEvent('click', function(event) {
        //  event.stop();
        fncDecideModifyProfile();

    });

 $('payMyBill').addEvent('click', function(event) {
        //  event.stop();
        myStickyPayMyBill.show();
    });
    
     $('cancelToPay').addEvent('click', function(event) {
        //  event.stop();
        fncDecideResetABed();
        myStickyPayMyBill.hide();
        
    });

    $('addNewUser').addEvent('click', function(event) {
        //  event.stop();
        fncDecideAddNewUser();
    });

    $('validateRequest').addEvent('click', function(event) {
        //   event.stop();
        fncDecideValidateRequest();
    });

    $('assignHosts').addEvent('click', function(event) {
        //   event.stop();
        fncDecideAssignHosts();
    });

    $('adminEditProfile').addEvent('click', function(event) {
        event.stop();
        fncDecideAdminEditProfile()
    });

    $('adminGoButton').addEvent('click', function(event){
        event.stop();
        fncDecideAdminGoButton();
    });

    $('resByAdmin').addEvent('click', function(event){
        event.stop();
        //alert('here in resbyAdmin clikc');
        resOrCancelByAdminFlag = 'RES'
        fncDecideAdminResOrCancelByAdmin();
    });

    $('cancelByAdmin').addEvent('click', function(event){
        event.stop();
        resOrCancelByAdminFlag = 'CAN'
        fncDecideAdminResOrCancelByAdmin();
    });

    $('resetABed').addEvent('click', function(event) {
        //event.stop();
        fncDecideResetABed();
    });

    // ADD CLICK EVENT SECTION - for elements in accordion(1)
    $('help_a').addEvent('click', function(event){
        event.stop();
        myStickyHelp1.show();
    });

    $('self').addEvent('click', function(event) {
        // event.stop();


        if (elselfbox.checked == true){
            eluserslistbox.checked = false;
            if (stickyUsersListOpen == 'open' ){
                myStickySelectUsersList.hide();
            }
        }
        fncRegCheckSelf();

    });

    $('userslist').addEvent('click', function(event) {
        // event.stop();
        if (eluserslistbox.checked == true){
            //   alert ('userlist: userlistbox is true');
            eluserslistbox2.checked = false;
            elselfbox.checked = false;
            regForm1All.each(function(input_select){
                input_select
                .set('value', '')
                .set('disabled',false)
                .setStyle('background-color','white');
            });
            fncRegSelectUsersList();
        }
        if (eluserslistbox.checked == false &&
            eluserslistbox2.checked == false &&
            stickyUsersListOpen == 'open' ){
            //   alert ('userlist: userlistbox and userlistbox2 is false and list is open');
            myStickySelectUsersList.hide();
        }
    });

    $('userslist2').addEvent('click', function(event) {
        //  event.stop();
        if (eluserslistbox2.checked == true){
            eluserslistbox.checked = false;
            //   alert ('userlis2t: userlistbox2 is true');
            //   alert('here');
            //  new Fx.Move($('stickydiv'), {
            //      relativeTo: $('el0'),
            //      position: 'upperRight'
            //  }).start();
            // $('stickySelectUsersList').move({
            //      relativeTo: $('el0'),
            //      position: 'upperRight'
            //  edge: 'bottomLeft'
            //  });
            //  $('stickySelectUsersList').setPosition({
            //     relativeTo: $('el0'),
            //      position: 'upperRight'
            //  });
            fncRegSelectUsersList();
        }

        if (eluserslistbox.checked == false &&
            eluserslistbox2.checked == false &&
            stickyUsersListOpen == 'open' ){
            //    alert ('userlist2: userlistbox and userlistbox2 is false and list is open');
            myStickySelectUsersList.hide();
        }
    });

    $('refreshSelectUsersList').addEvent('click', function(event) {
        event.stop();
        fncLoginPreLoadUsersList();
    });

    $('dblbed').addEvent('click', function(event) {
        //  event.stop();
        eluserslistbox2.checked = false;
        eluserslistbox2.disabled = true;

        if (eluserslistbox.checked == false &&
            stickyUsersListOpen == 'open'){
            //      alert ('dblbed: userlistbox  is false and list is open');
            myStickySelectUsersList.hide();
        }
        fncRegCheckDbl();
    });


    $('copyButton').addEvent('click', function(event){
        event.stop();
        fncRegBtnCopyDbl();
    });


    $('regReset').addEvent('click', function(event){
        //   event.stop();
        fncRegReset();
    });

    // ADD CLICK EVENT SECTION - for elements in accordion(2)
    $('help_a1').addEvent('click', function(event){
        event.stop();
        myStickHelp2.show();
    });

    // On opening Calendar, initialize arrays and date text fields.
    // Do not initialize 'content''
    // Cannot disable trigger href if user did not choose cancel, view or reerve so this is a workaround.
    // Sends user back to accordion(0) to choose.
    $('trigger').addEvent('click', function(event){
        event.stop();
        $('confirmEmail').set('html','')
        // alert('click on trigger '+updateMode);
        if (updateMode == 'reserve' || updateMode == 'cancel' ||updateMode == 'view' ||updateMode ==  'reserveAnother'){
            MA.empty();
            MAsort.empty();
            selDatesInputs.each(function(input){
                input.set('value','');
            });
            //$('buttClearDates').fireEvent('click',event);
            fncReserveClearDates();
            $('buttGetBeds').set('disabled', false);
        }
        else
            myAccordion.display(0);
    });

    $('buttClearDates').addEvent('click', function(event){
        event.stop();
        $('confirmEmail').set('html','')
        fncReserveClearDates();
    });

    $('buttGetBeds').addEvent('click', function(event){
        event.stop();
        $('confirmEmail').set('html','');
        myStickyRoomDescriptions.show();
        fncReserveGetBeds();
        
    });
    
    $('view_roomDescriptions').addEvent('click',function(event){
        event.stop();
        myStickyRoomDescriptions.show();
    });
    // Save bed selections:
    // 1.  Check if in cancel mode otherwise in reserve or none modes.
    // 2.  create person array
    // 3.  populate table confirming reservation or cancellation
    // 4.  save infor to db
    // 5.  refresh content with updated reservation information
    $('availSave').addEvent('click', function(event){
        event.stop();
        // fncReserveSave();
        fncReserveBtnSave();
    });


    $('availUndo').addEvent('click', function(event){
        event.stop();
        fncReserveGetBeds();
    });

    $('availAnother').addEvent('click', function(event){
        event.stop();
        $('confirmEmail').set('html','')
        save_urldates = urldates;
        save_urldatesEmail = urldatesEmail;

        // fncRegReset();
        fncReserveBtnStartEverythingOver();
        fncDecideAddABed();
        updateMode = 'reserveAnother';
        if  (stickyUsersListOpen == 'open'){
            eluserslistbox.checked = true;
        }
        myAccordion.display(1);
    });


    $('availEmail').addEvent('click', function(event){
        event.stop();
        $('confirmEmail').set('html','')
        new Request.HTML({
            url: urldatesEmail,
            method: 'get',
            update: 'emailList',
            evalScripts: true,
            noCache: true
        }).send()
        myStickyEmailList.show();
    });

    $('dinnerSave').addEvent('click', function(event){
        event.stop();
        fncReserveDinnerBtnSave();
    });

    //  $('dinnerReturn').addEvent('click', function(event){
    //      event.stop();
    //      myStickyDinner.hide();
    //  });

    //Used in contact Information form
    $('availAllReset').addEvent('click', function(event){
        event.stop();
        $('confirmEmail').set('html','')
        if (clickcnt == 1){
            new StickyWin.Confirm("Confirm Reset", "Are you sure you want to start everything over? The beds you selected to reserve or cancel will NOT be saved.", {
                onConfirm: function(){
                    //call regReset before calling fncReserveBtnStartEverythingOver.
                    fncRegReset();
                    fncReserveBtnStartEverythingOver();
                    fncReserveClearDates();
                }
            })
        }
        else{
            //call regReset before calling fncReserveBtnStartEverythingOver.
            fncRegReset();
            fncReserveBtnStartEverythingOver();
            fncReserveClearDates();

        }
        myAccordion.display(0);
    });

    //Used in reservation form
    $('availAllReset1').addEvent('click', function(event){
        event.stop();
        $('confirmEmail').set('html','')
        if (clickcnt == 1){
            new StickyWin.Confirm("Confirm Reset", "Are you sure you want to start everything over? The beds you selected to reserve or cancel will NOT be saved.", {
                onConfirm: function(){
                    //call regReset before calling fncReserveBtnStartEverythingOver.
                    fncRegReset();
                    fncReserveBtnStartEverythingOver();
                    fncReserveClearDates();
                }
            })
        }
        else{
            //call regReset before calling fncReserveBtnStartEverythingOver.
            fncRegReset();
            fncReserveBtnStartEverythingOver();
            fncReserveClearDates();

        }
        myAccordion.display(0);

    });
    $('availAllCancel').addEvent('click', function(event){
        //reset confirmation page and return to reservation form.
        new StickyWin.Alert("Return Alert", "You DID NOT SAVE your reservation.  If you want to SAVE your reservation you need to click OK on the summary page.", {
            onConfirm: fncInitializeConfirmationStickies()
        });
    });

    $('availAllCancelCancel').addEvent('click', function(event){
        //reset confirmation page and return to reservation form.
        new StickyWin.Alert("Confirm Return Cancel", "You DID NOT CANCEL your reservation. If you want to CANCEL your reservation you need to click OK on the summary page.", {
            onConfirm: fncInitializeConfirmationStickies()
        });
    });

    $('availAllClose').addEvent('click', function(event){
        //call regReset before calling fncReserveBtnStartEverythingOver
        fncRegReset();
        fncReserveBtnStartEverythingOver();
        fncReserveClearDates();
        $('availAllSave').removeEvent('click', allSaveReserve);
    });
    $('availAllCloseCancel').addEvent('click', function(event){
        //call regReset before calling fncReserveBtnStartEverythingOver
       // fncRegReset();
       // fncReserveBtnStartEverythingOver();
       // fncReserveClearDates();
        $('availAllSaveCancel').removeEvent('click', allSaveReserve);
        myStickyCancel.hide();
    });

    // ADD CLICK EVENT SECTION - for elements in accordion(3)
    //
    $('familyLName1').addEvent('click', function(event){
        $('familyFName2')
        .set('disabled',false)
        .setStyle('background-color','white');
        $('familyLName2')
        .set('disabled',false)
        .setStyle('background-color','white');
    });
    $('familyLName2').addEvent('click', function(event){
        $('familyFName3')
        .set('disabled',false)
        .setStyle('background-color','white');
        $('familyLName3')
        .set('disabled',false)
        .setStyle('background-color','white');
    });
    $('familyLName3').addEvent('click', function(event){
        $('familyFName4')
        .set('disabled',false)
        .setStyle('background-color','white');
        $('familyLName4')
        .set('disabled',false)
        .setStyle('background-color','white');
    });
    $('familyLName4').addEvent('click', function(event){
        $('familyFName5')
        .set('disabled',false)
        .setStyle('background-color','white');
        $('familyLName5')
        .set('disabled',false)
        .setStyle('background-color','white');
    });

    $('profileReset').addEvent('click', function(event){
        event.stop();
        $('listFamilyNames').set('text','Please list names of other family members included in your membership');
        $('listFamilyNames').setStyle('color','black');
        $('listFamilyNames').setStyle('font-size','12px');
        $('listFamilyNames').setStyle('font-weight','normal');
        fncProfileReset();
    });

    $('profileCancel').addEvent('click', function(event){
        event.stop();
        fncProfileCancel();
    });


    //OnClick events for StickyForms for UsernamePasswords Requests
    //
    $('buttRequestReset').addEvent('click', function(event){
        event.stop();
        fncRequestReset();
    });

    $('buttValidateNext').addEvent('click', function(event){
        event.stop();
        fncValidateRequestsGetNext();
    });

    $('buttValidateValidate').addEvent('click', function(event){
        event.stop();
        //document.body.style.cursor = "wait";
        fncValidateRequestsSubmit('VALID');
    });
    $('buttValidateDeny').addEvent('click', function(event){
        event.stop();
        fncValidateRequestsSubmit('DENY');
    });
    // INSTANTIATE FORMS - LOGIN FORM

    $$('.toggler').addEvent('mouseenter', function() {
        this.setStyle('color', '#FFFFCC'); //#FFFF99 #33FFFF
    });

    $$('.toggler').addEvent('mouseleave', function() {
        this.setStyle('color', '#E9E9EC');
    });

    //Set the color of the loginReply to green-overrides CSS
    $('loginReply').setStyle('color', '#004080');

   
    // INSTANTIATE FORMS - LOGIN FORM



    $('toggleLogRequest').addEvent('click', function(e){
        myStickyLoginReminder.hide();
        if  ($('toggleLogin').get('text') !== 'Log in successful!') {
            e = new Event(e);
            myVerticalSlide.slideOut();
            myVerticalSlide.toggle();
            myAccordion.display(-1);
            $('bottomLine').setStyle('color', '#FFFFCC');
            fncRequestOnOpen();
        }
    });
    $('toggleLogPass').addEvent('click', function(e){
        myStickyLoginReminder.hide();
        e = new Event(e);
        myVerticalSlide.toggle();
        myVerticalSlide.slideOut();
        myAccordion.display(-1);
        $('bottomLine').setStyle('color', '#FFFFCC');
        fncPassOnOpen();
    });


    $('toggleLogin').addEvent('click', function(e){
        // myStickyLoginReminder.hide();
        $('errMsg').set('text','');
        if  ($('toggleLogin').get('text') !== 'Log in successful!') {
            e = new Event(e);
            myVerticalSlide.slideIn();
            myAccordion.display(-1);
            $('bottomLine').setStyle('color', '#FFFFCC');
            e.stop();
        }
    });

    $('closeLogin').addEvent('click', function(e){
        e = new Event(e);
        myVerticalSlide.slideOut();
        $('bottomLine').setStyle('color', '#E9E9EC');
        e.stop();
    });

    //Add validation to login form
    //On successful login submission determine if user accepted.  If so:
    //           1. enable regForm1, regButts
    //           2. close login panel and set text.

    var loginFormValidator = new FormValidator($('loginForm'), {
        errorPrefix:'',
        onFormValidate: function(passed, form, event) {
            fncLoginOnValidate(passed);
        }

    });

    var loginFupdate = new Form.Request($('loginForm'), $('loginReply'), {
        onSend: function(){
            document.body.style.cursor = "wait";
        },
        onSuccess: function(replytext, requesttext, requestxml) {
            document.body.style.cursor = "default";
            fncLoginFupdateOnSuccess();
        }
    });
    var passFormValidator = new FormValidator.Inline($('passForm'), {
        evaluateFieldsOnBlur:true,
        evaluateFieldsOnChange:true,
        // useTitles:true,
        scrollToErrorsOnSubmit:false,
        serial:false,
        errorPrefix:'',
        onFormValidate: function(passed, form, event) {
            if (passed){
                event.preventDefault(); //stop the normal behavior of submitting the form.
                fncPassOnValidate();
            }

        }
    });

    var requestFormValidator = new FormValidator.Inline($('requestForm'), {
        evaluateFieldsOnBlur:true,
        evaluateFieldsOnChange:true,
        // useTitles:true,
        scrollToErrorsOnSubmit:true,
        serial:false,
        errorPrefix:'',
        onFormValidate: function(passed, form, event) {
            if (passed) {
                event.preventDefault(); //stop the normal behavior of submitting the form.
                fncRequestOnValidate();

            }
        }
    });

    // INSTANTIATE FORMS - CONTACT INFORMATION
    //
    //Instantiate formValdator on regForm1 and regForm2
    var regFormValidator = new FormValidator.Inline($('regForm'), {
        evaluateFieldsOnBlur:true,
        evaluateFieldsOnChange:true,
        // useTitles:true,
        scrollToErrorsOnSubmit:true,
        serial:false,
        errorPrefix:'',
        onFormValidate: function(passed, form, event) {
            event.preventDefault(); //stop the normal behavior of submitting the form.
            fncRegOnValidate(passed);
        }
    });

    // INSTANTIATE FORMS - PROFILE INFORMATION
    //
    var profileFormValidator = new FormValidator.Inline($('profileForm'), {
        evaluateFieldsOnBlur:true,
        evaluateFieldsOnChange:true,
        // useTitles:true,
        scrollToErrorsOnSubmit:true,
        serial:false,
        errorPrefix:'',
        onFormValidate: function(passed, form, event) {
            if (!passed){
                event.stop();
            }
            else {

                event.preventDefault(); //stop the normal behavior of submitting the form.
                $('listFamilyNames').set('text','Please list names of other family members included in your membership');
                $('listFamilyNames').setStyle('color','black');
                $('listFamilyNames').setStyle('font-size','12px');
                $('listFamilyNames').setStyle('font-weight','normal');
                if (($('familyLName1').get('value') !== '' && $('familyFName1').get('value')== '' || $('familyLName1').get('value') == '' && $('familyFName1').get('value')!== '')||
                    ($('familyLName2').get('value') !== '' && $('familyFName2').get('value')== '' || $('familyLName2').get('value') == '' && $('familyFName2').get('value')!== '')||
                    ($('familyLName3').get('value') !== '' && $('familyFName3').get('value')== '' || $('familyLName3').get('value') == '' && $('familyFName3').get('value')!== '')||
                    ($('familyLName4').get('value') !== '' && $('familyFName4').get('value')== '' || $('familyLName4').get('value') == '' && $('familyFName4').get('value')!== '')||
                    ($('familyLName5').get('value') !== '' && $('familyFName5').get('value')== '' || $('familyLName5').get('value') == '' && $('familyFName5').get('value')!== '')){
                    document.getElementById('familyNames').focus();
                    $('listFamilyNames').set('html','Please verify that the following is correct.  If it is correct, please re-submit. <br><br> If it is not correct, please modify and re-submit. <br><br> Remember to enter both first and last names.');
                    $('listFamilyNames').setStyle('color','maroon');
                    $('listFamilyNames').setStyle('font-size','16px');
                    $('listFamilyNames').setStyle('font-weight','bold');
                    fncProfileReset();

                }
                else {
                    tmpFlag = 0;
                    if ($('familyLName1').get('value') !== '' && $('familyLName2').get('value') == '' && ($('familyLName3').get('value') !== '' || $('familyLName4').get('value') !== '' || $('familyLName5').get('value') !== '') ||
                        $('familyLName1').get('value') !== '' && $('familyLName2').get('value') !== '' && $('familyLName3').get('value') == '' && ($('familyLName4').get('value') !== '' || $('familyLName5').get('value') !== '') ||
                        $('familyLName1').get('value') !== '' && $('familyLName2').get('value') !== '' && $('familyLName3').get('value') !== '' && $('familyLName4').get('value') == '' && $('familyLName5').get('value') !== '') {
                        if  ($('familyLName1').get('value') !== '' && $('familyLName2').get('value') == '') {
                            tmpFlag = 1;
                            $('familyLName3')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName3')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyLName4')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName4')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyLName5')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName5')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                        }
                        else if  ($('familyLName2').get('value') !== '' && $('familyLName3').get('value') == '') {
                            tmpFlag = 1;
                            $('familyLName4')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName4')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyLName5')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName5')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');

                        }
                        else if  ($('familyLName3').get('value') !== '' && $('familyLName4').get('value') == '') {
                            tmpFlag = 1;
                            $('familyLName5')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                            $('familyFName5')
                            .set('value','')
                            .setStyle('background-color','#E9E9EC');
                        }
                    }
                    if (tmpFlag == 1){

                        document.getElementById('familyNames').focus();
                        $('listFamilyNames').set('html','Please verify that the following is correct.  If it is correct, please re-submit. <br><br> If it is not correct, please modify and re-submit. <br><br> Remember to enter both first and last names.');
                        $('listFamilyNames').setStyle('color','maroon');
                        $('listFamilyNames').setStyle('font-size','16px');
                        $('listFamilyNames').setStyle('font-weight','bold');
                    // fncProfileReset();
                    }
                    else
                        fncProfileOnValidate();
                }
            }
        }
    });


    // FORM VALIDATION SECTION

    //Do not check for validation on fields that are disabled.   Ignore them.
    //Cannot ignore fields until after FormValidator has been instantiated.
    regForm2All.each(function(all){
        regFormValidator
        .ignoreField(all)
        .resetField(all);
    });

    FormValidator.addAllThese([

        ['validate-phone-required', {
            errorMsg: 'Phone number is required.  Please enter in this format: (555) 555-1234', //FormValidator.getMsg.pass('digits'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) && ((/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/).test(element.get('value')) || (/^\d{3}-\d{3}-\d{4}$/).test(element.get('value')));
            //   ((/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/).test(element.get('value')) || (/^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/).test(element.get('value')));
            //(/^\[1-9]\d{2}\s?\d{3}\-\d{4}$/).test(element.get('value'))); //(/^[\d() .:\-\+#]+$/.test(element.get('value')));
            }
        }],
        ['validate-phone', {
            errorMsg: 'Please enter in this format: (555) 555-1234', //FormValidator.getMsg.pass('digits'),
            test: function(element){
                return FormValidator.getValidator('IsEmpty').test(element) || ((/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/).test(element.get('value')) || (/^\d{3}-\d{3}-\d{4}$/).test(element.get('value')));
            //   ((/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/).test(element.get('value')) || (/^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/).test(element.get('value')));
            //(/^\[1-9]\d{2}\s?\d{3}\-\d{4}$/).test(element.get('value'))); //(/^[\d() .:\-\+#]+$/.test(element.get('value')));
            }
        }],
        ['validate-state-required', {
            errorMsg: 'State is required.  Please select state from drop down list.', //FormValidator.getMsg.pass('digits'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) //&& (/^[\d() .:\-\+#]+$/).test(element.get('value'));
            }
        }],

        ['validate-status-required', {
            errorMsg: 'Status is required.  Please select either member or guest from drop down list.', //FormValidator.getMsg.pass('digits'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) //&& (/^[\d() .:\-\+#]+$/).test(element.get('value'));
            }
        }],
        ['validate-zip-required', {
            errorMsg: 'Zip code is required.  Please use 5-digit zipcode.',//FormValidator.getMsg.pass('digits'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) && (/^\d{5}$/).test(element.get('value'));
            }
        }],
        ['validate-zip', {
            errorMsg: 'Please use 5-digit zipcode.',//FormValidator.getMsg.pass('digits'),
            test: function(element){
                return FormValidator.getValidator('IsEmpty').test(element) || (/^\d{5}$/).test(element.get('value'));
            }
        }],
        ['validate-name-required', {
            errorMsg: 'Name is required. Please use letters only (a-z) within this field', //FormValidator.getMsg.pass('alpha'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) && (/^[a-zA-Z .]+$/).test(element.get('value'));
            }
        }],
        ['validate-name', {
            errorMsg: 'Please use letters only (a-z) within this field', //FormValidator.getMsg.pass('alpha'),
            test: function(element){
                return FormValidator.getValidator('IsEmpty').test(element) || (/^[a-zA-Z .]+$/).test(element.get('value'));
            }
        }],
        // if ($('familyLName1').get('value') !== '' && $('familyFName1').get('value')== ''){
        //            alert ('please fill in first name of family member')

        //       }
        ['validate-for-fname', {
            errorMsg: 'Please fill in first name', //FormValidator.getMsg.pass('alpha'),
            test: function(element){
                return FormValidator.getValidator('IsEmpty').test(element) || (/^[a-zA-Z .]+$/).test(element.get('value'));
            }
        }],
        ['validate-username-required', {
            errorMsg: 'Please enter username', //FormValidator.getMsg.pass('alpha'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element);
            }
        }],
        ['validate-city-required', {
            errorMsg: 'City is required. Please use letters only (a-z) within this field', //FormValidator.getMsg.pass('alpha'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) && (/^[a-zA-Z .]+$/).test(element.get('value'));
            }
        }],
        ['validate-city', {
            errorMsg: 'Please use letters only (a-z) within this field', //FormValidator.getMsg.pass('alpha'),
            test: function(element){
                return FormValidator.getValidator('IsEmpty').test(element) || (/^[a-zA-Z .]+$/).test(element.get('value'));
            }
        }],
        ['validate-password-required', {
            errorMsg: 'Password is required.  Please use letters (a-z) and numbers (0-9) in this field with a minimun length is 3 characters and maximum length is 8 characters.',
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) && (/^[a-zA-Z0-9_]{3,8}$/).test(element.get('value'));
            }
        }],

        ['validate-email-required', {
            errorMsg: 'Email address is required.  Please enter valid email address.', //FormValidator.getMsg.pass('email'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) && (/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i).test(element.get('value'));
            }
        }],
        ['validate-address-required', { //allows for alphanumeric plus space
            errorMsg: 'Address is required.  Please use letters (a-z) and numbers (0-9) only in this field.', //FormValidator.getMsg.pass('alphanum'),
            test: function(element){
                return !FormValidator.getValidator('IsEmpty').test(element) && (/^[0-9a-zA-Z .\s]+$/).test(element.get('value')); //!(/\W/).test(element.get('value'));
            }
        }],
        ['validate-address', { //allows for alphanumeric plus space
            errorMsg: 'Please use letters (a-z) and numbers (0-9) only in this field.', //FormValidator.getMsg.pass('alphanum'),
            test: function(element){
                return FormValidator.getValidator('IsEmpty').test(element) || (/^[0-9a-zA-Z .\s]+$/).test(element.get('value')); //!(/\W/).test(element.get('value'));
            }
        }]
        ]);
//    $('vertical_slide').setStyle('display','');
//    $('el15').setStyle('display','');
//    $('el4').setStyle('display','');
//   $('el3').setStyle('display','');
//   $('el2').setStyle('display','');
//   $('el1').setStyle('display','');
//   $('el0').setStyle('display','');

});
