Ajax.Responders.register({
	onCreate: function() {
		if ($('spinner') && Ajax.activeRequestCount > 0) {
		  Effect.Appear('spinner', { duration: 0.5, queue: 'end' });
		}
	},
	onComplete: function() {
		if ($('spinner') && Ajax.activeRequestCount == 0) {
		  Effect.Fade('spinner', { duration: 0.5, queue: 'end' });
		}
	}
});

function stripe_table(table) {
  i = 0;
  $(table).getElementsBySelector('tr').each(function(tr) {
    tr.removeClassName('alt');
    if (++i % 2 == 1) {
      tr.addClassName('alt');
    }
  });
}

function inspect_file() {
  // Inspect e-mail field (this function can be abstracted if more fields reqeuire inspection)
  if ($('franchisee_email').value == '') {
    new Effect.Appear('warning-email');
  } else {
    new Effect.DropOut('warning-email');
  }
}

function set_franchisee_details_mode(value) {
  $('file').getElementsBySelector('form .row input').each(function (input) {
    input.disabled = value;
  });
  
	pass = $('franchisee_password');

  if (value) {
    $('file').removeClassName('editing');
  } else {    
    $('file').addClassName('editing');
  }
}

function validateForumSignup(form) {
	var success = true;
	
	form.getElementsBySelector('input').each(function (e) {
		if (e.value == '') {
			success = false;
			new Effect.Highlight(e);
		}
	});
	
	return success;
}

function validateDetailsForm() {
  var valid = true;
  
  $('details-form').getElementsBySelector('.required').each(function(e) {
    if (e.value == '') {
      valid = false;
      new Effect.Highlight(e);
    }
  });
  
  return valid;
}

function validateSurvey() {
  var valid = true;
  
  $$('.question').each(function (question) {
    var markedOne = false;
    question.getElementsBySelector('input').each(function (answer) {
      if (answer.checked) {
        markedOne = true;
      }
    });
    
    if (markedOne) {
      question.style.backgroundColor = "#fff";
    } else {
      question.style.backgroundColor = "#fdd";
      valid = false;
    }
  });
  
  
  if (!valid) {
    alert("Please ensure you have answered all of the survey questions.");
  }
  
  return valid;
}
