﻿var currentView;
var fpValidator;

$(function() {
    var msg = [];
    msg.push('<div class="bizloop-popup" style="display: none;">');
    msg.push('<div class="words-popup">');
    msg.push('<h1>Validated Account</h1>');
    msg.push('<p>You have now validated your account. Please login.</p>');
    msg.push('</div>');
    msg.push('<p class="submit-popup"><input type="button" onclick="$.unblockUI();return false;" value="OK" class="icon" /></p>');
    msg.push('</div>');

    if (validatingAccount) {
        $.blockUI({ message: $(msg.join('')), css: { width: '300px'} });
    }


    $(".signUpButton").bind("click", function() {

        $("#container").hide();
        $("#tmpContainer").load(resolveUrl("~/Public/LightPage.aspx?page=Registration"), function() {
            $("#tmpContainer").show();        
        });
    });

    //register.init('signUpButton');
    var $div = $('.tour-main');
    var tourUrl = resolveUrl("~/Tours/AboutBizloop.aspx");
    $div.load(tourUrl);
});

function sendNewPassword() {
    $("#forgottenPasswordDialog .message").hide();

    if ( fpValidator.form() )
    {
        $("#forgottenPasswordDialog").showWaitingDialog();
        $('#forgottenPasswordDialog>form').submit();
        
//        var username = $('.EmailTextBox').val();
//        if ( username != null && username.length > 0 )
//        {
//            $("#forgottenPassword").hide();
//            $("#fpWorking").show();
//            $.ajax({
//                type: "POST",
//                contentType: 'application/json; charset=utf-8',
//                dataType: 'json',
//                url: resolveUrl("~/ClientScripts/UserService.asmx/SendNewPassword"),
//                data: '{ "username": "' + username + '" }',
//                error: function(xhr, desc, exceptionobj) {                
//                    var x = getJSONValue(xhr.responseText);
//                    $("#fpErrorOccured").html(x.Message);
//                    $("#fpErrorOccured").show();

//                    $("#fpWorking").hide();
//                    $("#forgottenPassword").show();                    
//                }
//                , success: function(data, textStatus) {
//                    $("#fpEmailSpan").html(username);
//                    $("#fpPasswordSent").show();
//                    $('.EmailTextBox').val("");
//                    
//                    $("#fpWorking").hide();
//                    $("#forgottenPassword").show();
//                }
//            });
//        }
//        else
//        {
//            $('#fpNoEmailSpecified').show();        
//        }
    }
    else
    {
    }

}

/*
function showChangeSettings() {
    var $div = $('.tour-main');
    var tourUrl = resolveUrl("~/Tours/ChangeSettings/ChangeSettings.aspx");

    $div.load(tourUrl);
}

function showGetStarted() {
    var $div = $('.tour-main');
    var tourUrl = resolveUrl("~/Tours/GettingStarted/GettingStarted.aspx");

    $div.load(tourUrl);
}

function showUsingTasks() {
    var $div = $('.tour-main');
    var tourUrl = resolveUrl("~/Tours/UsingTasks/UsingTasks.aspx");

    $div.load(tourUrl);
}

function showUsingForum() {
    var $div = $('.tour-main');
    var tourUrl = resolveUrl("~/Tours/UsingForum/UsingForum.aspx");

    $div.load(tourUrl);
}

function showUsingCalendar() {
    var $div = $('.tour-main');
    var tourUrl = resolveUrl("~/Tours/UsingCalendar/UsingCalendar.aspx");

    $div.load(tourUrl);
}

function exitTour() {
    var $tourDiv = $('#whitebackground');
    var $tocDiv = $('#toc');
    var $sideDiv = $('#sidebar');
    var $quoteDiv = $('#qoute');
    $tocDiv.show();
    $sideDiv.show();
    $quoteDiv.show();
    $tourDiv.hide();
}

function showTakeTour() {
    var $tourDiv = $('#whitebackground');
    var $tocDiv = $('#toc');
    var $sideDiv = $('#sidebar');
    var $quoteDiv = $('#qoute');
    $tocDiv.hide();
    $sideDiv.hide();
    $tourDiv.show();
    $quoteDiv.hide();
}

function showAboutBizloop() {
    var $div = $('.tour-main');
    var tourUrl = resolveUrl("~/Tours/AboutBizloop.aspx");

    $div.load(tourUrl);
}
*/

function showRegistration()
{
//    $("#tmpContainer").loadAndSlide(resolveUrl("~/Public/LightPage.aspx?page=Register"), function() {
//        
//    });
}

function openTerms()
{    
//    dialogScrollPos = $(window).scrollTop();

    var tmp = $("<div></div>");
    $(tmp).load(resolveUrl("~/Public/TermsAndConditions.bzls"), function() 
    {
        $.showDialog(tmp);

//        $("#terms").mousemove(function(event){
//            scrollWithMouse(event, "#terms" );
//        });
        
//        $("body").css("overflow", "hidden");
//        $.blockUI( { message : $(".terms-contain"), 
//            overlayCSS:  { 
//                backgroundColor: 'transparent', 
//                opacity:         1.0 
//            },
//            centerX: true, // <-- only effects element blocking (page block controlled via css above) 
//            centerY: true             
//         } );
//        $(".terms-contain").center();
    });
}


