/** * * UTF-8 data encode / decode * http://www.webtoolkit.info/ * **/ var Utf8 = { // public method for url encoding encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, // public method for url decoding decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } } function loadUsers(){ var searchresults = $("searchresults"); var elem = $("SearchText"); var search = elem.value; setStyle(searchresults,{'display':'block'}); var url = "quickSearch"; if(search.length>0){ var d = loadJSONDoc(url,{'SearchableText':search}); var gotMetadata = function (meta) { var users = meta.rs; var benutzerliste = $("suchergebnisse"); replaceChildNodes(benutzerliste,null); if( users.length > 0 ) { forEach(users, function (user) { var newList = A({'href':user['Link'],'id':user['Link']},LI(null, Utf8.decode(user['Titel'])) ); appendChildNodes(benutzerliste,newList); }); } else { var newList = LI(null, "Keine passenden Objekte gefunden."); appendChildNodes(benutzerliste,newList); } var newList = A({'href':"/RechtsAltertuemer/content/suche/index_html_ext"}, "Erweiterte Suche..."); appendChildNodes(benutzerliste,newList); }; var metadataFetchFailed = function (err){ }; d.addCallbacks(gotMetadata, metadataFetchFailed); } else{ setStyle(searchresults,{'display':'none'}) } } addLoadEvent(function () { var elem = $("SearchText"); connect(elem, 'onkeyup', function(e) { e.preventDefault(); var key = e.key(); loadUsers(); }); });