//
// Searchfield class is based on a script from http://www.bartelme.at
// 

var Searchfield = Class.create();
Searchfield.prototype = {
	initialize: function() {
		//this.search = parentobj;
		this.search_field = $("s");
		this.default_value = "Search this site...";
		this.is_safari = ((parseInt(navigator.productSub)>=20020000)&&
										 (navigator.vendor.indexOf("Apple Computer")!=-1));
		if (this.is_safari) {
			Element.addClassName(this.search_field, "is-safari");
			this.replace();			
		} else {
			if (this.search_field.value == "") this.search_field.value = this.default_value;
		}
		Event.observe(this.search_field, "focus", this.focus.bindAsEventListener(this), false);
		Event.observe(this.search_field, "blur",	this.blur.bindAsEventListener(this),	false);
	},
	
	replace: function() {
		this.search_field.setAttribute('type', 'search');
		//this.search_field.setAttribute('autosave', 'at.bartelme.search');
		//this.search_field.setAttribute('results', '5');
		//this.search_field.setAttribute('placeholder', this.default_value);
	},
	
	focus: function() {
		if (this.search_field.value == this.default_value) {
			this.search_field.value = "";
			Element.addClassName(this.search_field, "focus");
		}
	},
	
	blur: function() {
		if (this.search_field.value == "") {
			//this.search.hideResult();
			if (this.is_safari) {
				this.search_field.value = "";				
			} else {
				this.search_field.value = this.default_value;
				Element.removeClassName(this.search_field, "focus");
			}
		}
	}
}


//
// Window load
//

Event.observe(window, "load", function() {
	
	// Wrap <h{2,4}> tags' content in a span so its border will stop at the content's end
	[$$("h3"), $$("h4")].flatten().each(function(elm) {
		Element.update(elm, elm.innerHTML.replace(/^(.*)$/, "<span>$1<\/span>"));
	});
	
	// Remove margin-bottom from #main's last P
	$("main") && Element.addClassName($A($("main").getElementsByTagName("p")).last(), "last");
	$("thumbnails") && Element.addClassName($A($("thumbnails").getElementsByTagName("li")).last(), "last");

	// Make search field for Safari
	new Searchfield();
});

