// set the search field with instruction to type search location

if (!Modernizr.input['placeholder']) {
	window.addEvent('domready', function() {
		$$('input[type=text][placeholder]').each(function(el) {
			applyPromptText(el.getParent('form'), el, el.get('placeholder'));
		});
	});
}

function applyPromptText(formId, fieldId, promptText) {
	var addPrompt = function() {
		var field = $(fieldId);
		if (field.value == '' || field.value == promptText) {
			field.set('value', promptText);
			field.addClass('prompt_text');
		}
	}
	var removePrompt = function() {
		var field = $(fieldId);
		if (field.value == promptText) {
			field.set('value', '');
			field.removeClass('prompt_text');
		}
	}

	if ($(formId) && $(fieldId)) {
		addPrompt();
		$(fieldId).addEvent('focus', removePrompt);
		$(fieldId).addEvent('blur', addPrompt);
		$(formId).addEvent('submit', removePrompt);
	}
}


/* tabbed navigation for maps */
var tabbedDivs = function () {
	
    $$('.map-box').each(function(panels) {
	    panels.getElements('.tabs a').addEvent('click', function(event) {
    		var id = event.target.href.replace(/.*#/, '');
			panels.getElements('.tabs a').removeClass('active').addClass('tab');
			event.target.removeClass('tab').addClass('active');

    		panels.getElements('.map').setStyle('display', 'none');
    		$(id).setStyle('display', '');
			event.stop();
    	});
        panels.getElements('.map').setStyle('display', 'none');
    	panels.getElements('.map')[0].setStyle('display', '');		
    });
}



// checkboxes 

var setupSearchOptions = function() {
	$$('.options a').addEvent('click', function(event) {
		var span = this.getElement('span');
		if (span.hasClass('checked')) {
			span.addClass('unchecked').removeClass('checked');
			span.set('text', 'checked');
		} else {
			span.addClass('checked').removeClass('unchecked');
			span.set('text', 'unchecked');
		}
		event.stop();
	});
}


// Search results Ajax loading (partially fake for mockup)
var refreshSearchResults = function() {
	// Find the current list of contents
	var container = $('search-results-container');

	// Create the loading message
	var loadingMessage = new Element('div', {'class': 'loading'});
	loadingMessage.adopt(
		new Element('img', {'src': "/media/img/loading.gif", alt: "Loading"}),
		new Element('p', {'text': "Loading ..."})
	);

	// Ensure the loading message is the same size as the container
	var size = container.getSize();
	loadingMessage.style.width = size.x + 'px';
	loadingMessage.style.height = size.y + 'px';
	
	// Replace the current list with the loading message (hang on to the list)
	var ol = container.getElement('ol.search-results');
	loadingMessage.replaces(ol);

	// Update the results count to show a loading message
	$('search-results-count').set('text', "Loading...");

	// Randomly reorder the ol for better faking a new list for the mockup
	var items = ol.getElements('li');
	var reorderedItems = [];
	while(items.length > 0) {
		var item = items.getRandom();
		items.erase(item);
		reorderedItems.push(item);
	}
	ol.adopt(reorderedItems);
	
	// Wait for half a second (for the mockup, faking the ajax load time)
	injectNewSearchResults.delay(500, null, ol);
}

var injectNewSearchResults = function(results) {
	// 'results' here is the original ol, for the sake of the mockup
	var container = $('search-results-container');

	// Update the results count to show the new  (fake) result count
	$('search-results-count').set('text', "Found " + Math.round(Math.random() * 1000) + " results");
	
	// Replace the loading message with the list of properties again
	results.replaces(container.getElement('div.loading'));
}

/*
window.addEvent('domready', function() {
    tabbedDivs();
	
});
*/

