// Used to clear forms
$.fn.clearForm = function() {
  return this.each(function() {
	var type = this.type, tag = this.tagName.toLowerCase();
	if (tag == 'form')
	  return $(':input',this).clearForm();
	if (type == 'text' || type == 'password' || tag == 'textarea')
	  this.value = '';
	else if (type == 'checkbox' || type == 'radio')
	  this.checked = false;
	else if (tag == 'select')
	  this.selectedIndex = -1;
  });
};

// This is used to clear the Last Sponsored Women message when tabbing
function clearYourAccount() {
	$("#LastSponsoredWomen").html("");
}

// Gets the last sponsored women message from the DB and displays it
function lastSponsored() {
	$("#LastSponsoredWomen").slideUp("250",function(){
		$.ajax({
  			url: "vowforlife_v2_ajax_last_sponsor.php",
 			cache: false,
			success: function(html){
				$("#LastSponsoredWomen").html(html);
				$("#LastSponsoredWomen").slideDown();
			}
		});					
	});
}

// Gets the count for the sponsored women
function setSponsorWomenCount() {
	$.ajax({
  	url: "vowforlife_v2_ajax_sponsor_count.php",
 	cache: false,
	success: function(html){
		$("#SponsorWomenCount").html(html);
	}
	});
}

// Initiates form validation for the add sponsor form... Contains the ajax for submitting form as well
function validateAddSponsorForm() {

	var validator = $("#VowForLifeAdd").validate({
		rules: {
			firstName: "required",
			lastName: "required",
			email: {
				
				email: true
			}, 
			phone: {
				required: true,
				minlength: 10,
				remote: "vowforlife_v2_ajax_validate_phone.php"
			},
			messageID: "required"
			
		},
		messages: {
			firstName: "Enter their first name",
			lastName: "Enter their last name",
			email: {
				email: "Enter a valid email address"
			},
			phone: {
				required: "Enter their phone number",
				minlength: "Enter their full phone number, including area code",
				remote: "Please enter a valid phone number, include your area code"
			},
			messageID: "Select the message you want to play when the system calls them"
			
		},
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().next() );
				
			else if ( element.is(":checkbox") )
				error.appendTo ( element.parent().next() );
			else
				error.appendTo( element.parent().add() );
		},
		errorElement: "div",
		submitHandler: function() {
			var str = $("#VowForLifeAdd").serialize();
			$.ajax({
   				type: "POST",
				url: "vowforlife_v2_add.php",
				data: str,
				success: function(msg){
					alert( "Saved!");
					lastSponsored();
				}
			});
			setSponsorWomenCount(); // Updates the total women count
			$("#VowForLifeAdd").clearForm();
		}
	});
}


// Used for when someone is editing a sponsoree
function validateEditSponsorForm() {
	
	var validator = $("#VowForLifeEdit").validate({
		rules: {
			firstName: "required",
			lastName: "required",
			email: {
				required: true,
				email: true
			}, 
			phone: "required",
			messageID: "required"
			
		},
		messages: {
			firstName: "Enter their first name",
			lastName: "Enter their last name",
			email: "Enter a valid email address",
			phone: "Enter their phone number",
			messageID: "Select the message you want to play when the system calls them"
			
		},
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().next() );
				
			else if ( element.is(":checkbox") )
				error.appendTo ( element.parent().next() );
			else
				error.appendTo( element.parent().add() );
		},
		errorElement: "div",
		submitHandler: function() {
			var str = $("#VowForLifeEdit").serialize();
			$.ajax({
   				type: "POST",
				url: "vowforlife_v2_edit.php",
				data: str,
				success: function(msg){
					alert( "Saved!");
					$(".ULNav a").removeClass("selected");
					$("#WomenYourSponsoring").addClass("selected");
					$("#YourAccountContent").slideUp(300,function(){$("#VoiceMessagesContent").slideUp(300,function(){$("#WomenYourSponsoringContent").slideDown(300)})});
					loadSponsoredWomen();
				}
			});
			
			$("#VowForLifeAdd").clearForm();
		}
	});
}

