﻿TextKontrol = function(obj, active, PN) {
    this.pn = PN;
    this.bf = true;
    this.name = obj.name;
    var prm = obj.Tag.split("|");
    this.bm = prm[1];
    this.bp = prm[2];
    this.fn = prm[3];
    this.sv = prm[4];
    this.ti = Number(prm[5]);
    this.ml = Number(prm[6]);
    this.setevents(obj, active);
}
TextKontrol.prototype =
{
    setevents: function(obj, active) {
        this.obj = obj;
        this.tbt = obj.findname("tb" + obj.name);
        this.tbb = obj.findname("tg" + obj.name);
        this.ba = active;
        this.token1 = this.obj.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.setfocus));
        this.token2 = this.obj.addEventListener("mouseEnter", onHC);
        this.token3 = this.obj.addEventListener("mouseLeave", offHC);
        this.yaz();
    },
    release: function(obj, active) {
        this.lostfocus();
        this.obj.RemoveEventListener("MouseLeftButtonDown", this.token1);
        this.obj.RemoveEventListener("MouseEnter", this.token2);
        this.obj.RemoveEventListener("mouseLeave", this.token3);
        this.ba = false;
    },
    lostfocus: function() {
        this.tbt.Text = this.tbt.Text.replace("|", "");
        this.tbb.strokethickness = 1;

    },
    getstr: function() {
        var temp = this.sv.replace("|", "");
        if (this.fn.substr(0, 3) == "_x9")
            return temp;
        if (checkWord(temp))return temp;
        else return "";

    },
    setfocus: function(sender, eventArgs) {

        sOf(this);
        this.tbb.strokethickness = 2;
        gT1.value = xao.tbt.Text;
        if (this.fn == "_x7") {
            xao.tbt.Text = "";
            gT1.value = "";

        }

        if (xao.tbt.Text.indexOf("|") == -1)
            xao.tbt.Text += "|";
    },
    pass: function(u) {
        var md = "";
        for (var i = 0; i < u; i++)
            md += (this.sv.charAt(i) != "|" ? "*" : "|");
        return md;
    },
    keydown: function(e) {
        if (this.fn == "_x7") pcc.findname("_sgit").visibility = "collapsed";
        if (e == 13 && this.fn == "_x7") Git(5);

        if (this.ml != 0 && this.ml < gT1.value.length - 1) {
            gT1.value = gT1.value.replace("|", "");
            gT1.value = gT1.value.substr(0, this.ml) + "|";
        }
        this.sv = gT1.value.replace(/¨/g, (this.bm == "1" ? "\r\n" : ""));


        this.yaz();
    },
    yaz: function() {
        if (this.bp == "1")
            this.tbt.Text = this.pass(this.sv.length);
        else
            this.tbt.Text = this.sv;
        if (this.tbt.ActualWidth >= this.obj.Width)
            this.tbt["Canvas.Left"] = this.obj.Width - this.tbt.ActualWidth - 4;
        else
            this.tbt["Canvas.Left"] = 2;
        if (this.tbt.ActualHeight >= this.obj.Height)
            this.tbt["Canvas.Top"] = this.obj.Height - this.tbt.ActualHeight;
        else
            this.tbt["Canvas.Top"] = 0;
    }
}


function checkWord(strng) {

    var illegalChars = /[^0-9A-Za-z@çöğüşıÇÖĞÜŞİ.]/; // allow only letters,numbers, @ and .

    if (illegalChars.test(strng)) {
        return false;
    }
    else return true;

}