$(document).ready(function() {
    mWebsite.init();

    $.MT.general.pageInit();

});

  $.MT.pages = {

      optIn : function(){
      if ($("#join-again-form")[0]) {
                 $("#join-button").click(function(e) {

                     e.preventDefault();
                     $("#join-again-form").submit();
                     $("body").block({message: "<div class='generic-busy'>"+ resources.waitRetrieveInformation +"</div>"});
                 });
      }
      if ($("#view-my-profile-form")[0]) {
                 $("#view-button").click(function(e) {

                     e.preventDefault();
                     $("#view-my-profile-form").submit();
                     $("body").block({message: "<div class='generic-busy'>"+ resources.waitRetrieveInformation +"</div>"});

                 });
      }
    },

      mwsPreview: function() {

          $(".apply-button").click(function(e) {
              e.preventDefault();
              $("#changeState").submit();
          });

          $("#selectStatus").change(function(e) {
              e.preventDefault();
              $("#formChangeStatus").submit();
          });

          $("#selectLanguage").change(function(e) {
              e.preventDefault();
              $("#formChangeStatus").submit();
          });

          $("#close").click(function(e) {
              e.preventDefault();
              window.close();
          });

          // Redefining existing buttons for preview mode

          $("#join-button").unbind();
          $("#join-button").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });

          $("#view-button").unbind();
          $("#view-button").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });

          $("#change-password-save-button").unbind();
          $("#change-password-save-button").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });

          $("#sign-out-link").unbind();
          $("#sign-out-link").click(function(e) {
              e.preventDefault();
              alert("Sign out disabled in preview");
              return false;
          });

          $("#cancel-membership-link").unbind();
          $("#cancel-membership-link").click(function(e) {
              e.preventDefault();
              alert("Cancel Membership disabled in preview");
              return false;
          });
          $("#activate-membership").unbind();
          $("#activate-membership").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });
          $("#do-not-activate-membership").unbind();
          $("#do-not-activate-membership").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });
          $("#sign-in-button").unbind();
          $("#sign-in-button").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });
          $("#password-reminder-button").unbind();
          $("#password-reminder-button").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });
          $("#cancel-membership").unbind();
          $("#cancel-membership").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });
          $("#do-not-cancel-membership").unbind();
          $("#do-not-cancel-membership").click(function(e) {
              e.preventDefault();
              alert("Button disabled in preview");
              return false;
          });
          $("#my-profile-save-button-top").unbind();
          $("#my-profile-save-button-top").click(function(e) {
              e.preventDefault();
              if( mWebsite.validate() == "pass"){
                 alert("Button disabled in preview");
              }
              return false;
          });
          $("#my-profile-save-button-bottom").unbind();
          $("#my-profile-save-button-bottom").click(function(e) {
              e.preventDefault();
              if( mWebsite.validate() == "pass"){
                 alert("Button disabled in preview");
              }
              return false;
          });

      }
  };

