var g_memberid = null;
var g_accountid = null;
var g_sessionid = null;
var g_busy = false;

function setmemberid(s,a,m)
{
    g_memberid = m;
    g_accountid = a;
    g_sessionid = s;
}

function updatetransaction(t)
{
    createWindow('Edit Transaction', 600,330, '#FFFFFF', 'updatearea', 0, 220, 140,function() {parent.closeupdate(false);},"edittransaction.asp?u="+g_accountid+"&t="+t);
    return false;
}

function updatetransaction2(t)
{
    createWindow('Edit Transaction', 600,330, '#FFFFFF', 'updatearea', 0, 220, 140,function() {parent.closeupdate(false);},"edittransaction.asp?u="+g_accountid+"&t="+t);
    return false;
}

function closeupdate(b)
{

    $("Window updatearea").jsWindow.close();
    if (b) {
        setTimeout ("listtransactions('"+g_memberid+"')",500);
    }
    return true;
}

function xupdatetransaction(t)
{
    if (t != "") {
        $("updateframe").src="edittransaction.asp?u="+g_accountid+"&t="+t;
        createWindow('', 580, '#CCCCCC', 'updatearea', 0, 220, 140,clientenable);
        $("Window updatearea").jsWindow.reload(document.getElementById("updatearea").innerHTML);
        clientdisable();
        return false;
    }
    return false;
}


function xcloseupdate()
{

    clientenable();
    $("Window updatearea").jsWindow.close();
    setTimeout ("listtransactions('"+g_memberid+"')",500);
    return true;
}

function updateamount(o,id)
{
    document.getElementById(id).value = "";
    if (o.value != "") {
        var s = o.value;
        var sr = s.split("|");
        document.getElementById(id).value = sr[1];
    }
    return false;
}

function updateamount2(o,id)
{
    if (o) {
        if (o.value != "") {
            var s = o.value;
            var sr = s.split("|");
            if (s.indexOf("|") > 0) {
                var passid = sr[0];
                var memid = g_memberid;

                return new AJAXRequest("post", "managetransactions.asp", "m="+encode(memid)+"&p="+encode(passid)+"&b=3&z="+Math.floor(Math.random()*10000),
                    function ( AJAX )
                    {
                        if (AJAX.readyState == 4) {
                            if (AJAX.status !=200) {
                                //$("balance").innerHTML = "????"
                            }

                            if (AJAX.status == 200) {
                                $(id).value = AJAX.responseText;
                            }
                        }
                    }, true);
            }
            else {
                updateamount ($("productid3"),id);
            }
        }
    }

    return false;
}

function updateclassamount(o,id)
{
    document.getElementById(id).value = "";
    if (o.value != "") {
        var s = o.value;
        var sr = s.split("|");
        document.getElementById(id).value = sr[1];
    }
    return false;
}

function productidpart(s)
{
    if (s != "") {
        var sr = s.split("|");
        return sr[0];
    }

    return ""
}

function listtransactions(m)
{
    $("transactionlist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    var tf = productidpart($("transfilter").value);
    var mth = $("transmonth").value;
    var yr = $("transyear").value;

    return new AJAXRequest("post", "managetransactions.asp", "m="+encode(m)+"&tf="+encode(tf)+"&mth="+encode(mth)+"&yr="+encode(yr)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("transactionlist").innerHTML = "None found. An error occured retrieving transactions."
                }

                if (AJAX.status == 200) {
                    $("transactionlist").innerHTML = AJAX.responseText;
                    //$("transactionliststatus").innerHTML = "";
                    setTimeout ("listmemberpasses('"+m+"')",500);
                }
            }
        }, true);
}

function listmemberclasses(m)
{
    $("memberclasslist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "listmemberclasses.asp", "sid="+encode(g_sessionid)+"&a="+encode(g_accountid)+"&m="+encode(m)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("memberclasslist").innerHTML = "None found. An error occured retrieving transactions."
                }

                if (AJAX.status == 200) {
                    $("memberclasslist").innerHTML = AJAX.responseText;
                    //$("memberclassliststatus").innerHTML = "";
                }
            }
        }, true);
}

