﻿/// <reference path="jquery-1.7.1-vsdoc.js" />
var CharityChooser_SearchDialog;

$(function () {
    $('.CharityChooser_tabs').tabs({
        fx: { opacity: 'toggle' }
    });
    CharityChooser_FillCharityListBox();
});

function Charity(charityId, charityName, categoryId) {
    this.CharityId = charityId;
    this.CharityName = charityName;
    this.CategoryId = categoryId;
}

function CharityChooser_GetCharity(charityId) {
    var charity;
    for (var i = 0; i < CharityChooser_Charities.length; i++) {
        if (CharityChooser_Charities[i].CharityId == charityId) {
            charity = CharityChooser_Charities[i];
        }
    }
    if (!charity) {
        var reply = sendJsonData('GetCharity', JSON.stringify({ charityId: charityId }));
        reply = JSON.parse(reply);
        if (reply.ErrorMessage) {
            alert(reply.ErrorMessage);
        }
        else {
            charity = new Charity(reply.CharityId, reply.CharityName, reply.CategoryId);
        }
    }
    return charity;
}

function CharityChooser_FillCharityListBox(categoryId) {
    //Create a distinct list - there can be one charity with 2 listings.
    var distinctList = [];
    for (var i = 0; i < CharityChooser_Charities.length; i++) {
        singleCharity = CharityChooser_Charities[i];
        //only add to list if the category matches (or none specified)
        if ((!categoryId) || categoryId == 0 || singleCharity.CategoryId == categoryId) {
            if (!CharityChooser_CharityIsInList(distinctList, singleCharity)) {
                distinctList[distinctList.length] = singleCharity;
            }
        }
    }
    var optionsHtml = '';
    for (var i = 0; i < distinctList.length; i++) {
        optionsHtml += '<option value="' + distinctList[i].CharityId + '">' + distinctList[i].CharityName + '</option>';
    }
    $('.CharityChooser_ddlSelectedCharityId').html(optionsHtml);
}

function CharityChooser_CharityIsInList(list, charity) {
    for (var i = 0; i < list.length; i++) {
        if (list[i].CharityName == charity.CharityName) {
            return true;
        }
    }
    return false;
}

function CharityChooser_ViewCharity(charId) {
    var charity = CharityChooser_GetCharity(charId ? charId : $('.CharityChooser_ddlSelectedCharityId').val());
    if (charity) {
        showPage('Charity Information - ' + charity.CharityName, null, 900, 550, "/popups/charity_detail.aspx?char_id=" + charity.CharityId);
    }
    else {
        alert('Please choose a Charity from the drop-down list before clicking "View".');
    }
}
