

function initOverLabels () {
  if (!document.getElementById) return;  	

  var labels, id, field;

  // Set focus and blur handlers to hide and show 
  // LABELs with 'overlabel' class names.
  labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
	
    if (labels[i].className == 'overlabel') {

      // Skip labels that do not have a named association
      // with another field.
      id = labels[i].htmlFor || labels[i].getAttribute('for');
      if (!id || !(field = document.getElementById(id))) {
        continue;
      }

      // Change the applied class to hover the label 
      // over the form field.
      labels[i].className = 'overlabel-apply';

      // Hide any fields having an initial value.
      if (field.value !== '') {
        hideLabel(field.getAttribute('id'), true);
      }

      // Set handlers to show and hide labels.
      field.onfocus = function () {
        hideLabel(this.getAttribute('id'), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute('id'), false);
        }
      };

      // Handle clicks to LABEL elements (for Safari).
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute('for');
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };

    }
  }
};

function hideLabel (field_id, hide) {
  var field_for;
  var labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
    field_for = labels[i].htmlFor || labels[i].getAttribute('for');
    if (field_for == field_id) {
      labels[i].style.textIndent = (hide) ? '-3000px' : '0px';
      return true;
    }
  }
}

window.onload = function () {
  setTimeout(initOverLabels, 50);
};


function validateForm() {
	$('#submitError').remove();
	$('.inputError').removeClass('inputError');
	var errors = [];
	$('input').each(function () {
		if (!$(this).attr('id')) { return; }
		var test = 'label[for="' + $(this).attr('id') + '"]';
		if (($l = $(test)).length > 0) {
			if ($l.text().match(/\*/) && $(this).val().replace(/^\s*/,'').replace(/\s*$/, '') == '') {
				$(this).addClass('inputError');
				errors.push($l.text().replace(/\s*\*$/,''));
			}
		}	
	});
	$('select').each(function () {
			if ((name = $(this).find('option:first')).text().match(/\*/)) {
				if ($(this).val() == '') {
					$(this).addClass('inputError');
					errors.push(name.text().replace(/\s*\*$/,''));
				}
			}
	});
	$('textarea').each(function () {
		if (!$(this).attr('id')) { return; }
		var test = 'label[for="' + $(this).attr('id') + '"]';
		if (($l = $(test)).length > 0) {
			if ($l.text().match(/\*/) && $(this).val().replace(/^\s*/,'').replace(/\s*$/, '') == '') {
				$(this).addClass('inputError');
				errors.push($l.text().replace(/\s*\*$/,''));
			}
		}	
	});

	
}

function addItem() {
	var slug = $(this).attr('rel');
	var todo = $('#' + slug + '_wrap');
	if (todo.css('display') != 'none')  {
		todo = $('#' + slug + '2_wrap');
		$(this).remove();
	}
	todo.show();
	return false;
}


$(document).ready(function () {
	initOverLabels();
	$('form').submit(validateForm);
	$('.addItem a').click(addItem);
	$('input.file').change(function () {
		$(this).parent().parent().find('.fname').html('&nbsp;'+$(this).val()+'&nbsp;');
	});
	$('.trigger').click(function() {
		$('#' + $(this).attr('rel')).show();
		$(this).remove();
		return false;
	});
});


