// Hides LABEL tags and inserts their text into relevant input fields

// Use inputLabels('formId') to initialise

var inputLabels_labelStrings = new Object;

function inputLabels_resetDefaultText(formId, fieldId){
	// Set the field back it its initial state if is blank
	var tempCurrVal = $('#' + fieldId).val();
	tempCurrVal = tempCurrVal.replace(/^\s+|\s+$/g,''); // Trim
	if(tempCurrVal == ''){ $('#' + fieldId).val(inputLabels_labelStrings[formId][fieldId]) }
}

function inputLabels_clearIfDefault(formId, fieldId){
	// Clear the field if it is its initial state
	var tempCurrVal = $('#' + fieldId).val();
	if(tempCurrVal == inputLabels_labelStrings[formId][fieldId]){
		$('#' + fieldId).val('')
	}
}

function inputLabels(formId){
	
	inputLabels_labelStrings[formId] = new Object;

	$('#'+formId+' label').each(function(){
		var formId = $(this).parent().parent().attr('id');								
		$(this).css('display', 'none');
		var labelText = $(this).html();
		labelText = labelText.replace(/(<span[^>]+>|<span>)[^<]+<\/span>/i, ''); // Strip span tage
		labelText = labelText.replace('&nbsp;','');
		labelText = labelText.replace(/^\s+|\s+$/g,''); // Trim
		var inputId = $(this).attr('for');
		inputLabels_labelStrings[formId][inputId] = labelText;
		inputLabels_resetDefaultText(formId, inputId);		
	});
	
	$('#'+formId+' input, #'+formId+' textarea').each(function(){
		var formId = $(this).parent().parent().attr('id');	
		var inputId = $(this).attr('id');						
		$(this).focus(function(){ inputLabels_clearIfDefault(formId, inputId) });
		$(this).blur(function(){ inputLabels_resetDefaultText(formId, inputId) });
	});	
}