/**
 * Creator: khastie
 * Date: Sep 1, 2009
 * Time: 2:42:51 PM
 * Contents are property of Cappex.com LLC, and strictly confidential.
 */
 
/** 
 * CLASS: InterestLevelProcessor
 * DESCR: 
 * USAGE: 
 * EXMPL: 
 */
var InterestLevelProcessor = new Class({

	options : {
		ajaxProcessorUrl : null
	},

	initialize : function (options) {

		this.setOptions(options);		
	},

	process : function (tile) {

		tile.interestLevel = parseInt(tile.interestLevelElem.value);

		new AjaxCpx(this.options.ajaxProcessorUrl, {

			onSuccess : function () {

				// pulse studentItem li
				new TileAnimator().pulseElem(this.referenceObj.interestLevelElem.parentNode.parentNode.parentNode);

				// pulse "Saved" note (& remove it)

				var savedElem = new Element('span', {
					'styles': {
						'left': this.referenceObj.interestLevelElem.getStyle('width')
				},
					'class': 'interestLevelSavedNote'
				});

				savedElem.innerHTML = "Saved";

				savedElem.injectAfter(this.referenceObj.interestLevelElem);

				var myEffects = savedElem.effects({
					duration: 2500,
					transition: Fx.Transitions.Quint.easeIn
				});

				myEffects.start({
					'opacity' : [1, 0]
				});

//				(function() {
//					myEffects.start({
//						'opacity' : [1, 0]
//					});
//				}).delay(1000)

				(function() {
					savedElem.remove();
				}).delay(2500);

			},

			referenceObj : {
				interestLevelElem : tile.interestLevelElem
			}

		}).request(tile);

	},

	addEventForTile : function (tile) {
		global.trace('InterestLevelProcessor.addEventForTile');
		tile.interestLevelElem.addEvent('change', this.process.pass(tile, this));
	}
});

InterestLevelProcessor.implement(new Options);