function memberbalance(m)
{
    return new AJAXRequest("post", "managetransactions.asp", "m="+encode(m)+"&b=1&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    //$("balance").innerHTML = "????"
                }

                if (AJAX.status == 200) {
                    //$("balance").innerHTML = AJAX.responseText;
                }
            }
        }, true);
}

function listmemberpasses(m)
{
    $("memberclasspasslist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "managetransactions.asp", "sid="+encode(g_sessionid)+"&m="+encode(m)+"&b=2&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("memberclasspasslist").innerHTML = "Error.  Unable to retrieve pass list"
                }

                if (AJAX.status == 200) {
                    $("memberclasspasslist").innerHTML = AJAX.responseText;
                    //setTimeout ("listmemberclasses('"+m+"')",500);
                }
            }
        }, true);
}

function recordtransaction(m)
{
    var op = "record"
    var a = $("amount").value;
    var p = productidpart($("productid").value);
    var t = productidpart($("paidusing").value);
    var f = $("forguest").value;
    var n = $("memo").value;

    if (p == "") {
        alert ("Please select an \"item\" from the list for this transaction");
        return false;
    }

    if (a == "") {
        alert ("Please enter an amount for this transaction");
        return false;
    }

    if (t == "") {
        alert ("Please select a \"paid by\" item from the list for this transaction");
        return false;
    }

    //$("amount").value = "op="+encode(op)+"&m="+encode(m)+"&a="+encode(a)+"&p="+encode(p)+"&t="+encode(t)+"&f="+encode(f);

    var oldcopy = $("transactionlist").innerHTML;

    $("transactionlist").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";

    return new AJAXRequest("post", "managetransactions.asp", "op="+encode(op)+"&m="+encode(m)+"&a="+encode(a)+"&p="+encode(p)+"&t="+encode(t)+"&f="+encode(f)+"&n="+encode(n)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("transactionlist").innerHTML = "None found. An error occured retrieving transactions."
                    //$("transactionliststatus").innerHTML = "";
                }

                if (AJAX.status == 200) {
                    //$("transactionliststatus").innerHTML = "";

                    var s = AJAX.responseText;
                    if (s.indexOf("ERROR:") == 0) {
                        $("transactionlist").innerHTML = oldcopy;
                        alert (s);
                    }
                    else {
                        //$("transactionlist").innerHTML = s;
                        //setTimeout ("memberbalance('"+m+"')",500);
                        //setTimeout ("listpassbalances('"+m+"')",500);
                        //setTimeout ("listmemberpasses('"+m+"')",500);
                        setTimeout ("listtransactions('"+m+"')",500);
                    }
                }
            }
        }, true);
}

function deletememberaccount(s,a,m)
{
    $("deletestatus").innerHTML = "deleting..."
    return new AJAXRequest("post", "deletemember.asp", "a="+encode(a)+"&m="+encode(m)+"&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("deletestatus").innerHTML = "Error.  Unable to delete member account"
                }

                if (AJAX.status == 200) {
                    $("deletestatus").innerHTML = AJAX.responseText;
                    window.location.href='members.asp?u='+s;
                }
            }
        }, true);
}

