function beautify_search_inputs() {
	isSafari = (navigator.userAgent.indexOf("Safari") > 0);
	elements = document.getElementsByClassName('search', null, 'input');
	for (var i = 0; i < elements.length; i++) {
		if (isSafari) { 
			make_search_input(elements[i]);
		} else { 
			fake_search_input(elements[i]);
		}
	}
}

function make_search_input(element) {
	element.type = 'search';
	element.setAttribute('placeholder', element.value);
	element.setAttribute('autosave', 'irishchurches.org');
	element.setAttribute('results', '5');
	element.setStyle('width:200px; margin-bottom:4px;');
}

function fake_search_input(element) {
	Event.observe(element, 'click', function() { if (element.value == 'Search') element.value = '' });
	Event.observe(element, 'focus', function() { if (!element.parentNode.hasClassName('search-active')) element.parentNode.addClassName('search-active') });
	Event.observe(element, 'blur',  function() { if (element.parentNode.hasClassName('search-active')) element.parentNode.removeClassName('search-active') });		
	Event.observe(element, 'change',  function() { 
		searchRight = $$('.search-right')[0];
		if (element.value == 'Search') {
			if (searchRight.hasClassName('hasContent')) searchRight.removeClassName('hasContent');
			Event.stopObserving(searchRight, 'click');
		}
		else {
			if (!(searchRight.hasClassName('hasContent'))) {
				searchRight.addClassName('hasContent');
				Event.observe(searchRight, 'click', function() {
					element.value = '';
					Form.Element.focus(element);
				});
			}
		}
		});

	container = document.createElement('div');
	container.className = 'search-container';
	container.style.width = element.clientWidth + 'px';
	left = document.createElement('div');
	left.className = 'search-left';
	right = document.createElement('div');
	right.className = 'search-right';

	element.parentNode.insertBefore(container, element);
	element.parentNode.removeChild(element);
	container.appendChild(left);
	container.appendChild(right);
	container.appendChild(element);
}

Event.observe(window, 'load', beautify_search_inputs, false);