var data = new Array();
var index = 0;

// new Array(tableID, headerID, 24-Hour ATM, Night Deposit, Safe-Deposit Boxes, Self-Service Coin Machines)
// [0] - the id for this location's table
// [1] - the id for this location's <h3> header (city)
// [2] - (true/false) whether this location has a 24-Hour ATM
// [3] - (true/false) whether this location has Night Deposit
// [4] - (true/false) whether this location has Safe-Deposit Boxes
// [5] - (true/false) whether this location has Self-Service Coin Machines

// Amherst
data[index++] = new Array('amherst_1', 'amherst', true, true, false, false);
data[index++] = new Array('amherst_2', 'amherst', true, false, false, false);
 
// Chicopee
data[index++] = new Array('chicopee_1', 'chicopee', true, true, true, true);
data[index++] = new Array('chicopee_2', 'chicopee', true, true, true, true);
 
//East Longmeadow, MA
data[index++] = new Array('east_longmeadow_1', 'east_longmeadow', true, true, true, true);
 
//Easthampton, MA
data[index++] = new Array('easthampton_1', 'easthampton', false, false, false, false);

//Feeding Hills, MA
data[index++] = new Array('feeding_1', 'feeding', true, false, false, false);
 
//Granby, MA 
data[index++] = new Array('granby_1', 'granby', true, false, false, false);
 
//Hadley, MA
data[index++] = new Array('hadley_1', 'hadley', false, true, false, false);
data[index++] = new Array('hadley_2', 'hadley', true, true, true, true);
 
//Holyoke, MA
data[index++] = new Array('holyoke_1', 'holyoke', true, true, true, true);
data[index++] = new Array('holyoke_2', 'holyoke', true, true, false, false);
data[index++] = new Array('holyoke_3', 'holyoke', true, true, false, false);
data[index++] = new Array('holyoke_4', 'holyoke', false, false, false, false);
data[index++] = new Array('holyoke_5', 'holyoke', true, false, false, false);
data[index++] = new Array('holyoke_6', 'holyoke', false, false, false, false);
data[index++] = new Array('holyoke_7', 'holyoke', true, false, false, false);
data[index++] = new Array('holyoke_8', 'holyoke', false, false, false, false);
data[index++] = new Array('holyoke_9', 'holyoke', false, false, false, false);

//Longmeadow, MA
data[index++] = new Array('longmeadow_1', 'longmeadow', true, false, true, false);

//Northampton, MA
data[index++] = new Array('northampton_1', 'northampton', true, true, false, false);

//South Hadley, MA
data[index++] = new Array('south_hadley_1', 'south_hadley', true, true, true, false);
data[index++] = new Array('south_hadley_2', 'south_hadley', true, true, true, false);
data[index++] = new Array('south_hadley_3', 'south_hadley', true, false, false, false);

//Springfield, MA
data[index++] = new Array('springfield_1', 'springfield', true, true, true, false);
data[index++] = new Array('springfield_2', 'springfield', false, false, false, false);
data[index++] = new Array('springfield_3', 'springfield', true, false, false, false);
data[index++] = new Array('springfield_4', 'springfield', true, true, true, true);
data[index++] = new Array('springfield_5', 'springfield', true, true, true, true);
  
//Westfield, MA
data[index++] = new Array('westfield_1', 'westfield', true, true, true, true);

//West Springfield, MA
data[index++] = new Array('west_springfield_1', 'west_springfield', true, true, true, true);


/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  Critical Functions Below -- Do Not Edit
/////////////////////////////////////////////////////////////////////////////////////////////////////////////

// stuff inside here will run when the DOM is ready
// onload replacement
$(function(){
	processBranchSearchURL()
});

function getSelectIndex(selectBox, value)
{
    for (var i = 0; i < selectBox.length; i++) { if (selectBox.options[i].value == value) return i; }
    return (-1);
}

function getURLValue(url, name)
{
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( url );
    if( results == null )
        return "";
    else
        return results[1].replace(/%20/, " ");
}

function processBranchSearchURL()
{
    var url = document.location.href;
	if (url.lastIndexOf('#') == url.length-1) url = url.substr(0, url.length-1);
    var loc = document.getElementById('location');
    var fea = document.getElementById('feature');

    if (url.indexOf('param1') > -1)
    {
        loc.selectedIndex = getSelectIndex(loc, getURLValue(url, 'param1'));
    }
	if (url.indexOf('param2') > -1)
    {
        fea.selectedIndex = getSelectIndex(fea, getURLValue(url, 'param2'));
    }
    branchSearch(document.getElementById('location').value, document.getElementById('feature').value);
}

function branchSearch(location, feature) {

    // hide everything
    for (i=0; i<this.index; i++) {
        $("#" + data[i][0]).hide();
        $("#" + data[i][1]).hide();
    }
    
    // feature search
    for (i=0; i<this.index; i++) {
        if ((data[i][1] == location) || (location == "all")) {
            if (feature == "all") {
                $("#" + data[i][0]).show();
                $("#" + data[i][1]).show();
            } else if (feature == "24-Hour ATM") {
                if (data[i][2] == true) {
                    $("#" + data[i][0]).show();
                    $("#" + data[i][1]).show();
                }
            } else if (feature == "Night Deposit") {
                if (data[i][3] == true) {
                    $("#" + data[i][0]).show();
                    $("#" + data[i][1]).show();
                }
            } else if (feature == "Safe-Deposit Boxes") {
                if (data[i][4] == true) {
                    $("#" + data[i][0]).show();
                    $("#" + data[i][1]).show();
                }
            } else if (feature == "Self-Service Coin Machines") {
                if (data[i][5] == true) {
                    $("#" + data[i][0]).show();
                    $("#" + data[i][1]).show();
                }
            }
        }
    }
}