function addtransaction(op,m)
{
    if (op != "") {

        document.getElementById("tw0").style.display='block';
        document.getElementById(op).style.display='none';

        if (op == "tw1") {
            document.getElementById("productid").value = document.getElementById("productid1").value;
            document.getElementById("paidusing").value = document.getElementById("paidusing1").value;
            document.getElementById("amount").value = document.getElementById("amount1").value;
            document.getElementById("memo").value = document.getElementById("memo1").value;
        }
        if (op == "tw2") {
            document.getElementById("productid").value = document.getElementById("productid2").value;
            document.getElementById("paidusing").value = document.getElementById("paidusing2").value;
            document.getElementById("amount").value = document.getElementById("amount2").value;
            document.getElementById("memo").value = document.getElementById("memo2").value;
        }
        if (op == "tw3") {
            document.getElementById("productid").value = document.getElementById("productid3").value;
            document.getElementById("paidusing").value = document.getElementById("paidusing3").value;
            document.getElementById("amount").value = document.getElementById("amount3").value;
            document.getElementById("memo").value = document.getElementById("memo3").value;
        }
        if (op == "tw4") {
            document.getElementById("productid").value = document.getElementById("productid4").value;
            document.getElementById("paidusing").value = document.getElementById("paidusing4").value;
            document.getElementById("amount").value = document.getElementById("amount4").value;
            document.getElementById("memo").value = document.getElementById("memo4").value;
            document.getElementById("forguest").value = document.getElementById("forguest4").value;
            if (document.getElementById("forguest").value == "") {
                alert ("Please select the name of your members guest.");
                return false;
            }
        }
        if (op == "tw5") {
            document.getElementById("productid").value = document.getElementById("productid5").value;
            document.getElementById("paidusing").value = "9";
            document.getElementById("amount").value = document.getElementById("amount5").value;
            document.getElementById("memo").value = document.getElementById("memo5").value;
            document.getElementById("forguest").value = ""
        }

        recordtransaction (m);
    }

    return false;
}

function deletemember(s,a,m)
{
    if (a == m) {
        alert ("You cannot delete yourself as a member from this account because you are\nthe account owner");
        return false;
    }


    if (confirm("Are you sure you want to delete this member?\n\nDoing so will delete all information about this member from the system.\n\nThis operation cannot be undone.")) {
        deletememberaccount(s,a,m);
    }

    return false;
}

function editmemberpassinfo(m,p)
{
    if ((p != "") && (m != "")) {
        createWindow('Edit Client Pass Information', 600,300, '#FFFFFF', 'updatearea', 0, 220, 140,function() { closepassinfo(); },"editmemberpassinfo.asp?m="+m+"&p="+p);
        return false;
    }
    return false;
}

function closepassinfo()
{

    $("Window updatearea").jsWindow.close();
    return true;
}

function xeditmemberpassinfo(m,p)
{
    if ((p != "") && (m != "")) {
        $("updateframe").src="editmemberpassinfo.asp?m="+m+"&p="+p;
        clientdisable();
        createWindow('', 580, '#CCCCCC', 'updatearea', 0, 220, 140,clientenable);
        $("Window updatearea").jsWindow.reload(document.getElementById("updatearea").innerHTML);
        return false;
    }
    return false;
}


function showreport(id)
{
    document.getElementById("evalarea").style.display = "none";
    document.getElementById("clientcomments").style.display = "none";
    document.getElementById("classpassarea").style.display = "none";
    document.getElementById("memberreportarea").style.display = "none";
    document.getElementById("membereditprofile").style.display = "none";
    document.getElementById("discountarea").style.display = "none";
    document.getElementById(id).style.display = "block";
}

function grouptransactions(tid,rid)
{
    var rows = document.getElementById("transactionlist").getElementsByTagName("tr");
    for (var i = 0; i < rows.length; i++) {
        if (rows[i].innerHTML.indexOf(tid) != -1) {
            rows[i].style.backgroundColor = "#AAAAAA";
        }
        else {
            rows[i].style.backgroundColor = "#FFFFFF";
        }
    }
}

function createEval(sid,memid)
{
    var eval = new classpopup("memberEval");
    eval.src = "evalpopup.asp?sid=" + sid + "&m=" + memid;
    eval.open (
        function() {
            listEvals(sid,memid);
        }
    );
}

function setupEval(sid)
{
    var eval = new classpopup("setupEval");
    eval.src = "evalsetuppopup.asp?sid=" + sid;
    eval.height = 510;
    eval.width = 480;
    eval.title = "Evaluation Form Fields"
    eval.open (
        function() {
            //listEvals(sid,memid);
        }
    );
}

