﻿/// <reference path="jquery-1.3.2-vsdoc.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="forms.js" /> 
//http://malsup.com/jquery/form/#api
//http://docs.jquery.com/Plugins/Validation/validate#options
var timeOut;
var CurrentCategoryGuid;
$(document).ready(function () {
    $('#HeaderContainer h3.logo').click(function () {
        window.location = "/default.aspx";
    });
    $('#CategoryMenuLinks').after("<div id='CategoryMenuBarBottom'></div>");
    $('.button').prepend("<div class='buttonend'></div>");
    $('.buttonSm').prepend("<div class='buttonend'></div>");
    //$('.newBook').prepend("<span id='newBookIcon'></span>");
    $('.buttonDisabled').prepend("<div class='buttonend'></div>");
    $('#txtSearch').keyup(function (e) {
        $('#hidden_BookId').val("");
        OnEnterF(e, GoSearch);
    });
    SetSearchBarValues();
    SetAutoCompleteForSearchBar();
    SetCategriesMenuOnClick();
    $('#link_SignOut').click(function () {
        Master_SignOut(false);
    });
    $('#SearchMenuLink').click(function () {
        if ($("#SearchDropDown").is(':hidden')) {
            $("#SearchDropDown").slideDown("fast");
            $("#txtSearch").val("");
        }
        else
            $("#SearchDropDown").slideUp("fast");

    });
    $('#btn_CloseSearch').click(function () {
        $("#SearchDropDown").slideUp("fast");
    });

    $('#close').click(function () {
        $('#Master_LoginPwd, #Master_SignUpMail, #Master_LoginEMail').val("");
    });

//    $(".WhitePaperListing").hover(function () {
//        $(".WP_Logo_Img").vAlign();
//    });


});

function SetAutoCompleteForSearchBar() {
    $("#txtSearch").autocomplete(urlPrefix + "handlers/AutocompleteBooksData.ashx",
                    { extraParams: {
                        c: function() { return $('#label_SearchBar select').val(); },
                        t: function() { return $('input[name=rdoSearchType]:checked').val(); }
                    },
                        width: "430px",
                        cacheLength: 0,
                        formatItem: formatItem,
                        formatResult: formatResult,
                        selectFirst: false
                    }).result(function(event, data, formatted) {
                        var array = formatted.toString().split("^");
                        $('#hidden_BookId').val(array[1]);
                    }).bind("keydown", SelectCurrent_Autocomplete);
                    
                    
}
function SelectCurrent_Autocomplete(event) {
    var KEY = {
        UP: 38,
        DOWN: 40,
        PAGEUP: 33,
        PAGEDOWN: 34
    };
    switch (event.keyCode) {
        case KEY.UP:
        case KEY.DOWN:
        case KEY.PAGEUP:
        case KEY.PAGEDOWN:
            //event.preventDefault();
            $("#txtSearch").attr("value", $(".ac_over").text());
            break;
    }
}

function formatItem(row) {
    var array = row.toString().split("^");
    var item = array[0];
    if (item.length > 65)
        item = item.substring(0, 65) + "...";
    return item;

}
function formatResult(row) {
    var array = row.toString().split("^");
        var item = array[0];
    if (item.length > 65)
        item = item.substring(0, 65);
    return item;
}

function GoSearch() {
    if ($("#hidden_BookId").val() != "") {
        $.goTo(urlPrefix + "BookDetail.aspx?id=" + $("#hidden_BookId").val());
    }
    else {
        $.goTo(urlPrefix + "Browse.aspx?cid=" + $("#label_SearchBar select").val()
                          + "&type=" + $.URLEncode($('input[name=rdoSearchType]:checked').val())
                          + "&text=" + $.URLEncode($('#txtSearch').val()));
    }
}
function SetCategriesMenuOnClick() {
    $(".cat_1_level a.level_1_link").click(function() {
        var bStateValue = $(this).parent().hasClass('expanded');
        if (!bStateValue) {
            $(".cat_1_level.expanded").find('div.subMenu').slideToggle("normal");
            $(".cat_1_level.expanded").addClass('collapsed');
            $(".cat_1_level.expanded").removeClass('expanded');
            FillChildCategories($(this));
        }
        else {
            $(this).parent().find('div.subMenu').slideToggle("normal");
            $(this).parent().removeClass('expanded');
            $(this).parent().addClass('collapsed');
        }
        return false;
    });
}
function FillChildCategories(obj) {
    if ($(obj).parent().find("ul li").length == 0) {
        timeOut = setTimeout("$('#img_CLoading_" + $(obj).attr("value") + "').show();", 500);
        $.wsAjax({
            url: (urlPrefix + "services/BookService.asmx/GetCategoriesChilds"),
            data: function() {
                return {
                    CategoryId: $(obj).attr("value")
                }
            },
            success: function(result) {
            clearTimeout(timeOut);
                $('#img_CLoading_' + $(obj).attr("value")).hide();                
                if (!result || result == "") {
                    //Error
                    alert("Uh oh, there was a problem.  " + result);
                }
                else {
                    $(obj).parent().find("ul").html(result);
                    $(obj).parent().find('div.subMenu').slideToggle("normal");
                    $(obj).parent().addClass('expanded');
                    $(obj).parent().removeClass('collapsed');
                }
            }
        });
    }
    else {
        $(obj).parent().find('div.subMenu').slideToggle("normal");
        $(obj).parent().addClass('expanded');
        $(obj).parent().removeClass('collapsed');
    }
}

