
// sky background effect
var scrollSpeed = 90;
var current = 0;
var direction = 'h';
function bgscroll() {
    current -= 1;
    $('div.clouds').css("backgroundPosition", (direction == 'h') ? current + "px 0" : "0 " + current + "px");
    if (current < -5000) {
        clearInterval(interId);
    }
}
var interId = setInterval("bgscroll()", scrollSpeed);


$(document).ready(function () {
    // update and manage news headlines
    UpdateHeadlines(0);
    $('.headlinesNxt').live('click', function (e) {
        var pageIndex = $(this).parent().parent().find('li.idx').text();
        var newPageIdx = parseInt(pageIndex) + 1;
        UpdateHeadlines(newPageIdx);
    });
    $('.headlinesPrv').live('click', function (e) {
        var pageIndex = $(this).parent().parent().find('li.idx').text();
        var newPageIdx = parseInt(pageIndex) - 1;
        UpdateHeadlines(newPageIdx);
    });

    // menu effect
    $('.SubNav').mouseover(function () {
        $(this).find('q').css('border-top', '6px solid #068ACD');
    }).mouseleave(function () {
        $(this).find('q').css('border-top', '6px solid #fff');
    });

    // Member Selection Ini
    $('#mSelectIni dt').click(function () {
        $('#mSelectIni dd ul').toggle();
        $('#mSelectName dd ul').hide();
    });
    $('#mSelectIni dd ul li').click(function () {
        var val = $(this).find('a').text();
        var filter = $(this).parent().attr('data');
        $('#mSelectIni dt a').attr("name", val);
        $('#mSelectIni dt span').text(val);
        $('#mSelectIni dd ul').hide();

        $.ajax({
            type: "POST",
            url: "/Member/MembersByLetter/",
            data: "id=" + val + "&filter=" + filter,
            dataType: 'json',
            success: function (result) {
                if (result.Success) {
                    var members = "";
                    for (index in result.Entity) {
                        var member = result.Entity[index];
                        members += "<li><a name='" + member.Id + "'>" + member.Name + "</a></li>";
                    }
                }
                else {
                    headlines = "<li class='error'>Cannot Fetch the data at this time</li>";
                }
                $("#mSelectName dd ul").html(members);
            },
            error: function (req, status, error) {
                // TODO: (v3.0.17) Log error
            }
        });

        $('#mSelectName').addClass('enabled');
        $('#mSelectName').removeClass('disabled');
        updateName(0, 'Select name');
    });

    $('#mSelectName.enabled dt').live('click', function () {
        $('#mSelectName dd ul').toggle();
        $('#mSelectIni dd ul').hide();
    });
    $('#mSelectName dd ul li').live('click', function () {
        var key = $(this).find('a').attr("name");
        var val = $(this).find('a').text();
        updateName(key, val);
        $('#mSelectName dd ul').hide();
        $('#FormInvite input[type=submit]').removeAttr('disabled').removeClass('off').addClass('gs');
    });
    // Member Selection End

    // Forum Ini
    $('.dsh ul.subLst li').mouseover(function () { $(this).find('span.iArrowY').removeClass('iArrowY').addClass('iArrowG'); });
    $('.dsh ul.subLst li').mouseout(function () { $(this).find('span.iArrowG').removeClass('iArrowG').addClass('iArrowY'); });
    $('.dsh ul.subLst li').click(function () { window.location = $(this).find('a').attr("href"); });
    // Forum End

    // News Ini
    $('#secNews .annItem a').click(function () {
        $('.annCo').hide('fast');
        $(this).parent().parent().find('.annCo').toggle('fast');
    });
    // News End

    // Invitation Ini
    $('#cInvitation .newInv button').click(function () {
        var targetId = 0;
        var targetName = "";
    });
    // News End

    // check name availability ini
    $('a.nameChk').click(function () {
        NameCheck($("#Name").val());
    });
    // check name availability end

    // enable set avatar ini
    $("#Gmi input[name='gender']").change(function () {
        $("#Gmi input[name='genderCta']").removeClass("off").addClass("gs").removeAttr("disabled");
    });
    // enable set avatar end

    // share comment click event ini
    $("#cntShare span a").click(function () {
        $(this).parents("div.shareItem").find("ul").toggle('fast');
    });
    // share comment click event end

    // tooltip ini
    $(".qmrk, .qmrkHd, .Logout").tooltip();
    // tooltip end

    // mozilla fix for arrows ini
    if ($.browser.mozilla) {
        $('#RLBar .arrow').css('border-style', 'dashed');
    }
    // mozilla fix for arrows end
});

