﻿Type.registerNamespace('Inductronic');Inductronic.KeyBehavior = function(element) {
Inductronic.KeyBehavior.initializeBase(this, [element]);this._keyContainerControlID = null;this._keyContainerElement = null;this._onKeyDownDelegate = null;this._keyCode = Sys.UI.Key.enter;}
Inductronic.KeyBehavior.prototype = {
initialize: function() {
Inductronic.KeyBehavior.callBaseMethod(this, 'initialize');if (this._onKeyDownDelegate === null) {
this._keyContainerElement = $get(this._keyContainerControlID);this._keyContainerElement.tabIndex = -1;this._onKeyDownDelegate = Function.createDelegate(this, this._onKeyDownEvent);$addHandler(this._keyContainerElement, "keydown", this._onKeyDownDelegate);}
},
dispose: function() {
if (this._onKeyDownDelegate) {
$removeHandler(this._keyContainerElement, "keydown", this._onKeyDownDelegate);this._keyContainerElement = null;delete this._onKeyDownDelegate;this._onKeyDownDelegate = null;}
Inductronic.KeyBehavior.callBaseMethod(this, 'dispose');},
_onKeyDownEvent: function(ev) {
var k = ev.keyCode ? ev.keyCode : ev.rawEvent.keyCode;if (k == this._keyCode) {
ev.preventDefault();ev.stopPropagation();var el = this.get_element();if (Sys.Browser.agent == Sys.Browser.Firefox) {
if (typeof (el.click) == 'undefined') {
el.click = function() {
var result = true;if (el.onclick) result = el.onclick();if (typeof (result) == 'undefined' || result) {
eval(el.href);}
}
}
}
else if (Sys.Browser.agent == Sys.Browser.Safari) {
eval(unescape(el.href));}
else {
el.click();}
}
},
get_keyContainerControlID: function() {
return this._keyContainerControlID;},
set_keyContainerControlID: function(value) {
var e = Function._validateParams(arguments, [{ name: 'value', type: String}]);if (e) throw e;if (this._keyContainerControlID != value) {
this._keyContainerControlID = value;this.raisePropertyChanged('keyContainerControlID');}
},
get_keyCode: function() {
return this._keyCode;},
set_keyCode: function(value) {
var e = Function._validateParams(arguments, [{ name: 'value', type: Number}]);if (e) throw e;if (this._keyCode != value) {
this._keyCode = value;this.raisePropertyChanged('keyCode');}
}
}
Inductronic.KeyBehavior.registerClass('Inductronic.KeyBehavior', AjaxControlToolkit.BehaviorBase );
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();