﻿// המר אות בשפה אחרת לאות בשפה המבוקשת לפי המיקום במקלדת
function KeyboardLanguagaeFix_ReplaceChar(c, LanguageID) {
    // LanguageID - 10=עברית
    switch (LanguageID) {
        case 10:
            switch (c) {
                case 't': case 'T': return 'א';
                case 'c': case 'C': return 'ב';
                case 'd': case 'D': return 'ג';
                case 's': case 'S': return 'ד';
                case 'v': case 'V': return 'ה';
                case 'u': case 'U': return 'ו';
                case 'z': case 'Z': return 'ז';
                case 'j': case 'J': return 'ח';
                case 'y': case 'Y': return 'ט';
                case 'h': case 'H': return 'י';
                case 'l': case 'L': return 'ך';
                case 'f': case 'F': return 'כ';
                case 'k': case 'K': return 'ל';
                case 'o': case 'O': return 'ם';
                case 'n': case 'N': return 'מ';
                case 'i': case 'I': return 'ן';
                case 'b': case 'B': return 'נ';
                case 'x': case 'X': return 'ס';
                case 'g': case 'G': return 'ע';
                case ';': case ';': return 'ף';
                case 'p': case 'P': return 'פ';
                case '.': case String.fromCharCode(190): return 'ץ';
                case 'm': case 'M': return 'צ';
                case 'e': case 'E': return 'ק';
                case 'r': case 'R': return 'ר';
                case 'a': case 'A': return 'ש';
                case ',': case String.fromCharCode(188): return 'ת';
            }
    }
    return c;
}


function KayboardLanguageFix_KeyPress(Input, Event, LangaugeID) {
    if (!Event.which) { // MSIE only
        var c = String.fromCharCode(Event.keyCode);
        Event.keyCode = KeyboardLanguagaeFix_ReplaceChar(c, LangaugeID).charCodeAt(0);
    }
}

function KayboardLanguageFix_KeyUp(Input, Event, LangaugeID) {
    if (Event.which) { // not MSIE
        var c1 = String.fromCharCode(Event.which);
        var c2 = KeyboardLanguagaeFix_ReplaceChar(c1, LangaugeID);
        if (c1 != c2) {
            if (c1 == String.fromCharCode(188)) c1 = ',';
            if (c1 == String.fromCharCode(190)) c1 = '.';
            Input.value = Input.value.toUpperCase().replace(c1, c2);
        }
    }
    return true;
}
