﻿ButtonKontrol = function(obj,active, PN) {
    this.bf = true;
    this.pn = PN;
    this.name = obj.name;
    var  prm = obj.Tag.split("|");
    this.ty = prm[1];
    this.fn = prm[2];
    this.ti = Number(prm[3]);
    this.hl = prm[4];
    this.setevents(obj,active);
}
ButtonKontrol.prototype =
{
    setevents: function(obj, active) {
        this.obj = obj;
        this.ba = active;
        this.bo = obj.findname("b" + obj.name);
        this.sel = obj.findname("sl" + obj.name);
        var text = obj.findname("tb" + obj.name);
        text.height = text.ActualHeight;
        text["Canvas.Top"] = (this.bo.height - text.ActualHeight) / 2;
        text.width = text.ActualWidth;
        text["Canvas.Left"] = (this.bo.width - text.ActualWidth) / 2;
        this.token1 = this.obj.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.MouseDown));
        this.token2 = this.obj.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.MouseUp));
        this.token3 = this.obj.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.MouseEnter));
        this.token4 = this.obj.addEventListener("MouseLeave", Silverlight.createDelegate(this, this.MouseLeave));
    },
    release: function() {
        this.obj.RemoveEventListener("MouseLeftButtonDown", this.token1);
        this.obj.RemoveEventListener("MouseLeftButtonUp", this.token2);
        this.obj.RemoveEventListener("MouseEnter", this.token3);
        this.obj.RemoveEventListener("MouseLeave", this.token4);
        this.ba = false;
    },
    setfocus: function() {
        sOf(this);
        this.sel.opacity = 100;
    },
    lostfocus: function() {
        this.sel.opacity = 0;
    },
    keydown: function(e) {
        if (e == 32 || e == 13)
            this.MouseUp();
    },
    MouseLeave: function(sender, eventArgs) {
        this.obj.findname("BML" + this.obj.name).begin();
        offHC();
    },
    MouseEnter: function(sender, eventArgs) {
        this.obj.findname("BME" + this.obj.name).begin();
        onHC();
    },
    MouseDown: function(sender, eventArgs) {
        this.bo.strokeThickness = 2;
    },
    MouseUp: function(sender, eventArgs) {
        this.bo.strokeThickness = 1;
        this.setfocus();
        if (this.ty == "3" || this.ty == "2") {
            var mDown = new XMLHttpRequest();
            var del = (this.name.substr(5, 2) == "11") ? "&del=true" : "";
            // alert(GetFormData(false, this.fn, this.pn)+del);
            mDown.open("GET", (this.ty == "3" ? "sf.aspx" : this.hl) + GetFormData(false, this.fn, this.pn) + del, false);
            mDown.send(null);
            if (mDown.readyState == 4 && mDown.status == 200) {
                if (this.fn == "_x3" || this.fn == "_x5") {
                    alert(mDown.responseText.substr(1));
                    if (mDown.responseText.charAt(0) == "1")
                        CreateXAML("_x2");
                    return;
                }
                else {

                    if (this.fn.substr(0, 3) == "_x9") {

                        if (mDown.responseText.charAt(0) == "1") {
                           
                            pcc.FindName(this.fn + "id").Text = mDown.responseText.substr(1, mDown.responseText.length - 1);
                            alert("Kaydedildi.");

                        }
                        else if (mDown.responseText.charAt(0) == "5") {

                            alert("Not silindi.");
                            pcc.FindName(this.fn + "_close").begin();

                            totCount--;
                            nCount = Number(this.fn.charAt(3)) - 1;


                        }
                        else pcc.FindName(this.fn + "_close").begin();
                        return;
                    } else {
                        if (mDown.responseText.charAt(0) == "1") {
                            GetFormData(true, this.fn, this.pn);
                            if (mDown.responseText.length > 1)
                                alert(mDown.responseText.substr(1));
                            return;
                        }
                    }
                }
            }
            alert(mDown.responseText.substr(1));
        }
        else if (this.ty == "6")
            GetFormData(true, this.fn, this.pn);
        else if (this.ty == "4")
            CreateXAML(this.hl);
        else if (this.ty == "5")
            eval(this.hl);
        mDown = null;
    }
}