var g_calendardate = null;
var g_timerId = null;
var g_sessionid = null;
var g_cellsize = "60";
var g_sorttable = null;

function initsession(sid)
{
    g_sessionid = sid;
    return false;
}


function initcalendar(sid,cellsize)
{
    initsession(sid)
    g_cellsize = cellsize;
    return false;
}

function clearTimer()
{
    if (g_timerId != null) {
        clearTimeout(g_timerId)
    }
}

function getcalendar(aid,d)
{
    g_calendardate = d;
    createCookie ("caldate",d,1);

    return new AJAXRequest("post", "calendar.asp", "u="+encode(aid)+"&d="+encode(d)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("calendararea").innerHTML = "An error occured opening the calendar."
                }

                if (AJAX.status == 200) {
                    $("calendararea").innerHTML = AJAX.responseText;
                }
            }
        }, true);
}

function getclasscalendar(aid,d)
{
    clearTimer();

    g_calendardate = d;
    createCookie ("caldate",d,1);

    showworking1("calendararea");

    return new AJAXRequest("post", "classcalendar.asp", "u="+encode(aid)+"&d="+encode(d)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                hideworking1("calendararea");

                if (AJAX.status !=200) {
                    $("calendararea").innerHTML = "An error occured opening the calendar."
                }

                if (AJAX.status == 200) {
                    $("calendararea").innerHTML = AJAX.responseText;
                    g_timerId = setTimeout("getclasses('"+d+"')",0);
                }
            }
        }, true);
}

function getclasslist(sid,aid,d)
{
    unselectall();

    if(! $("classlist")) {
        return;
    }

    var f = "";
    if($("classlistfilter")) {
        f = $("classlistfilter").value;
    }

    g_calendardate = d;
    createCookie ("caldate",d,1);

    showworking1("calendararea");
    //$("classliststatus").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "classlist.asp", "sid="+encode(sid)+"&u="+encode(aid)+"&d="+encode(d)+"&f="+encode(f)+"&m=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                //$("classliststatus").innerHTML = "";
                hideworking1("calendararea");

                if (AJAX.status !=200) {
                    $("classlist").innerHTML = "An error occured retrieving the class list."
                }

                if (AJAX.status == 200) {
                    $("classlist").innerHTML = AJAX.responseText;
                }
            }
        }, true);
}

function deleteaclass(aid,c)
{
    clearTimer();

    if(! $("classlist")) {
        return;
    }

    $("classliststatus").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "classlist.asp", "u="+encode(aid)+"&d="+encode(g_calendardate)+"&c="+encode(c)+"&dl=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                $("classliststatus").innerHTML = "";

                if (AJAX.status !=200) {
                    $("classlist").innerHTML = "An error occured retrieving the class list."
                }

                if (AJAX.status == 200) {
                    //$("classlist").innerHTML = AJAX.responseText;
                    g_timerId = setTimeout("getclasscalendar('"+aid+"','"+g_calendardate+"')",500);
                }
            }
        }, true);
}


function getselectcalendar(aid,d)
{
    if(! $("calendararea")) {
        return;
    }

    g_calendardate = d;
    //createCookie ("caldate",d,1);

    return new AJAXRequest("post", "selectcalendar.asp", "u="+encode(aid)+"&d="+encode(d)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("calendararea").innerHTML = "An error occured opening the calendar."
                }

                if (AJAX.status == 200) {
                    $("calendararea").innerHTML = AJAX.responseText;
                }
            }
        }, true);
}

