$(document).ready(function() {
	checkUploadFormFields();

	$("[id^='post_vars-uploader-subject-']").click(checkUploadFormFields);

	if (uploader_options && uploader_options.mode == "ADVANCED") {
		swfu_settings.container = document.getElementById(swfu_settings.button_placeholder_id).parentNode;
		swfu_settings.container_html = swfu_settings.container.innerHTML;
	}

	if (uploader_data && uploader_data.ready == "Y")
		checkUploadForm();
});

function ul_subject() {
	return $("[name='post_vars\[uploader\]\[subject\]']:checked").val();
}
function checkUploadFormFields() {
	var s = ul_subject();

	$("#uf-orderid-r").css({display: ((s == "ORDERS")?"":"none")});
	$("#uf-name-r").css({display: ((s == "ORDERS")?"none":"")});
	if (s == "ORDERS")
		$("#post_vars-uploader-name").val("");
	else
		$("#post_vars-uploader-orderid").val("");
}
function resetUploadForm() {
	$("[id^='post_vars-uploader-']").attr("disabled", "").not("[type='radio']").val("");

	$(".UFSubmit").css("display", "");
	$(".UFReset").css("display", "none");

	uploadDestroy();
	checkUploadFormFields();
}
function checkUploadForm() {
	var s = ul_subject();
	var n = $("#post_vars-uploader-name").val();
	var o = $("#post_vars-uploader-orderid").val();

	var has_error = false;
	var e = [];
	if (!s) {
		has_error = true;
		e.push("Please select a subject for your upload.");
	}

	if (s != "ORDERS") {
		if (!n) {
			has_error = true;
			e.push("Please provide a your name or a company name for your upload.");
		}
	} else {
		if (!o) {
			has_error = true;
			e.push("Please provide an order number for your upload.");
		}
	}

	if (!recaptchad) {
		var rcc = $("#recaptcha_challenge_field").val();
		var rcr = $("#recaptcha_response_field").val();
		if (!rcr) {
			has_error = true;
			e.push("Please provide the reCAPTCHA code.");
		}
	}

	if (has_error) {
		uploadFormUpdate(e);
	} else {
		$("#uf-checking").css("display", "");

		if (!recaptchad) {
			$.post("files.php", {action: "recaptcha_ajax", recaptcha_challenge_field: rcc, recaptcha_response_field: rcr}, function (data) {
				if (data != "SUCCESS") {
					e.push("Please complete the reCAPTCHA code.");
					Recaptcha.reload();
				} else {
					recaptchad = true;
					$("#recaptcha_container").css("display", "none");
				}

				uploadCheckOrder(e);
			});
		} else {
			uploadCheckOrder(e);
		}
	}
}

function uploadCheckOrder(e) {
	if (ul_subject() != "ORDERS") {
		uploadFormUpdate(e);
	} else {
		$(".UFSubmit").css("display", "none");
		$.post("files.php", {action: "check_orderid", o: $("#post_vars-uploader-orderid").val()}, function (data) {
			if (data != "SUCCESS") {
				var em;
				if (data == "CANCELLED")
					em = "This order has been cancelled.";
				else if (data == "COMPLETE")
					em = "This order is already complete.";
				else
					em = "This order number is invalid.";

				e.push(em);
			}

			uploadFormUpdate(e);
		});
	}

	$("#uf-checking").css("display", "none");
}

function uploadCreate(settings) {
	var allow = ((navigator.platform == 'MacPPC' || navigator.platform == 'MacIntel' || navigator.platform == 'Mac') && !FlashDetect.versionAtLeast(9))?false:true;

	if (!allow) {
		$("#stu_app").css("display", "");
		$("#stu_buttons").css("display", "");

		$("#swu_app").css("display", "none");
		$("#swu_buttons").css("display", "none");
		$("#swu_stats").css("display", "none");
	} else {
		$("#stu_app").css("display", "none");
		$("#stu_buttons").css("display", "none");

		$("#swu_app").css("display", "");
		$("#swu_buttons").css("display", "");
		$("#swu_stats").css("display", "");

		if (!swfu) {
			swfu = new SWFUpload(settings);
		}
	}
}
function uploadDestroy() {
	if (typeof swfu.destroy != "undefined")
		swfu.destroy();
	swfu = false;

	$("#swu_app").css("display", "none");
	$("#swu_stats").css("display", "none");

	$("#swu_progress").empty();

	swfu_settings.container.innerHTML = swfu_settings.container_html;
}

function uploadFormUpdate(error) {
	var has_error;
	if (typeof error != "undefined" && !error)
		has_error = false;
	else
		has_error = (error.length > 0);

	if (has_error) {
		alert("- "+error.join("\n- "));
	}

	if (!has_error) {
		var pp = swfu_settings.post_params;

		swfu_settings.post_params = {};
		swfu_settings.post_params.xid = pp.xid;
		swfu_settings.post_params.mode = pp.mode;

		$("[id^='post_vars-uploader-']").each(function() {
			var f = $(this).attr("name");
			var t = $(this).attr("type");

			if (t && t == "radio") {
				if (!$(this).attr("checked"))
					return;
			}

			swfu_settings.post_params[f] = $(this).val();
		});

		if (!swfu) {
			uploadCreate(swfu_settings);
		} else {
			swfu.setPostParams(swfu_settings.post_params);
		}
	} else {
		uploadDestroy();
	}

	$("[id^='post_vars-uploader-']").attr("disabled", (!has_error)?true:"");

	$(".UFSubmit").css("display", ((!has_error)?"none":""));
	$(".UFReset").css("display", ((!has_error)?"":"none"));
}
