/***
 * Refine Amenities
 */
Hotels.RefineAmenities = Class.create();

YAHOO.extend(Hotels.RefineAmenities, Hotels.RefineSearchDropdown, {

	initialize : function(cfg) {
		this.type = "Hotels.RefineAmenities";
		this.fcClick = "Amenities-Open";
		this.MAX_TEXT_LENGTH = 32;
		
		if (typeof(cfg) == "undefined") cfg = new Object();
		cfg.divInput =  $("refineAmenityInput");
		cfg.divDropdown =  $("refineAmenityDropdown");
		cfg.closeLink =  $("refineAmentiyClose");
		cfg.openLink =  $("refineAmentiyLink");
		cfg.zIndex =  150;
		
		this.amnts = YAHOO.util.Dom.getElementsBy(this.returnTrue,"input",cfg.divDropdown);
		Hotels.RefineAmenities.superclass.initialize.call(this, cfg);
	},
	
	initEvents: function() {
		var iv = [];
		var YUE = YAHOO.util.Event;
		var a = this.amnts;
		for (var i = 0; i < a.length; i++) {
			iv[i] = a[i].checked;
			YUE.on(a[i], "click", this.update, this, true );
		}
		this.initValues = iv;
	},
	
	getSelectedAmenities: function() {
		var s = [];
		var a = this.amnts;
		for (var i = 0; i < a.length; i++) {
			if (a[i].checked) {
				s.push($(a[i].value).innerHTML);
			}
		}
		return s.join(", ");
	},
	
	update: function() {
		var s = this.getSelectedAmenities();
		if (s.length > this.MAX_TEXT_LENGTH) {
			s = s.substring(0, this.MAX_TEXT_LENGTH-2);
			s += "...";
		}
		if (s) {
			this.cfg.divInput.innerHTML = s;
		} else {
			this.cfg.divInput.innerHTML = "";
		}
	},
	
	reset: function() {
		var a = this.amnts;
		for (var i = 0; i < a.length; a++) {
			a[i].checked = this.initValues[i];
		}
	}

});