Event.observe(window, 'load', function() {
    $('searchField').observe('keyup', respondToChange);
    //$('searchField').observe('change', respondToChange);
});
var searching = false;

var domain = 'http://' + window.location.hostname + '/';

function hideSearchDiv() {
	$('searchDiv').style.visibility='hidden';
}

function redirectToClub(id) {
	new Ajax.Request(domain+'index.php?module=ajax',
	{
		method:'post',
		parameters: {'id':id, 'request': 'linkGolfclubId'},
		onSuccess: function(transport) {
			var golfclubUrl=transport.responseText;
			if(golfclubUrl!="failed") {
				window.location=golfclubUrl;
			} else {
				alert(golfclubUrl);
			}
		}
	});
}

function respondToChange(event) {
	var obj = $('searchField');
	var query = obj.value;
	
	/*
	 * as soon as query length is greater than 4 start searching.
	 */
	if(query.length>=3&&searching==false) {
		searching=true;
		//event.stop();
		//obj.value="";
		new Ajax.Request(domain+'index.php?module=ajax',
		{
			method:'post',
			parameters: {'query': query, 'request': 'golfclubsearch'},
			onSuccess: function(transport) {
				$('searchDiv').style.visibility='visible';
				$('searchDiv').innerHTML='';
				var xml = transport.responseXML;
				//alert(xml);
				var club = xml.getElementsByTagName('club');
				var club_length = club.length;
				//alert(marker_length);
				//console.log(xml);
				//alert(xml.getElementsByTagName('marker'));
				var content = '';
				for (var i=0;i<club_length;i++) {
					var name = club[i].getAttribute('name');
					var id = club[i].getAttribute('id');
					content+='<a href="javascript:redirectToClub(\''+id+'\');" alt="" class="searchlink" style="width:100%;">'+name+'</a><br />';
				}
				content+='<a href="javascript:hideSearchDiv()" alt="" class="searchclose" style="width:100%;">[x] schließen</a><br />';
				$('searchDiv').innerHTML=content;
				searching=false;
			}
		});
	} else {
		$('searchDiv').style.visibility='hidden';
	}
	//var element = event.element();
	//element.addClassName('typing'); // this adds classname for input
}