var mWebsite = {

    init: function() {

        $().ajaxStop($("body").unblock());

        $(".date-picker").datepicker({
            yearRange: "-110:+20",
            firstDay: 7,
            changeFirstDay: false,
            changeMonth: true,
            changeYear: true            
        });


        if ($("#my-profile-edit-form")[0]) {
            $("#my-profile-save-button-top").click(function(e) {
                e.preventDefault();
                mWebsite.validateFields("#my-profile-edit-form");
            });

            $("#my-profile-save-button-bottom").click(function(e) {
                e.preventDefault();
                mWebsite.validateFields("#my-profile-edit-form");
            });
        }

        if ($("#activate-membership-link")[0]) {
            $("#activate-membership-link").click(function(e) {
                e.preventDefault();
                $("#opt-in-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitRetrieveInformation +"</div>"});

            });
        }

        if ($("#sign-out-link")[0]) {
            $("#sign-out-link").click(function(e) {
                e.preventDefault();

                $("#sign-out-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+resources.waitSignOut+"</div>"});
            });
        }

        if ($("#cancel-membership-link")[0]) {
            $("#cancel-membership-link").click(function(e) {
                e.preventDefault();
                $("#opt-out-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitRetrieveInformation +"</div>"});
            });
        }

        if ($("#my-profile-cancel-membership-button")[0]) {
            $("#my-profile-cancel-membership-button").click(function(e) {
                e.preventDefault();
                $("#cancel-membership-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitUpdating +"</div>"});
            });
        }

        if ($("#my-profile-remain-member-button")[0]) {
            $("#my-profile-remain-member-button").click(function(e) {
                e.preventDefault();
                $("#remain-member-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitRetrieveInformation +"</div>"});
            });
        }


        if ($("#opt-in-form")[0]) {
            $("#activate-membership").click(function(e) {
                e.preventDefault();
                $("#action").val("activate-membership");
                $("#opt-in-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitUpdating +"</div>"});
            });
            $("#do-not-activate-membership").click(function(e) {
                e.preventDefault();

                $("#action").val("do-not-activate-membership");

                $("#opt-in-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitUpdating +"</div>"});
            });
        }

        if ($("#sign-on-form")[0]) {
            $("#sign-in-button").click(function(e) {
                e.preventDefault();
                $("#sign-on-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+resources.waitRetrieveInformation+"</div>"});
            });
        }

        if ($("#forgot-password-form")[0]) {
            $("#password-reminder-button").click(function(e) {
                e.preventDefault();

                $("#forgot-password-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+resources.waitRetrieveInformation+"</div>"});
            });
        }

        if ($("#sign-up-now-link")[0]) {
            $("#sign-up-now-link").click(function(e) {
                e.preventDefault();
                alert("Sign-up Now link clicked!");
            });
        }

        if ($("#opt-out-form")[0]) {
            $("#cancel-membership").click(function(e) {
                e.preventDefault();

                $("#action").val("cancel-membership");
                $("#opt-out-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitUpdating +"</div>"});
            });
            $("#do-not-cancel-membership").click(function(e) {
                e.preventDefault();

                $("#action").val("do-not-cancel-membership");
                $("#opt-out-form").submit();
                $("body").block({message: "<div class='generic-busy'>"+ resources.waitUpdating +"</div>"});
            });
        }

        if ($("#change-password-link")[0]) {

            $("#change-password-link").click(function(e) {
                e.preventDefault();
                $("#password-change-box").show();
                $("#change-password-link-box").hide();

                if ($("#password-success-message")) {
                     $("#password-success-message").remove();
                }
                if ($("#password-fail-message")) {
                     $("#password-fail-message").remove();
                }
            });

            $("#change-password-cancel-button").click(function(e) {
                e.preventDefault();
                $("#password-change-box").css("display", "none");
                $("#change-password-link-box").css("display", "block");
            });

            $("#change-password-save-button").click(function(e) {
                e.preventDefault();

                if ($("#password-fail-message")) {
                       $("#password-fail-message").remove();
                }
                if ($("#password-success-message")) {
                       $("#password-success-message").remove();
                }

                $("body").block({message: "<div class='generic-busy'>"+resources.waitSaving+"</div>"});

                mWebsite.ajaxSubmit({ form: "#change-password-form", type: "post", dataType:"json", success: function(data) {
                    
                    $("body").unblock()();
                    if(data.status == "success"){

                        $("#password-change-box").after("<div id='password-success-message' class='password-success'>"+resources.statusPasswordChangeSuccess+"</div>");
                        $("#password-change-box").hide();
                        $("#change-password-link-box").show();
                        $("form").each(function(){
                            $("input[name=tokenId]").val(data.tokenId);
                        });

                    }else{

                        if(data.status == "invalid"){
                            $("#password-change-box").before("<div id='password-fail-message' class='password-fail'>"+resources.errorPasswordNotIdentical+"</div>");
                        }else{
                            $("#password-change-box").before("<div id='password-fail-message' class='password-fail'>" + data.status +  "</div>");
                        }

                    }

                }});

            });
        }

},

ajaxSubmit: function(x){
    var settings = {
        dataType: "html",
        type: "GET",
        cache: "false"
    };
    $.extend(settings, x);

    $(settings.form).ajaxSubmit({
        type: settings.type,
        dataType: settings.dataType,
        success: function(data) {
            settings.success(data);
        },
        error: function(){
            alert(resources.errorUnknown);

        }});
},

validateFields: function(form) {

    if( mWebsite.validate() == "pass"){
        $(form).submit();       
        $("body").block({message: "<div class='generic-busy'>"+resources.waitProcessingRequest+"</div>"});
    } else {
        $(".error-message-main").removeAttr("style");
        $("#changeProfileConfirm").attr("style", "display:none");
    }
},

validate :  function (){

        var vStatus = "pass";

        $(".required").each(function(){

                if(!$(this).hasClass("attribute-hidden")){

                var input  = $(this).find("input");
                var select = $(this).find("select");

                //alert(input.val());


                if($(this).hasClass("multiple-choice-field")){

                        if ($(this).find("input:checked").length < 2) {

                            if ($(this).find(".error-message").size() < 1) {
                                $(this).find(".label-box").after("<div class='error-message'>" + resources.errorEnterRequiredInformation + "</div>");
                            }
                            vStatus = "fail";
                            return vStatus;
                        }
                } else {

                    if( input.val() ==  "" ){

                        if($(this).find(".error-message").size() < 1){
                            $(this).find(".label-box").after("<div class='error-message'>"+resources.errorEnterRequiredInformation+"</div>");
                        }
                        vStatus = "fail";
                        return vStatus;
                    }



                    if( select.val() ==  "" ){
                        if($(this).find(".error-message").size() < 1){
                            $(this).find(".label-box").after("<div class='error-message'>"+resources.errorEnterRequiredInformation+"</div>");
                        }
                        vStatus = "fail";
                        return vStatus;
                    }
                }
                    if($(this).find(".error-message").size() > 0){
                        $(this).find(".error-message").remove();
                        vStatus = "pass";
                    }
                } else {
                    //alert("Hidden attribute in form");
                }

        });

        return vStatus;

    },

showEditErrors: function() {
    $(".required").addClass("needs-correction");
    $(".required .error-message").show();
},

hideEditErrors: function() {
    $(".error-message").hide();
    $(".confirm").hide();
    $(".required").removeClass("needs-correction");
}
};



