/**
* Make form labels act as input values
*
* Loops through the labels and makes the label text the value of their respective fields, based on the "for" attribute.
* Fields without a specified value get's the class .empty that may be used for a lower opacity text color etc. 
*
*/
window.addEvent('domready', function(){
	
	$$('label').each(function(label){
		
		var labelname = false;
		if(label.get('for')) {
			if(label.get('class') != 'visible') {
				labelname = label.get('for');
				labeltext = label.get('text');
				label.setStyle('display', 'none');
			}
		}

		if(labelname) {
			var field = $(labelname);
			if(field) {

				if((field.get('value') == '') || (field.get('value') == labeltext)) {

					field.set('title', labeltext);
					
					//on focus
					field.addEvent('focus', function(el) {

						field_id = this.get('id');
						labeltarget = 'label [for='+field_id+']';
						labeltext = '';
						$$('label').each(function(el) {
							if(el.get('for') == field_id) {
								labeltext = el.get('text');
							}
						})
						
						if(this.get('value') == labeltext) {
							this.removeClass('empty');							
							this.set('value', '');
						}
					});

					//on blur
					field.addEvent('blur', function(el) {

						field_id = this.get('id');
						labeltarget = 'label [for='+field_id+']';
						labeltext = '';
						$$('label').each(function(el) {
							if(el.get('for') == field_id) {
								labeltext = el.get('text');
							}
						})
						
						if(this.get('value') == '') {
							this.set('value', labeltext);
							this.addClass('empty');							
						} else {
							this.removeClass('empty');							
						}
					});
					
					
					field.set('value', label.get('text'));
					field.addClass('empty');

				}
			}
		}
		
	});
	
});
