// JavaScript Document
$(document).ready(function() {
	
	$(".popup").fancybox({
		'scrolling':'no',
		'padding': 0
	});
	
	/* ========================================================================== 
	   ========================    Email Share Functionality    ========================
	   ========================================================================== */
	   
	   	$("#emailShareForm").submit(function() {
			//Loop through each row
			var rowNum = 1;
			var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
			$("#emailShareMsg").text("");
			$('tr input').removeClass('error');
			
			AddAudit( $("#userID").val(), "EmailShare");
			
			for(var i = 1; i <= ($(this).find("input").length - 1) / 3; i++) {
				//If the columns aren't blank and the email is valid
				if ($("#email" + i).val() != '' && emailReg.test($("#email" + i).val()) ) {
					$.post("ajax/send-email.php", {i:i, firstname: $("#firstName" + i).val(),
						lastname: $("#lastName" + i).val(), email :$("#email" + i).val()}, function(result) {
							
							//Setup the error message
							if(!isNaN(result)) {
								if($("#emailShareMsg").text() == "" || $("#emailShareMsg").text() == "Your emails were successfully sent.")
									$("#emailShareMsg").text("Your emails were successfully sent.");
								else
									$("#emailShareMsg").text("There was an error with some of your entries but the rest have been sent.  Please make corrections and try again.");
								
									//Clear the inputs
								$("#firstName" + result).val("")
								$("#lastName" + result).val("")
								$("#email" + result).val("")					
							}
							else if($("#emailShareMsg").text() == "") {
								$("#emailShareMsg").text(result);
								/*//Move the erroneous columns to the top
								$("#firstName" + rowNum).val($("#firstName" + result).val());
								$("#lastName" + rowNum).val($("#lastName" + result).val());
								$("#email" + rowNum).val($("#email" + result).val());
								//Add an error class to the inputs
								$('tr.row'+rowNum+' input').addClass('error');	
								if(result != rowNum) {
									//Clear the inputs
									$("#firstName" + result).val("")
									$("#lastName" + result).val("")
									$("#email" + result).val("")	
								}
								
								rowNum++;	*/
							}
							else if($("#emailShareMsg").text() == "Your emails were successfully sent.") {
								$("#emailShareMsg").text(result + " All other emails have been delivered")
								
								/*//Move the erroneous columns to the top
								$("#firstName" + rowNum).val($("#firstName" + result).val());
								$("#lastName" + rowNum).val($("#lastName" + result).val());
								$("#email" + rowNum).val($("#email" + result).val());
								//Add an error class to the inputs
								$('tr.row'+rowNum+' input').addClass('error');	
								if(result != rowNum) {
									//Clear the inputs
									$("#firstName" + result).val("")
									$("#lastName" + result).val("")
									$("#email" + result).val("")	
								}
								
								rowNum++;*/
							}
								
						});
					
				}
				//There is an error
				else if($("#email" + i).val() == '' && $("#firstName" + i).val() != "" || !emailReg.test($("#email" + i).val()) ) {
					//Move the erroneous columns to the top
					$("#firstName" + rowNum).val($("#firstName" + i).val());
					$("#lastName" + rowNum).val($("#lastName" + i).val());
					$("#email" + rowNum).val($("#email" + i).val());
					//Add an error class to the inputs
					$('tr.row'+rowNum+' input').addClass('error');	
					if(i != rowNum) {
						//Clear the inputs
						$("#firstName" + i).val("")
						$("#lastName" + i).val("")
						$("#email" + i).val("")	
					}
					
					rowNum++;
					
					if($("#emailShareMsg").text() == "")
						$("#emailShareMsg").text("There was an error with one of your entries. Please make any corrections and try again.");
					else if($("#emailShareMsg").text().indexOf("successfully") > 0)
						$("#emailShareMsg").text("There was an error with some of your entries but the rest have been sent.  Please make any corrections and try again.");
				}
				
			}
			
			return false;
		});
		
		$("#loginForm").submit(function() {
			var email = $("#loginEmail").val();
			var password = $("#loginPassword").val();
			
			//Make sure they fill in the blanks
			if(email != "" && password != "")
				$.post("ajax/user-login.php", {email:email, password:password}, function(data) {
					if(data != "")
						alert(data);
					else 
						window.location = "waves.php";						
				});
			else
				alert("Please fill in both fields to login.  If you are a new user, click on the Register link to get started.");
			
			return false;
		});
		
		$("#registerForm").submit(function() {
			var firstname = $("#regFirstname").val();
			var lastname = $("#regLastname").val();
			var email = $("#regEmail").val();
			
			var password = $("#regPassword").val();
			var password2 = $("#regPassword2").val();
			var parentUserID = $("#regParentUserID").val();
			var source = $("#regSource").val();
			var purl = $("#regPURL").val();
			var constituentID = $("#regConstituentID").val();
			
			var hasError = false;
			var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	 
			if(firstname == '' || lastname == '' || email == '' || password == '')
				alert("Please fill out all of the fields before proceeding.");
			else if(!emailReg.test(email))  //Bad format
				alert("Please enter a valid email address.");
			else if(password != password2)  //Bad format
				alert("Your passwords do not match.  Please try again.");
			else {
				$.post("ajax/add-user.php", {firstname: firstname, lastname:lastname, email:email,
					password: password, parentUserID: parentUserID, source: source, purl:purl, constituentID:constituentID}, function(data) {
					if(data != "")
						alert(data);
					else 
						window.location = "waves.php";	
				});
			}
			
			return false;
		});
		

});	


function AddAudit(userID, auditName) {
	$.post("ajax/add-audit.php", {userID: userID, auditName: auditName});
}