function classpopup(name)
{
    var name = name
    var callback = "";
    var src = "";
    var width = 640;
    var height = 510;
    var top = 220;
    var left = 140;
    this.title = ""

    this.open = function(callback)
    {
        createWindow(this.title, this.width,this.height, '#FFFFFF', name, 0, 220, 140,
            function ()
                {
                    if (typeof callback != "undefined" && callback && callback != "") {
                        setTimeout (callback,500);
                    }

                    $("Window " + name).jsWindow.close();

                } , this.src);

        return true;
    }
}

function listEvals(sid,memid)
{
    if ($("evalajaxstatus")) {
        $("evalajaxstatus").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";
    }

    return new AJAXRequest("post", "x_evaluations.asp", "sid="+encode(sid)+"&m="+encode(memid)+"&op=list&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {

            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("evalajaxstatus").innerHTML = "";
                    alert ("An error occured loading the evaluation list.");
                }

                if (AJAX.status == 200) {

                    $("evalajaxstatus").innerHTML = "";
                    $("evaldisplayarea").innerHTML = "";

                    var d = eval ("(" + AJAX.responseText + ")");
                    if (d.status == "") {
                        $("evallist").innerHTML = d.html
                        evalyyy(d.sessionid,d.memberid);
                    }
                    else {
                        $("evalstatusarea").innerHTML = d.status
                    }

                }
            }

        }, true);
}

function deleteevaluation(o)
{
    if (!confirm("Are you sure you want to delete this evaluation?\n\nThis operation cannot be undone.")) {
        return;
    }

    if ($("evalajaxstatus")) {
        $("evalajaxstatus").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";
    }

    return new AJAXRequest("post", "x_evaluations.asp", "sid="+encode(o.sid)+"&m="+encode(o.memid)+"&id="+encode(o.recno)+"&op=del&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("evalajaxstatus").innerHTML = "";
                    alert ("An error occured loading the evaluation list.");
                }

                if (AJAX.status == 200) {

                    $("evalajaxstatus").innerHTML = "";
                    $("evaldisplayarea").innerHTML = "";

                    var d = eval ("(" + AJAX.responseText + ")");
                    if (d.status == "") {
                        $("evallist").innerHTML = d.html
                        evalyyy(d.sessionid,d.memberid);
                    }
                    else {
                        $("evalstatusarea").innerHTML = d.status
                        //$("evallist").innerHTML = d.status
                    }

                }
            }

        }, true);
}

function editevaluation(o)
{
    //var eval = new classpopup("memberEval");
    //eval.src = "evalpopup.asp?sid=" + o.sid + "&m=" + o.memid + "&r=" + o.recno;
    //eval.open (
    //    function() {
    //        listEvals(o.sid,o.memid);
    //    }
    //);

    if ($("evaldisplayarea")) {
        $("evaldisplayarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";
    }

    return new AJAXRequest("post", "x_evaluations.asp", "sid="+encode(o.sid)+"&m="+encode(o.memid)+"&id="+encode(o.recno)+"&op=edit&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                if (AJAX.status !=200) {
                    $("evaldisplayarea").innerHTML = "";
                    alert ("An error occured loading the new evaluation form.");
                }

                if (AJAX.status == 200) {

                    var d = eval ("(" + AJAX.responseText + ")");
                    if (d.status == "") {
                        $("evaldisplayarea").innerHTML = d.html;
                    }
                    else {
                        $("evaldisplayarea").innerHTML = d.status;
                    }

                }
            }

        }, true);

}

