|
|
function LoadWrapperParams(oSEMgr) { var regBase = g_NAVBAR.GetSearchEngineConfig();
// Load the number of results
var iNumResults = parseInt( pchealth.RegRead( regBase + "NumResults" ) ); if(isNaN( iNumResults ) == false && iNumResults >= 0) { oSEMgr.NumResult = iNumResults; } else { if (pchealth.UserSettings.IsDesktopVersion) oSEMgr.NumResult = 15; else oSEMgr.NumResult = 50; }
// Load the number of results
if(pchealth.RegRead( regBase + "SearchHighlight" ) == "false") { g_NAVBAR.g_SearchHighlight = false; } else { g_NAVBAR.g_SearchHighlight = true; }
// Initialize search eng and get data
var g_oEnumEngine = oSEMgr.EnumEngine(); for(var oEnumEngine = new Enumerator(g_oEnumEngine); !oEnumEngine.atEnd(); oEnumEngine.moveNext()) { var oSearchEng = oEnumEngine.item();
// Load enable flag
var strBoolean = pchealth.RegRead( regBase + oSearchEng.ID + "\\" + "Enabled"); if ((strBoolean) && (strBoolean.toLowerCase() == "false")) oSearchEng.Enabled = false; else oSearchEng.Enabled = true;
// Loop through all the variables
for(var v = new Enumerator(oSearchEng.Param()); !v.atEnd(); v.moveNext()) { oParamItem = v.item();
// If parameter is not visible, skip
if (oParamItem.Visible == true) { try { var strParamName = oParamItem.Name;
// Read the value from the registry
var vValue = pchealth.RegRead( regBase + oSearchEng.ID + "\\" + strParamName );
// Load it into the wrapper
if(vValue) { var Type = oParamItem.Type;
// if boolean value
if (Type == pchealth.PARAM_BOOL) { if (vValue.toLowerCase() == "true") oSearchEng.AddParam(strParamName, true); else oSearchEng.AddParam(strParamName, false); } // if floating numbers
else if (Type == pchealth.PARAM_R4 || // float
Type == pchealth.PARAM_R8 ) // double
{ oSearchEng.AddParam(strParamName, parseFloat(vValue)); } // if integer numbers
else if (Type == pchealth.PARAM_UI1 || // Byte
Type == pchealth.PARAM_I2 || // Short
Type == pchealth.PARAM_I4 || // long
Type == pchealth.PARAM_INT || // int
Type == pchealth.PARAM_UI2 || // unsigned short
Type == pchealth.PARAM_UI4 || // unsigned long
Type == pchealth.PARAM_UINT) // unsigned int
{ oSearchEng.AddParam(strParamName, parseInt(vValue)); } else if(Type == pchealth.PARAM_LIST) { LoadListItemToDisplay(oSearchEng, oParamItem.Data, strParamName, vValue); } // if date, string, selection, etc
else { oSearchEng.AddParam(strParamName, vValue); } } else { if(oParamItem.Type == pchealth.PARAM_LIST) { LoadListItemToDisplay(oSearchEng, oParamItem.Data, strParamName, ""); } } } catch(e) { ; } } } } }
function SaveWrapperParams(wrapperID, strParamName, vValue) { var reg = g_NAVBAR.GetSearchEngineConfig();
if(wrapperID != "") reg += wrapperID + "\\";
pchealth.RegWrite( reg + strParamName, vValue ); }
function LoadListItemToDisplay(oWrapper, strXML, strParameterName, strPrevValue) { try { var strDefaultItemValue = ""; // Load the xml file
var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async = false; xmldoc.loadXML(strXML);
// Generate each item
var ElemList = xmldoc.getElementsByTagName("PARAM_VALUE"); for (var i=0; i < ElemList.length; i++) { var strItemValue = ElemList.item(i).getAttribute("VALUE"); var strDisplay = ElemList.item(i).getElementsByTagName("DISPLAYSTRING").item(0).text; var strDefault = ElemList.item(i).getAttribute("DEFAULT");
if(strDefault == null) strDefault = "";
strItemValue = pchealth.TextHelpers.QuoteEscape( strItemValue, "'" );
// Restore the previous value
if ((!strPrevValue) || (strPrevValue == "")) { // Check if default value
if(strDefault.toLowerCase() == "true") { // set the default value so that the search wrapper gets this value
oWrapper.AddParam( strParameterName, strItemValue ); return; } } else { // Check for previous value
if(strPrevValue == strItemValue) { // set the prev value so that the search wrapper gets this value
oWrapper.AddParam( strParameterName, strItemValue ); return; } else { if(strDefault.toLowerCase() == "true") { strDefaultItemValue = strItemValue; } } } }
// Either add the default value or the first item in the list
if(strDefaultItemValue.length > 0) { // set the default value so that the search wrapper gets this value
oWrapper.AddParam( strParameterName, strDefaultItemValue ); } // Add the first item in the list to wrapper because no default value is present and no prev value is present
else if(ElemList.length > 0) { oWrapper.AddParam( strParameterName, ElemList.item(0).getAttribute("VALUE") ); } } catch(e) { } }
|