|
|
<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> </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> </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>
|