// Logsout the person and displays the login form

function loginDifferentUser() {
	$("#LoginVowForLifeContent").load("vowforlife_v2_login_box.php?logout=y");
}

// Used to set the delete portion on the custom voice messages
function setDelete() {
	$(".delete").click(function() {
		var thisurl = $(this).attr("href");
		var dodelete = confirm("Delete item?");
		if (dodelete) {
			$.ajax({
  				url: thisurl,
 				cache: false,
				success: function(html){
					loadVoiceMessageRecordings();
				}
			});
		}
		return false;
	});
}

// Used to set the delete portion on the custom voice messages
function setDeleteWomen() {
	$(".DeleteSponsor").click(function() {
		var thisurl = $(this).attr("href");
		var dodelete = confirm("Delete item?");
		if (dodelete) {
			$.ajax({
  				url: thisurl,
 				cache: false,
				success: function(html){
					loadSponsoredWomen();
				}
			});
		}
		return false;
	});
	
	// Used to load the edit form
	$(".EditSponsor").click(function() {
		var thisid = $(this).attr("rel");
		$("#AddSponsorForm").slideDown(300);
		$("#AddSponsorForm").load("vowforlife_v2_ajax_add_sponsor.php?id=" + thisid,validateEditSponsorForm);
		//alert("vowforlife_v2_ajax_add_sponsor.php?id=" + thisid);
		$(".ULNav a").removeClass("selected");
		$("#YourAccount").addClass("selected");
		$("#VoiceMessagesContent").slideUp(300,function(){$("#WomenYourSponsoringContent").slideUp(300,function(){$("#YourAccountContent").slideDown(300)})});
		setSponsorWomenCount();
		clearYourAccount();
		return false;
	});
	
}

// Loads the sponsored women content
function loadSponsoredWomen() {
		$.ajax({
  		url: "vowforlife_v2_ajax_sponsor.php",
 		cache: false,
		success: function(html){
			$("#WomentYouAreSponsoringContainer").html(html);
				setDeleteWomen();
		}
		});
}

// Loads the custom voice messages
function loadVoiceMessageRecordings() {
	if ($("#VoiceMessageRecordings")) {
		$.ajax({
  		url: "vowforlife_v2_ajax_recordings.php",
 		cache: false,
		success: function(html){
			$("#VoiceMessageRecordings").html(html);
				setDelete();
		}
		});
	}	
}


