﻿/*
customControl.js  v. 1.0

Initial author: Massimiliano Aiello
Last modified: October 31 2010

October 31 2010 : aggiunta check controlli home ed end
*/

function WCK_IsControlEvent(unicode)
{
    /*  8 back; 9 tab; 16 shift; 17 18 ale e ctrl  37 e 39 le frecce laterali 38 e 40 le altre sue frecce 46 del; */
    /*  36 home; 35 end*/
    return (
        unicode == 8 || 
        unicode == 9 || 
        unicode == 16 || 
        unicode == 17 || 
        unicode == 18 ||
        unicode == 35 ||
        unicode == 36 ||
        unicode == 37 || 
        unicode == 38 || 
        unicode == 39 || 
        unicode == 40 ||
        unicode == 46)
} 

function WCK_IsNumber(unicode)
{
    if(event.shiftKey==1) 
        return false;
    return ((unicode >= 48 && unicode <= 57) || (unicode >= 96 && unicode <= 105))
}

function WCK_IsLetter(unicode)
{
    return ((unicode >= 65 && unicode <= 90))
}

function WCK_EventToUnicode(e)
{
    var unicode = (e && e.which) ? e.which : ((window.event && window.event.keyCode) ? window.event.keyCode : (e && e.keyCode ? e.keyCode : null));
    return unicode;
}

function WCK_GetControl(clientID)
{
    var control = document.getElementById(clientID);
    if (control == null)
    {
        var underscore = "_";
        var dollar = "$";
            control = document.getElementsByName(clientID.Replace(/underscore/g,dollar));
    }
    
    return control;
}

function WCK_Decode(unicode)
{
    switch(unicode)
    { 
        case 48:
        case 96:
        return "0";
        
        case 49:
        case 97:
        return "1";
        
        case 50:
        case 98:
        return "2";
        
        case 51:
        case 99:
        return "3";
        
        case 52:
        case 100:
        return "4";
        
        case 53:
        case 101:
        return "5";
        
        case 54:
        case 102:
        return "6";
        
       
       case 55:
            if(event.shiftKey==1) return "/";
            else return "7";
       
        case 103:
            return "7";
        
        case 56:
        case 104:
        return "8";
        
        case 57:
        case 105:
        return "9";
        
 
        case 65:
           if(event.shiftKey==1) return "A";
           else return "a";
           

        case 66:
           if(event.shiftKey==1) return "B";
           else return "b";
           

        case 67:
           if(event.shiftKey==1) return "C";
           else return "c";
           

        case 68:
           if(event.shiftKey==1) return "D";
           else return "d";
           

        case 69:
           if(event.shiftKey==1) return "E";
           else return "e";
           

        case 70:
           if(event.shiftKey==1) return "F";
           else return "f";
           

        case 71:
           if(event.shiftKey==1) return "G";
           else return "g";
           

        case 72:
           if(event.shiftKey==1) return "H";
           else return "h";
           

        case 73:
           if(event.shiftKey==1) return "I";
           else return "i";
           

        case 74:
           if(event.shiftKey==1) return "J";
           else return "j";
           

        case 75:
           if(event.shiftKey==1) return "K";
           else return "k";
           

        case 76:
           if(event.shiftKey==1) return "L";
           else return "l";
           

        case 77:
           if(event.shiftKey==1) return "M";
           else return "m";
           

        case 78:
           if(event.shiftKey==1) return "N";
           else return "n";
           

        case 79:
           if(event.shiftKey==1) return "O";
           else return "o";
           

        case 80:
           if(event.shiftKey==1) return "P";
           else return "p";
           

        case 81:
           if(event.shiftKey==1) return "Q";
           else return "q";
           

        case 82:
           if(event.shiftKey==1) return "R";
           else return "r";
           

        case 83:
           if(event.shiftKey==1) return "S";
           else return "s";
           

        case 84:
           if(event.shiftKey==1) return "T";
           else return "t";
           

        case 85:
           if(event.shiftKey==1) return "U";
           else return "u";
           

        case 86:
           if(event.shiftKey==1) return "V";
           else return "v";
           

        case 87:
           if(event.shiftKey==1) return "W";
           else return "w";
           

        case 88:
           if(event.shiftKey==1) return "X";
           else return "x";
           

        case 89:
           if(event.shiftKey==1) return "Y";
           else return "y";
           

        case 90:
           if(event.shiftKey==1) return "Z";
           else return "z";
           
        case 111:
            return "/";
            
        default:
           return "";
       break;

    }
} 
