var getpageid = jQuery().getUrlParam('id');
var gettype = jQuery().getUrlParam('type');
var getsearchids = jQuery().getUrlParam('searchids');
//var getinstids = jQuery().getUrlParam('instids');
var getsearchpage = jQuery().getUrlParam('searchpage');
if(getsearchpage == null) {getsearchpage = 1;}
var urlquerystring = 'id='+getpageid+'&type='+gettype+'&searchids='+getsearchids;
//var urlquerystring = 'id='+getpageid+'&type='+gettype+'&searchids='+getsearchids+'&instids='+getinstids;

jQuery(document).ready(function(){
	var initmap = false;
	
	jQuery(".searchform, #map").addClass('hide');
	jQuery("#searchformbox1").removeClass('hide');
	jQuery(".searchSwitch1").addClass("searchactive");
			
	// URL Parameter abfragen und 
	if(gettype != null) {
		if(gettype == 'search') {
			jQuery(".searchform, #map").addClass('hide');
			jQuery("#searchformbox1").removeClass('hide');
			jQuery(".searchSwitch2,.searchSwitch3").removeClass("searchactive");
			jQuery(".searchSwitch1").addClass("searchactive");
		} else if(gettype == 'extended') {
			jQuery(".searchform, #map").addClass('hide');
			jQuery("#searchformbox2").removeClass('hide');
			jQuery(".searchSwitch1,.searchSwitch3").removeClass("searchactive");
			jQuery(".searchSwitch2").addClass("searchactive");
		} else if(gettype == 'map') {
			jQuery(".searchform, #map").addClass('hide');
			jQuery("#searchformbox3, #map").removeClass('hide');
			jQuery(".searchSwitch1,.searchSwitch2").removeClass("searchactive");
			jQuery(".searchSwitch3").addClass("searchactive");
			if(initmap == false) {
				// Karte erzeugen
				init();	
				initmap = true;
			}
		} else {
			// nothing
		}
	}

	jQuery(".searchSwitch1").click(function(){
		jQuery(".searchform, #map").addClass('hide');
		jQuery("#searchformbox1").removeClass('hide');
		jQuery(".searchSwitch2,.searchSwitch3").removeClass("searchactive");
		jQuery(".searchSwitch1").addClass("searchactive");
	})
	
	jQuery(".searchSwitch2").click(function(){
		jQuery(".searchform, #map").addClass('hide');
		jQuery("#searchformbox2").removeClass('hide');
		jQuery(".searchSwitch1,.searchSwitch3").removeClass("searchactive");
		jQuery(".searchSwitch2").addClass("searchactive");
	})
	
	jQuery(".searchSwitch3").click(function(){
		jQuery(".searchform, #map").addClass('hide');
		jQuery("#searchformbox3, #map").removeClass('hide');
		jQuery(".searchSwitch1,.searchSwitch2").removeClass("searchactive");
		jQuery(".searchSwitch3").addClass("searchactive");
		if(initmap == false) {
			// Karte erzeugen
			init();	
			initmap = true;
		}
	})
	
	jQuery(".searchSwitch1,.searchSwitch2,.searchSwitch3").click(function(){
		if(jQuery('#searchformcontainer-gutter').is('.searchformclose') == true) {
			jQuery('#searchformcontainer-gutter').slideDown('fast').removeClass('searchformclose').addClass('searchformopen');
			jQuery('.slidesearchbox').removeClass('slideboxclose').addClass('slideboxopen');
		}
	})
	
	jQuery('.indicator').hide();
	
	// THESAURUSSUCHE BEI KEYUP
	var thesaurusTimerOn = 0;
	var tto;
	
	function thesaurus_timer_start() {
		if(thesaurusTimerOn == 0) {
			tto = setTimeout(
				function thesaurus_ajax_call(){
					var thesaurussearchterm = jQuery('.thesaurussearchterm').val();
					if((thesaurussearchterm != '') && (thesaurussearchterm.length >= 3)) {
						jQuery.ajax({
							type: 'POST',
							url: "typo3conf/ext/eduinstitutionsearch/pi1/thesaurusajax.php",
							data: 'func=synonymsearch&searchterm='+thesaurussearchterm,
							dataType: 'html',
							timeout: '20000',
							beforeSend:  function() {
								jQuery('.indicator').show();
							},
							success: function(phpresponse){
								jQuery('.ajaxsearchoutput').empty().html(phpresponse);
							},
							error: function() {
								jQuery('.indicator').hide();
								jQuery('.ajaxsearchoutput').empty();
							},
							complete: function() {
								jQuery('.indicator').hide();
							}				
						});
					} 
				}
				, 1000);
			thesaurusTimerOn = 1;
		} else {
			thesaurus_timer_restart();
		}
	}

	function thesaurus_timer_restart() {
		clearTimeout(tto);
		thesaurusTimerOn = 0;
		thesaurus_timer_start();
	}
	
	function thesaurus_timer_stop() {
		clearTimeout(tto);
		thesaurusTimerOn = 0;
	}
	
	jQuery('.thesaurussearchterm').keyup(function(){
		var thesaurussearchterm = jQuery('.thesaurussearchterm').val();
		
		if((thesaurussearchterm != '') && (thesaurussearchterm.length >= 3)) {
			thesaurus_timer_start();
		} else if((thesaurussearchterm == '') || (thesaurussearchterm <= 2)) {
			jQuery('.ajaxsearchoutput').empty();
		}
		return false;	
	})


	// VOLLTEXTSUCHE PER KLICK / ENTER ABSCHICKEN
	function fulltextsubmit() {
		var thesaurussearchterm = jQuery('.thesaurussearchterm').val();
		
		if((thesaurussearchterm != '') && (thesaurussearchterm.length >= 2)) {
			jQuery.ajax({
				type: 'POST',
				url: "typo3conf/ext/eduinstitutionsearch/pi1/thesaurusajax.php",
				data: 'func=fulltextsearch&searchterm='+thesaurussearchterm,
				//ifModified: true,
				//async: false,
				dataType: 'html',
				timeout: '20000',
				beforeSend:  function() {
					jQuery('.indicator').show();
			    },
				success: function(phpresponse){
					jQuery('.indicator').hide();
					//if(phpresponse != 'noresults###noresults') {
						/*
						phpresponse = phpresponse.split('###');
						
						// Teaser
						if(phpresponse[0] != 'noresults') {
							searchidResponse = phpresponse[0];
						} else {
							searchidResponse = '';
						}
						
						// Institutions
						if(phpresponse[1] != 'noresults') {
							instidResponse = phpresponse[1];
						} else {
							instidResponse = '';
						}
						
						var redirectURL = '/index.php?id=221&type=search&searchids='+searchidResponse+'&instids='+instidResponse;
						window.parent.location = redirectURL;
						*/
					if(phpresponse != 'noresults') {
						var redirectURL = '/index.php?id=221&type=search&searchids='+phpresponse;
						window.parent.location = redirectURL;
					} else {
						thesaurus_timer_stop();
						jQuery('.ajaxsearchoutput').empty().html('Ihre Suche nach "'+thesaurussearchterm+'" ergab leider keine Treffer.');
					}
				},
				error: function() {
					jQuery('.indicator').hide();
					jQuery('.ajaxsearchoutput').empty();
				},
				complete: function() {
					jQuery('.indicator').hide();
				}				
			});
		}
	}
	
	jQuery('.thesaurussearchterm').bind('keypress', function(e) {
		if(e.keyCode == 13){
			fulltextsubmit();
			return false;
		}
	});
	
	jQuery('.ajaxsearch').click(function(){
		fulltextsubmit();
		return false;	
	})


	jQuery('.fulltextlist li').live('click',function(){
		var searchid = jQuery(this).attr('value');
		alert(searchid);
	})


	jQuery('.synonymlist li,.thesauruslist li').live('click',function(){
	    var searchterm = jQuery(this).text();
		var searchid = jQuery(this).attr('value');
		
		jQuery.ajax({
			type: 'POST',
			url: "typo3conf/ext/eduinstitutionsearch/pi1/thesaurusajax.php",
			data: 'func=teasersearch&searchid='+searchid+'&searchterm='+searchterm,
			//ifModified: true,
			//async: false,
			dataType: 'html',
			timeout: '20000',
			beforeSend:  function() {
			},
			success: function(phpresponse){
				jQuery('.indicator').hide();
				if(phpresponse != 'noresults') {
					var redirectURL = '/index.php?id=221&type=search&searchids='+phpresponse;
					window.parent.location = redirectURL;
				} else {
					thesaurus_timer_stop();
					jQuery('.ajaxsearchoutput').empty().html('Ihre Thesaurussuche nach "'+searchterm+'" ergab leider keine Treffer.');
				}				
			},
			error: function() {
				jQuery('.indicator').hide();
			},
			complete: function() {
				jQuery('.indicator').hide();
			}				
		});
		
		return false;	
	})	

});