function getmyclasscalendar(sid,aid,memid,d,xx)
{
    clearTimer();

    g_calendardate = d;
    createCookie ("caldate",d,1);

    showworking1("sidebarcalendararea");

    return new AJAXRequest("post", "myclasscalendar.asp", "sid="+encode(sid)+"&u="+encode(aid)+"&m="+encode(memid)+"&d="+encode(d)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    hideworking1("sidebarcalendararea");
                    $("sidebarcalendararea").innerHTML = "An error occured opening the calendar."
                }

                if (AJAX.status == 200) {
                    hideworking1("sidebarcalendararea");
                    if ($("sidebarcalendararea")) {
                        $("sidebarcalendararea").innerHTML = AJAX.responseText;
                        if (typeof(xx) == "undefined" || xx != 1) {
                            setTimeout("monthcallback('"+sid+"','"+d+"')",0);
                        }
                    }
                }
            }
        }, true);
}


function getmyclasslist(sid,aid,memid,d,ba)
{
    if(! $("classlist")) {
        return;
    }

    var f = "";
    var f1 = "";

    if($("classlistfilter")) {
        f = $("classlistfilter").value;
    }

    if($("bootcamptypefilter")) {
        f1 = $("bootcamptypefilter").value;
    }

    g_calendardate = d;
    createCookie ("caldate",d,1);

    showworking1("calendararea");

    return new AJAXRequest("post", "myclasslist.asp", "sid="+encode(sid)+"&u="+encode(aid)+"&m="+encode(memid)+"&d="+encode(d)+"&ba="+encode(ba)+"&f="+encode(f)+"&f1="+encode(f1)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                $("classliststatus").innerHTML = "";

                if (AJAX.status !=200) {
                    hideworking1("calendararea");
                    $("classlist").innerHTML = "An error occured retrieving the class list."
                }

                if (AJAX.status == 200) {
                    hideworking1("calendararea");
                    $("classlist").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getmyembeddedclasslist(sid,aid,memid,d,ba)
{
    if(! $("classlist")) {
        return;
    }

    g_calendardate = d;
    createCookie ("caldate",d,1);

    $("classlist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "myclasslist.asp", "sid="+encode(sid)+"&u="+encode(aid)+"&m="+encode(memid)+"&d="+encode(d)+"&ba="+encode(ba)+"&embed=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("classlist").innerHTML = "An error occured retrieving the class list."
                }

                if (AJAX.status == 200) {
                    $("classlist").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}


function getunpaidmembers(monthid,yearid,aid)
{
    if(! $("unpaidlist")) {
        return;
    }

    var mth = $(monthid).value;
    var yr = $(yearid).value;

    $("unpaidlist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "unpaidmembers.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&mth="+encode(mth)+"&yr="+encode(yr)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("unpaidlist").innerHTML = "An error occured retrieving the unpaid member list."
                }

                if (AJAX.status == 200) {
                    $("unpaidlist").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getlatestsignups(pid,aid)
{
    if(! $("latestsignuplist")) {
        return;
    }

    var p = $(pid).value;

    $("latestsignuplist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "latestsignups.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&p="+encode(p)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("latestsignuplist").innerHTML = "An error occured retrieving the latest signups list."
                }

                if (AJAX.status == 200) {
                    $("latestsignuplist").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getupdatedregistrations(pid,aid)
{
    if(! $("updatedregistrationslist")) {
        return;
    }

    var p = $(pid).value;

    $("latestsignuplist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "updatedregistrations.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&p="+encode(p)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("updatedregistrationslist").innerHTML = "An error occured retrieving the updated registrations list."
                }

                if (AJAX.status == 200) {
                    $("updatedregistrationslist").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getunapprovedmembers(aid)
{
    if(! $("unapprovedmembersarea")) {
        return;
    }

    $("unapprovedmembersarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "unapprovedmembers.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("unapprovedmembersarea").innerHTML = "An error occured retrieving the unapproved members list."
                }

                if (AJAX.status == 200) {
                    $("unapprovedmembersarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getmonthlybilling(pid,yid,aid)
{
    if(! $("monthlybillingarea")) {
        return;
    }

    var p = $(pid).value;
    var yr = $(yid).value;

    $("monthlybillingarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "getmonthlybilling.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&mth="+encode(p)+"&y="+encode(yr)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("monthlybillingarea").innerHTML = "An error occured retrieving the latest signups list."
                }

                if (AJAX.status == 200) {
                    $("monthlybillingarea").innerHTML = AJAX.responseText;
                }
            }
        }, true);
}

function getwaitinglists(aid)
{
    if(! $("waitinglistsarea")) {
        return;
    }

    $("waitinglistsarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "getwaitinglists.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("waitinglistsarea").innerHTML = "An error occured retrieving your waiting lists."
                }

                if (AJAX.status == 200) {
                    $("waitinglistsarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getnewmembersignups(pid,aid)
{
    if(! $("latestmembersignups")) {
        return;
    }

    var p = $(pid).value;

    $("latestmembersignups").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "latestmembersignups.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&p="+encode(p)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("latestmembersignups").innerHTML = "An error occured retrieving the list of new members."
                }

                if (AJAX.status == 200) {
                    $("latestmembersignups").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getupcomingclasses(pid,aid)
{
    if(! $("upcomingclasslist")) {
        return;
    }

    var p = $(pid).value;

    $("upcomingclasslist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "upcomingclasses.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&p="+encode(p)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("upcomingclasslist").innerHTML = "An error occured retrieving the list of new members."
                }

                if (AJAX.status == 200) {
                    $("upcomingclasslist").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}


function setupaccount(sid)
{
    createCookie("ptsn42415245",sid,1);
}

function getaccountcalendar(sid,aid,d)
{
    clearTimer();
    g_calendardate = d;

    return new AJAXRequest("post", "accountcalendar.asp", "s="+encode(sid)+"&u="+encode(aid)+"&d="+encode(d)+"&cs="+encode(g_cellsize)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("calendararea").innerHTML = "An error occured opening the calendar."
                }

                if (AJAX.status == 200) {
                    $("calendararea").innerHTML = AJAX.responseText;
                    setTimeout ("getaccountstats('"+sid+"','"+aid+"','"+d+"')",500);
                }
            }
        }, true);
}

function getaccountstats(sid,aid,d)
{
    clearTimer();
    g_calendardate = d;

    showworking1("statsblock");

    return new AJAXRequest("post", "accountstats.asp", "s="+encode(sid)+"&u="+encode(aid)+"&d="+encode(d)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("statsblock").innerHTML = "An error occured retrieving account metrics."
                    hideworking1("statsblock");
                }

                if (AJAX.status == 200) {
                    $("statsblock").innerHTML = AJAX.responseText;
                    hideworking1("statsblock");
                }
            }
        }, true);
}

function gotoclasses(d)
{
    window.location.href="classes.asp?u="+g_sessionid+"&dt="+d;
}

function getclassstats(cid)
{
    return;


    if ($("classstats") != null) {
        $("classstats").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

        return new AJAXRequest("post", "classstats.asp", "c="+encode(cid)+"&z="+Math.floor(Math.random()*10000),
            function ( AJAX )
            {
                if (AJAX.readyState == 4) {
                    if (AJAX.status !=200) {
                        //$("classstats").innerHTML = "An error occured retrieving this classes signup information."
                    }

                    if (AJAX.status == 200) {
                        $("classstats").innerHTML = AJAX.responseText;
                    }
                }
            }, true);
    }
}

function movesignuprecord(sid,cid,currentcid)
{

    return new AJAXRequest("post", "movesignuprecord.asp", "s="+encode(sid)+"&c="+encode(cid)+"&sc="+encode(currentcid)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    //$("").innerHTML = "An error occured attempting to move this members to another class."
                }

                if (AJAX.status == 200) {
                    if (AJAX.responseText != "") {
                        alert (AJAX.responseText);
                    }
                    window.location.href="classsignups.asp?u="+g_sessionid+"&c="+currentcid;
                }
            }
        }, true);
}

function getchart(aid,tid,charttype,wid)
{

    if (! $(tid)) return;
    if (aid == "") return;
    if (charttype == "") return;

    if($(wid)) {
        $(wid).innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";
    }

    return new AJAXRequest("post", "getchart.asp", "a="+encode(aid)+"&t="+encode(charttype)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    if($(wid)) {
                        $(wid).innerHTML = "";
                    }
                    $(tid).innerHTML = "Error"
                }

                if (AJAX.status == 200) {
                    if($(wid)) {
                        $(wid).innerHTML = "";
                    }
                    //alert (AJAX.responseText);

                    $(tid).innerHTML = AJAX.responseText;
                }
            }
        }, true);
}

function getnonsignups(monthid,yearid,aid)
{
    if(! $("nonsignuplistarea")) {
        return;
    }

    //var mth = $(monthid).value;
    //var yr = $(yearid).value;
    //var all = "";
    //if ( $("allnonsignups").checked ) {
    //    all = "1"
    //}

    $("nonsignuplistarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    //return new AJAXRequest("post", "getnonsignups.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&m="+encode(mth)+"&y="+encode(yr)+"&all="+encode(all)+"&z="+Math.floor(Math.random()*10000),
    return new AJAXRequest("post", "getnonsignups.asp", "sid=" + encode(g_sessionid) + "&a="+encode(aid)+"&m=&y=&all=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("nonsignuplistarea").innerHTML = "An error occured retrieving your list of members that have not signed up for a class."
                }

                if (AJAX.status == 200) {
                    $("nonsignuplistarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}


function deletenonsignup(sid,aid,name,memid)
{
    if (confirm ("Are you sure you want to delete "+name+"\'s member account?\n\nThis operation cannot be undone and this client will have to re-register\nagain before they can signup for your classes.")) {

        if(! $("nonsignuplistarea")) {
            return;
        }

        //$("nonsignuplistarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

        return new AJAXRequest("post", "getnonsignups.asp", "sid=" + encode(sid) + "&a="+encode(aid)+"&m="+encode(memid)+"&d=1&z="+Math.floor(Math.random()*10000),
            function ( AJAX )
            {
                if (AJAX.readyState == 4) {
                    if (AJAX.status !=200) {
                        $("nonsignuplistarea").innerHTML = "An error occured retrieving your list of members that have not signed up for a class."
                    }

                    if (AJAX.status == 200) {
                        $("nonsignuplistarea").innerHTML = AJAX.responseText;
                        if (g_sorttable != null) {
                            g_sorttable.init();
                        }
                    }
                }
            }, true);
    }

    return false;


}

function sendnonsignupreminder(sid,memid)
{
    window.location.href="sendmail.asp?u="+sid+"&m="+memid+"&r=1"
    return false;
}


function getmemberbirthdays(pid,aid)
{
    if(! $("memberbirthdayarea")) {
        return;
    }

    var mth = $(pid).value;

    $("memberbirthdayarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_birthdays.asp", "sid=" + encode(g_sessionid) + "&aid="+encode(aid)+"&mth="+encode(mth)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("memberbirthdayarea").innerHTML = "An error occured retrieving client birthdays."
                }

                if (AJAX.status == 200) {
                    $("memberbirthdayarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getcampaignlist(aid)
{
    if(! $("campaignlistarea")) {
        return;
    }

    showworking1("campaignlistarea");

    return new AJAXRequest("post", "x_campaigns.asp", "sid=" + encode(g_sessionid) + "&aid="+encode(aid)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                hideworking1("campaignlistarea");

                if (AJAX.status !=200) {
                    $("campaignlistarea").innerHTML = "An error occured retrieving your campaign list."
                }

                if (AJAX.status == 200) {
                    $("campaignlistarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getcampaigndetails(aid,cid)
{
    if(! $("campaigndetailsarea")) {
        return;
    }

    $("campaigndetailsstatus").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_campaigns.asp", "sid=" + encode(g_sessionid) + "&aid="+encode(aid)+"&cid="+encode(cid)+"&details=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("campaigndetailsstatus").innerHTML = "";
                    $("campaigndetailsarea").innerHTML = "An error occured retrieving your tracking details list."
                }

                if (AJAX.status == 200) {
                    $("campaigndetailsstatus").innerHTML = "";
                    $("campaigndetailsarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                    setTimeout("getcampaigncounts('"+aid+"','"+cid+"')",500);
                }
            }
        }, true);
}

function getcampaigncounts(aid,cid)
{
    if(! $("campaigntimesviewed")) {
        return;
    }

    if(! $("campaignrecipientcount")) {
        return;
    }

    return new AJAXRequest("post", "x_campaigns.asp", "sid=" + encode(g_sessionid) + "&aid="+encode(aid)+"&cid="+encode(cid)+"&counts=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("campaigntimesviewed").innerHTML = "error"
                    $("campaignrecipientcount").innerHTML = "error"
                    $("campaignrecipientviews").innerHTML = "error";
                    $("campaignviewpercentage").innerHTML = "error";
                    $("campaignbounces").innerHTML = "error";
                    $("deliverabilityrate").innerHTML = "error";
                    $("campaignunsubscribes").innerHTML = "error";
                }

                if (AJAX.status == 200) {

                    //alert (AJAX.responseText);
                    var data = eval('(' + AJAX.responseText + ')');
                    $("campaigntimesviewed").innerHTML = data.timesviewed;
                    $("campaignrecipientcount").innerHTML = data.recipientcount;
                    $("campaignrecipientviews").innerHTML = data.recipientviews;
                    $("campaignviewpercentage").innerHTML = data.viewpercentage;
                    $("campaignbounces").innerHTML = data.bounces;
                    $("deliverabilityrate").innerHTML = data.deliverabilityrate;
                    $("campaignunsubscribes").innerHTML = data.unsubscribes;
                }
            }
        }, true);
}

function deletecampaign(aid,cid)
{
    if(! $("campaignlistarea")) {
        return;
    }

    if (! confirm ("Are you sure you want to delete this campaign?\n\nThis operation cannot be undone.")) {
        return false;
    }


    return new AJAXRequest("post", "x_campaigns.asp", "sid=" + encode(g_sessionid) + "&aid="+encode(aid)+"&cid="+encode(cid)+"&d=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("campaignlistarea").innerHTML = "An error occured deleting your campaign list."
                }

                if (AJAX.status == 200) {
                    $("campaignlistarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function deletecampaignrecipient(recno,aid,cid)
{
    if(! $("campaigndetailsarea")) {
        return;
    }

    return new AJAXRequest("post", "x_campaigns.asp", "sid=" + encode(g_sessionid) + "&aid="+encode(aid)+"&cid="+encode(cid)+"&recno="+encode(recno)+"&d=2&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("campaigndetailsarea").innerHTML = "An error occured deleting your campaign list."
                }

                if (AJAX.status == 200) {
                    $("campaigndetailsarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }

                    setTimeout("getcampaigncounts('"+aid+"','"+cid+"')",500);
                }
            }
        }, true);
}

function birthdayemailselected(id)
{
    var sel = selectedFieldValues(id);
    if (sel == "") {
        alert ("You have not selected any clients to send email to.");
        return false;
    }

    window.location.href = "sendmail.asp?u=" + g_sessionid + "&recs=" + sel + "&r=5"

    return false;
}

function emailselected(id)
{
    var sel = selectedFieldValues(id);
    if (sel == "") {
        alert ("You have not selected any clients to send email to.");
        return false;
    }

    window.location.href = "sendmail.asp?u=" + g_sessionid + "&recs=" + sel + "&r=8"

    return false;
}

function unpaidemailselected(id)
{
    var sel = selectedFieldValues(id);
    if (sel == "") {
        alert ("You have not selected any clients to send email to.");
        return false;
    }

    window.location.href = "sendmail.asp?u=" + g_sessionid + "&recs=" + sel + "&r=7"

    return false;
}

function getbouncedemails(sid,aid)
{

    $("bouncedemailarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_bouncelist.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&ad=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("bouncedemailarea").innerHTML = "An error occured retrieving the bounce list."
                }

                if (AJAX.status == 200) {
                    $("bouncedemailarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function deleteselectedbounces(sid,aid,name)
{
    var sel = selectedFieldValues(name);
    if (sel == "") {
        alert ("No entries selected.  You must select an entry from the list before it can be deleted.");
        return false;
    }

    if ( confirm ("Are you sure you want to delete the selected bounce email records?\n\nThis operation cannot be undone.")) {
        deletebounces(sid,aid,sel);
        return true;
    }

    return false;
}

function deletebounces(sid,aid,sel)
{
    $("bouncedemailarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_bouncelist.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&ad=1&d="+encode(sel)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("bouncedemailarea").innerHTML = "An error occured retrieving the bounce list."
                }

                if (AJAX.status == 200) {
                    $("bouncedemailarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getunsubscribedclients(sid,aid)
{

    $("unsubscribedclientarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_unsubscribelist.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("unsubscribedclientarea").innerHTML = "An error occured retrieving the bounce list."
                }

                if (AJAX.status == 200) {
                    $("unsubscribedclientarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}


function getcancelledclients(sid,aid)
{

    $("cancelledclientarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_cancelledclients.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("cancelledclientarea").innerHTML = "An error occured retrieving the client cancellation list."
                }

                if (AJAX.status == 200) {
                    $("cancelledclientarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}


function getclientperformance(sid,aid)
{
    $("clientperformancearea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_clientperformance.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("clientperformancearea").innerHTML = "An error occured retrieving the client performance report."
                }

                if (AJAX.status == 200) {
                    $("clientperformancearea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getstaffreport(monthid,yearid,sid,aid)
{
    var mth = $(monthid).value;
    var yr = $(yearid).value;

    $("staffreportarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_staffreport.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&mth="+encode(mth)+"&yr="+encode(yr)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("staffreportarea").innerHTML = "An error occured retrieving the staff report."
                }

                if (AJAX.status == 200) {
                    $("staffreportarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getrevenuereport(startid,endid,grouping,filter,sid,aid)
{
    var sdate = $(startid).value;
    var edate = $(endid).value;
    var grp = $(grouping).value;
    var ftr = $(filter).value;

    var diff = datediff2(sdate,edate,"days");
    if (diff < 0) {
        alert("Your start date comes after your end date.  Please try again.");
        return;
    }

    if (diff == NaN || diff == undefined) {
        return;
    }


    $("revenuereportarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_revenuereport.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&sd="+encode(sdate)+"&ed="+encode(edate)+"&grp="+encode(grp)+"&ftr="+encode(ftr)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("revenuereportarea").innerHTML = "An error occured retrieving your revenue report."
                }

                if (AJAX.status == 200) {
                    $("revenuereportarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}

function getclientactivityreport(startid,endid,sid,aid)
{

    var sdate = $(startid).value;
    var edate = $(endid).value;

    var diff = datediff2(sdate,edate,"days");
    if (diff < 0) {
        alert("Your start date comes after your end date.  Please try again.");
        return;
    }

    if (diff == NaN || diff == undefined) {
        return;
    }


    $("clientactivityarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "x_clientactivity.asp", "sid="+encode(sid)+"&a="+encode(aid)+"&sd="+encode(sdate)+"&ed="+encode(edate)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("clientactivityarea").innerHTML = "An error occured retrieving your client activity report."
                }

                if (AJAX.status == 200) {
                    $("clientactivityarea").innerHTML = AJAX.responseText;
                    if (g_sorttable != null) {
                        g_sorttable.init();
                    }
                }
            }
        }, true);
}


function exportclientactivity(memid, sd, ed)
{
    alert ("Exporting client activity is not yet available.  Coming soon.");
    return;
}
