
// usage:	var tbl = element('table_id');
function element(obj) {

    var o = document.all ? document.all[obj] : document.getElementById(obj);
    return o;
}

// usage:	var newstr = mystr.trim();
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "")
}

function tarihSec(objID) {

    var o = document.getElementById(objID);
    var gun = document.getElementById(objID + "gun");
    var ay = document.getElementById(objID + "ay");
    var yil = document.getElementById(objID + "yil");
    var t = o.value;
    o.value = "";
    if (gun != null) {
        if (!checkDate(gun.value + "/" + ay.value + "/" + yil.value)) {
            alert("Girilen tarih [" + gun.value + "/" + ay.value + "/" + yil.value + "] hatal?d?r.");
            gun.value = t.substr(6, 8);
            ay.value = t.substr(4, 6);
            o.value = t;
            return;
        }
    }
    if (yil != null)
        o.value = o.value + yil.options[yil.selectedIndex].value;
    if (ay != null)
        o.value = o.value + ay.options[ay.selectedIndex].value;
    if (gun != null)
        o.value = o.value + gun.options[gun.selectedIndex].value;
}

function removeFormat(str) {
    var i, j;
    var newStr = "";
    var found;

    for (i = 0; i < str.length; i++) {
        found = false;
        for (j = 1; j < arguments.length; j++)
            if (str.substring(i, i + 1) == arguments[j])
            found = true;
        if (!found)
            newStr = newStr + str.substring(i, i + 1);
    }
    return newStr;
}

function controlForm(checkedform) {
    if (!checkMustFields(checkedform))
        return false;
    // must olmayan textarea lar icin maxlength i gecmemelerini saglamak lazim
    return checkMaxLengths(checkedform);
}

function checkMaxLengths(checkedform) {
    iArrayLength = checkedform.elements.length;
    for (i = 0; i < iArrayLength; i++) {
        c = checkedform.elements[i];
        if (c.type == "text" || c.type == "textarea") {
            if (c.maxLength != null && c.value.trim().length > c.maxLength) {
                alert(c.mesaj + " alanına en fazla " + c.maxLength + " karater girebilirsiniz.");
                c.focus();
                return false;
            }
        }
    }
    return true;
}

/*function checkMustFields(checkedform){
iArrayLength = checkedform.elements.length;
for(i=0;i<iArrayLength;i++)
{
c = checkedform.elements[i];
if(c.className=="MustField")
{
if (c.type=="text" || c.type=="textarea" || c.type=="password")
{
if (c.value.trim()=="")
{
alert(c.mesaj + " bos olamaz");
c.focus();
return false;
}
if (c.type == "textarea" && c.value.trim().length > c.maxLength)
{
alert(c.mesaj + " alanına en fazla " + c.maxLength + " karater girebilirsiniz.");
c.focus();
return false;
}
}
if (c.type=="select-one" && c.options[c.selectedIndex].value==-1)
{
alert(c.mesaj + " secilmelidir");
c.focus();
return false;
}

				
if (c.type=="hidden" && c.frmType == "tarih")
{
if (!checkDate(c.value)) {
alert(c.mesaj + " bilgisi hatalıdır. Lütfen kontrol ediniz.");
document.getElementById(c.name + "gun").focus();
return false;
}
if (c.degerler == "sonra" && checkTarihBugun(c.d, c.value) == 1) {
alert(c.mesaj + " bugünden önce olamaz.");
document.getElementById(c.name + "gun").focus();
return false;
}
if (c.degerler == "once" && checkTarihBugun(c.d, c.value) == 2) {
alert(c.mesaj + " bugünden sonra olamaz.");
document.getElementById(c.name + "gun").focus();
return false;
}
}

if ((c.type=="text" || c.type=="password") && c.minLength > c.value.trim().length) {
alert(c.mesaj + " en az " + c.minLength + " karakter olmalıdır.");
c.focus();
return false;
}
if (c.frmType == "kartNo" && c.value.trim().length<19) {
alert(c.mesaj + " 16 karakter olmalıdır.");
c.focus();
return false;
}
if (c.frmType == "gtip" && removeFormat(c.value, ".").length < c.minGtipLength) {
if (c.minGtipLength == 8)
alert(c.mesaj + " en az 8 karakter olmalıdır.");
if (c.minGtipLength == 12)
alert(c.mesaj + " en az 12 karakter olmalıdır.");
c.focus();
return false;
}
if (c.frmType == "tutar" && removeFormat(c.value, ",")*1 == 0) {
alert(c.mesaj + " alanına değer girilmelidir.");
c.focus();
return false;
}
}
}
return true;
}*/
// Gelen tarih ile gunun tarihini karsilastirir. Gelen tarih buyukse 1, kucukse 2 esitse 0 dondurur.
function checkTarihBugun(bugun, t) {
    var tarih = t;
    if (tarih < bugun)
        return 1;
    if (tarih > bugun)
        return 2;
    return 0;
}
// Gelen tarih sadece yil olarak karsilastirir
function checkTarihBuYil(buYil, t) {
    var tarih = t;
    if (tarih < buYil)
        return 1;
    if (tarih > buYil)
        return 2;
    return 0;
}

