windows-nt/Source/XPSP1/NT/shell/ext/srchasst/srchasst.htm
2020-09-26 16:20:57 +08:00

1973 lines
56 KiB
HTML

<html id=ieSearch>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="HippieTim">
<meta name="GENERATOR" content="PMShawn">
<title>Internet Explorer Search</title>
</head>
<style>
.AdSpace
{
}
.dlgBtn
{
cursor: default;
border-width: 1px;
border-style: solid;
color: ButtonText;
}
.searchTable
{
padding-top: 5px;
}
.rightButton
{
text-align: right;
}
.userData {behavior:url(#_IE_)}
.indentRadio
{
margin-top:3px;
line-height:16pt;
margin-left:4px;
margin-bottom:3px;
}
.searchPanel
{
width: 100%;
position: relative;
top: 0px;
left: 0px;
border: 1px solid buttonshadow;
margin: 0px;
padding: 9px;
}
select
{
width:100%;
}
.inputs
{
width:100%;
}
body,p,td
{
font-size: 8pt;
}
.selectedTitle
{
font-weight: bold;
}
</style>
<script defer>
// Globals
var g_srchPanel;
var g_displayPanel;
var g_prevSearchStore = "IESA_PreviousSearchesI";
var g_catConfig = "IESA_CatConfigI";
var g_pnlConfig = "IESA_PnlConfigI";
var g_bEnableShellSearch;
var g_catObjMap;
var g_SRCID_SWebSearch = "{94FD6891-92CD-11d1-A1C6-00C04FD75D13}";
var g_SRCID_SFileSearch = "{3AEBD6B1-975B-11d1-A1C9-00C04FD75D13}";
var g_SRCID_SFindComputer = "{996E1EB1-B524-11d1-9120-00A0C98BA67D}";
var g_SRCID_SFindPrinter = "{D515F311-B78B-11d1-9123-00A0C98BA67D}";
var ENG_IN_PANE = 0x00000001;
var PNL_SHELL = 0x00000001;
var PNL_DISABLED = 0x00000002;
var PNL_POSITIONED = 0x00000004;
var shOC;
function MyReplace(s, tok, val)
{
var n = s.indexOf(tok);
if (n > -1)
{
var toklen = tok.length;
do
{
s = s.substring(0, n) + val + s.substring(n + toklen, 2048);
n = s.indexOf(tok);
}
while (n > -1);
}
return s;
}
function CEngineBucket(panelID)
{
this.m_panelID = panelID; // Lets us know about our container
this.m_blocks = new Array(); // Array of search engine blocks
}
function CEngineBucket_UnPersistOrder()
{
xmlObj.load(g_pnlConfig + this.m_panelID)
var doc = xmlObj.XMLDocument;
var docNode = doc.documentElement;
var n = docNode.childNodes.length;
var blockName;
for (blockName in this.m_blocks)
{
var block = eval("this.m_blocks['" + blockName + "']");
block.UnPersistBlock(n, docNode);
}
}
function CEngineBucket_NewEngineBlock(blockName)
{
this.m_blocks[blockName] = new CEngineBlock(blockName);
return this.m_blocks[blockName];
}
function CEngineBucket_GetEngineBlock(blockName)
{
return this.m_blocks[blockName];
}
function CEngineBucket_Prototype()
{
CEngineBucket.prototype.UnPersistOrder = CEngineBucket_UnPersistOrder;
CEngineBucket.prototype.NewEngineBlock = CEngineBucket_NewEngineBlock;
CEngineBucket.prototype.GetEngineBlock = CEngineBucket_GetEngineBlock;
}
function CEngineBlock(blockName)
{
this.m_blockName = blockName;
this.m_engs = new Array();
this.m_order = new Array();
this.m_prefCount = 4;
}
function CEngineBlock_UnPersistBlock(nNodes, docNode)
{
var i;
var bSettingsExist = false;
for (i = 0; i < nNodes; i++)
{
var blockNode = docNode.childNodes.item(i);
if (XML_GetAttribute(blockNode, "NAME") == this.m_blockName)
{
var nEngines = blockNode.childNodes.length;
var j;
for (j = 0; j < nEngines; j++)
{
bSettingsExist = true;
var engineId = XML_GetAttribute(blockNode.childNodes.item(j), "ID");
if (null != this.m_engs[engineId])
{
var nOrder = this.m_order.length;
this.m_order[nOrder] = engineId;
}
}
break;
}
}
// Ensure each block has at least one engine.
// If no settings have been persisted, turn 'em all on.
if (this.m_order.length < 1)
{
i = 0;
for (eng in this.m_engs)
{
this.m_order[i] = eng + "";
i++;
if (bSettingsExist)
{
break;
}
}
}
}
function CEngineBlock_NewEngine(engineId, dispName, flags, query)
{
this.m_engs[engineId] = new CEngine(engineId, dispName, flags, query);
return this.m_engs[engineId];
}
function CEngineBlock_GetEngine(index)
{
return this.m_engs[this.m_order[index]];
}
function CEngineBlock_GetEngineCount()
{
return this.m_order.length;
}
function CEngineBlock_Prototype()
{
CEngineBlock.prototype.UnPersistBlock = CEngineBlock_UnPersistBlock;
CEngineBlock.prototype.NewEngine = CEngineBlock_NewEngine;
CEngineBlock.prototype.GetEngine = CEngineBlock_GetEngine;
CEngineBlock.prototype.GetEngineCount = CEngineBlock_GetEngineCount;
}
function CEngine(engineId, dispName, flags, query)
{
this.m_engineId = engineId;
this.m_dispName = dispName;
this.m_flags = flags;
this.m_query = query;
}
function CEngine_ProcessQueryFields(names, values)
{
var url = this.m_query;
var n = names.length;
for (i = 0; i < n; i++)
{
url = MyReplace(url, "**" + names[i] + "**", values[i]);
}
return url;
}
function CEngine_Prototype()
{
CEngine.prototype.ProcessQueryFields = CEngine_ProcessQueryFields;
}
// CPanel "class"
function CPanel(pnl)
{
this.m_panelID = pnl.panelID;
this.m_flds = null;
this.m_fldNames = null;
this.m_fldValues = null;
this.m_engBucket = null;
this.m_curBlock = "default";
this.m_bNavInPlace = true;
var flags = eval(pnl.flags);
this.m_flags = (null != flags) ? flags : 0;
var pnlInitProc = eval(pnl.InitProc);
if (null != pnlInitProc)
{
this.InitProc = pnlInitProc;
}
}
function CPanel_Show(bShow)
{
var opt = GetOption(this.m_panelID);
var pnl = GetPanel(this.m_panelID);
if (bShow)
{
opt.className = "selectedTitle";
pnl.style.display = "";
this.OnShow();
}
else
{
opt.className = "";
pnl.style.display = "none";
}
}
function CPanel_ExtractFields()
{
if (null == this.m_flds)
{
var srchflds = GetPanel(this.m_panelID).srchflds;
var i;
if (null != srchflds)
{
var ctrls = srchflds.split(",");
this.m_flds = new Array();
for (i = 0; i < ctrls.length; i++)
{
this.m_flds[i] = eval("form" + GetPanel(this.m_panelID).panelID + "." + ctrls[i]);
}
}
}
}
function CPanel_CanSearch()
{
var L_NeedSearchText_ErrorMessage = "Please specify something to search for!";
var result;
var n = this.m_flds.length;
var i;
for (i = 0; i < n; i++)
{
if (this.m_flds[i].value.length > 0)
{
break;
}
}
if (i < n)
{
result = true;
}
else
{
alert(L_NeedSearchText_ErrorMessage);
for (i = 0; i < n; i++)
{
if (itemIsVisible(this.m_flds[i]))
{
this.m_flds[i].focus();
break;
}
}
result = false;
}
return result;
}
function CPanel_CreateEngineBucket()
{
if (null == this.m_engBucket)
{
this.m_engBucket = new CEngineBucket(this.m_panelID);
return true;
}
return false;
}
function CPanel_InitProc()
{
this.ExtractFields();
}
function CPanel_OnShow()
{
this.InitProc();
this.SetAd();
}
function CPanel_ClearFields()
{
var flds = this.m_flds;
if (null != flds)
{
var n = flds.length;
var i;
for (i = 0; i < n; i++)
{
flds.value = "";
}
}
}
function CPanel_PersistSearch()
{
xmlObj.load(g_prevSearchStore);
var doc = xmlObj.XMLDocument;
var docNode = doc.documentElement;
var node = doc.createNode(1, "PREVIOUSSEARCH", "");
XML_SetAttribute(doc, node, "PANELID", this.m_panelID);
XML_SetAttribute(doc, node, "BLOCK", this.m_curBlock);
var nvnode;
var i;
var n = this.m_flds.length;
for (i = 0; i < n; i++)
{
nvnode = doc.createNode(1, "SEARCHFIELD", "");
XML_SetAttribute(doc, nvnode, "NAME", this.m_names[i]);
XML_SetAttribute(doc, nvnode, "VALUE", this.m_values[i]);
node.insertBefore(nvnode, null);
}
docNode.insertBefore(node, docNode.firstChild);
n = docNode.childNodes.length;
for (i = 10; i < n; i++)
{
docNode.removeChild(docNode.childNodes.item(i));
}
xmlObj.save(g_prevSearchStore);
}
function CPanel_SetNameValuePairs(names, values)
{
this.m_names = names;
this.m_values = values;
}
function CPanel_SetBlock(block)
{
if (null != this.m_engBucket.GetEngineBlock(block))
{
this.m_curBlock = block;
}
}
function CPanel_RunEngineSearch(engIndex)
{
g_srchPanel = GetPanel(this.m_panelID);
var block = this.m_engBucket.GetEngineBlock(this.m_curBlock);
var eng = block.GetEngine(engIndex);
var url = eng.ProcessQueryFields(this.m_names, this.m_values);
if (eng.m_flags & ENG_IN_PANE)
{
paneAssistant.style.display = "none";
paneResults.style.display = "";
iframeResults.location.href = url;
document.body.style.overflow = "hidden";
}
else
{
window.open(url, "_main");
}
}
function CPanel_SetupNextMenu()
{
if (null != saOC)
{
var block = this.m_engBucket.GetEngineBlock(this.m_curBlock);
var n = block.GetEngineCount();
if (n > 1)
{
var i;
for (i = 0; i < n; i++)
{
var eng = block.GetEngine(i);
saOC.AddNextMenuItem(eng.m_dispName, i);
}
}
}
}
function CPanel_RunWebSearch()
{
if (this.CanSearch())
{
this.m_names = new Array();
this.m_values = new Array();
var n = this.m_flds.length;
var i;
for (i = 0; i < n; i++)
{
this.m_names[i] = this.m_flds[i].name;
this.m_values[i] = this.m_flds[i].value;
}
this.PersistSearch();
this.SetupNextMenu();
this.RunEngineSearch(0);
}
}
function CPanel_OnEnter()
{
this.RunWebSearch();
}
function CPanel_GetNextEngine()
{
var max = this.m_engBucket.GetEngineBlock(this.m_curBlock).GetEngineCount();
curEngine += 1;
if (curEngine >= max)
{
curEngine = 0;
}
else if (curEngine < 0)
{
curEngine = max - 1;
}
return curEngine;
}
function CPanel_SetAd()
{
var L_BroughtToYou_Text = "Brought to you by ";
var idAd = document.all["ad" + this.m_panelID];
if (idAd != null)
{
if (null != this.m_engBucket)
{
var block = this.m_engBucket.GetEngineBlock(this.m_curBlock);
idAd.innerHTML = L_BroughtToYou_Text + block.GetEngine(0).m_dispName;
}
}
}
function CPanel_SetDefFocus()
{
if ((this.m_flds != null) && (this.m_flds.length > 0))
{
this.m_flds[0].focus();
}
}
function CPanel_InitializeDefaults()
{
if (!(this.m_flags & PNL_SHELL))
{
this.InitProc();
if (null != this.m_engBucket)
{
var blockName;
for (blockName in this.m_engBucket.m_blocks)
{
var block = this.m_engBucket.GetEngineBlock(blockName);
var nEngs = block.GetEngineCount();
var prefCount = block.m_prefCount < nEngs ? block.m_prefCount : nEngs;
var i;
var engineName;
i = 0;
for (engineName in block.m_engs)
{
block.m_order[i] = engineName;
i++;
}
for (i = 0; i < nEngs; i++)
{
var rand;
if (i < prefCount)
{
rand = Math.floor(prefCount * Math.random());
}
else
{
rand = Math.floor((nEngs - prefCount) * Math.random()) + prefCount;
}
var ordSave = block.m_order[i];
block.m_order[i] = block.m_order[rand];
block.m_order[rand] = ordSave;
}
}
}
}
}
function CPanel_Prototype()
{
// NOTE: All of these methods can be overridden easily.
// For instance, the InitProc method must be overridden
// (it is also the best place to hook in overrides).
CPanel.prototype.CanSearch = CPanel_CanSearch;
CPanel.prototype.ClearFields = CPanel_ClearFields;
CPanel.prototype.CreateEngineBucket = CPanel_CreateEngineBucket;
CPanel.prototype.ExtractFields = CPanel_ExtractFields;
CPanel.prototype.GetNextEngine = CPanel_GetNextEngine;
CPanel.prototype.InitializeDefaults = CPanel_InitializeDefaults;
CPanel.prototype.InitProc = CPanel_InitProc; // intended to be "virtual"
CPanel.prototype.OnEnter = CPanel_OnEnter;
CPanel.prototype.OnShow = CPanel_OnShow;
CPanel.prototype.PersistSearch = CPanel_PersistSearch;
CPanel.prototype.RunEngineSearch = CPanel_RunEngineSearch
CPanel.prototype.RunWebSearch = CPanel_RunWebSearch;
CPanel.prototype.SetAd = CPanel_SetAd;
CPanel.prototype.SetBlock = CPanel_SetBlock;
CPanel.prototype.SetDefFocus = CPanel_SetDefFocus;
CPanel.prototype.SetNameValuePairs = CPanel_SetNameValuePairs;
CPanel.prototype.SetupNextMenu = CPanel_SetupNextMenu;
CPanel.prototype.Show = CPanel_Show;
}
function GetPanelObj(panelID)
{
var res = g_catObjMap[panelID];
if (res == null)
{
ODS("null return in GetPanelObj!");
}
return res;
}
function GetPanel(panelID)
{
return ObjFromPanelID(panel, panelID);
}
function GetOption(panelID)
{
return ObjFromPanelID(option, panelID);
}
function GetRadioButton(panelID)
{
return ObjFromPanelID(rbSearch, panelID);
}
function PersistSettings()
{
var i;
var n;
xmlObj.load(g_catConfig);
doc = xmlObj.XMLDocument;
docNode = doc.documentElement;
XML_EmptyDocNode(docNode);
var defPanelOrder = new Array("Web", "Pers", "Co", "Files", "Prev", "Map", "Enc", "News", "Printer", "Computer");
n = defPanelOrder.length;
for (i = 0; i < n; i++)
{
var pnl = ObjFromPanelID(panel, defPanelOrder[i]);
if (null != pnl)
{
var catNode = doc.createNode(1, "CATEGORY", "");
XML_SetAttribute(doc, catNode, "PANELID", defPanelOrder[i]);
docNode.insertBefore(catNode, docNode.childNodes[0]);
}
}
xmlObj.save(g_catConfig);
n = panel.length;
for (i = 0; i < n; i++)
{
var pnlObj = GetPanelObj(panel[i].panelID);
if (!(pnlObj.m_flags & PNL_SHELL))
{
if (null != pnlObj.m_engBucket)
{
xmlObj.load(g_pnlConfig + panel[i].panelID);
doc = xmlObj.XMLDocument;
docNode = doc.documentElement;
XML_EmptyDocNode(docNode);
for (blockName in pnlObj.m_engBucket.m_blocks)
{
var block = pnlObj.m_engBucket.GetEngineBlock(blockName);
var nEngines = block.GetEngineCount();
var blockNode = doc.createNode(1, "BLOCK", "");
var j;
XML_SetAttribute(doc, blockNode, "NAME", blockName);
for (j = 0; j < nEngines; j++)
{
var engNode = doc.createNode(1, "ENGINE", "");
XML_SetAttribute(doc, engNode, "ID", block.GetEngine(j).m_engineId);
blockNode.insertBefore(engNode, blockNode.childNodes[0]);
}
docNode.insertBefore(blockNode, docNode.childNodes[0]);
}
xmlObj.save(g_pnlConfig + panel[i].panelID);
}
}
}
}
function EnableOptions(obj, bEnable)
{
var kids = obj.children;
var n = kids.length;
var i;
for (i = 0; i < n; i++)
{
var kid = kids[i];
if (kid.children.length > 0)
{
EnableOptions(kid, bEnable); //recurse
}
if ((kid.tagName == "INPUT") && (kid.type == "radio"))
{
kid.disabled = !bEnable;
}
}
}
function ShowPanel(panelID, optCount)
{
InitializePanels();
var pnlObj = GetPanelObj(panelID);
// Don't try to work with a null and don't try to add a disabled or already positioned option
if ((null != pnlObj) && (!(pnlObj.m_flags & (PNL_DISABLED | PNL_POSITIONED))))
{
var spanHost;
if (optCount < 5)
{
spanHost = spanTopFive;
}
else
{
if (showMeMore.style.display != "")
{
showMeMore.style.display = "";
}
spanHost = spanTheRest;
}
spanHost.insertBefore(GetOption(panelID));
pnlObj.m_flags |= PNL_POSITIONED;
optCount++;
}
return optCount;
}
function ObjFromPanelID(col, panelID)
{
var n = col.length;
var i;
for (i = 0; i < n; i++)
{
if (col[i].panelID == panelID)
return col[i];
}
ODS(col[i].id + " " + panelID + " not found!");
return null;
}
function InitializePanels()
{
if (g_catObjMap == null)
{
var i;
var nPanels;
g_catObjMap = new Array;
// * Assign each panel basic data
// * Tell each radio button about it's corresponding panel about each other
nPanels = panel.length;
for (i = 0; i < nPanels; i++)
{
g_catObjMap[panel[i].panelID] = new CPanel(panel[i]);
}
}
}
function win_OnLoad()
{
var i;
var n;
window.onerror = win_OnError;
// Build class prototypes
CPanel_Prototype();
CEngineBucket_Prototype();
CEngineBlock_Prototype();
CEngine_Prototype();
var optCount = 0;
// Check if shell support is enabled
g_bEnableShellSearch = (null != saOC) ? saOC.ShellFeaturesEnabled : false;
if (g_bEnableShellSearch)
{
shOC = new ActiveXObject("Shell.Application");
if (null == shOC)
{
// RUH-ROH! Couldn't instantiate the shell OC, better to disable the feature
// than to get script errors.
// REVIEW: Should we display a "friendly" error message?
g_bEnableShellSearch = false;
}
}
if (g_bEnableShellSearch)
{
var searches = saOC.Searches;
if ((!saOC.InWebFolder) && (null != searches))
{
var searchCount = searches.Count;
if (searchCount < 1)
{
var defSearch = searches.Default;
var topPanelID = "";
var panelMap = new Array(g_SRCID_SFileSearch, "Files",
g_SRCID_SFindComputer, "Computer",
g_SRCID_SFindPrinter, "Printer");
for (i = 0; i < panelMap.length; i += 2)
{
if (defSearch.toLowerCase() == panelMap[i].toLowerCase())
{
topPanelID = panelMap[i + 1];
break;
}
}
if (topPanelID != "")
{
optCount = ShowPanel(topPanelID, optCount);
}
}
else
{
for (i = 0; i < searcheCount; i++)
{
var search = searches.Item(i);
// TODO: Need to generate search blocks and call ShowPanel()
}
}
}
InitializePanels();
}
else
{
InitializePanels();
for (i = 0; i < panel.length; i++)
{
var pnlObj = GetPanelObj(panel[i].panelID);
if (pnlObj.m_flags & PNL_SHELL)
{
pnlObj.m_flags |= PNL_DISABLED;
}
}
}
xmlObj.load(g_catConfig);
// First time initialization.
if (xmlObj.XMLDocument.documentElement.childNodes.length < 1)
{
n = panel.length;
for (i = 0; i < n; i++)
{
GetPanelObj(panel[i].panelID).InitializeDefaults();
}
PersistSettings();
// Reload, since we have no idea what's currently loaded.
xmlObj.load(g_catConfig);
}
var doc = xmlObj.XMLDocument;
var docNode = doc.documentElement;
n = docNode.childNodes.length;
for (i = 0; i < n; i++)
{
optCount = ShowPanel(XML_GetAttribute(docNode.childNodes.item(i), "PANELID"), optCount);
}
EnableOptions(spanTopFive, true);
spanLoading.style.display = "none";
spanOptions.style.display = "";
var defPanelID = spanTopFive.children[0].panelID;
GetRadioButton(defPanelID).click();
GetPanelObj(defPanelID).SetDefFocus();
//document.onkeypress = doc_OnKeyPress;
}
function customize()
{
window.open("customize.htm", "_main");
}
function doc_OnKeyPress()
{
if ((event.keyCode == 13) && (event.srcElement.tagName == "INPUT") && (event.srcElement.type == "button"))
{
OnEnter();
}
}
function win_OnError(message, url, line)
{
// This is displayed when a script error occurs
var L_ScriptErrMsg_ErrorMessage = "An error has occured on this page.";
var L_ScriptErrLine_Text = "Line: ";
var L_ScriptErrURL_Text = "URL: ";
var str = L_ScriptErrMsg_ErrorMessage + "\n\n"
+ L_ScriptErrLine_Text + line + "\n"
+ L_ScriptErrURL_Text + url + "\n\n"
+ message;
ODS(str);
return true;
}
function XML_EmptyDocNode(docNode)
{
var n = docNode.childNodes.length;
var i;
for (i = 0; i < n; i++)
{
docNode.removeChild(docNode.childNodes.item(0))
}
}
function XML_SetAttribute(doc, node, name, value)
{
var attr = doc.createNode(2, name, "");
attr.nodeValue = value;
node.attributes.setNamedItem(attr);
}
function XML_GetAttribute(node, name)
{
var attr = node.attributes.getNamedItem(name);
if (null != attr)
{
return attr.nodeValue;
}
else
{
return "";
}
}
function OnEnter()
{
// Check for null in case anxious user hits enter before we've inited.
if (null != g_displayPanel)
{
GetPanelObj(g_displayPanel.panelID).OnEnter();
}
}
function NewSearch()
{
paneAssistant.style.display = "";
paneResults.style.display = "none";
iframeResults.location.href = "about:blank";
document.body.style.overflow = "auto";
}
function opt_OnClick(panelID)
{
if (null != g_displayPanel)
{
GetPanelObj(g_displayPanel.panelID).Show(false);
}
// Check for null in case a user clicks on an option
// before onLoad has fired.
var pnlObj = GetPanelObj(panelID);
if (null != pnlObj)
{
g_displayPanel = GetPanel(panelID);
pnlObj.Show(true);
}
}
function itemIsVisible(item)
{
var curItem = item;
while (curItem.style.display != "none")
{
curItem = curItem.parentElement;
if (null == curItem)
{
return true;
}
}
return false;
}
function showMore()
{
EnableOptions(spanTheRest, true);
showMeMore.style.display = "none";
spanTheRest.style.display = "";
}
function spewChildren(elem)
{
var s = elem.name + " contains\n";
var i;
var n = elem.children.length;
for (i = 0; i < n; i++)
{
s += "name="+ elem.children[i].name + "tag="+elem.children[i].tagName +"\n";
}
ODS(s);
}
function spewCollection(coll)
{
var s = coll.name + " "
for (x in coll)
{
s += x + " ";
}
ODS(s);
}
var g_Dbg = "";
function Debug()
{
var s = prompt('Debugger:', g_Dbg);
if ((s != "") && (s != "undefined") && (s != null))
{
g_Dbg = s;
ODS(eval(g_Dbg));
}
}
function ODS(s)
{
alert(s);
}
</script>
<script defer for=saOC event="OnNextMenuSelect(idItem)">
GetPanelObj(g_srchPanel.panelID).RunEngineSearch(idItem);
</script>
<body bgcolor=window text=windowtext scroll=no style="margin:0px;overflow:auto" onload="return win_OnLoad()">
<basefont id=idBaseFont face="MS Shell Dlg">
<!-- Search Assistant OC -->
<span style="display:none">
<object id=saOC CLASSID='clsid:B45FF030-4447-11D2-85DE-00C04FA35C89' HEIGHT=0 width=0></object>
<input type=hidden id=xmlObj style="behavior:url(#_IE_)" class=userData>
</span>
<!-- Search results pane -->
<div id=paneResults style="display:none;margin:0px">
<iframe id="iframeResults" width="100%" height="100%" style="position:relative;top:0;left:0;margin:0px" src="about:blank">
</iframe>
</div>
<!-- Options and search specific panels pane -->
<div id=paneAssistant style="padding-left:9px;padding-right:9px;padding-top:6px;width:100%">
<div id=id0000>
<span>
<span id=spanLoading>
Loading Search Settings...
</span>
<span id=spanOptions style="display:none">
<nobr id=idChooseCategory>Choose a category for your search:</nobr>
<ul class="indentRadio">
<span id=spanTopFive>
</span>
<div id=showMeMore style="display:none;text-align:'right'">
<a href="javascript:showMore();" title="Show more search categories">more...</a>
</div>
<span id=spanTheRest style="display:none">
</span>
<span id=spanTheWell style="display:none">
<!-- Web searches -->
<span id=option panelID=Web lbl=lWebPage>
<nobr>
<input panelID=Web type=radio name=rbSearch disabled=true id=optWeb accesskey=w onclick="opt_OnClick(this.panelID)">
<label id=lWebPage for=optWeb>Find a <u>W</u>eb page</label>
</nobr>
<br>
</span>
<span id=option panelID=Pers lbl=lPersonal>
<nobr>
<input panelID=Pers type=radio name=rbSearch disabled=true id=optPers accesskey=a onclick="opt_OnClick(this.panelID)">
<label id=lPersonal for=optPers>Find a Person's <u>A</u>ddress</label>
</nobr>
<br>
</span>
<span id=option panelID=Co lbl=lCompany>
<nobr>
<input panelID=Co type=radio name=rbSearch disabled=true id=optCo accesskey=c onclick="opt_OnClick(this.panelID)">
<label id=lCompany for=optCo>Find a <u>C</u>ompany/organization</label>
</nobr>
<br>
</span>
<span id=option panelID=Enc lbl=lEncyclopedia>
<nobr>
<input panelID=Enc type=radio name=rbSearch disabled=true id=optEnc accesskey=e onclick="opt_OnClick(this.panelID)">
<label id=lEncyclopedia for=optEnc>Find in <u>E</u>ncyclopedia</label>
</nobr>
<br>
</span>
<span id=option panelID=Map lbl=lMap>
<nobr>
<input panelID=Map type=radio name=rbSearch disabled=true id=optMap accesskey=m onclick="opt_OnClick(this.panelID)">
<label id=lMap for=optMap>Find a <u>M</u>ap</label>
</nobr>
<br>
</span>
<span id=option panelID=News lbl=lNews>
<nobr>
<input panelID=News type=radio name=rbSearch disabled=true id=optNews accesskey=n onclick="opt_OnClick(this.panelID)">
<label id=lNews for=optNews>Find in <u>N</u>ewsgroups</label>
</nobr>
<br>
</span>
<span id=option panelID=Prev>
<nobr>
<input panelID=Prev type=radio name=rbSearch disabled=true id=optPrev accesskey=p onclick="opt_OnClick(this.panelID)">
<label id=lPrevious for=optPrev><U>P</U>revious Searches</label>
</nobr>
<br>
</span>
<!-- Shell searches -->
<span id=option panelID=Files lbl=lFiles>
<nobr>
<input panelID=Files type=radio name=rbSearch disabled=true id=optFiles accesskey=z onclick="opt_OnClick(this.panelID)">
<label id=lFiles for=optFiles>Find Files and Folders</label>
</nobr>
<br>
</span>
<span id=option panelID=Printer lbl=lPrinter>
<nobr>
<input panelID=Printer type=radio name=rbSearch disabled=true id=optPrinter accesskey=z onclick="opt_OnClick(this.panelID)">
<label id=lPrinter for=optPrinter>Find a Printer</label>
</nobr>
<br>
</span>
<span id=option panelID=Computer lbl=lComputer>
<nobr>
<input panelID=Computer type=radio name=rbSearch disabled=true id=optComputer accesskey=z onclick="opt_OnClick(this.panelID)">
<label id=lComputer for=optComputer>Find a Computer</label>
</nobr>
<br>
</span>
<span id=option panelID=Custom lbl=lCustom>
<nobr>
<input panelID=Custom type=radio name=rbSearch disabled=true id=optCustom onclick="opt_OnClick(this.panelID)">
<label id=lCustom for=optCustom>TBD</label>
</nobr>
<br>
</span>
</span>
</ul>
</span>
</span>
</div>
<!-- specific search option panels -->
<!-- Web searches -->
<!-- Standard Web Query -->
<script defer>
// "virtual" CPanel.InitProc
function WebInitProc()
{
if (this.CreateEngineBucket())
{
var block = this.m_engBucket.NewEngineBlock("default");
block.m_prefCount = 5;
block.NewEngine("altavista","AltaVista", ENG_IN_PANE, "http://www.altavista.com/cgi-bin/query?pg=n200&kl=XX&q=**SearchText**");
block.NewEngine("infoseek", "InfoSeek", ENG_IN_PANE, "http://www.infoseek.com/Titles?qt=**SearchText**&col=WW%2Ccat_RES&sv=M6&lk=noframes&nh=10&ud9=IE5");
block.NewEngine("hotbot", "HotBot", ENG_IN_PANE, "http://www.hotbot.com/msiesearchpanel/msResult.html?MT=**SearchText**&DV=0&RG=all&_v=2&OPs=MDRTP");
block.NewEngine("lycos", "Lycos", ENG_IN_PANE, "http://www.lycos.com/cgi-bin/pursuit?mtemp=msie&results=ie4&etemp=error_msie&query=**SearchText**&matchmode=and");
block.NewEngine("msn", "MSN Web Search", ENG_IN_PANE, "http://search.msn.com/spbasic.htm?MT=**SearchText**");
block.NewEngine("excite", "Excite", ENG_IN_PANE, "http://search.excite.com/search.gw?trace=1&look=ie40&search=**SearchText**");
block.NewEngine("aolnetfind", "AOL NetFind", ENG_IN_PANE, "http://netfind.aol.com/search.gw?c=web&lk=aolienew_us&search=**SearchText**");
block.NewEngine("yahoo", "Yahoo!", ENG_IN_PANE, "http://search.yahoo.com/search?o=1&m=i&a=fd&p=**SearchText**");
block.NewEngine("euroseek", "Euroseek", ENG_IN_PANE, "http://www.euroseek.net/query?iflang=uk&style=msie&query=**SearchText**&domain=world&lang=world");
this.m_engBucket.UnPersistOrder();
this.ExtractFields();
}
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Web
srchflds=txtWebSearch InitProc=WebInitProc>
<form id=formWeb onsubmit="OnEnter();return false;">
Find a web page containing:<br>
<input class=inputs type=text name=SearchText id=txtWebSearch><br>
<table width=100% cellspacing=0 cellpadding=0 class=searchTable>
<tr>
<td>
<div class=AdSpace id=adWeb></div>
</td>
<td class=rightButton>
<input type=submit id=btnWebSearch value=Search title="Start Searching">
</td>
</tr>
</table>
</form>
</div>
<!-- Search for personal e-mail/snail mail addresses -->
<script defer>
// "virtual" CPanel.InitProc
function PersInitProc()
{
if (this.CreateEngineBucket())
{
block = this.m_engBucket.NewEngineBlock("email");
block.NewEngine("infospace", "InfoSpace", ENG_IN_PANE, "http://in-110.infospace.com/_1_211777544__info.iebar/Email?leftbar=1&QN=**LastName**&QF=**FirstName**&QC=**City**&QS=**State**&QO=");
block.NewEngine("bigfoot", "Bigfoot", ENG_IN_PANE, "http://search.bigfoot.com/search?FormName=SearchBar&locale=en&action=e&SearchName=**FirstName**%20**LastName**");
block = this.m_engBucket.NewEngineBlock("smail");
block.NewEngine("infospace", "InfoSpace", ENG_IN_PANE, "http://in-128.infospace.com/_1_66025228__info.iebar/kevdb-g2?KDB=res-us&OTMPL=%2Fres%2Fr1.html&QTAPPEND=QN%2CQF&QFM=N&QK=5&QN=**LastName**&QF=**FirstName**&QC=**City**&QS=**State**");
block.NewEngine("bigfoot", "Bigfoot", ENG_IN_PANE, "http://search.bigfoot.com/search?FormName=SearchBar&locale=en&Action=W&SearchName=**FirstName**%20**LastName**");
this.m_curBlock = "smail";
this.m_engBucket.UnPersistOrder();
this.ExtractFields();
}
}
function PersType_OnChange(val)
{
var pnlObj = GetPanelObj("Pers");
pnlObj.m_curBlock = val;
pnlObj.SetAd();
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Pers
srchflds="txtPersFName,txtPersLName,txtPersCity,txtPersState" InitProc=PersInitProc>
<form id=formPers onsubmit="OnEnter();return false;">
<span id=idPersSearchFor>Search For:</span><br>
<select id=persSubType onchange=PersType_OnChange(this.value)>
<option id=idOptSmail value="smail" selected>mailing address</option>
<option id=idOptEmail value="email">e-mail address</option>
</select><br>
<id id=idPersFirstName>First Name:</id><br>
<input class=inputs name=FirstName id=txtPersFName><br>
<id id=idPersLastName>Last Name:</id><br>
<input class=inputs name=LastName id=txtPersLName>
<table cellspacing=0 cellpadding=0 width=100%>
<tr>
<td id=idPersCity>City:</td>
<td width=7 id=id0002>&nbsp;</td>
<td width=25 id=idPersState>State/Province:</td>
</tr>
<tr>
<td><input class=inputs name=City id=txtPersCity></td>
<td></td>
<td><input class=inputs size=2 maxlength=2 name=State id=txtPersState></td>
</tr>
</table>
<table width=100% cellspacing=0 cellpadding=0 class=searchTable>
<tr>
<td>
<div class=AdSpace id=adPers></div>
</td>
<td class=rightButton>
<input type=submit id=btnSearchPers value=Search title="Start Searching">
</td>
</tr>
</table>
</form>
</div>
<!-- Search for companies -->
<script defer>
// "virtual" CPanel.InitProc
function CoInitProc()
{
if (this.CreateEngineBucket())
{
block = this.m_engBucket.NewEngineBlock("default");
block.NewEngine("infoseek", "InfoSeek Company", 0, "http://www.infoseek.com/Titles?qt=**SearchText**&col=HV%2Ckt_A%2Cak_corpdir&sv=IS&lk=noframes&nh=10&ud9=IE5");
this.m_engBucket.UnPersistOrder();
this.ExtractFields();
}
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Co
srchflds=txtCoSearch InitProc=CoInitProc>
<form id=formCo onsubmit="OnEnter();return false;">
<id id=idCoCompany>Find company information:</id><br>
<input class=inputs name=SearchText id=txtCoSearch>
<table width=100% cellspacing=0 cellpadding=0 class=searchTable>
<tr>
<td>
<div class=AdSpace id=adCo></div>
</td>
<td class=rightButton>
<input type=submit id="btnSearchCo" value=Search title="Start Searching">
</td>
</tr>
</table>
</form>
</div>
<!-- Search encyclopedias -->
<script defer>
// "virtual" CPanel.InitProc
function EncInitProc()
{
if (this.CreateEngineBucket())
{
block = this.m_engBucket.NewEngineBlock("default");
block.NewEngine("encarta", "Encarta", ENG_IN_PANE, "http://find.msn.com/encarta/iesearchresults.asp?ix=concise1&mh=&so=ir_title&pp=1&o1=eq&q1=**SearchText**&c1=ir_title&x=11&y=12");
this.m_engBucket.UnPersistOrder();
this.ExtractFields();
}
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Enc
srchflds=txtEncSearch InitProc=EncInitProc>
<form id=formEnc onsubmit="OnEnter();return false;">
<id id=EncEncylopediaFind>Find encyclopedia articles on:</id><br>
<input class=inputs name=SearchText id=txtEncSearch>
<table width=100% cellspacing=0 cellpadding=0 class=searchTable>
<tr>
<td>
<div class=AdSpace id=adEnc></div>
</td>
<td class=rightButton>
<input type=submit id=btnSearchEnc value=Search title="Start Searching">
</td>
</tr>
</table>
</form>
</div>
<!-- Search Maps -->
<script defer>
// "virtual" CPanel.InitProc
function MapInitProc()
{
if (this.CreateEngineBucket())
{
block = this.m_engBucket.NewEngineBlock("address");
block.NewEngine("expedia", "Expedia", 0, "http://www.expediamaps.com/results.asp?Street=**StreetAddress**&City=**City**&State=**State**&Zip=**ZipCode**");
block = this.m_engBucket.NewEngineBlock("company");
block.NewEngine("expedia", "Expedia", 0, "http://www.expediamaps.com/results.asp?FindBy=N&Name=**CompanyName**&City=**City**&State=**State**&Zip=**ZipCode**");
block = this.m_engBucket.NewEngineBlock("place");
block.NewEngine("expedia", "Expedia", 0, "http://www.expediamaps.com/results.asp?Place=**PlaceName**");
this.m_engBucket.UnPersistOrder();
this.ExtractFields();
this.m_curBlock = "address";
}
}
function MapType_OnChange(val)
{
var pnlObj = GetPanelObj("Map");
pnlObj.m_curBlock = val;
pnlObj.SetAd();
switch (val)
{
case "address":
spanMapAddress.style.display = "";
spanMapCompany.style.display = "none";
spanMapPlace.style.display = "none";
break;
case "company":
spanMapAddress.style.display = "";
spanMapCompany.style.display = "";
spanMapPlace.style.display = "none";
break;
case "place":
spanMapAddress.style.display = "none";
spanMapCompany.style.display = "none";
spanMapPlace.style.display = "";
break;
}
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Map
srchflds="txtMapCompany,txtMapAddress,txtMapCity,txtMapState,txtMapZip,txtMapPlace" InitProc=MapInitProc>
<form id=formMap onsubmit="OnEnter();return false;">
<id id=idMapSearchFor>Search For:</id><br>
<select id=mapSubType onchange="MapType_OnChange(this.value)">
<option value="address" id=idOptMapAddress selected>Address</option>
<option value="company" id=idOptMapCompany>Company</option>
<option value="place" id=idOptMapPlace>Place or landmark</option>
</select><br>
<span id=spanMapCompany style="display:none">
<id id=idMapCompany>This Company Name:</id><br>
<input class=inputs name=CompanyName id=txtMapCompany><br>
</span>
<span id=spanMapAddress>
<id id=idMapAddress>This Address:</id><br>
<input class=inputs name=StreetAddress id=txtMapAddress><br>
<id id=idMapCity>City:</id><br>
<input class=inputs name=City id=txtMapCity><br>
<span>
<table cellspacing=0 cellpadding=0 width=100% id="maptable">
<tr>
<td id=idMapState>State/Province:</td>
<td width=7 id=id0003>&nbsp;</td>
<td width=50 id=idMapZip>Zip/Postal Code:</td>
</tr>
<tr>
<td><input class=inputs id=txtMapState name=State></td>
<td></td>
<td><input class=inputs size=7 maxlength=11 name=ZipCode id=txtMapZip></td>
</tr>
</table>
</span>
</span>
<span id=spanMapPlace style="display:none">
<id id=idMapPlace>This place or landmark:</id><br>
<input class=inputs name=PlaceName id=txtMapPlace><br>
</span>
<table width=100% cellspacing=0 cellpadding=0 class=searchTable>
<tr>
<td>
<div class=AdSpace id=adMap></div>
</td>
<td class=rightButton>
<input type=submit id=btnSearchMap value=Search title="Start Searching">
</td>
</tr>
</table>
</form>
</div>
<!-- Newsgroup search -->
<script defer>
// "virtual" CPanel.InitProc
function NewsInitProc()
{
if (this.CreateEngineBucket())
{
var block = this.m_engBucket.NewEngineBlock("default");
block.NewEngine("dejanews","Dejanews", ENG_IN_PANE, "http://www.dejanews.com/=mssb/dnquery.xp?defaultOp=AND&svcclass=dncurrent&maxhits=10&format=terse2&ST=QS&site=mssb&QRY=**SearchText**");
this.m_engBucket.UnPersistOrder();
this.ExtractFields();
}
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=News
srchflds=txtNewsSearch InitProc=NewsInitProc>
<form id=formNews onsubmit="OnEnter();return false;">
<id id=idNewsFind>Find a Newsgroup containing:</id><br>
<input style="width:100%" type=text name=SearchText id=txtNewsSearch class=inputs><br>
<table width=100% cellspacing=0 cellpadding=0 class=searchTable>
<tr>
<td>
<div class=AdSpace id=adNews></div>
</td>
<td class=rightButton>
<input type=submit id=btnNewsSearch value=Search title="Start Searching">
</td>
</tr>
</table>
</form>
</div>
<!-- Run previous searches -->
<script defer>
// "virtual" CPanel.InitProc
function PrevInitProc()
{
this.OnEnter = ClearPreviousSearches;
xmlObj.load(g_prevSearchStore);
var html = "";
var doc = xmlObj.XMLDocument;
var docNode = doc.documentElement;
var nPrevSearches = docNode.childNodes.length;
var i, j;
if (nPrevSearches > 0)
{
for (i = 0; i < nPrevSearches; i++)
{
var searchNode = docNode.childNodes.item(i);
if (searchNode.nodeName == "PREVIOUSSEARCH")
{
var nFields = searchNode.childNodes.length;
var names = "";
var values = "";
var nameValuePairs = "";
var namesAdded = 0;
var valsAdded = 0;
for (j = 0; j < nFields; j++)
{
var nvnode = searchNode.childNodes.item(j);
if (nvnode.nodeName == "SEARCHFIELD")
{
var name = XML_GetAttribute(nvnode, "NAME");
var value = XML_GetAttribute(nvnode, "VALUE")
if (name != "")
{
if (namesAdded > 0)
{
names += ",";
}
namesAdded++;
names += name;
if (value != "")
{
if (valsAdded > 0)
{
values += ",";
}
valsAdded++;
values += value;
value = "\"" + escape(value) + "\"";
}
else
{
value = "\"\"";
}
nameValuePairs += " " + name + "=" + value;
}
}
}
var panelID = XML_GetAttribute(searchNode, "PANELID");
var block = XML_GetAttribute(searchNode, "BLOCK");
var opt = GetOption(panelID);
if ((null != opt) && (valsAdded > 0))
{
var lbl = eval(opt.lbl);
if (lbl != null)
{
var toolTip = eval(lbl).innerText;
var thisId = "prevSearch" + i;
var itemHTML;
itemHTML = "<li class=indent id=" + thisId + " " + "panelID=" + panelID + " block=" + block;
itemHTML += " names=" + names + nameValuePairs + "><a href='javascript:RunPreviousSearch(" + thisId + ")' title=\"" + toolTip + "\">" + values + "</a><br>"
html += itemHTML;
}
}
}
}
}
if (html != "")
{
btnClearPrevSearches.disabled = false;
}
else
{
btnClearPrevSearches.disabled = true;
html = GetEmptyPrevSearchText();
}
spanSearchPrev.innerHTML = html;
}
function GetEmptyPrevSearchText()
{
var L_EmptyPrevSearch_Text = "There are no saved searches";
return "<span style='font-weight:bold;'>" + L_EmptyPrevSearch_Text + "</span>"
}
function RunPreviousSearch(item)
{
var pnlObj = GetPanelObj(item.panelID);
if (null != pnlObj)
{
var names = item.names.split(",");
var values = new Array();
var i;
var n = names.length;
for (i = 0; i < n; i++)
{
var val = eval("item." + names[i]);
values[i] = val != "" ? unescape(val) : "";
}
pnlObj.InitProc();
pnlObj.SetNameValuePairs(names, values);
pnlObj.SetBlock(item.block);
pnlObj.SetupNextMenu();
pnlObj.RunEngineSearch(0);
}
}
function ClearPreviousSearches()
{
xmlObj.load(g_prevSearchStore);
var docNode = xmlObj.XMLDocument.documentElement;
var n = docNode.childNodes.length;
for (i = 0; i < n; i++)
{
docNode.removeChild(docNode.childNodes.item(0));
}
xmlObj.save(g_prevSearchStore);
btnClearPrevSearches.disabled = true;
spanSearchPrev.innerHTML = GetEmptyPrevSearchText();
}
</script>
<div class=searchPanel id=panel style="display:none" InitProc=PrevInitProc panelID=Prev>
<id id=idPrevSearches>You've run the following searches:</id><br>
<br>
<ul>
<span ID=spanSearchPrev>
</span>
</ul>
<table width=100% cellspacing=0 cellpadding=0 class=searchTable>
<tr>
<td class=rightButton>
<input type=button id=idBtnClearSearches onclick=OnEnter() value="Clear" title="Clear previous searches" name=btnClearPrevSearches></span>
</td>
</tr>
</table>
</div>
<!-- Shell searches -->
<object id=DocFindOC height=0 width=0 classid="clsid:B005E690-678D-11d1-B758-00A0C90564FE"></object>
<object id=ShellOC height=0 width=0 classid="clsid:13709620-C279-11CE-A49E-444553540000"></object>
<script defer>
// Shell search helpers
var g_fShellSearchInProgress = false;
var g_btnHandler = null;
</script>
<script language="javascript" for="DocFindOC" event="SearchStart">
g_fShellSearchInProgress = true;
g_btnHandler();
</script>
<script language="javascript" for="DocFindOC" event="SearchAbort">
g_fShellSearchInProgress = false;
g_btnHandler();
</script>
<script language="javascript" for="DocFindOC" event="SearchComplete">
g_fShellSearchInProgress = false;
g_btnHandler();
</script>
<!-- Files and Folders -->
<script defer>
function FilesInitProc()
{
this.OnEnter = FindFilesAndFolders;
}
function FilesBtnHandler()
{
if (g_fShellSearchInProgress)
{
formFiles.btnFilesStartSearch.disabled = true;
}
else
{
formFiles.btnFilesStartSearch.disabled = false;
}
formFiles.btnFilesStopSearch.disabled = !formFiles.btnFilesStartSearch.disabled;
}
function FindFilesAndFolders()
{
g_btnHandler = FilesBtnHandler;
if (!g_fShellSearchInProgress)
{
var searchFor = formFiles.txtFilesSearch.value;
var lookIn = formFiles.txtFilesLookIn.String;
if (searchFor != "")
{
DocFindOC.SearchFor(0);
DocFindOC.AddConstraint("SearchFor", searchFor);
DocFindOC.AddConstraint("LookIn", lookIn);
DocFindOC.Execute();
}
}
else
{
DocFindOC.Execute();
}
}
function FilesAdvanced()
{
// show files and folders desk band:
var bShow = true ;
shOC.ShowBrowserBar("{C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1}", bShow ) ;
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Files flags="PNL_SHELL"
srchflds="txtFilesSearch,txtFilesLookIn" InitProc=FilesInitProc>
<form id=formFiles onsubmit="FindFilesAndFolders();return false;">
<id id=idFilesSearch>Search For Files or Folders:</id><br>
<input class=text name=SearchText size=26 id=txtFilesSearch><br>
<id id=idFilesLookIn>Look In:</id><br>
<object classid="clsid:71D90AE1-A4BF-11d1-923E-006097DF5BD4" WIDTH="180px" HEIGHT="25px" id=txtFilesLookIn style="position:relative; left:-1pt">
<param name="AutoComplete In File System" value="1">
<param name="Enable Edit" value="1">
<param name="Persist String" value="Last Search Folder">
</object><br>
<input type=submit id=btnFilesStartSearch value=Search title="Start Searching">
<input type=submit id=btnFilesStopSearch value=Stop title="Begin a new search" disabled=true>
<br>
<id id=idFilesAdvanced>You can do a more <a href="javascript:FilesAdvanced()">detailed search</a> by file contents, date, type, or size.</id>
</form>
</div>
<!-- Printers -->
<script defer>
function PrinterInitProc()
{
this.OnEnter = FindPrinter;
}
function FindPrinter()
{
ShellOC.FindPrinter(formPrinter.txtPrinterName.value, formPrinter.txtPrinterLoc.value, formPrinter.txtPrinterModel.value);
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Printer flags="PNL_SHELL"
srchflds="txtPrinterName,txtPrinterLoc,txtPrinterModel" InitProc=PrinterInitProc>
<form id=formPrinter onsubmit="FindPrinter();return false;">
<id id=idPrinterName>Name:</id><br>
<input type=text name=PrinterName id=txtPrinterName class=inputs><br>
<id id=idPrinterLocation>Location:</id><br>
<input type=text name=PrinterLoc id=txtPrinterLoc class=inputs><br>
<id id=idPrinterModel>Model:</id><br>
<input type=text name=PrinterModel id=txtPrinterModel class=inputs><br>
<input type=submit id=btnPrinterStartSearch value=Search title="Start Searching">
</form>
</div>
<!-- Computers -->
<script defer>
function ComputerInitProc()
{
this.OnEnter = FindComputer;
}
function ComputerBtnHandler()
{
if (g_fShellSearchInProgress)
{
formComputer.btnComputerStartSearch.disabled = true;
}
else
{
formComputer.btnComputerStartSearch.disabled = false;
}
formComputer.btnComputerStopSearch.disabled = !formComputer.btnComputerStartSearch.disabled;
}
function FindComputer()
{
g_btnHandler = ComputerBtnHandler;
if (!g_fShellSearchInProgress)
{
var computerName = formComputer.txtComputerName.value;
if (computerName != "")
{
DocFindOC.SearchFor(1);
DocFindOC.AddConstraint("SearchFor", computerName);
DocFindOC.Execute();
}
}
else
{
DocFindOC.Execute();
}
}
</script>
<div class=searchPanel id=panel style="display:none" panelID=Computer flags="PNL_SHELL"
srchflds="txtComputerName" InitProc=FindComputer>
<form id=formComputer onsubmit="FindComputer();return false;">
<id id=idComputerSearch>Search for:</id><br>
<input type=text name=ComputerName id=txtComputerName class=inputs><br>
<input type=submit id=btnComputerStartSearch value=Search title="Start Searching">
<input type=submit id=btnComputerStopSearch value=Stop title="Begin a new search" disabled=true>
</form>
</div>
<!-- Custom Folder -->
<script defer>
</script>
<div class=searchPanel id=panel style="display:none" panelID=Custom flags="PNL_SHELL">
<form id=formCustom onsubmit="return false;">
<id id=idCustomSearch>Custom search goes here!</id>
<iframe id="iframeCustom" src="about:blank"></iframe>
</form>
</div>
</div>
</basefont>
</body>
</html>