$(document).ready(function() {
	// TEMPORARY DISABLE ALL EMAILING...
	$("#email").livequery(function() {
		$(this).remove();
	});
	// ---------------------------------
	var email_popup_content = 
	"<h2>Use the following forms to send an email to someone.<span class=\"right\" id=\"popupMessage\"></span></h2>"
	+"<div class=\"label\">Your Name:</div><input id=\"from_name_input\" type=\"text\" />"
	+"<div class=\"label\">Your Email:</div><input id=\"from_email_input\" type=\"text\" />"
	+"<div class=\"label\">To Email:</div><input id=\"to_email_input\" type=\"text\" />"
	+"<div class=\"label\">Subject:</div><input id=\"subject_input\" type=\"text\" />"
	+"<div class=\"label\">Message:</div><textarea id=\"message_input\"></textarea>"
	+"<div class=\"label\">Note:</div><textarea id=\"note\" disabled=\"disabled\"></textarea>"
	+"<div class=\"clear\"></div>"
	+"<h2>Send email<img id=\"send\" title=\"Send Email\" src=\"/img/icons/send.png\" alt=\"Send\" /></h2>";
	
	$("body").append("<div id=\"email_popup\" class=\"popup\">"+email_popup_content+"</div>");
	$("#email_popup").dialog( 
		{
    		bgiframe: true,
       		autoOpen: false,
		    closeOnEscape: false,
		    modal: true,
			dialogClass: 'email_popup',
		    resizable: false,
		    draggable: true,
		    title: 'The Organizational Zoo: Send Email',
		    width: 700
		}
	);
});
function createEmailDialog(additional_message, note) {
	var popupAlertTimeout;
	
	function popupHideMessage() {
		$("#popupMessage").fadeOut(500);
	}
	
	$("#email_popup #note").val(note);
	$("#email_popup").dialog('open');
	$("#email_popup #send").hover(function() {
		$(this).attr("src","/img/icons/send_h.png");
	}, function() {
		$(this).attr("src","/img/icons/send.png");
	});
	
	$("#email_popup #send").click(function() {
		var from_name = $("#from_name_input").val();
		var from_email = $("#from_email_input").val();
		var to_email = $("#to_email_input").val();
		var subject = $("#subject_input").val();
		var message = $("#message_input").val();
		var incomplete = false;
		if (from_name == "") {
			incomplete = true;
			$("#from_name_input").addClass("invalid_input");
		} else {
			$("#from_name_input").removeClass("invalid_input");
		}
		if (from_email == "") {
			incomplete = true;
			$("#from_email_input").addClass("invalid_input");
		} else {
			$("#from_email_input").removeClass("invalid_input");
		}
		if (to_email == "") {
			incomplete = true;
			$("#to_email_input").addClass("invalid_input");
		} else {
			$("#to_email_input").removeClass("invalid_input");
		}
		if (subject == "") {
			incomplete = true;
			$("#subject_input").addClass("invalid_input");
		} else {
			$("#subject_input").removeClass("invalid_input");
		}
		if (message == "") {
			incomplete = true;
			$("#message_input").addClass("invalid_input");
		} else {
			$("#message_input").removeClass("invalid_input");
		}
		if (incomplete) {
			clearTimeout(popupAlertTimeout);
			popupAlertTimeout = setTimeout(popupHideMessage, 10000);
			$("#popupMessage").fadeIn(500).text("You must enter information into all fields.");
			return;
		} else {
			clearTimeout(popupAlertTimeout);
			popupHideMessage();
		}
		if (!isValidEmailAddress(from_email)) {
			$("#from_email_input").addClass("invalid_input");
			clearTimeout(popupAlertTimeout);
			popupAlertTimeout = setTimeout(popupHideMessage, 10000);
			$("#popupMessage").fadeIn(500).text("You must enter a valid email address.");
			return;
		} else {
			clearTimeout(popupAlertTimeout);
			popupHideMessage();
		}
		if (!isValidEmailAddress(to_email)) {
			$("#to_email_input").addClass("invalid_input");
			clearTimeout(popupAlertTimeout);
			popupAlertTimeout = setTimeout(popupHideMessage, 10000);
			$("#popupMessage").fadeIn(500).text("You must enter a valid email address.");
			return;
		} else {
			clearTimeout(popupAlertTimeout);
			popupHideMessage();
		}
		// Send email
		$.post("webpages/code/email.php", {
			"from_name": from_name,
			"from_email": from_email,
			"to_email": to_email,
			"subject": subject,
			"message": message+additional_message
		}, function(result) {
			if (result == "sent") {
				alert("Message sent successfully.");
			} else if (result == "failed") {
				alert("Message send failed, please try again in 5minutes.");
			}
		});
	});
	function isValidEmailAddress(emailAddress) {
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		return pattern.test(emailAddress);
	}
}