// 23/12/2002 formatlarinda gelen tarihler karsilastirilir. d1 buyukse 1, d2, 2, esitse 0 doner.
function compareDate(d1, d2) {
    var t1 = d1.substring(6, 10) + d1.substring(3, 5) + d1.substring(0, 2);
    var t2 = d2.substring(6, 10) + d2.substring(3, 5) + d2.substring(0, 2);
    if (t1 > t2)
        return 1;
    if (t2 > t1)
        return 2;
    return 0;
}

/*function checkLength(inputBox, minLength, maxLength, mesaj)
{
var inputVal = document.getElementById(inputBox).value;

if (inputVal.length < minLength*1) {
alert (mesaj + " en az " + minLength + " karakter olmalıdır");
return false;
}
if (inputVal.length > maxLength*1) {
alert (mesaj + " en fazla " + maxLength + " karakter olmalıdır");
return false;
}
return true;
}*/

function isLeapYear(year) {
    return ((0 == (year % 4)) && ((0 != (year % 100)) || (0 == (year % 400))));
}
var arrAylar = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
function checkDate(tarih) {
    var gun = tarih.substr(0, 2) * 1;
    var ay = arrAylar[tarih.substr(3, 2) * 1 - 1];
    if (isLeapYear(tarih.substr(6, 4) * 1) && ay == 2)
        ay = 29;
    if (ay < gun)
        return false;
    return true;
}

function islemSec(s) {
    document.frm.service.value = s;
    element('frm').submit();
}

function getBelgeTuru(belgeNo) {
    tmp = getRadioValue(belgeNo);

    return tmp.substring(5, tmp.indexOf("-"));
}

function getRadioValue(radioName) {
    if (radioName.length != null) {
        count = radioName.length;
        for (i = 0; i < count; i++)
            if (radioName[i].checked)
            return radioName[i].value;
    }

    return radioName.value;
}

// tutar tag ine girilen rakamin precision ve scale inin
// istenen degerlere uyup uymadigini kontrol eder
// t parametresine removeFormat yapilmis olmalidir.
function checkTutarPrecScale(t, p, s) {
    var dotpos = t.indexOf(".");
    if (dotpos == -1)
        return t.length <= p;
    var dec = t.substring(0, dotpos);
    var frac = t.substring(dotpos + 1, t.length);

    if (dec.length > p)
        return false;
    if (frac.length > s)
        return false;
    return (dec.length + frac.length) <= (p + s);
}

function format_decimal(str) {
    var newStr = "";
    var i;

    for (i = 0; i < str.length; i++) {
        if (i != 0 && ((str.length - i) % 3) == 0)
            newStr += ".";
        newStr += str.charAt(i);
    }
    return newStr;
}
function format_number(control, isdecimal) {
    try {
        var t = control.value;
        if (t == "0" || t == "")
            return;
        t = removeFormat(t, ".");
        var d = "";
        var dotIndex = -1;
        if (isdecimal) {
            dotIndex = t.indexOf(",");
            if (dotIndex != -1) {
                d = t.substring(dotIndex + 1);
                t = t.substring(0, dotIndex);
            }
            else
                d = "00";
        }
        var i = 0;

        while (i < t.length && t.substring(i, i + 1) == "0")
            i++;
        if (i == 1 && dotIndex == 1) // 0, yazilabilsin diye donuyoruz
            return;
        if (i > 0) {
            t = t.substring(i);
            if (isdecimal)
                t = format_decimal(t);
            if (t == "")
                t = "0";
            if (dotIndex != -1)
                t += "," + d;
        }
        else {
            if (isdecimal)
                t = format_decimal(t);
            if (dotIndex != -1) {
                if (t == "")
                    t = "0";
                t = t + "," + d;
            }
        }
        var obj = window.event.srcElement;
        obj.value = t;
    }
    catch (e) {
        alert(e.message);
    }

}

