$(document).ready(function(){
	function popup_creditcard(){
		window.open('','CC','scrollbars=no,status=yes,width=550,height=500');
	}

	//***************************
	// contact form 
	//***************************
	$("form#contact-form").validate({
		success: function(label) { 
		// inform user their input is valid
		label.html(" ").addClass("correct"); 
	 }
	});

	$("form#register-form input:first").focus();
	//$("form#login-form input:first").focus();
	$("form#member-edit input:first").focus();
	$("form#contact-form input:first").focus();
	$("form#order-form input:first").focus();

	// tell the validation plugin to check the following inputs
	// documentation: http://docs.jquery.com/Plugins/Validation

	//***************************
	// member registration validation rules
	//***************************
	$('form#register-form').validate({
	 rules: {
		Username: "required",
		Password1: "required",
		Password2: {required:true, equalTo: "#Password1"},
		FirstName: "required",
		Email: {required: true, email: true}
	 },
	 messages: {
		Password2: {equalTo: "Please make sure you match what you entered above"}
	 },
	 success: function(label) { 
		// inform user their input is valid
		label.html(" ").addClass("correct"); 
	 }
	});

	//***************************
	// login validation rules
	//***************************
	$('form#login-form').validate({
	 rules: {
		Username: "required",
		Password: "required"
	 }
	});

	//***************************
	// member edit details validation rules
	//***************************
	$('form#member-edit').validate({
	 rules: {
		Username: "required",
		FirstName: "required",
		Surname: "required",
		Password2: {equalTo: "#Password3"},
		Password3: {equalTo: "#Password2"},
		Email: {required: true, email: true}
	 },
	 messages: {
		Password2: {equalTo: "Please confirm your new password below"},
		Password3: {equalTo: "Please make sure you match what you entered above"}
	 },
	 success: function(label) { 
		// inform user their input is valid
		label.html(" ").addClass("correct"); 
	 }
	});

	//***************************
	// forgot password validation rules
	//***************************
	$('form#forgot-password-form').validate({
	 rules: {
		Username: "required",
		FirstName: "required",
		Email: {required:true, email:true}
	 },
	 success: function(label) { 
		// inform user their input is valid
		label.html(" ").addClass("correct"); 
	 }
	});

	//***************************
	// mailing list validation rules
	//***************************
	$('form#mailinglist-form').validate({
	 rules: {
		Field1: "required",
		Field2: "required",
		Email: {required:true, email:true},
    sCapText: {
      remote: {
        url: "captcha/remot_vatidation.asp",
        type: "post"
      }
    }
	 },
	 success: function(label) { 
		// inform user their input is valid
		label.html(" ").addClass("correct"); 
	 }
	});

	//***************************
	// checkout order form validation rules
	//***************************
	$('form#order-form').validate({
	 rules: {
		FirstName: "required",
		Surname: "required",
		Phone: {required:true},
		Email: {required:true,email:true},
		Address1: "required",
		Suburb: "required",
		Postcode: {required:true,digits:true},
		State: "required",
		Country: "required"
	 },
	 success: function(label) { 
		// inform user their input is valid
		label.html(" ").addClass("correct"); 
	 },
	 submitHandler: function(form){
		//show popup if the order form requires it
		if($("form#order-form").attr("target") == "CC" )
		{
			popup_creditcard();
		}
		form.submit();
	 }
	});

	//for the delivery form on the cart page
	$("form#delivery-selection #State").hide();
	CheckDeliveryCountry();

	function CheckDeliveryCountry (){
		if($("select#Country option:selected").val() == "Australia"){
			$("form#delivery-selection #State").show('slide');
		}else{
			$("form#delivery-selection #State").hide('slide');
		}
	}

  $('form#delivery-selection').validate({
    submitHandler: function(form){
      if($("select#Country option:selected").val() == "Australia")
      {
        if($("select#State").val() == "")
        {
          alert('Please select the state you wish to deliver to');
          $("select#State").focus;
        }else{
          form.submit();
        }
      }else{
        form.submit();
      }
    }
  });
	
	$("select#Country").change(function(){CheckDeliveryCountry()});


	//for add member details to the form
	$("input#add-to-form").click(function(){
		$("#FirstName").val($("#member-FirstName").val());
		$("#Surname").val($("#member-Surname").val());
		$("#Phone").val($("#member-Phone").val());
		$("#Fax").val($("#member-Fax").val());
		$("#Email").val($("#member-Email").val());
		$("#Address1").val($("#member-Address1").val());
		$("#Address2").val($("#member-Address2").val());
		$("#Suburb").val($("#member-Suburb").val());
		$("#Postcode").val($("#member-Postcode").val());

		if(!$("#State").attr("readonly"))
		{
			$("#State").val($("#member-State").val());
		}
		if(!$("#Country").attr("readonly"))
		{
			$("#Country").val($("#member-Country").val());
		}
	});
});

//adding colour and size to the wishlist form from buying form
function GrabColoursSizes(f)
{
	with(f)
	{
		var iItem = iProductID.value;

		if( $("form#buy" + iItem + " select[name='Colour']").val() != '' )
		{
			var iColour = $("form#buy" + iItem + " select[name='Colour']").val();
			$("form#wl" + iItem + " input[name='Colour']").val(iColour);
		}
		if( $("form#buy" + iItem + " select[name='Size']").val() != '' )
		{
			var iSize = $("form#buy" + iItem + " select[name='Size']").val();		
			$("form#wl" + iItem + " input[name='Size']").val(iSize);
		}
	}

	return true;
}