﻿Taknology = function() {
};
Taknology.prototype = {
};
Taknology.DOM = function() {
};
Taknology.DOM.prototype = {
    addHandler : function(element, event, handler) {
        if(element)
        {
            if(element.addEventListener)
                element.addEventListener(event, handler, false);
            else if(element.attachEvent)
                element.attachEvent("on"+event,handler)
        }
    },
    
    removeHandler : function(element, event, handler) {
        if(element)
        {
            if(element.removeEventListener)
                element.removeEventListener(event,handler,false);
            else if(element.detachEvent)
                element.detachEvent("on"+event,handler);
        }
    },
    
    preventDefault : function(evt){
        if(evt.preventDefault)
            evt.preventDefault();
        else if(window.event)
            evt.returnValue=false;
    },
    
    stopPropagation : function(evt){
        if(evt.stopPropagation)
            evt.stopPropagation();
        else if(window.event)
            evt.cancelBubble=true;
    }
};
Taknology.UI = function() {
};
Taknology.UI.prototype = {
    validateListBox : function(source, argument){
        argument.IsValid = (argument.Value != '');
        bCancel = !argument.IsValid;
    },
    
    checkInvalidValueSelected : function(source, argument){
        argument.IsValid = !(argument.Value == 0);
    },
    
    validateDropDownListControl : function(source, argument){
        argument.IsValid = (argument.Value != "None_Specified");
    },
    
    setCheckBoxListSelectedIndexValue : function(e1, e2){
        debugger;
        e2.Value = e1.selectedIndex;
    }
};
Taknology.UI.Key = function() {
};
Taknology.UI.Key.prototype = {
    backspace:8,
    tab:9,
    enter:13,
    esc:27,
    space:32,
    pageUp:33,
    pageDown:34,
    end:35,
    home:36,
    left:37,
    up:38,
    right:39,
    down:40,
    del:127,
    
    getKeyCode : function(evt){
        var scanCode = null;
        if (evt.keyIdentifier) {
            if (evt.ctrlKey || evt.altKey || evt.metaKey) {
                return null;
            }
            
            if (evt.keyIdentifier.substring(0,2) != "U+") {
                return null;
            }
            
            scanCode = evt.charCode; 
            if (scanCode == 63272 /* Delete */) {
                return null;
            }
        }
        else
        {
            if(evt.type==="keypress")
                scanCode=evt.charCode||evt.keyCode;
            else if(evt.keyCode&&evt.keyCode===46)
                scanCode=127;
            else 
                scanCode=evt.keyCode;
        }
        return scanCode;
    }
    
};
Taknology.Functions = function() {
};
Taknology.Functions.createDelegate = function(a,b){
    return function(){
        return b.apply(a,arguments)
    }
};

var taknology, td_dom, tk_ui, tk_key;
var $taknology = taknology = new Taknology();
var $tk_dom = tk_dom = new Taknology.DOM();
var $tk_ui = tk_ui = new Taknology.UI();
var $tk_ui_key = tk_ui.key = new Taknology.UI.Key();
var $tk_addHandler = $tk_dom.addHandler();
var $tk_removeHandler = $tk_dom.removeHandler();