// global variables to hold the timer on the search box (otherwise we cant reset the search)
var t = 0;
var buttonelement;


var searchrules = {
	
	'#searchtext' : function(el){
		el.onkeyup = function(){
			
			//doSearch(el);
			return false;
				
		}
	},
	'#predefined li a' : function(el){
	el.onclick= function() {
		//predefined(el.id);
		//return false;
		el.href = el.href + '&js=1';
	}
	}
	,
	
	'#searchbutton' : function(el){
		//Element.hide(el);
	}
	,
	
	'.ttheader' : function(el){
	el.onclick= function() {
		var dostuff = true;
		
		Element.toggle(el.parentNode.lastChild);
	
		document.getElementsByClassName('toggleimageon', el).each( function(toggleimage){
		toggleimage.className = 'toggleimageoff';	
		dostuff = false;
	});
	
	if (dostuff)
	{
	document.getElementsByClassName('toggleimageoff', el).each( function(toggleimage){
			toggleimage.className = 'toggleimageon';	
	
	
	});
	}
		
	}
	el.onmouseover= function() {
		document.body.style.cursor = 'pointer';
		
	}
	el.onmouseout= function() {
		document.body.style.cursor = 'default';
		
	}

	},
	
	'#unhidebutton' : function(el){
	el.onclick= function() {
	
	var searchresults = $('searchresults');
	
	// this is tricky, uses prototype's each function to do iteration
	document.getElementsByClassName('innerinfo',searchresults).each( function(record){
			Element.show(record);		
	});
		
		document.getElementsByClassName('toggleimageon', searchresults).each( function(toggleimage){
			toggleimage.className = 'toggleimageoff';	
		});
		
		Element.hide(el);
		return false;
	}
	}
	
	,
	'#trains' : function(el){
	el.onchange= function() {
		doSearch($('searchtext'));
		
	}
	}
	,
		
	'#searchform form' : function(el){
	el.onsubmit = function()
	{
		var hiddenEl = document.createElement('input');
		hiddenEl.setAttribute('type','hidden');
		hiddenEl.setAttribute('name','js');
		hiddenEl.setAttribute('value','1');
		el.appendChild(hiddenEl);
		
		
	}
	}
	
	,
		
	'#homesearch' : function(el){
	el.onsubmit = function()
	{
		var hiddenEl = document.createElement('input');
		hiddenEl.setAttribute('type','hidden');
		hiddenEl.setAttribute('name','js');
		hiddenEl.setAttribute('value','1');
		el.appendChild(hiddenEl);
		
		
	}
	}
	
	,
	
	'.toggleimagehide' : function(el){
	el.className = 'toggleimageon';
	
	}
	,
	'.toggleimageshow' : function(el){
	el.className = 'toggleimageoff';
	
	}
	
	
};

function doSearch(el)
{
	if (el.value.length > 3 || (el.value.length > 1 && el.value.substring(1) > -1))
	{
		clearTimeout(t);
		t=setTimeout("search('" + el.value +"')", 500)
	}

}


function reRegister()
{
	faderesponse();
	Behaviour.apply();
	
	
}


function faderesponse()
{
	if (document.getElementById('response'))
	new Effect.Fade('response', {duration: 0.5, delay: 4.0}); 
}



function search(querystring, type) {
	var url = 'ttsearch.php';
	var pars = 'action=search&searchtext=' + querystring + '&js=1';
	
	if ($('changeonly').checked)
	pars += '&changeonly=C';
	
	var myAjax = new Ajax.Updater( 'searchresults', url, { method: 'get', parameters: pars, onComplete: reRegister }); 

}


function predefined(type) {
	var url = 'ttsearch.php';
	var pars = 'pred=' + type + '&js=1';
	
	var myAjax = new Ajax.Updater( 'searchresults', url, { method: 'get', parameters: pars, onComplete: reRegister }); 

}



Behaviour.register(searchrules);

	
			
//we define two arrays, containing our toggles and divs.
	
