GoldmanSachs.RolloverTout = new Class({
	options : {
		leftVal: 20,
		fadeDuration: 400,
		hiddenVal: -1200
	},
	initialize : function(options){
		this.setOptions(options);
		
		this.toutBoxes = $$("div.gs_rollover_tout");
		this.defaultTout = $("gs_rollover_tout_default");
		
		var toutlinks = $$("#gs_rollover_tout_links a");

		this.fx = [];
		var self = this;
		toutlinks.each(function(itm) {
			self.fx[itm.className] = new Fx.Style(itm.getElement("img"), 'opacity', {duration: self.options.fadeDuration, transition:Fx.Transitions.Quad.easeInOut});
			itm.getElements("img").setStyle("opacity", 0);
		});
		
		toutlinks.addEvent('mouseenter', this.doShow.bind(this));
		toutlinks.addEvent('mouseleave', this.doHide.bind(this));
		$("gs_rollover_tout_links").addEvent('mouseleave', this.doHideTout.bind(this));
	},
	doShow : function (event) {
		var e = new Event(event);
		var target = $(e.target);

		this.defaultTout.style.display = "none";
		var className = target.getParent().className;
		$(className).style.left = this.options.leftVal + "px";
		
		if(target.tagName == "SPAN") {
			//console.log(className);
			//console.log(this.fx["gs_rollover_tout_1"]);
			var fadeFX = this.fx[className];
			fadeFX.stop();
			//var fadeFX = new Fx.Style(target, 'opacity', {duration: this.options.fadeDuration, transition:Fx.Transitions.Quad.easeInOut});
			fadeFX.start(1);
		}
	},
	doHide : function (event) {
		var e = new Event(event);
		var target = $(e.target);
		
		var className = target.getParent().className;
		//var fadeFX = new Fx.Style(target.getParent().getElementsByTagName("span")[0], 'opacity', {duration: this.options.fadeDuration, transition:Fx.Transitions.Quad.easeInOut});
		var fadeFX = this.fx[className];
		fadeFX.stop();
		fadeFX.start(0);
		
		var hiddenVal = this.options.hiddenVal;
		this.toutBoxes.each(function(itm) {
			itm.style.left = hiddenVal + "px";	
		});
	},
	doHideTout: function(e) {
		$("gs_rollover_tout_default").style.display = "block";
			
	}
});
GoldmanSachs.RolloverTout.implement(new Options);

window.addEvent('domready',
	function() {
		new GoldmanSachs.RolloverTout();		
	}
);
