var lastsearch ="";



function createOutput() {
	var op = "";
	op +="<ul id=\"s2outputbox\"></ul>";
	$("#searchform").append(op);
}

function trackThis(myValue) {
    _gaq.push(['_trackEvent', 'livesearch', 'searchEvent', myValue]);
}

function reallyDoSearch() {
	var myValue = $("#s").attr("value");

	trackThis(myValue);

	$("#s2outputbox").html('<li class="resultheadline">Sucheergebnisse werden geladen …</li>');
	$.getJSON(ajaxSearchPath + '?s=' + myValue, function(data) {
		var items = [];
		var shopFirst ="";
		var count = 0;
		$.each(data, function(key, val) {
	  		$.each(val, function(key2, val2) { 
		  		$.each(val2, function(key3, val3) { 
				  	if (key3 == "id") { id = val3; }
				  	if (key3 == "title") { title = val3; }
				  	if (key3 == "url") { url = val3; }
				  	if (key3 == "context") { context = val3; }
		  		});
				if (context.split("/")[0]== "XT" && shopFirst =="" ) {
					items.push("\n\n"+'<li class="resultheadline">Wilker-Shop Ergebnisse:</li>');
					shopFirst = "XT";
				}
				if (context.split("/")[0]== "WP" && shopFirst =="XT" ) {
					items.push("\n\n"+'<li class="resultheadline wilkerwebseite">Wilker-Webseite Ergebnisse:</li>');
					shopFirst = "WP";
				}
				count++;
				if ( count <= 30) { 
				  	pushme = "\n" + '<li class="result">';
				  	pushme += '<a href="'+url+'" title="'+title+'">'+title+'</a>'+"\n";
					items.push(pushme);
				}
	  		});  
		});
		(count==0) ? items.push("\n\n"+'<li class="resultheadline wilkerwebseite">Leider kein Suchergebnis</li>') : null;
		$("#s2outputbox").html(items.join(''));
		updateBindings();
	});
}

function scrollHere() {
	if ($("#s2outputbox li.result").siblings().hasClass("active")) {
		$('html,body').stop().animate({
			scrollTop: $("#s2outputbox li.active")
			.offset().top - 400},300);
	}
}

function cursorKeySearch() {
	$("#s2outputbox li").hover(function(){
		$("#s2outputbox li").removeClass("active blurme");
		$(this).addClass("active");
	})
	var targetLink = "#";
	$(document).keyup(function (e) {
	    if (e.keyCode == 40) { 
			if ($("#s2outputbox li.result").siblings().hasClass("active")) {
				$(".active").addClass("blurme");
				$(".blurme").next("li").addClass("active");
				$(".blurme").removeClass("active blurme");
				scrollHere();
			} else {
				$("#s2outputbox li.result:first").addClass("active");
			}
	    }
	    if (e.keyCode == 38) { 
			if ($("#s2outputbox li.result").siblings().hasClass("active")) {
				$(".active").addClass("blurme");
				$(".blurme").prev("li").addClass("active");
				$(".blurme").removeClass("active blurme");
				scrollHere();
			}
	    }
    });
	updateBindings();
}

function leaveHere(myTarget) {
	$("body").fadeOut(2000, function() {
    	window.location.href = myTarget;
    });
}

function trackerSocialUndSuche() {
	$("#socials a").click(function() {
		var myTarget = $(this).attr("href");
		var myTitle = $(this).attr("title");
		_gaq.push(['_trackEvent', 'social', 'click', myTitle]);
		leaveHere(myTarget);
		return false;
	});
}
function updateBindings() {

	$("#s2outputbox li a").click(function() {
    	var myTarget = $(this).attr("href");

    	_gaq.push(['_trackEvent', 'livesearch', 'click', myTarget]);
    	leaveHere(myTarget);
    	return false;
    })
	$(document).keypress(function (e) {

	    if (e.keyCode == 13) {
			if (jQuery("#s2outputbox li.result").siblings().hasClass("active")) {
			    targetLink = $("#s2outputbox li.active a").attr("href");
			    if (targetLink) {
					_gaq.push(['_trackEvent', 'livesearch', 'keyDown', targetLink]);
			    	leaveHere(targetLink);
			    }
			    else {
			   	 	return false;
			   	}
		    }
		}
	});
}

function initLivesearch () {
	createOutput();
	var options = {
	    callback:function(){ reallyDoSearch(); },
	    wait:750,
	    highlight:true,
	    captureLength:2
	}
	$("#s").keypress(function(e) {
		if (e.keyCode == 40 && $("#s").focus()) {
			$("#s").blur();
			$("#shider").focus();
		}
		if (e.keyCode == 40 || e.keyCode == 38) {
			event.preventDefault();
		}
	});
	$("#s").typeWatch( options );
}
function addS2() {
   var addme = '<input class="hiddenonstart" type="text" value="" name="s2hider" id="s2hider" />';
   $("#s").after(addme);
}
function deleteSubmit() {
	$("#searchsubmit").remove();
}
$(document).ready(function() {
	addS2();
	deleteSubmit();
	cursorKeySearch();
	initLivesearch();
});