$(document).ready(function(){
  
	// Account confirmation
	$("#lastMamogramDontKnow").click(function(event) {
			if($("#lastMamogramDontKnow:checked")) {
				$("#MamogramDate").slideToggle(250);
			} else {
				$("#MamogramDate").slideToggle(250);
			}
		});
	
	$("#sponsorOthers").click(function(event) {
			if($("#sponsorOthers:checked")) {
				$("#ChoosePassword").slideToggle(250);
			} else {
				$("#ChoosePassword").slideToggle(250);
			}
		});
	
	var accountvalidator = $("#VowForLifeConfirm").validate({
		rules: {
			firstName: "required",
			lastName: "required",
			email: {
				required: true,
				email: true
			}, 
			phone: {
				required: true,
				minlength: 10,
				remote: "vowforlife_v2_ajax_validate_phone.php"
			},
			password: {
				required: "#sponsorOthers:checked",
				minlength: 5
			},
			passwordconfirm: {
				required: "#sponsorOthers:checked",
				equalTo: "#password"	
			}
			
		},
		messages: {
			firstName: "Enter your firstname",
			lastName: "Enter your lastname",
			email: {
				required: "Please enter a valid email address",
				email: "Please enter a valid email address"
			},
			phone: {
				required: "Please enter your phone number",
				minlength: "Please enter a valid phone number, include your area code",
				remote: "Please enter a valid phone number, include your area code"
			},
			password: {
				required: "Please choose an account password",
				minlength: "Password is too short, needs to be a minimum of 5 characters"
			},
			passwordconfirm: {
				required: "Please confirm your account password",
				equalTo: "Password does not match"
			}
			
			
			
		},
		errorElement: "div",
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().next() );
			else if ( element.is(":checkbox") )
				error.appendTo ( element.parent().next() );
			else
				error.appendTo( element.parent() );
		}
	});
	//Signup form validation
	var validator = $("#VowForLifeSignupForm").validate({
		rules: {
			firstname: "required",
			lastname: "required",
			email: {
				required: true,
				email: true
			}, 
			confirmemail: {
				required: true,
				email: true,
				equalTo: "#email"
			},
			password: {
				required: true,
				minlength: 5
			},
			confirmpassword: {
				required: true,
				minlength: 5,
				equalTo: "#password"
			}
			
		},
		messages: {
			firstname: "Enter your firstname",
			lastname: "Enter your lastname",
			email: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address",
				email: "Please enter a valid email address"
			},
			confirmemail: {
				required: "Enter the same email as above",
				equalTo: "Enter the same email as above",
				email: "Please enter a valid email address"
			},
			password: {
				required: "Provide a password",
				rangelength: jQuery.format("Enter at least {0} characters")
			},
			confirmpassword: {
				required: "Repeat your password",
				minlength: jQuery.format("Enter at least {0} characters"),
				equalTo: "Enter the same password as above"
			}
			
		},
		errorElement: "div",
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().next() );
			else if ( element.is(":checkbox") )
				error.appendTo ( element.parent().next() );
			else
				error.appendTo( element.parent() );
		}
	});

	// Add recording validation
	var validator2 = $("#VowForLifeAddRecording").validate({
		rules: {
			messageID: "required",
			name: "required"
		},
		messages: {
			messageID: "Enter the message ID for this recording",
			name: "Enter a name for this recording"
			
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().next() );
			else if ( element.is(":checkbox") )
				error.appendTo ( element.parent().next() );
			else
				error.appendTo( element.parent().add() );
		},
		errorElement: "div",
		submitHandler: function() {

		var str = $("#VowForLifeAddRecording").serialize();

		$.ajax({
   			type: "POST",
			url: "vowforlife_v2_add_message_do.php",
			data: str,
			success: function(msg){
				alert( "Saved!");
				$("#AddVoiceMessageForm").slideToggle(300);
				loadVoiceMessageRecordings();
				$("#AddNewMessageTxt").slideDown(300);
			}
		});
		$("#VowForLifeAddRecording").clearForm();
		}
	});
	
	$("#HowItWorks").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#HowItWorks").addClass("selected");
		$("#SignupVowForLifeContent").slideUp(300,function(){$("#LoginVowForLifeContent").slideUp(300,function(){$("#WhatIsVowForLifeContent").slideUp(300,function(){$("#HowItWorksContent").slideDown(300)})})});
		}
	);				   
   $("#WhatIsVowForLife").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#WhatIsVowForLife").addClass("selected");
		$("#SignupVowForLifeContent").slideUp(300,function(){$("#LoginVowForLifeContent").slideUp(300,function(){$("#HowItWorksContent").slideUp(300,function(){$("#WhatIsVowForLifeContent").slideDown(300)})})});
		}
	);
   $("#SignupVowForLife").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#SignupVowForLife").addClass("selected");
		$("#WhatIsVowForLifeContent").slideUp(300,function(){$("#LoginVowForLifeContent").slideUp(300,function(){$("#HowItWorksContent").slideUp(300,function(){$("#SignupVowForLifeContent").slideDown(300)})})});
		
		}
	);
   $(".SignupVowForLifeNext").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#SignupVowForLife").addClass("selected");
		$("#WhatIsVowForLifeContent").slideUp(300,function(){$("#LoginVowForLifeContent").slideUp(300,function(){$("#HowItWorksContent").slideUp(300,function(){$("#HowItWorksContent").slideUp(300,function(){$("#SignupVowForLifeContent").slideDown(300)})})})});
		}
	);
   $(".HowItWorksNext").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#HowItWorks").addClass("selected");
		$("#WhatIsVowForLifeContent").slideUp(300,function(){$("#LoginVowForLifeContent").slideUp(300,function(){$("#HowItWorksContent").slideUp(300,function(){$("#SignupVowForLifeContent").slideUp(300,function(){$("#HowItWorksContent").slideDown(300)})})})});
		}
	);
   $("#LoginVowForLife").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#LoginVowForLife").addClass("selected");
		//$("#LoginVowForLifeContent").load("vowforlife_v2_login_box.php");
		$("#LoginVowForLifeContent").load("vowforlife_v2_login_box.php",function(){$("#WhatIsVowForLifeContent").slideUp(300,function(){$("#SignupVowForLifeContent").slideUp(300,function(){$("#LoginVowForLifeContent").slideDown(300)})})});		}
	);
   $("#LoginVowForLifeNext").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#LoginVowForLife").addClass("selected");
		$("#LoginVowForLifeContent").load("vowforlife_v2_login_box.php",function(){$("#WhatIsVowForLifeContent").slideUp(300,function(){$("#SignupVowForLifeContent").slideUp(300,function(){$("#LoginVowForLifeContent").slideDown(300)})})});
		
		}
	);
 
   // MEMBER AREA
   $("#AddNewSponsor").click(function(event) {
		event.preventDefault();
		$("#AddSponsorForm").slideToggle(300);
		
		$("#AddSponsorForm").load("vowforlife_v2_ajax_add_sponsor.php",validateAddSponsorForm);
		
		}
	);
   
   $("#RecordVoiceMessage").click(function(event) {
		event.preventDefault();
		$("#AddVoiceMessageForm").slideToggle(300);
		$("#AddNewMessageTxt").slideUp(300);
		
		}
	);

   
   $("#YourAccount").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#YourAccount").addClass("selected");
		$("#VoiceMessagesContent").slideUp(300,function(){$("#WomenYourSponsoringContent").slideUp(300,function(){$("#YourAccountContent").slideDown(300)})});
		$("#AddSponsorForm").html("Loading...");
		$("#AddSponsorForm").load("vowforlife_v2_ajax_add_sponsor.php",validateAddSponsorForm);
		setSponsorWomenCount();
		clearYourAccount();
		}
	);
   $("#VoiceMessages").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#VoiceMessages").addClass("selected");
		$("#AddNewMessageTxt").slideUp(300);
		$("#YourAccountContent").slideUp(300,function(){$("#WomenYourSponsoringContent").slideUp(300,function(){$("#VoiceMessagesContent").slideDown(300)})});
		loadVoiceMessageRecordings();
		
		}
	);
   $("#WomenYourSponsoring").click(function(event) {
		event.preventDefault();
		$(".ULNav a").removeClass("selected");
		$("#WomenYourSponsoring").addClass("selected");
		$("#YourAccountContent").slideUp(300,function(){$("#VoiceMessagesContent").slideUp(300,function(){$("#WomenYourSponsoringContent").slideDown(300)})});
		loadSponsoredWomen();
		
		}
	);
   
   // Link displays on the Women you are sponsoring tab, collapses tab, and loads the your account tab and the add new sponsor form
   $(".AddNewSponsorWomen").click(function(event) {
		event.preventDefault();	
		$.ajax({
  			url: "vowforlife_v2_ajax_add_sponsor.php",
 			cache: false,
			success: function(html){
					$("#AddSponsorForm").html(html);
					$("#AddSponsorForm").slideDown(300);
					validateAddSponsorForm();
				}
			});
		$(".ULNav a").removeClass("selected");
		$("#YourAccount").addClass("selected");
		$("#VoiceMessagesContent").slideUp(300,function(){$("#WomenYourSponsoringContent").slideUp(300,function(){$("#YourAccountContent").slideDown(300)})});

		setSponsorWomenCount();
		clearYourAccount();
		}
	);
   
   
	$("#LogoutLink").click(function() {
		return confirm("Logout of the Vow For Life System?");
	});
	
});

