/*
	Copyright (c) 2004-2007, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/book/dojo-book-0-9/introduction/licensing
*/


dojo._xdResourceLoaded({depends:[["provide","dijit._base.typematic"]],defineResource:function(_1){if(!_1._hasResource["dijit._base.typematic"]){_1._hasResource["dijit._base.typematic"]=true;_1.provide("dijit._base.typematic");dijit.typematic={_fireEventAndReload:function(){this._timer=null;this._callback(++this._count,this._node,this._evt);this._currentTimeout=(this._currentTimeout<0)?this._initialDelay:((this._subsequentDelay>1)?this._subsequentDelay:Math.round(this._currentTimeout*this._subsequentDelay));this._timer=setTimeout(_1.hitch(this,"_fireEventAndReload"),this._currentTimeout);},trigger:function(_2,_3,_4,_5,_6,_7,_8){if(_6!=this._obj){this.stop();this._initialDelay=_8||500;this._subsequentDelay=_7||0.9;this._obj=_6;this._evt=_2;this._node=_4;this._currentTimeout=-1;this._count=-1;this._callback=_1.hitch(_3,_5);this._fireEventAndReload();}},stop:function(){if(this._timer){clearTimeout(this._timer);this._timer=null;}if(this._obj){this._callback(-1,this._node,this._evt);this._obj=null;}},addKeyListener:function(_9,_a,_b,_c,_d,_e){return [_1.connect(_9,"onkeypress",this,function(_f){if(_f.keyCode==_a.keyCode&&(!_a.charCode||_a.charCode==_f.charCode)&&(_a.ctrlKey===undefined||_a.ctrlKey==_f.ctrlKey)&&(_a.altKey===undefined||_a.altKey==_f.ctrlKey)&&(_a.shiftKey===undefined||_a.shiftKey==_f.ctrlKey)){_1.stopEvent(_f);dijit.typematic.trigger(_a,_b,_9,_c,_a,_d,_e);}else{if(dijit.typematic._obj==_a){dijit.typematic.stop();}}}),_1.connect(_9,"onkeyup",this,function(evt){if(dijit.typematic._obj==_a){dijit.typematic.stop();}})];},addMouseListener:function(_11,_12,_13,_14,_15){var dc=_1.connect;return [dc(_11,"mousedown",this,function(evt){_1.stopEvent(evt);dijit.typematic.trigger(evt,_12,_11,_13,_11,_14,_15);}),dc(_11,"mouseup",this,function(evt){_1.stopEvent(evt);dijit.typematic.stop();}),dc(_11,"mouseout",this,function(evt){_1.stopEvent(evt);dijit.typematic.stop();}),dc(_11,"mousemove",this,function(evt){_1.stopEvent(evt);}),dc(_11,"dblclick",this,function(evt){_1.stopEvent(evt);if(_1.isIE){dijit.typematic.trigger(evt,_12,_11,_13,_11,_14,_15);setTimeout(dijit.typematic.stop,50);}})];},addListener:function(_1c,_1d,_1e,_1f,_20,_21,_22){return this.addKeyListener(_1d,_1e,_1f,_20,_21,_22).concat(this.addMouseListener(_1c,_1f,_20,_21,_22));}};}}});