function compareevals(id,sid,memid)
{
    var sel = selectedFieldValues(id);
    if (sel == "") {
        if ($("evaldisplayarea")) {
            $("evaldisplayarea").innerHTML = ""
        }
        return false;
    }

    if ($("evaldisplayarea")) {
        $("evaldisplayarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";
    }

    return new AJAXRequest("post", "x_evaluations.asp", "sid="+encode(sid)+"&m="+encode(memid)+"&sel="+encode(sel)+"&op=comp&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {
                if (AJAX.status !=200) {
                    $("evaldisplayarea").innerHTML = "";
                    alert ("An error occured loading the evaluation comparisons.");
                }

                if (AJAX.status == 200) {

                    var d = eval ("(" + AJAX.responseText + ")");
                    if (d.status == "") {
                        $("evaldisplayarea").innerHTML = d.html;
                    }
                    else {
                        $("evaldisplayarea").innerHTML = d.status;
                    }

                }
            }

        }, true);

}

function saveneweval (sid,memid,id)
{
    var p = getFormValues('profileform');

    if ($("evalajaxstatus")) {
        $("evalajaxstatus").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";
    }

    if (g_busy) {
        return;
    }

    g_busy = true;

    return new AJAXRequest("post", "x_evaluations.asp", p + "&sid="+encode(sid)+"&m="+encode(memid)+"&id="+encode(id)+"&op=save&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                if (AJAX.status !=200) {
                    $("evaldisplayarea").innerHTML = "";
                    alert ("An error occured saving the new evaluation form.");
                }

                if (AJAX.status == 200) {

                    $("evaldisplayarea").innerHTML = "";
                    $("evalajaxstatus").innerHTML = "";

                    var d = eval ("(" + AJAX.responseText + ")");
                    if (d.status == "") {
                        $("evallist").innerHTML = d.html
                        evalyyy(d.sessionid,d.memberid);
                    }
                    else {
                        $("evalstatusarea").innerHTML = d.status
                        //$("evallist").innerHTML = d.status
                    }
                }

                g_busy = false;

            }

        }, true);

}

function neweval(sid,memid)
{

    var p = getFormValues('profileform');

    if ($("evaldisplayarea")) {
        $("evaldisplayarea").innerHTML = "<img src=\"sysimages/workingwheel.gif\" width=\"16\" height=\"16\" >";
    }

    return new AJAXRequest("post", "x_evaluations.asp", p + "&sid="+encode(sid)+"&m="+encode(memid)+"&op=create&z="+Math.floor(Math.random()*10000),
        function ( AJAX )
        {
            if (AJAX.readyState == 4) {

                if (AJAX.status !=200) {
                    $("evaldisplayarea").innerHTML = "";
                    alert ("An error occured loading the new evaluation form.");
                }

                if (AJAX.status == 200) {

                    var d = eval ("(" + AJAX.responseText + ")");
                    if (d.status == "") {
                        $("evaldisplayarea").innerHTML = d.html;
                    }
                    else {
                        $("evaldisplayarea").innerHTML = d.status;
                    }

                }
            }

        }, true);

}


function evalyyy(sid,memid)
{
    var id = "";
    var editid = "";

    var tags = $("evallist").getElementsByTagName("SPAN");

    for (var i = 0; i < tags.length; i++) {
        if (tags[i].getAttribute("dtag")) {
            id = tags[i].getAttribute("dtag");
            tags[i].recno = id
            tags[i].sid = sid;
            tags[i].memid = memid;
            tags[i].style.cursor = "pointer";
            tags[i].innerHTML = "<img style=\"position:relative;top:2px;\" src=\"sysimages/delete_x.gif\" width=\"13\" height=\"13\" />";
            tags[i].onclick = function() { deleteevaluation(this); return false; };
        }

        if (tags[i].getAttribute("etag")) {
            editid = tags[i].getAttribute("etag");
            tags[i].recno = editid
            tags[i].sid = sid;
            tags[i].memid = memid;
            tags[i].style.cursor = "pointer";
            tags[i].innerHTML = "<img style=\"position:relative;top:2px;\" src=\"sysimages/edithelp_clr.gif\" width=\"6\" height=\"13\" />";
            tags[i].onclick = function() { editevaluation(this); return false; };
        }
    }
}


