From d9bcf68e395d6156645a7974b1a992aa6e6c00aa Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 14 Oct 2013 08:57:25 -0400
Subject: [PATCH] Added missing empty directories from svn import

---
 interface/web/js/jquery.ispconfigsearch.js |   39 ++++++++++++++++++++++++++++++---------
 1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/interface/web/js/jquery.ispconfigsearch.js b/interface/web/js/jquery.ispconfigsearch.js
index 211dcd7..7a8115c 100644
--- a/interface/web/js/jquery.ispconfigsearch.js
+++ b/interface/web/js/jquery.ispconfigsearch.js
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2012, ISPConfig UG
+Copyright (c) 2012, ISPConfig UG (haftungsbeschränkt)
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,
@@ -33,11 +33,15 @@
 			timeout: 500,
 			minChars: 2,
 			resultBox: '-resultbox',
+			resultBoxPosition: 's', // n = north, e = east, s = south, w = west
 			cssPrefix: 'gs-',
 			fillSearchField: false,
 			fillSearchFieldWith: 'title',
-			resultsText: '$ of % results',
+			ResultsTextPrefix: '',
+			resultsLimit: '$ of % results',
 			noResultsText: 'No results.',
+			noResultsLimit: '0 results',
+			searchFieldWatermark: 'Search',
 			displayEmptyCategories: false,
 			runJS: true
 		};
@@ -48,6 +52,7 @@
 		settings.resultBox = $(this).attr('id')+settings.resultBox;
 		
 		$(this).attr('autocomplete', 'off');
+		if($(this).val() == '') $(this).val(settings.searchFieldWatermark);
 		$(this).wrap('<div class="'+settings.cssPrefix+'container" />');
 		$(this).after('<ul id="'+settings.resultBox+'" class="'+settings.cssPrefix+'resultbox" style="display:none;"></ul>');
 		var searchField = $(this);
@@ -60,7 +65,7 @@
 				// query value
 				var q = searchField.val();
 				
-				if (settings.minChars > q.length || q == ''){
+				if (settings.minChars > q.length || (q == '' && settings.minChars > 0)){
 					resultBox.fadeOut();
 					resetTimer(timeout);
 				} else {
@@ -91,7 +96,7 @@
 								}
 
 								if (!resultsFound){
-									output += '<li class="'+settings.cssPrefix+'cheader"><p class="'+settings.cssPrefix+'cheader-title">'+settings.noResultsText+'</p><p class="'+settings.cssPrefix+'cheader-limit">0 results</p></li>';
+									output += '<li class="'+settings.cssPrefix+'cheader"><p class="'+settings.cssPrefix+'cheader-title">'+(settings.ResultsTextPrefix == '' ? '' : settings.ResultsTextPrefix+': ')+settings.noResultsText+'</p><p class="'+settings.cssPrefix+'cheader-limit">'+settings.noResultsLimit+'</p></li>';
 								} else {
 								
 									$.each(data, function(i, category){
@@ -100,7 +105,7 @@
 											var limit = category['cheader']['limit'];
 											var cnt = 0;
 
-											output += '<li class="'+settings.cssPrefix+'cheader"><p class="'+settings.cssPrefix+'cheader-title">'+category['cheader']['title']+'</p><p class="'+settings.cssPrefix+'cheader-limit">'+settings.resultsText.replace("%", category['cheader']['total']).replace("$", (category['cheader']['limit'] < category['cdata'].length ? category['cheader']['limit'] : category['cdata'].length))+'</p></li>';
+											output += '<li class="'+settings.cssPrefix+'cheader"><p class="'+settings.cssPrefix+'cheader-title">'+(settings.ResultsTextPrefix == '' ? '' : settings.ResultsTextPrefix+': ')+category['cheader']['title']+'</p><p class="'+settings.cssPrefix+'cheader-limit">'+settings.resultsLimit.replace("%", category['cheader']['total']).replace("$", (category['cheader']['limit'] < category['cdata'].length ? category['cheader']['limit'] : category['cdata'].length))+'</p></li>';
 
 											var fillSearchFieldCode = (settings.fillSearchField) ? 'document.getElementById(\''+searchField.attr('id')+'\').value = \'%\';' : '';
 											//var fillSearchFieldCode = 'document.getElementById(\''+searchField.attr('id')+'\').value = \'%\';';
@@ -111,12 +116,10 @@
 													var link = '<a href="'+((item['url'] != undefined) ? item['url'] : 'javascript:void(0);')+'" '+((item['onclick'] != undefined) ? ' onclick="'+fillSearchFieldCode.replace("%", item[settings.fillSearchFieldWith])+(settings.runJS ? item['onclick'] : '')+'"' : '')+((item['target'] != undefined) ? ' target="'+item['target']+'"' : '')+'>';
 
 													output += '<li class="'+settings.cssPrefix+'cdata">'+link+"\n";
-													output += '<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>';
 													output += '<p>';
-													output += (item['title'] != undefined) ? '<span class="'+settings.cssPrefix+'cdata-title">'+item['title']+"</span><br />\n" : '';
+													output += (item['title'] != undefined) ? '<span class="'+settings.cssPrefix+'cdata-title">'+item['title']+"</span>\n": '';
 													output += (item['description'] != undefined) ? ''+item['description']+''+"\n" : '';
 													output += '</p>'+"\n";
-													output += '</td></tr></table>';
 													output += '</a></li>'+"\n";
 												}
 												cnt++;
@@ -125,7 +128,19 @@
 									});
 								}
 
-								resultBox.html(output).css({'position' : 'absolute', 'top' : searchField.position().top+searchField.outerHeight(), 'right' : '0'}).fadeIn();
+								//resultBox.html(output).css({'position' : 'absolute', 'top' : searchField.position().top+searchField.outerHeight(), 'right' : '0'}).fadeIn();
+								if(settings.resultBoxPosition == 'n'){
+									resultBox.html(output).css({'position' : 'absolute', 'top' : searchField.position().top-resultBox.outerHeight(), 'left' : searchField.position().left+searchField.outerWidth()-resultBox.outerWidth()}).fadeIn();
+								}
+								if(settings.resultBoxPosition == 'e'){
+									resultBox.html(output).css({'position' : 'absolute', 'top' : searchField.position().top, 'left' : searchField.position().left+searchField.outerWidth()}).fadeIn();
+								}
+								if(settings.resultBoxPosition == 's'){
+									resultBox.html(output).css({'position' : 'absolute', 'top' : searchField.position().top+searchField.outerHeight(), 'left' : searchField.position().left+searchField.outerWidth()-resultBox.outerWidth()}).fadeIn();
+								}
+								if(settings.resultBoxPosition == 'w'){
+									resultBox.html(output).css({'position' : 'absolute', 'top' : searchField.position().top, 'left' : searchField.position().left-resultBox.outerWidth()}).fadeIn();
+								}
 
 								searchField.removeClass(settings.cssPrefix+'loading');
 							}
@@ -137,11 +152,17 @@
 		
 		searchField.blur(function(){
 			resultBox.fadeOut();
+			if (searchField.val() == ''){
+				searchField.val(settings.searchFieldWatermark);
+			}
 		});
 
 		searchField.focus(function(){
 			if (searchField.val() == previousQ && searchField.val() != ''){
 				resultBox.fadeIn();
+			} else if(searchField.val() == settings.searchFieldWatermark){
+				searchField.val('');
+				if(settings.minChars == 0) searchField.trigger('keyup');
 			} else if (searchField.val() != ''){
 				searchField.trigger('keyup');
 			}

--
Gitblit v1.9.1