/**
*
* 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();
});
});