/*	==========================================================

	Class: 		Fader - For the product listing page
	Use:		Performs operations on the product grid
	Version:	v1
	By:			Dave Calvert

========================================================	*/

var Banners = Class.create();
Banners.prototype = {
	
	initialize: function () {
	
		if( $$('.banner-hit-area') != '' ) {
			$$('.banner-hit-area').each(this.setup.bind(this));
			
			if ( $$('.sub-banner-hit-area') != '' ) {
				$$('.sub-banner-hit-area').each(this.setup.bind(this));
			}
			
		} else {
			return false;
		}
	
	},
	
	setup: function (k,v) {

		if ( $(k).id == '' ) {
			$(k).identify()
		}

		Event.observe($(k),'mouseenter',this.fadein.bindAsEventListener(this));
		Event.observe($(k),'mouseleave',this.fadeout.bindAsEventListener(this));
	
	},
	
	fadein: function (e) {

//		// Get start element
//		el = this.getElementFromEvent(e);

//		// Find the overlay
//		overlay = el.previous('div');
//		
//		if ( overlay.hasClassName('banner-overlay') ) {
//			
//			// Set the queue name
//			queueName = this.setQueueName(el.id)
//	
//			// Empty the queue
//			this.emptyQueue(queueName);
//	
//			// Run effect
//			new Effect.Opacity(overlay, { from: 0, to: 0.8, duration: 0.5, queue:{ scope:queueName, position: 'front' } } );
//			
//		} else {
//			
//			return false;
//			
//		}
	
	},
	
	fadeout: function (e) {
		
//		// Get element
//		el = this.getElementFromEvent(e);
//		
//		// Find the overlay
//		overlay = el.previous('div');

//		if ( overlay.hasClassName('banner-overlay') ) {
//			
//			// Set the queue name
//			queueName = this.setQueueName(el.id)
//	
//			// Empty the queue
//			this.emptyQueue(queueName);
//	
//			// Run effect
//			new Effect.Opacity(overlay, { from: 0.8, to: 0, duration: 0.5, queue:{ scope:queueName, position: 'front' } } );
//			
//		} else {
//			
//			return false;
//			
//		}
		
	},
	
	emptyQueue: function (queueName) {
	
		Effect.Queues.get(queueName).invoke('cancel');
	
	},
	
	getElementFromEvent: function (evt) {
		
		return Event.element(evt);
		
	},
	
	setQueueName: function (str) {
	
		return str.toString();
	
	}
	
};
