$(document).ready(function () {
    if ($('#membersAtoZ').length > 0) {
        LoadMembersAtoZ();
        HideRightColumn();
    }
    if ($('#membersAll').length > 0) {
        LoadAllMembersAtoZ();
        HideRightColumn();
    }
});

function LoadMembersAtoZ()
{
    $.ajax({
        type: "GET",
		cache: false,
        url: MEMBERS_FILE,
        dataType: "xml",
        success: function (xml) {
            FindAndDisplayMembers(xml, false, "membersAtoZ")
        }
    });
}

function LoadAllMembersAtoZ() {
    $.ajax({
        type: "GET",
		cache: false,
        url: MEMBERS_FILE,
        dataType: "xml",
        success: function (xml) {
            DisplayAllMembers(xml, true, "membersAll")
        }
    });
}

function memberSort(a, b) {
    return $(a).attr('ContactName') < $(b).attr('ContactName') ? -1 : $(a).attr('ContactName') == $(b).attr('ContactName') ? 0 : 1;
}

function FindAndDisplayMembers(xml, showInactive, target) {

    var sortedSet = $(xml).find('Member')
        .get();
        //.sort(memberSort);
		

    // Add chairman
    $('<h3>Chairman</h3>').appendTo('#' + target);
    $(sortedSet).each(function () {
        if ($(this).attr('Position') == "Chairman") {
            var memberName = $(this).attr('ContactName');
            var memberCompany = $(this).attr('CompanyName');
            $('<div style="text-align:center" class="member"><b>' + memberName + '</b> - ' + memberCompany + '</div>').appendTo('#' + target);
        }
    });

    // Add vice chairmen
    $('<h3>Vice-Chairmen</h3>').appendTo('#' + target);
    $(sortedSet).each(function () {
        if ($(this).attr('Position') == "Vice-Chairman") {
            var memberName = $(this).attr('ContactName');
            var memberCompany = $(this).attr('CompanyName');
            $('<div style="text-align:center" class="member"><b>' + memberName + '</b> - ' + memberCompany + '</div>').appendTo('#' + target);
        }
    });
	
	var membersOnly = $(sortedSet).filter( function (i) { 
		var status = $(this).attr('Status');
        var position = $(this).attr('Position');
        return (status == "Current" && position == "Member")
	});
	
    // Build the members table (two columns)
    $('<h3>Members</h3>').appendTo('#' + target);
    var membersTab = '<table id="MembersTab" cellspacing="0" cellpadding="0"><tbody><tr><td>';
    var currentMemberPos = 0;
	var columnTreshold = Math.ceil($(membersOnly).length / 2);
    $(membersOnly).each(function () {
        if (currentMemberPos == columnTreshold) membersTab += '</td><td>';
		var memberName = $(this).attr('ContactName');
		var memberCompany = $(this).attr('CompanyName');
		membersTab += '<div class="member"><b>' + memberName + '</b> - ' + memberCompany + '</div>';
        currentMemberPos++;
    });
    membersTab += '</td></tr></tbody></table>';
    $(membersTab).appendTo('#' + target);

    // Add Secretary General
    $('<h3>Secretary General</h3>').appendTo('#' + target);
    $(sortedSet).each(function () {
        if ($(this).attr('Position') == "Secretary General") {
            var memberName = $(this).attr('ContactName');
            var memberCompany = $(this).attr('CompanyName');
            $('<div style="text-align:center" class="member"><b>' + memberName + '</b> - ' + memberCompany + '</div>').appendTo('#' + target);
        }
    });

}

function DisplayAllMembers(xml, showInactive, target) {

    var sortedSet = $(xml).find('Member')
        .get();
        //.sort(memberSort);

    var membersTab = '<table id="MembersTab" cellspacing="0" cellpadding="0"><tbody>';
    var currentMemberPos = 0;
    $(sortedSet).each(function () {
        var mclass = (currentMemberPos % 2 == 0) ? "MemberAll" : "MemberAllAlt";

        var status = $(this).attr('Status');
        var position = $(this).attr('Position');
	
	if (position != "Secretary General")
	{
		var memberName = $(this).attr('ContactName');
		var memberCompany = $(this).attr('CompanyName');
		var yearIn = $(this).attr('YearIn');
		var yearOut = $(this).attr('YearOut') ? $(this).attr('YearOut') : "Ongoing";
		membersTab += '<tr><td class="' + mclass + '"><b>' + memberName + '</b> - ' + memberCompany + '</td>';
		membersTab += '<td class="' + mclass + '">' + yearIn + ' - ' + yearOut + '</td></tr>';
		currentMemberPos++;
	}
    });

    membersTab += '</tbody></table>';
    $(membersTab).appendTo('#' + target);
}
