karw.setKsapMostViewedVisible = function(enabled) {
    if (!enabled) {
    	// hide bottom
    	$$('#bottom-area').each(function(bottom, index) {
    		if (bottom.getStyle('display') == 'block') {
            	var mySlide = new Fx.Tween(bottom).start('opacity', 1, 0);
            	var mySlide = new Fx.Tween(bottom).start('height', 0).chain(function() { bottom.setStyle('display', 'none') });
    		}
        });	
    } else {
    	// restore bottom
    	$$('#bottom-area').each(function(bottom, index){
    		if (bottom.getStyle('display') != 'block') {
	        	var mySlide = new Fx.Tween(bottom).start('opacity', 0, 1);
	        	bottom.setStyle('display', 'block');
	        	var mySlide = new Fx.Tween(bottom).start('height', karw.ksapBottomHeight);
    		}
        });
    }
};

window.addEvent('domready',
function() {
	/*start config*/
    var urlResultsFragment = "view=Fragment";//this will be used as the method of the hijaxed form
	var urlErrorPage = "/error";//location errorpage
	/*end config*/
	
	var resultContainer = $$('div.fragment-search-result').pop();
	var fadeSlide = new Fx.Tween(resultContainer);
	karw.ksapBottomHeight = $$('div.bottom-area').get('heigth');
	
	var getCurrentQuery = function() {
		var query = '';
    	if ($('kaspQuery')) {
    		query = $('kaspQuery').get('value');
    	}
    	return query;
	};
	
	var setCurrentQuery = function(query) {
    	if ($('kaspQuery') && $('kaspQuery').get('value') == "") {
    		$('kaspQuery').set('value', unescape(query));
    	}
	};
	
	var getCurrentFilter = function() {
		return "";//$$('input[name=howto_type]').filter(function(item) { return item.checked })[0].get('value');
	};
	
	var onRequestHandler = function() {
    	setWaiting();
    };

    var onSendRequestHandler = function() {
    	setWaiting();
       	document.location.hash = "page=0&howto_type="+getCurrentFilter()+"&q=" + getCurrentQuery();
    };
    
    var setWaiting = function() {
		if (!$('waitmsgimage')) {
	    	var el = new Element('li');
	    	el.addClass('waitmsg');
	    	el.set('html','<img id="waitmsgimage" src="'+karw.context+'/static/images/ajax-loader-white.gif" alt="loading"/>');
	    	el.inject($(resultContainer), 'top');
		}
    };
    
    var onSuccessHandler = function(response) {
        resultContainer.set({
            'html': response
        });
        try{
        	//setCurrentQuery(document.location.href.substring(document.location.href.indexOf("&q=")+3));
        }
        catch(e){}
        
        capturePaging();
        
		
		// Sitecatalyst logging
        var search_number_of_pages = ($('number_pages') !== null) ? $('number_pages').value : 0;
        var search_number_of_results = ($('number_results') !== null) ? $('number_results').value : 0;
        var currentPage = ($('currentPage') !== null) ? $('currentPage').value : 0;
        var search_used_term = getCurrentQuery();
        var search_used_filter = getCurrentFilter();
		trackSearchResult(search_number_of_results, search_used_term, search_used_filter);
		// End Sitecatalyst logging
		
		//console.log(search_number_of_results);
		if (search_number_of_results == 0) {
			karw.setKsapMostViewedVisible(false);
		} else {
			karw.setKsapMostViewedVisible(!(getCurrentQuery() > " "));
		}

		try {
        	if(window.setHTMLTitle){
			setHTMLTitle(currentPage, search_number_of_pages);
        	}
		}
		catch(err){
		}
		
		fadeSlide.cancel();
        fadeSlide.start('opacity', 0, 1);
        
        if (search_number_of_results > 0){
       		var myFx = new Fx.Scroll(window).toElement(resultContainer);
        }
    };
    
    var onFailureHandler = function() {
    	
    	
    	return openPopUp({contenttype:'iframe',frameheight:250,framewidth:500,frameurl:urlResultsFragment+'&error=true&errorquery='+escape(getCurrentQuery()),popuptitle:'Fout'});
    };
    
    if ($("ksap-filter")) {
	    $("ksap-filter").set('send', {
		        url: '?'+urlResultsFragment,
		        onRequest: onSendRequestHandler,
		    	onSuccess: onSuccessHandler,
		    	onFailure: onFailureHandler
	    });
	    $("ksap-filter").addEvent('submit', function(e) { $("ksap-filter").send(); e.preventDefault();} );
    }
    var search = function(ev) {
        $("ksap-filter").send();
        if (ev) {
        	ev.preventDefault();
        }
    };
    
    var changeFilter = function(ev) {
    	if (getCurrentQuery() > " ") { // search in progress
    		search();
    	}
//		ev.preventDefault();
    };
    
    var capturePaging = function() {
        $$('ul.location a').each(function(item) {
        	item.addEvent('click',  function(e) {
    			new Request({
    			url: item.get('href').replace(/ /g, "+") + '&' + urlResultsFragment,
    	        onRequest: onRequestHandler,
    	    	onSuccess: onSuccessHandler,
    	    	onFailure: onFailureHandler}).send();
    			
				document.location.hash = item.get('href').substring(item.get('href').indexOf('?')+1);
				
        		e.preventDefault();
        	});
        });
    };
    

    $$("#ksap-filter input[type=image]").addEvent("click", search);
    $$("#ksap-filter input[type=radio]").addEvent("click", changeFilter);
    capturePaging();
    if (document.location.hash.length > 3) {
    	var loc = document.location.hash.substring(1);
		new Request({
			url: "?" + loc + '&' + urlResultsFragment,
	        onRequest: onRequestHandler,
	    	onSuccess: onSuccessHandler,
	    	onFailure: onFailureHandler}).send();
    }
});

