

$(document).ready(function () {
			
	//$('.photoContainer').toggle();
	
	// button mappings
	$('#buttonShowAll').click(function() {$('.photoContainer').show();});
	$('#buttonHideAll').click(function() {$('.photoContainer').hide();});
	$('#buttonSearchClear').click(removeFilter());
	$('#buttonSearchFilter').click(FilterDataOnKeyStroke());
	
	// load instructions
	$('#Instructions').load('resources/instructions.txt');
});


// A formatting function called form the main html page that strips out 
// all semicolons from the Spry Dataset and replaces it with a break tag. 
// This improves readability. 
function FormatFeatures (region, lookupFunc) {return lookupFunc("{Features}").replace(/\;/g, '<br/>');}




function FilterDataOnKeyStroke()
{
	// grab search text
	var filterByFeature = document.getElementById("filterByFeature");
	
	// if null text field, reset filter
	if (filterByFeature.value == '') {
		removeFilter();
		return;
	}

	// Regex stuff
	var regExpStr = filterByFeature.value;
	var regExp = new RegExp(regExpStr, "i");
	
	// Spry based filter
	var filterFunc = function(ds, row, rowNumber)
	{
		var str = row["Features"];
		if (str && str.search(regExp) != -1)
			return row;
		return null;
	};

	rooms.filter(filterFunc);
}

function FilterDataByBuilding()
{
	// grab search text
	var filterByBuilding = document.getElementById("filterByBuilding");
	
	// if null text field, reset filter
	if (filterByBuilding.value == 'All') {
		removeFilter();
		return;
	}

	// Spry based filter
	var filterFunc = function(ds, row, rowNumber)
	{
		var str = row["Building"];
		if (str == filterByBuilding.value)
			return row;
		return null;
	};

	rooms.filter(filterFunc);
}


function removeFilter() {
	$('#filterByFeature').val('');
	rooms.filter(null);	
	$('#filterByFeature').focus();
}