function updateName(key, val) {
	$('#mSelectName dt a').attr('name', key);
	$('#mSelectName dt span').text(val);
	$('#MemberSelInput').attr('value', key);
	$('#MemberSelName').attr('value', val);
}

function Profile(member) {
    return "<a href='MyProfile/Index/" + member.Id + "' class='memLnk'>" + member.Name + "</a>";
}
function ProfileList(member) {
    return "<li><span class='avatar avatarId" + member.AvatarId + "'></span>" + Profile(member) + "</li>";
}

function UpdateHeadlines(pageIndex) {
    $.ajax({
        type: "POST",
        url: "/Home/Headlines/" + pageIndex,
        dataType: 'json',
        success: function (result) {
            if (result.Success) {
                var headlines = "";
                for (index in result.Headlines.News) {
                    var headline = result.Headlines.News[index];
                    headlines += "<li>";
                    if (headline.IsRecent) { headlines += "<label class='isRecent'>New!</label>"; }
                    headlines += "<a href='/Home/Article/" + headline.Id + "'>" + headline.Title + "</a><i>" + headline.Subtitle + "</i>";
                    if (headline.HasComments) { headlines += "<span class='hasCom'></span>"; }
                    else { headlines += "<span class='hasNoCom'></span>"; }
                    headlines += "</li>";
                }
                headlines += "<li class='last'></li>";
                //var headlineNav = "";
                if (result.Headlines.HasNext || result.Headlines.HasPrevious) {
                    headlines += "<li class='newsNav'>";
                    if (result.Headlines.HasPrevious) headlines += "<a href='#' class='headlinesPrv'><b class='arrow left'></b> Prev</a>";
                    if (result.Headlines.HasNext) headlines += "<a href='#' class='headlinesNxt'>Next <b class='arrow right'></b></a>";
                    headlines += "</li>";
                }
                headlines += "<li class='hidden idx'>" + result.PageIndex + "</li>";

                //$("#dshNews .dshHead dd ul").html(headlineNav);
                //headlines += headlineNav;
            }
            else {
                headlines = "<li class='error'>Cannot Fetch News at this time</li>";
            }
            $(".headlines").html(headlines);
            $(".headlines li:odd").not(".newsNav, .last").css("background-color", "#FFEC8B");
            $(".headlines li:even").not(".newsNav, .last").css("background-color", "#FFFACD");
            $(".headlines li").not(".newsNav, .last").css("border-bottom", "1px dotted #eee");
        }
    });
}

function ManageMail(mailblock, action) {
    var id = parseInt(mailBlock.find('var').text());
    $.ajax({
        type: "POST",
        url: "/MyMail/" + action + "/" + id,
        dataType: 'json',
        success: function (result) {
            if (result.Success) {
                alert("success");
                //mailBlock.hide();
            }
            alert(result.Message);
            // show message box with error or success message
            // $("#mSelectName dd ul").html(members);
        },
        error: function (req, status, error) { }
    });
}

function NameCheck(name) {
    $.ajax({
        type: "POST",
        url: "/Member/IsNameValid/" + name,
        dataType: 'json',
        success: function (result) {
            var cls = "qmk";
            if (result.Entity) { cls = "chk"; }
            else { cls = "not"; }
            $(".nameChkResp").html("<span class='" + cls + "'></span> " + result.Message);
        },
        error: function (req, status, error) { }
    });
}

var aAsc = [];
function sortTableSent(tableId, nr) {
    aAsc[nr] = aAsc[nr] == 'asc' ? 'desc' : 'asc';
    $(tableId + '>tbody>tr').tsort('td:eq(' + nr + ')', { order: aAsc[nr] });
    resetClasses(tableId);
}

var bAsc = [];
function sortTableReceived(tableId, nr) {
    bAsc[nr] = bAsc[nr] == 'asc' ? 'desc' : 'asc';
    $(tableId + '>tbody>tr').tsort('td:eq(' + nr + ')', { order: bAsc[nr] });
    resetClasses(tableId);
}

function resetClasses(tableId) {
    $(tableId + ' tr').removeClass('evn').removeClass('odd');
    $(tableId + ' tr:odd').addClass('odd');
    $(tableId + ' tr:even').addClass('evn');
}



