function backToTop() {
    var x1 = x2 = x3 = 0;
    var y1 = y2 = y3 = 0;

    if (document.documentElement) {
        x1 = document.documentElement.scrollLeft || 0;
        y1 = document.documentElement.scrollTop || 0;
    }

    if (document.body) {
        x2 = document.body.scrollLeft || 0;
        y2 = document.body.scrollTop || 0;
    }

    x3 = window.scrollX || 0;
    y3 = window.scrollY || 0;

    var x = Math.max(x1, Math.max(x2, x3));
    var y = Math.max(y1, Math.max(y2, y3));

    window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

    if (x > 0 || y > 0) {
        window.setTimeout("backToTop()", 25);
    }
}


var loadHandle = {
	onCreate: function(){
		Element.show('loader');
	},

	onComplete: function() {

		if(Ajax.activeRequestCount == 0){
			Element.hide('loader');
		}
	}
};

function bookmarksite(title,url)
{
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	}
	else if(document.all)// ie
		window.external.AddFavorite(url, title);
}

/* Search */
var sugList;
var sugSelected = -1;
var key;

function checkSearch()
{
	if($('q').value.length == 0)
	{
		return false;
	}
	else if(sugSelected != -1)
	{
		document.location = $(sugList[sugSelected]).getAttribute('href');
		return false;
	}
	else
	{
		return true;
	}
}

function cleanSearch(el)
{
	if(el.value == 'Stad of Land') el.value = '';
}

function setKey(e)
{
	if(window.event) // IE
		key = e.keyCode
	else if(e.which) // Netscape/Firefox/Opera
		key = e.which
}

function makeSugList()
{
	if($('suggest__').getElementsByTagName('li')) sugList = $A($('suggest__').getElementsByTagName('li'));
}

function searchSuggest(el,e)
{
	if(key != 40 && key != 38 && el.value.length > 1)
	{
		new Ajax.Updater('suggest__',document.getElementsByTagName('base')[0].href+'search/suggest',{method: 'post',postBody: 'q='+el.value});

		Element.show('suggest__');
	}
	else if(el.value.length <= 1)
	{
		Element.hide('suggest__');
		$('suggest__').innerHTML = '';
	}
}

function suggestNav(e)
{
	if(key == 40)
	{
		if(sugSelected == -1)
		{
			sugSelected = 0;
			sugSelect(sugList[0]);
		}
		else
		{
			sugUnSelect(sugList[sugSelected]);
			sugSelected++;
			if(!$(sugList[sugSelected])) sugSelected--;
			sugSelect(sugList[sugSelected]);
		}

	}
	else if(key == 38)
	{
		if(sugSelected == -1 || sugSelected == 0)
		{
			return false;
		}
		else
		{
			sugUnSelect(sugList[sugSelected]);
			sugSelected--;
			if(!$(sugList[sugSelected])) sugSelected++;
			sugSelect(sugList[sugSelected]);
		}
	}
}

function sugSelect(obj)
{
	Element.addClassName(obj,'active');
	$('q').value = obj.innerHTML;
}

function sugUnSelect(obj)
{
	Element.removeClassName(obj,'active');
}

function moveTo(url)
{
	document.location = 'http://www.stedentrippers.nl/'+url;
}


function citySelect()
{
	Ajax.Responders.register(loadCity);
	
	if(!$('citySelect'))
	{
		new Insertion.Before('gc_left','<div id="citySelect"></div>');
		new Ajax.Updater('citySelect','/stad/select/cities',{method: 'post'});
	}
	else
	{
		Element.remove('citySelect');
	}
	
}

var loadCity = {
	onCreate: function(){
		$('citySelect').innerHTML = "<p id='csLoad' class='loading'><img src='/templates/img/icons/st_loader.gif' valign='top'/> Steden worden geladen...</p>";
	},

	onComplete: function() {

		if(Ajax.activeRequestCount == 0){
			Element.remove('csLoad');
		}
	}
};
