﻿var _selOrgDdnName = "slctOrg";
var _selStateDdnName = "slctState";
//var _selOrgField = "orgReceiver";
var _selOrgField = "Cart Option Textbox 4681";
var _pathToFiles = "/Images/personalizedspiritcups/DynamicDropDown/";


var _teams = new Array();
var _cities = new Array();
var _states = new Array();
var _readyA = false;
var _readyB = false;
var _readyCheckInter;

function StartDDNS() {

    _readyCheckInter = setInterval(function() {
        if (_readyA && _readyB) StartItUp();
    }, 50);

    $('#' + _selOrgDdnName).attr({ disabled: 'disabled' });
    AppendOption(_selOrgDdnName, 'Loading Organizations... ', '');

    $('#' + _selStateDdnName).attr({ disabled: 'disabled' });
    AppendOption(_selStateDdnName, 'Loading Sates... ', '');

    $.ajax({
        type: "GET",
        url: _pathToFiles + "Orgs.xml?rnd=1",
        dataType: "xml",
        success: function(xml) {

            $(xml).find('Row').each(function() {

                var s = $(this).find('Data');
                var name = $(s[0]).text();
                var city = $(s[1]).text();
                var state = $(s[2]).text();

                var ix = _teams.length;

                _teams[ix] = name;
                _cities[ix] = city;
                _states[ix] = state;

            });


            $('#' + _selOrgDdnName).bind('change keyup keydown', function() {
                var organization = $('#' + _selOrgDdnName + ' option:selected').attr('value');
                SaveOrg(organization);
            });

            _readyA = true;
        }
    });

    $.ajax({
        type: "GET",
        url: _pathToFiles + "StateList.xml",
        dataType: "xml",
        success: function(xml) {

            $(xml).find('Row').each(function() {

                var s = $(this).find('Data');
                var code = $(s[0]).text();
                var name = $(s[1]).text();

                AppendOption(_selStateDdnName, name, code);

            });

            $('#' + _selStateDdnName).bind('change keyup keydown', function() {
                var stateCode = $('#' + _selStateDdnName + ' option:selected').attr('value');
                var stateName = $('#' + _selStateDdnName + ' option:selected').text();
                LookUp(stateCode, stateName);
            });

            _readyB = true;

        }
    });
};

function LookUp(searchState, stateName) {
    searchState = searchState.replace(' ', '');

    if (searchState == "") {
        if (stateName == "") {
            $('#' + _selStateDdnName).attr({ selectedIndex: 0 });
        }
        BlockOrgs();
        return;
    }

    var thereIs = false;

    $('#' + _selOrgDdnName).empty();
    for (var n = 0; n < _states.length; n++) {
        if (_states[n] == searchState) {
            AppendOption(_selOrgDdnName, _cities[n] + ' - ' + _teams[n], _teams[n]);
            thereIs = true;
        }
    }
    

    if (!thereIs) {
        $('#' + _selOrgDdnName).attr({ disabled: 'disabled' });
        AppendOption(_selOrgDdnName, 'No Team found in ' + stateName, '');
    } else {
        $('#' + _selOrgDdnName).attr({ disabled: '' });

        PrependOption(_selOrgDdnName, '', '');
        PrependOption(_selOrgDdnName, '[ Select an Organization ]', '');

        $('#' + _selOrgDdnName).attr({ selectedIndex: 0 });
    }

    SaveOrg('');

}

function AppendOption(obj, name, value) {
    $('#' + obj).append('<option value="' + value + '">' + name + '</option>');
}

function PrependOption(obj, name, value) {
    $('#' + obj).prepend('<option value="' + value + '">' + name + '</option>');
}

function StartItUp() {
    $('#' + _selStateDdnName).attr({ disabled: '' });
    clearInterval(_readyCheckInter);

    PrependOption(_selStateDdnName, '', '');
    PrependOption(_selStateDdnName, '[ Select a State ]', '');

    var o = $('#' + _selStateDdnName + ' option');
    $(o[2]).remove();

    BlockOrgs();
}

function SaveOrg(orgName) {
    if (orgName != "") {
        orgName = $('#' + _selStateDdnName + ' option:selected').attr('value') + " - " + orgName;
		orgName = orgName.replace(",",";");
    } else {
        if ($('#' + _selOrgDdnName).attr('selectedIndex') == 1) {
            $('#' + _selOrgDdnName).attr({ selectedIndex: 0 });
        }
    }
    document.getElementById(_selOrgField).value = orgName;
}

function BlockOrgs() {
    $('#' + _selOrgDdnName).attr({ disabled: 'disabled' });
    $('#' + _selOrgDdnName).empty();
    AppendOption(_selOrgDdnName, 'Please select a State from the Left.', '');
    SaveOrg('');
}