﻿
var ManageLabels = new Class({
	initialize: function fadeMenu(elements) {
		if (elements.indexOf('#') > -1 || elements.indexOf('.') > -1) {
			var elementSelectors = elements.split(',');
			for (var i = 0; i < elementSelectors.length; i++) {
				this.initializeElementWithLabel(elementSelectors[i], (elementSelectors[i].indexOf("#") > -1) ? "#" : ".");
			}
		} else { //single id as string
			this.initializeElementWithLabel(elements.trim(), "#");
		}
	},
	initializeElementWithLabel: function(rootElementId, selectorPrefix) {
		var elementSelectString = new String(selectorPrefix + rootElementId + ' input,' + selectorPrefix + rootElementId + ' textarea');
		$$(elementSelectString).each(function(item) {
			if (item.getProperty('label')) {
				item.set('value', item.getProperty('label'));
				this.addManageLabelEvents(item);
			}
		}, this);
	},
	addManageLabelEvents: function(item) {
		item.addEvent('focus', function(e) {
			var label = $(e.target).getProperty('label');
			if (this.get('value') == label) this.set('value', '');
		});
		item.addEvent('blur', function(e) {
			var label = $(e.target).getProperty('label');
			if (this.get('value') == '') this.set('value', label);
		});
	}
});