#region JavaScript
var script = @"<script type=""text/javascript"">
// Filter the list of users and ephasise the matching characters in the user items.
function FilterUsers() {
var userList = $find(""" + UserSelectionControl.ClientID + @""");
var filterBox = document.getElementById(""" + UserFilterControl.ClientID + @""");
var filter = filterBox.value;
userList.trackChanges();
ClearListEmphasis(userList);
FilterList(userList, filter);
userList.commitChanges();
}
// Filter a list of items and ephasise the matching characters in the items.
function FilterList(list, filter) {
var items = list.get_items();
items.forEach
(
function (item) {
var itemText = item.get_text();
if (itemText.toLowerCase().indexOf(filter.toLowerCase()) != -1) {
var regFilter = filter.replace(""\\"",""\\\\""); // Escape the back slashes and brackets.
regFilter = regFilter.replace("")"",""\\)"");
regFilter = regFilter.replace(""("",""\\("");
var regEx = new RegExp(regFilter, ""i"");
item.set_text(itemText.replace(regEx, ""<em>"" + itemText.match(regEx) + ""</em>"")); // See sims.css for emphasis style.
item.set_visible(true);
}
else {
item.set_visible(false);
}
}
)
}
// Clear the emphasis from any matching characters in the list.
function ClearListEmphasis(list) {
var regEx = new RegExp(""</{0,1}em>"", ""gi"");
var items = list.get_items();
var itemText;
items.forEach
(
function (item) {
itemText = item.get_text();
item.set_text(itemText.replace(regEx, """"));
}
)
}
// Show a water mark in the search text boxes.
var defaultText = ""Search..."";
function WaterMark(txt, evt) {
if (txt.value.length == 0 && evt.type == ""blur"") {
txt.style.color = ""gray"";
txt.value = defaultText;
}
if (txt.value == defaultText && evt.type == ""focus"") {
txt.style.color = ""black"";
txt.value = """";
}
}
</script> ";
#endregion