
$(document).ready(function() {
	
	var objects_valid = [
		"source",
		"gender",
		"tdate",
		"message",
		"files",
		"email",
		"vcaptcha"
	];

	var isValid = function() {
		var validation = true;
		$(objects_valid).each(function(i) {
			$("." + objects_valid[i]).each(function(j){
				if (!$(this).hasClass("valid")){
					validation = false;
				}
			});
		});
		return validation;
	};

	$("form.contact").submit(function() {
		if ($(".source").val() == "") {
			$(".source").removeClass("valid").addClass("invalid");
		}
		else {
			$(".source").removeClass("invalid").addClass("valid");
		}
		
		if ($(".gender").val() == "") {
			$(".gender").removeClass("valid").addClass("invalid");
		}
		else {
			$(".gender").removeClass("invalid").addClass("valid");
		}
		
		if ($(".tdate").val() == "" || !$(".tdate").val().match(/^\d{1,2}\/\d{1,2}\/\d{4}$/) || (new Date($(".tdate").val())) < (new Date())) {
			$(".tdate").removeClass("valid").addClass("invalid");
		}
		else {
			$(".tdate").removeClass("invalid").addClass("valid");
		}

		if ($(".message").val().length > 100000) {
			$(".message").removeClass("valid").addClass("invalid");
		}
		else {
			$(".message").removeClass("invalid").addClass("valid");
		}

		$(".files").each(function(i) {
			if ($(this).val() == "") {
				$(this).removeClass("invalid").addClass("valid");
			}
			else {
				switch ($(this).val().substring($(this).val().lastIndexOf("."))) {
					case ".doc":
					case ".mp3":
					case ".docx":
					case ".pdf":
					case ".rtf":
					case ".txt":
					case ".jpg":
					case ".gif":
					case ".png":
					case ".jpeg":
					case ".zip":
					case ".rar":
						$(this).removeClass("invalid").addClass("valid");
						break;
					default:
						$(this).removeClass("valid").addClass("invalid");
						break;
				}
			}
		});
		
		var expEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if ($(".email").val() == "" || !$(".email").val().match(expEmail)) {
			$(".email").removeClass("valid").addClass("invalid");
		}
		else {
			$(".email").removeClass("invalid").addClass("valid");
		}

		if ($(".vcaptcha").val() == "") {
			$(".vcaptcha").removeClass("valid").addClass("invalid");
		}
		else {
			$(".vcaptcha").removeClass("invalid").addClass("valid");
		}

		if (!isValid()) {
			return false;
		}

		return true;
	});

	$(".tdate").focus(function() {
		GetDate(this);
	});

	$(".add-attachment").click(function() {
		var new_attach = $(".attachments tr").eq(0).clone();
		$(new_attach).find("input").val("");		
		$(".attachments").append(new_attach);		
	});

});

