/**

- DoubleClick.js -
	
	Adds a double click handler to the given element
	Gaby Vanhegan <gaby@vanhegan.net> 20061125
	Version 1.0
	
	Requires the Prototype framework
	
- Syntax -

	new DoubleClick( element, { options } );

- Example -

	var opts	= {
		onSingleClick:function () { console.log("Single click"); },
		onDoubleClick:function () { console.log("Double click"); }
	};
	new DoubleClick( elem, opts );

- Options -

	- onSingleCLick: Function to run on a single click
	- onDoubleCLick: Function to run on a double click

*/

DoubleClick	= Class.create();
DoubleClick.prototype = {
	initialize: function( element, options ) {

		this.element		= $( element );
		this.options		= Object.extend( {}, options || {} );
		
		if ( this.options["onDoubleClick"] ) {
			this.onDoubleClick	= this.options["onDoubleClick"];
		}
		
		if ( this.options["onSingleClick"] ) {
			this.onSingleClick	= this.options["onSingleClick"];
		}
		
		this.singleClickListen	= this.singleClick.bindAsEventListener( this );
		this.doubleClickListen	= this.doubleClick.bindAsEventListener( this );
		
		Event.observe( this.element, 'click',    this.singleClickListen );
		Event.observe( this.element, 'dblclick', this.doubleClickListen );
	},
	singleClick:function ( evt ) {
		if ( this.onSingleClick ) { return this.onSingleClick(); }
		return true;
	},
	doubleClick:function ( evt ) {
		if ( this.onDoubleClick ) { return this.onDoubleClick(); }
		return true;
	}
};
