function catch_enter(e, callback) {
	callback = callback==undefined ? "" : callback;
	var c = window.event ? e.keyCode : e.which;
	if (c == 13) {
		if (typeof callback == 'function') callback();
		return false;
	}
	else
		return true;
}


var _search_empty_text = "Search";// customized in PageLayout

$(document).ready(function(){
	// informational text for top search field
	var _search_empty_class = "empty";
	// directly calling focus & blur scrolls page up til topnav in view, so..
	var _search_onfocus = function(){
		if ($(this).hasClass(_search_empty_class))
			$(this).val("").removeClass(_search_empty_class);
	};
	var _search_onblur = function(){
		if ($(this).val().match(/^ *$/) && !$(this).hasClass("locked"))
			$(this).val(_search_empty_text).addClass(_search_empty_class);
	};
	$("#topnav .search input[name=kw]").each(_search_onblur)
	.focus(_search_onfocus).blur(_search_onblur);

	// start searches on enter press
	$("input.searchinput").keypress(function(e){catch_enter(e, searchLoc)});

	$(".rating-container").rater_associate();
});

// interactive rater
$.fn.rater_associate = function(){
	$(this).find(".interactive-rating .rater").click(function(){
		var mapid = $(this).parent(".rating-widget").attr("_mapid");
		var rating = $(this).text();
		var container = $(this).parent(".rating-container");
		var post_to = "/ratings.php?action=write&id="+mapid+"&rating="+rating;
		$(".rating-container").addClass('sending-rating');
		// dreamhost 503s POST requests from firefox here, hence GET
		$.ajax({ type: 'GET', cache: false, url: post_to,
			success: function(html){
				$(".rating-container").html('<div class="rating-caption">Rating</div>'+html); // was: Map rating
				$(".rating-container").removeClass('sending-rating').rater_associate();
			},
			error: function(r, status, e) {
				$(".rating-container").removeClass('sending-rating');
			}
		});
	});
}


$.ajaxSetup({cache:false});// never cache ajax calls