function initAboutLinks()
{
    $(".about-bizloop-link").unbind("click").bind('click', function() { $("#subContent > div :first").loadAndSlide(resolveUrl("~/Public/LightPage.aspx?page=About/Main")); return false; } );
    $(".about-tasks-link").unbind("click").bind('click', function() { $("#subContent > div :first").loadAndSlide(resolveUrl("~/Public/LightPage.aspx?page=About/Tasks")); return false; } );
    $(".about-forum-link").unbind("click").bind('click', function() { $("#subContent > div :first").loadAndSlide(resolveUrl("~/Public/LightPage.aspx?page=About/Forum")); return false; } );
    $(".about-calendar-link").unbind("click").bind('click', function() { $("#subContent > div :first").loadAndSlide(resolveUrl("~/Public/LightPage.aspx?page=About/Calendar")); return false; });
    $(".signUpButton").unbind("click").bind('click', function() { showRegister(); return false; });
}

$.fn.loadAndSlide = function(url, callback) {
    unbindButtons();
    
    var cont = this;

    $(cont).hide("slide", { 'direction': 'up' }, 500, function() {
        $(cont).load(url, function() {
            $(cont).show("slide", { 'direction': 'up' }, 500, function() {
                initAboutLinks();
                if (callback != null) {
                    callback();
                }
            });
        });
    });
}

function unbindButtons() {
    $(".about-bizloop-link").unbind("click").bind('click', function() { return false; });
    $(".about-tasks-link").unbind("click").bind('click', function() { return false; });
    $(".about-forum-link").unbind("click").bind('click', function() { return false; });
    $(".about-calendar-link").unbind("click").bind('click', function() { return false; });
    $(".signUpButton").unbind("click").bind('click', function() { return false; });

}

$.fn.crossFadeTo = function(destination, callback)
{
    unbindButtons();

    var cont = this;

    cont.fadeOut(500, function() {
        destination.fadeIn(500, function() {
            initAboutLinks();
            if (callback != null) {
                callback();
            }
        });
    });
}

$.fn.fadeAndLoadTo = function(url, destination, callback) {
    unbindButtons();

    var cont = this;
    destination.load(url, function() {
        cont.fadeOut(500, function() {
            destination.fadeIn(500, function() {
                initAboutLinks();
                if (callback != null) {
                    callback();
                }
            });
        });
    });
}

//$.fn.fadeAndAppendTo = function(url, destination, callback) {
//    unbindButtons();

//    var cont = this;
//    destination.loadAndAppend(url, true, function(c) {
//        cont.fadeOut(500, function() {
//            c.fadeIn(500, function() {
//                initAboutLinks();
//                if (callback != null) {
//                    callback();
//                }
//            });
//        });
//    });
//}

$.fn.setSelectedApplicationLink = function()
{
    $("#firstPageIcons a").removeClass("selected");
    this.addClass("selected");
    return this;
}

function showRegister()
{
    $("body").css("overflow", "hidden");
    $("#wrapper").css("height", "2000px");
    $("#container").fadeAndLoadTo(resolveUrl("~/Public/LightPage.aspx?page=Registration"), $("#tmpContainer"), function() {
        $("body").css("overflow", "auto");
        $("#wrapper").css("height", "auto");        
    });
}

function hideRegister()
{
    $("body").css("overflow", "hidden");
    $("#wrapper").css("height", "2000px");
    $("#tmpContainer").crossFadeTo($("#container"), function() {
        $("body").css("overflow", "auto");
        $("#wrapper").css("height", "auto");        
    });
}


function returnFromForgottenPassword()
{
    $('#forgottenPasswordContainer').fadeOut(1000, function() {
//        $('#forgottenPasswordDialog').remove();
//        $("#forgottenPasswordDialog .message").hide();
//        $('#forgottenPasswordDialog input[type=text]').val("");
        $('#loginContainer').fadeIn(1000);
    });    
}

function showForgottenPassword() {

    $("#loginContainer").fadeAndLoadTo(resolveSectionUrl("/Public/ForgottenPassword"), $("#forgottenPasswordContainer"), function() {
    });


//    $('#loginDialog').fadeOut(1000, function() {
//        $('#forgottenPasswordDialog').fadeIn("slow");
//    });          
//    $('#forgottenPasswordDialog .MsgLabel').html("");
}



function initForgottenPassword()
{
    fpValidator = $("#forgottenPasswordDialog form").validate(
    {
        errorClass: "validatorError error horizontalPadding",
        onfocusout: false,
        onclick: false,
        onkeyup: false,
        focusInvalid: false,
        focusCleanup: false,

        rules: {
            Email: {
                required: true,
                email: true
            }
        },
        messages: {
            Email: {
                required: function() { $("#forgottenPasswordDialog .no-email-specified").show(); },
                email: function() { $("#forgottenPasswordDialog .invalid-email").show() }
            }
        }
    });
        
}

