﻿OnlineBrochure = function() {

    var ProfileManager = "/_assets/dynamic/Modules/ProfileTools/WS/ProfileManager.asmx";
    var BrochureName;

    var InitUI = function(brochureName) {
        BrochureName = brochureName;

        if ($.cookie('brochureViewDontAskAgain') == 'true') {
            DisplayBrochure(false);
        }
        else {
            $("#MyItinerary").hide();

            $.getJSON(
		                $.CreateDotNetRemoteMethodCall(
		                    ProfileManager,
		                    "IsSignedIn"
		                ),
		                null,
		                IsSignedIn
		            );
        }
    };


    var IsSignedIn = function(response) {
        if (response.Success) {
            $.getJSON(
		                $.CreateDotNetRemoteMethodCall(
		                    ProfileManager,
		                    "IsUserLoggedInToACompleteProfile"
		                ),
		                null,
		                IsUserLoggedInToACompleteProfile
		            );
        }
        else {
            ShowSignInOrRegister(false);
        }
    };

    var IsUserLoggedInToACompleteProfile = function(response) {
        if (response.Success) {
            DisplayBrochure(true);
        }
        else {
            ShowSignInOrRegister(true);

        }

    };

    var DisplayBrochure = function(logView) {
        $("#yudu-brochure").show();
        $("#yudu-brochure-image").hide();

        if (logView) {
            $.getJSON(
                    $.CreateDotNetRemoteMethodCall(
	                    ProfileManager,
	                    "ViewBrochure",
	                    BrochureName
	                ),
	                null,
	                null
	                );
        }

    }

    var ShowSignInOrRegister = function(IsRegistering) {
        $.getJSON(
                $.CreateDotNetRemoteMethodCall(
	                ProfileManager,
	                "ShowSignInOrRegister",
	                IsRegistering
	            ),
	            null,
	            DoShowSignInOrRegister
	            );
    };

    var CloseSignInRegister = function() {
        DisplayBrochure(true);
        $("#signInOrRegister").removeClass("show").addClass("hide");
        // Show search form selects again (for !$%#ing IE6)
        $("#SearchForm select").removeClass("hide");

        if ((jQuery.browser.msie) && (jQuery.browser.version.indexOf("6.") != -1)) {
            $("select").css("visibility", "visible");
        }

        $.cookie('brochureViewDontAskAgain', 'true', { expires: 1, path: '/' });
    };

    var DoShowSignInOrRegister = function(response) {
        // Inject html for sign in window
        $("#signInOrRegisterContainer").html(response.Html);

        // Show sign in window
        $("#signInOrRegister").removeClass("hide").addClass("show");

        // Decide which screen to display i.e sign in or register
        if (response.Properties.IsRegistering) {
            $("#signInContainer").removeClass("show").addClass("hide");
            $("#registerContainer").removeClass("hide").addClass("show");
            $("#register_displayname").focus();
        }
        else {
            // Focus on the email address field
            $("#signin_emailaddress").focus();
        }

        SignInSignOutRegister.BindEnterKeyEvents();

        $("#MyItinerarySignIn .close").unbind("click").click(function() {
            CloseSignInRegister();
        });

        $("#noThanksNotNow").unbind("click").click(function() {
            CloseSignInRegister();
        });

        $("#doSignIn").unbind("click").click(function() {

            var height = $("#signInContainer .box").height();
            $("#signInContainer .box").removeClass("show").addClass("hide");

            $("#signInContainer .loading").removeClass("hide").addClass("show")
            if (height != null) {
                $("#signInContainer .loading").height(height);
            }

            $("#signInContainer .error p").text("");
            $.getJSON(
		        $.CreateDotNetRemoteMethodCall(
		            ProfileManager,
		            "DoSignIn",
		            $("#signin_emailaddress").val(),
		            $("#signin_password").val()
		        ),
		        null,
		        DoSignIn
		    );
        });

        SignInSignOutRegister.BindClickEvents();
    };

    var DoSignIn = function(response) {
        if (response.Success == true) {
            $.getJSON(
		            $.CreateDotNetRemoteMethodCall(
		                ProfileManager,
		                "IsUserLoggedInToACompleteProfile"
		            ),
		            null,
		            IsUserLoggedInToACompleteProfile
		            );
        }
        else {
            // Sign in failed so show inline error
            $("#signInContainer .loading").removeClass("show").addClass("hide");
            $("#signInContainer .box").removeClass("hide").addClass("show");

            $("#signInContainer .error p").text("Invalid username or password.")
            $("#signInContainer .error").removeClass("hide").addClass("show");
        }
    };

    return {
        InitUI: InitUI
    };

} ();
