/*********************/
/*  Banner Rotation  */
/*********************/

function initBannerRotation () {
	setTimeout(function () { rotateBanner() }, 8000);
}

function rotateBanner () {
	$("#banner_carrier").children(":first").animate({ width: 0 }, 1000, "linear", function () { removeAndAppend("banner_carrier", initBannerRotation); });
}

function removeAndAppend (carrierID, callback) {
	var removed = $("#" + carrierID).children(":first").remove();
	removed.appendTo("#" + carrierID).css("visibility", "visible").css("width", "664px");

	if (typeof(callback) == "function")
		callback.call(this);
}

/***************/
/*  Subscribe  */
/***************/

/* Capture email, load form asking for more info... */
function loadSubscribeForm () {
	var email = $("#subscribe_email").val();
	if (!isValidEmail(email)) {
		alert("Please enter a valid email.");
		return;
	}
	$.post("ajax/add_subscriber.php", { email: email, load_subscriber_form: 1 }, function (response) { displaySubscribeForm(response) });	
}

function displaySubscribeForm (response) {
	if (trim(response) == "")
		return;
	else {
		openClientWindow("subscriber_info", response, 300, 350, "Thanks for Subscribing!", "", "", 1, 1);
	}
}

function saveSubscriberDetails () {
	/* Disable Save Button */
	$("#subscribe_save").attr("disabled", true);

	var subscriberID = $("#subscriber_ID").val();
	var firstName = $("#first_name").val();
	var lastName = $("#last_name").val();
	var business = $("#business").attr("checked");
	var personal = $("#personal").attr("checked");
	var parenting = $("#parenting").attr("checked");
	var performance = $("#performance").attr("checked");
	$.post("ajax/save_subscriber.php", { subscriber_ID: subscriberID, first_name: firstName, last_name: lastName, business: business, personal: personal, parenting: parenting, performance: performance }, function () { closeInnerWindow("subscriber_info"); });
}

function clearExistingValue (inputID, defaultValue) {
	if ($("#" + inputID).val() == defaultValue)
		$("#" + inputID).val("");
}

function setDefaultValue (inputID, defaultValue) {
	if ($("#" + inputID).val() == "")
		$("#" + inputID).val(defaultValue);
}

/****************/
/*  Contact Us  */
/****************/

function submitMessage () {
	if (!validateMessage())
		return;

	var verifyText = getElement("verify_text");
	if (!verifyText) {
		loadVerification("contact_us_verification");
	}
	else {
		$("#contact_us_verification").slideDown("slow");
		verify(verifyText.value, "contact_us_verification", verifiedSubmitMessage);
	}
}

function verifiedSubmitMessage () {
	if (!validateMessage())
		return;

	var name = $("#name").val();
	var email = $("#email").val();
	var subject = $("#subject").val();
	var message = $("#message").val();

	$.post("ajax/send_message.php", { name: name, email: email, subject: subject, message: message }, submitMessageCallback);

	$("#contact_us_verification").slideUp("slow", function () { $("#contact_us_verification").html("").slideDown("fast"); });
	$("#message").val("");
}

function submitMessageCallback () {
	var message = "<B>- Your message has been sent. - </B>";
	$("#sent_message").html(message).slideDown("slow", function () { setTimeout(function() { $("#sent_message").slideUp(); }, 3000); });
}

function validateMessage () {
	var name = $("#name").val();
	var email = $("#email").val();
	var subject = $("#subject").val();
	var message = $("#message").val();

	var errors = new Array();
	if (trim(name) == "") {
		$("#name").addClass("error_input");
		errors['name'] = "Please supply your name.";
		errors.length++;
	}
	else $("#name").removeClass("error_input");

	if (!isValidEmail(email)) {
		$("#email").addClass("error_input");
		errors['email'] = "Please supply a valid email.";
		errors.length++;
	}
	else $("#email").removeClass("error_input");

	if (subject == "") {
		$("#subject").addClass("error_input");
		errors['subject'] = "Please select a subject.";
		errors.length++;
	}
	else $("#subject").removeClass("error_input");

	if (trim(message) == "") {
		$("#message").addClass("error_input");
		errors['message'] = "Please supply a message.";
		errors.length++;
	}
	else $("#message").removeClass("error_input");

	if (errors.length > 0) {
		registerErrors("error", errors);
		return false;
	}
	else $("#error").slideUp("slow");
	return true;
}

function raiseMenuBackground (divID) {
	// $("#" + divID).stop().animate({ backgroundPosition: "0px 0px" }, "slow");
}

function lowerMenuBackground (divID) {
	/* 33: Should match up with background top-offset in css/ls.css. */
	// $("#" + divID).stop().animate({ backgroundPosition: "0px 33px" }, "slow");
}

function registerErrors (errorDivID, errors) {
	var errorHTML = "";
	for (var i in errors) {
		errorHTML += "<LI>" + errors[i];
	}
	$("#" + errorDivID).html("The following errors occured when trying to submit the form:<P><UL>" + errorHTML + "</UL>").slideDown("slow");
}