function setCaretToTheEnd() {
    try {
        var obj = window.event.srcElement;
        var t = obj.value;
        if (t != "") {
            var tr = obj.createTextRange();
            tr.collapse(true);
            tr.moveStart("character", t.length);
            tr.moveEnd("character", t.length);
            tr.select();
            //		obj.focus();
        }
    }
    catch (e) { alert(e.message); }

}
// buda güzeldi ama mozilla ile sorunluydu
function keypress_number(isdecimal) {

    try {
        var kc = event.keyCode;
        var t = event.srcElement.value;
        if (isdecimal) {
            var idxOfComma = t.indexOf(',');
            if (idxOfComma != -1) {
                if ((kc >= 48 && kc <= 57) == false) {
                    event.keyCode = 0;
                }
                else {
                    var rNmb = t.substring(idxOfComma + 1);
                    if (rNmb.length == 2)
                        event.keyCode = 0;
                }
            }
            else {
                if ((kc >= 48 && kc <= 57 || kc == 44) == false) {
                    event.keyCode = 0;
                }
                var ft = removeFormat(t, ".");
                if (ft.length >= 14 && (kc >= 48 && kc <= 57)) {
                    event.keyCode = 0;
                }
            }
        }
        else {
            if ((kc >= 48 && kc <= 57) == false) {
                event.keyCode = 0;
            }
        }
    }
    catch (e) { alert(e.message); }

}

function keypress_numberOnly(evt) {



    var kc;
    var t;

    if (window.Event) {
        kc = evt.which;
        t = evt.currentTarget.value;
    }
    else {
        kc = event.keyCode;
        t = event.srcElement.value;
    }




    var idxOfComma = t.indexOf(',');
    if (idxOfComma != -1) {
        if ((kc >= 48 && kc <= 57) == false) {
            kc = 0;
        }
        else {
            var rNmb = t.substring(idxOfComma + 1);
            if (rNmb.length == 2)
                return false;
        }
    }
    else {
        if ((kc >= 48 && kc <= 57 || kc == 44) == false) {
            return false;
        }
        var ft = removeFormat(t, ".");
        if (ft.length >= 14 && (kc >= 48 && kc <= 57)) {
            return false;
        }
    }



}

var isIE = document.all ? true : false;
var isNS = document.layers ? true : false;
function onlyDigits(e) {
    var _ret = true;
    if (isIE) {
        if (window.event.keyCode < 46 || window.event.keyCode > 57) {
            window.event.keyCode = 0;
            _ret = false;
        }
    }
    if (isNS) {
        if (e.which < 46 || e.which > 57) {
            //e.which = 0;
            _ret = false;
        }
    }
    return (_ret);
}




// gonderilen sayi degerinin string e donusturur. noktadan sonra istenen digit kadar
// digit olmasini saglar
function toFixed(n, sc) {
    var i = 0;
    var s = "" + n;
    try {
        var index = s.indexOf('.');

        if (index != -1) {// nokta var
            if (sc == 0) // noktadan sonra istenmiyor ise noktayi atalim
                s = s.substring(0, index);
            else {
                var dc = s.length - index - 1; // noktadan sonra kac digit oldugunu bulalim

                if (dc < sc) { // eger istenenden az digit varsa ekleyelim
                    while (dc < sc) {
                        s += "0";
                        dc++;
                    }
                }
                else if (dc != sc) // istenenden fazla varsa keselim
                    s = s.substring(0, index + 1 + sc);
            }
        }
        else if (sc > 0) { // nokta yok, o zaman ekleyelim
            s += ".";
            for (i = 0; i < sc; i++)
                s += "0";
        }
    }
    catch (e) { alert(e.message); }
    return s;
}

////////////////adında rotate geçen nesneleri döndürmek için fonksiyon
//başlangıç

var flashindex = 0;
var isRotationChecked = false;
var objectsToBeRotated = new Array();

function rotateSwf() {

    //formdaki rotate nesneleri kontrol edilmiş mi?
    if (!isRotationChecked) {

        //içinde "rotate" geçen kontrollerin adlarını bir diziye at
        var nameregex = "rotate*";
        re = new RegExp(nameregex);
        var count = 0;
        for (i = 0; i < document.forms[0].elements.length; i++) {
            elm = document.forms[0].elements[i]
            if (re.test(elm.id)) {
                objectsToBeRotated[count] = elm.id;
                count++;
            }
        }

        //diziyi sırala- 10 dan fazla nesne olmayacağı varsayıldı 
        //(11 string olarak 2 den önce gelir)
        objectsToBeRotated.sort();

        isRotationChecked = true;
    }

    var numObjects = objectsToBeRotated.length;
    if (numObjects > 1) {

        //dizideki tüm objeleri görünmez yap
        for (j = 0; j < numObjects; j++) {
            var control = document.getElementById(objectsToBeRotated[j]);
            control.style.display = "none";
        }

        //dizideki flashindex indexine sahip kontrolü görünür yap
        var currentControl = document.getElementById(objectsToBeRotated[flashindex]);
        currentControl.style.display = "block";

        //mod=dizi uzunluğu olacak şekilde flashindex'i 1 artır
        flashindex = (flashindex + 1) % (numObjects);
        setTimeout(rotateSwf, 25000);
    }
}
////////////////adında rotate geçen nesneleri döndürmek için fonksiyon
//bitiş