function SetSearchBarValues() {
    var cid = $.url.param("cid");
    if (cid != "")
        $('#label_SearchBar select').val(cid)
    var text = $.url.param("text");
    if (text != "")
        $('#txtSearch').val(text)
    var type = $.url.param("type");
    if (type != "")
        $('input[value=' + type + ']').attr("checked", "checked");
}
function NotUser() {
    Master_SignOut(true);
}
function Master_SignOut(GoToLogin) {
        $.ajax({
            url: ("/services/UserService.asmx/Logout"),
            success: function() {
                if (GoToLogin)
                    $.goTo("/login.aspx");
                else
                    window.location.reload(true);
            }
        });
}

function OnEnter(e, buttonJQueryID) {    
    var keycode = null;
    if (!e) e = window.event
    if (e.keyCode) keycode = e.keyCode;
    else if (e.which) keycode = e.which;
    if (keycode == 13) {
        if (e.cancelBubble != null)
            e.cancelBubble = true;
        if (e.stopPropagation)
            e.stopPropagation();
        if (e.preventDefault)
            e.preventDefault();
        if (window.event)
            e.returnValue = false;
        if (e.cancel != null)
            e.cancel = true;
        e.returnValue = false;
        e.cancel = true;
        $(buttonJQueryID).click();
    }
}
function OnEnterF(e, f) {
    var keycode = null;
    if (!e) e = window.event
    if (e.keyCode) keycode = e.keyCode;
    else if (e.which) keycode = e.which;
    if (keycode == 13) {
        if (e.cancelBubble != null)
            e.cancelBubble = true;
        if (e.stopPropagation)
            e.stopPropagation();
        if (e.preventDefault)
            e.preventDefault();
        if (window.event)
            e.returnValue = false;
        if (e.cancel != null)
            e.cancel = true;
        e.returnValue = false;
        e.cancel = true;
        f();
    }
}
function SendActivationEmail() {
    $("#img_LoadSendActivation").show();
    $.wsAjax({
        url: (urlPrefix + "services/UserService.asmx/SendConfirmation"),
        data: function() {
            return {
                email: $.url.param("e")
            }
        },
        success: function(result) {
            $.goTo("/confirm-resent.aspx");
            $("#img_LoadSendActivation").hide();
        }
    });
}


function ShowChancesBarWarning() {
    $("#ChancesBar_TicketsMessage").hide();
    $("#ChancesBar_WarningMessage").show();
}

function HideChancesBarWarning() {
    $("#ChancesBar_TicketsMessage").show();
    $("#ChancesBar_WarningMessage").hide();
}
function CreateThemedRecaptcha(id) {
    Recaptcha.create("6LfhoggAAAAAAOstDudMt0SawJtnvb6Hg5wL6qdU",
        id, {
            theme: "red"
        });
}
function ConfigureFaceBookLike() {
    window.fbAsyncInit = function () {
        FB.init({ appId: '147351318650513', status: true, cookie: true,
            xfbml: true
        });
    };
    (function () {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
    } ());
}

function OnFBLogin(bISFromLogin) {
    var rememberMe = $("#rememberme").is(":checked");
    if (bISFromLogin)
        rememberMe = $("#signInRememberMe").is(":checked");

    $.wsAjax({
        url: ("/services/UserService.asmx/LoginFBConnect"),
        data: function () {
            return {
                RememberMe: rememberMe
            }
        },
        success: function (result) {
            if (result.Status == 1) {
                var sReturnUrl = $.url.param("ReturnUrl");
                if (sReturnUrl != "")
                    location.href = sReturnUrl;
                else
                    location.reload();
            }
            else {
                alert(result.Error);
            }
        }
    });
}

