﻿/// <reference path="../../Core/Javascript/jQueryIntellisense.js"/>

// Initialize on document ready
$(document).ready(function () {

    var $tabStripLinks = $("div#PageTabstrip a");
    $tabStripLinks.each(function () {
        var $link = $(this);
        var tabName = $link.attr("href").toLowerCase();
        var currentLocation = window.location.href.toLowerCase();
        // Replace the tab name in the current location with the target tab name
        // e.g. /en/awards/award_oldtab/1234/foo_foo_foo -> /en/awards/award_newtab/1234/foo_foo_foo 
        var fullHref = currentLocation.replace(/(^.+?groups.*group)_?(\w+?)?\/(.*)$/i, "$1_{0}/$3");
        fullHref = String.format(fullHref, tabName);
        fullHref = fullHref.replace("_\/", "/");
        $link.attr("href", fullHref);
        // Check if this is the current page
        if (currentLocation == fullHref) $link.addClass("On")
    });

    // Update links to group tabs to reference individual tab page
    $("a[href^='#Tabs=']").each(function () {
        var $link = $(this);
        var linkHref = $link.attr('href');
        linkHref = linkHref.replace(/(.*)?#Tabs=(.*)/i, "$2");
        var currentLocation = window.location.href.toLowerCase();
        var fullHref = currentLocation.replace(/(^.+?groups.*group)_?(\w+?)?\/(.*)$/i, "$1_{0}/$3");
        fullHref = String.format(fullHref, linkHref);
        fullHref = fullHref
                        .replace("_\/", "/")
                        .replace("group_Overview", "group");
        $link.attr("href", fullHref);
    });


    $("a.JoinGroupButton").bind("click", function (e) {
        $.ajax({
            url: window.location.href,
            type: "POST",
            data: {
                containerId: "groupPage",
                action: "joinGroup"
            },
            success: function (msg) {
                if (msg.length > 0) {
                    window.location = msg;
                } else {
                    Relational.Standard.Core.updateStatus('warning', msg)
                    Relational.Standard.Core.hideProgress();
                };
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                Relational.Standard.Core.updateStatus('warning', errorThrown + ' ' + textStatus)
                Relational.Standard.Core.hideProgress();
            }
        });
        e.preventDefault();
    });

    $("a.LeaveGroupButton").bind("click", function (e) {
        if (confirm('Are you sure you want to leave this group? ')) {
            $.ajax({
                url: window.location.href,
                type: "POST",
                data: {
                    containerId: "groupPage",
                    action: "leaveGroup"
                },
                success: function (msg) {
                    if (msg.length > 0) {
                        window.location = msg;
                    } else {
                        Relational.Standard.Core.updateStatus('warning', msg)
                        Relational.Standard.Core.hideProgress();
                    };
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    Relational.Standard.Core.updateStatus('warning', errorThrown + ' ' + textStatus)
                    Relational.Standard.Core.hideProgress();
                }
            });
        }
        e.preventDefault();
    });

    $("a#JoinGroupWithApprovalButton").bind("click", function (e) {
        var $message = $("input.ApprovalMessage");
        var message = $message.val();
        $.ajax({
            url: window.location.href,
            type: "POST",
            data: {
                containerId: "groupPage",
                action: "requestinvite",
                message: message
            },
            success: function (msg) {
                if (msg == "True") {
                    $("div#SendResultsPanel").show();
                    $("div#RequestFormPanel").hide();
                    Relational.Standard.Core.hideProgress();
                } else {
                    Relational.Standard.Core.updateStatus('warning', msg)
                    Relational.Standard.Core.hideProgress();
                };
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                Relational.Standard.Core.updateStatus('warning', errorThrown + ' ' + textStatus)
                Relational.Standard.Core.hideProgress();
            }
        });
        e.preventDefault();
    });

});



