(function ($) {

/* -----------------WISH LIST VALIDATION - ADD EMAIL ADDRESS --------------------- */

	var Form_Validate_Add_Email = {

		form: $("#page_asset_builder_6126"),
		email: $("#data_record_0_4"),

		initialize: function () {

			var self = Form_Validate_Add_Email;

			if (!self.form.length) {
				return false;
			}
                        self.form.removeAttr("onsubmit");
			self.form.validate();
			self.email.rules("add", {
                                required: true,
				email: true
			});

		}
	};

	Form_Validate_Add_Email.initialize();

	/* -----------------FORMS VALIDATION - Add to Basket quantity --------------------- */

	var Form_Validate_Add_Qty = {

		form: $(".add-to-cart"),
		qty: $(".add-to-cart input.formFieldShort"),

		initialize: function () {

			var self = Form_Validate_Add_Qty;

			if (!self.form.length) {
				return false;
			}

		
			self.form.each(function (i, form) {
				$(form).validate();
				$(form).find("input.formFieldShort").rules("add", "number");
			});
			

		}
	};

	Form_Validate_Add_Qty.initialize();

	/* -----------------FORMS VALIDATION - Additional Donation --------------------- */

	var Form_Validate_Add_Donation = {

		form: $("#add-to-cart"),
		qty: $("#quantity_41"),

		initialize: function () {

			var self = Form_Validate_Add_Donation;

			if (!self.form.length) {
				return false;
			}

			self.form.validate();
			self.qty.rules("add", {
				number: true
			});

		}
	};

	Form_Validate_Add_Donation.initialize();

	/* ------------EDIT USER DETAILS - UPDATE INFORMATION/CHANGE PASSWORD-------------- */

	var Tabs = {

		information: $("#update-details"),
		password: $("#change-password"),
		param_list: document.location.href.toString().split("&")[1],

		initialize: function () {

			var self = Tabs;

			if (self.information.length === 0) {
				return false;
			}

			self.information.hide();
			self.password.hide();

			if (self.param_list == "password") {
				self.password.show();
			}
			else {
				self.information.show();

			}

		}
	};

	Tabs.initialize();

	/* -----------------FORMS VALIDATION - PAYMENT GATEWAY PAGE --------------------- */

	var Form_Validate_Payment = {

		form: $("#payment-gateway form"),
		firstname: $("#firstname input"),
		surname: $("#surname input"),
		address: $("#address input"),
		town: $("#town input"),
		postcode: $("#postcode input"),
		card_name: $("#card-name input"),
		//card_no: $("#card-no input"),

		initialize: function () {

			var self = Form_Validate_Payment;

			if (!self.form.length) {
				return false;
			}

			self.form.removeAttr("onsubmit");
			self.form.validate();
			self.firstname.rules("add", {
				required: true
			});
			self.surname.rules("add", {
				required: true
			});
			self.address.rules("add", {
				required: true
			});
			self.town.rules("add", {
				required: true
			});
			self.postcode.rules("add", {
				required: true
			});
			self.card_name.rules("add", {
				required: true
			});
			//self.card_no.rules("add", {
			//	required: true
			//});

		}
	};

	Form_Validate_Payment.initialize();

	/* -----------------FORMS VALIDATION - CHECKOUT PAGE --------------------- */

	var Form_Validate_Checkout = {

		form: $("#form-id form"),
		firstname: $("#q4938_q2"),
		title: $("#q4938_q1"),
		surname: $("#q4938_q3"),
		address: $("#q4938_q7"),
		town: $("#q4938_q9"),
		postcode: $("#q4938_q11"),
		email: $("#q4938_q4"),
		confirm_email: $("#q4938_q5"),
		terms: $("#q4938_q14_0"),
		delivery: $("input[name='q4938:q16']"),
		gift_aid: $("input[name='q4938:q22']"),

		initialize: function () {

			var self = Form_Validate_Checkout;

			if (!self.form.length || !self.firstname.length) {
				return false;
			}

			self.form.validate();
			self.firstname.rules("add", {
				required: true
			});
			self.surname.rules("add", {
				required: true
			});
			self.address.rules("add", {
				required: true
			});
			self.town.rules("add", {
				required: true
			});
			self.postcode.rules("add", {
				required: true
			});
			self.title.rules("add", {
				required: true
			});
			self.email.rules("add", {
				required: true,
				email: true
			});
			self.confirm_email.rules("add", {
				required: true,
				email: true,
				equalTo: self.email
			});
			self.terms.rules("add", {
				required: true
			});
			
			self.delivery.rules("add", {
				required: true
			});
			self.gift_aid.rules("add", {
				required: true
			});
		}
	};

	Form_Validate_Checkout.initialize();

	/* -----------------FORMS VALIDATION - FLASH CARD CHECKOUT PAGE --------------------- */

	var Form_Validate_Checkout_Flash = {

		form: $("#form-id-flash form"),
		firstname: $("#q8599_q2"),
		title: $("#q8599_q1"),
		surname: $("#q8599_q3"),
		address: $("#q8599_q7"),
		town: $("#q8599_q9"),
		postcode: $("#q8599_q11"),
		email: $("#q8599_q4"),
		confirm_email: $("#q8599_q5"),
		terms: $("#q8599_q14_0"),
		gift_aid: $("input[name='q8599:q22']"),
		gift_message: $("#q8599_q4"),
		recipient_email: $("#q8599_q25"),
		confirm_recipient: $("#q8599_q26"),

		initialize: function () {

			var self = Form_Validate_Checkout_Flash;

			if (!self.form.length || !self.firstname.length) {
				return false;
			}

			self.form.validate();
			self.firstname.rules("add", {
				required: true
			});
			self.surname.rules("add", {
				required: true
			});
			self.address.rules("add", {
				required: true
			});
			self.town.rules("add", {
				required: true
			});
			self.postcode.rules("add", {
				required: true
			});
			self.title.rules("add", {
				required: true
			});
			self.email.rules("add", {
				required: true,
				email: true
			});
			self.confirm_email.rules("add", {
				required: true,
				email: true,
				equalTo: self.email
			});
			self.terms.rules("add", {
				required: true
			});
			self.gift_aid.rules("add", {
				required: true
			});
			self.gift_message.rules("add", {
				required: true
			});
			self.recipient_email.rules("add", {
				required: true
			});
			self.confirm_recipient.rules("add", {
				required: true
			});
		}
	};

	Form_Validate_Checkout_Flash.initialize();

	/* -----------------FORMS VALIDATION - REGISTER PAGE --------------------- */

	var Form_Validate = {

		form: $("#page_account_manager_2395"),
		firstname: $("#user_0_247"),
		title: $("#metadata_field_select_851"),
		surname: $("#user_0_248"),
		address: $("#metadata_field_text_852_value"),
		town: $("#metadata_field_text_854_value"),
		postcode: $("#metadata_field_text_855_value"),
		username: $("#user_0_245"),
		password: $("#user_0_246_one"),
		confirm_password: $("#user_0_246_two"),
		email: $("#user_0_249"),

		initialize: function () {

			var self = Form_Validate;

			if (!self.form.length) {
				return false;
			}

			self.form.removeAttr("onsubmit");
			self.form.validate();
			self.firstname.rules("add", {
				required: true
			});
			self.surname.rules("add", {
				required: true
			});
			self.address.rules("add", {
				required: true
			});
			self.town.rules("add", {
				required: true
			});
			self.postcode.rules("add", {
				required: true
			});
			self.username.rules("add", {
				required: true
			});
			self.password.rules("add", {
				required: true,
				minlength: 6
			});
			self.confirm_password.rules("add", {
				required: true,
				minlength: 6,
				equalTo: self.password
			});
			self.title.rules("add", {
				required: true
			});
			self.email.rules("add", {
				required: true,
				email: true
			});

		}
	};

	Form_Validate.initialize();

	/* -----------------FORMS VALIDATION - EDIT USERS DETAILS --------------------- */

	var Form_Validate_Edit = {

		form: $("#main_form"),
		email: $("#user_2438_249"),
		firstname: $("#user_2438_247"),
		title: $("#metadata_field_select_851"),
		surname: $("#user_2438_248"),
		address: $("#metadata_field_text_852_value"),
		town: $("#metadata_field_text_854_value"),
		postcode: $("#metadata_field_text_855_value"),

		initialize: function () {

			var self = Form_Validate_Edit;

			if (!self.form.length) {
				return false;
			}

			self.form.removeAttr("onsubmit");
			self.form.validate();
			self.email.rules("add", {
				required: true,
				email: true
			});
			self.firstname.rules("add", {
				required: true
			});
			self.surname.rules("add", {
				required: true
			});
			self.title.rules("add", {
				required: true
			});
			self.address.rules("add", {
				required: true
			});
			self.town.rules("add", {
				required: true
			});
			self.postcode.rules("add", {
				required: true
			});

		}
	};

	Form_Validate_Edit.initialize();

	/* -----------------FORMS VALIDATION - CONTACT US FORM --------------------- */

	var Form_Validate_Contact = {

		form: $("#form_email_2332"),
		name: $("#q2332_q1"),
		message: $("#q2332_q6"),
		email: $("#q2332_q5"),

		initialize: function () {

			var self = Form_Validate_Contact;

			if (!self.form.length) {
				return false;
			}

			self.form.validate();
			self.name.rules("add", {
				required: true
			});
			self.message.rules("add", {
				required: true
			});
			self.email.rules("add", {
				required: true,
				email: true
			});

		}
	};

	Form_Validate_Contact.initialize();

	/* ------------ORDER INFORMATION - Alter Date Format -------------- */

	$(document).ready(function () {
		$(".order_date").each(function () {
			$(this).html($(this).html().slice(0, $(this).html().search("T")));
		});


	});

	/* ------------FLASH CARDS - Alter FlashVar at Runtime -------------- */

	$(".refresh_img").click(function (event) {
		$(".flash_preview").html("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0\" width=\"200\" height=\"150\" id=\"flashcard_object\" align=\"middle\"><embed src=\"http://www.ggparty.org/__data/assets/file/0006/8673/flashvar-example.swf\" quality=\"high\" bgcolor=\"#ffffff\" height=\"375\" width=\"500\" name=\"flashVar_AS2\" flashVars=\"myFlashVar=" + $("#q8599_q24").val() + "\" align=\"middle\" allowScriptAccess=\"sameDomain\" allowFullScreen=\"false\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" id=\"flashcard\" /></object>");

	});

})(jQuery);