﻿function isKeyDirection( k)
{
    // 37 left, 38 up, 39 right, 40 down
    return (37<= k && k<=40);
}

function isKeyDot(k)
{
    return k==190; // comma is 188
}

function isKeyTab(k)
{
    return k==9;
}

function isKeyNumber( k)
{
    // 48 -> '0'
    // 57 -> '9'
    return (48 <= k && k <= 57) || (96 <= k && k <= 105);
}

function isKeyDelete( k)
{
    //  8 -> backspace
    // 46 -> delete
    return (k == 8 || k == 46);
}

function getPressedKey_CrossBrowser( e)
{
    if(window.event) // IE
        return e.keyCode;
    else if(e.which) // Netscape/Firefox/Opera
        return e.which;
}

function only_numbers(sender, e)
{
    var pressedKey = getPressedKey_CrossBrowser( e);
    return  isKeyDirection(pressedKey) || isKeyNumber(pressedKey) || 
            isKeyDelete(pressedKey) || isKeyTab(pressedKey);
}

function only_doubles(sender, e)
{
    var pressedKey = getPressedKey_CrossBrowser( e);
    return  isKeyDirection(pressedKey) || isKeyNumber(pressedKey) || 
            isKeyDelete(pressedKey) || isKeyTab(pressedKey) || 
            (sender.value.indexOf('.') == -1 && isKeyDot(pressedKey));
}

function validateNumber(sender)
{
    validateNumber(sender, true);
}

function validateNumber(sender, bosIseSifirlansinMi)
{
    while(sender.value.charAt(0) == '0')
        sender.value = sender.value.substring(1);
        
    if(sender.value.charAt(0) == '.')
        sender.value = "0" + sender.value;
        
    if(sender.value == "" && bosIseSifirlansinMi != false)
        sender.value = "0";
}

function ondalikDuzenle(senderId)
{
    var sender = document.getElementById(senderId);
    var ondaligaYeniMiBaslamis = sender.value.length > 0 &&  sender.value.indexOf(".", 0) == sender.value.length - 1;
    
    sender.value = parseInt(sender.value * 1000) / 1000.0;
    
    if(ondaligaYeniMiBaslamis)
        sender.value += ".";
}
