<!-- Begin Javascript
//AJAX XML
var agtChk=navigator.userAgent.toLowerCase();var bolVer=false;;
if(agtChk.indexOf('msie')!=-1 && agtChk.indexOf('opera')==-1){if(agtChk.substr(agtChk.indexOf('msie')+5,1)>=6){bolVer=true;}else{bolVer=false;}}
if(agtChk.indexOf('firefox')!=-1){bolVer=true;}
if(agtChk.indexOf('safari')!=-1){bolVer=true;}
var strResult=''; var strResponse=''; var strPrev='';
var strTxt=''; var strFld=''; var strID=''; var bolTray=false;
var xslSrch='';
//set fld vars
//####################################
//_1, _2 can be replaced with intelligent var names
//need to update /xmlpathgoeshere/ and /xslpathgoeshere/ placeholders with absolute path to xml/xsl (i.e. /xml/mm_search.xml)
//xsl needs to have xml extension to work
//####################################
var bolLoad_1=false; var bolLoad_2=false;
var xmlLoad_1=''; var xmlLoad_2='';
//set fld handler
function loadHandler(xml,type){
if(type=='xml'){
//alert('load');
switch(strFld){
case '1': case '2': case '3':xmlLoad_1=xml;loadXML('/dbs/bas/xml/search.xml','xsl');break;
case '99':xmlLoad_1=xml;loadXML('/dbs/bas/xml/search.xml','xsl');break;
}}
if(type=='xsl'){
xslSrch=xml;
switch(strFld){
case '1': case '2': case '3':doXSL(xmlLoad_1);break;
case '99':doXSL(xmlLoad_1);break;
}}
}
//set fld logic
//####################################
//logic needs to be set in case for each variable 
//need to update /xmlpathgoeshere/ placeholder with absolute path to xsl (i.e. /xml/mm_search.xml)
//assumes str=search string, fld=field, id=html element
//####################################
function showHint(str,fld,id){
strID=id;
if(bolVer==true){
if(fld!=strFld){strTxt='';}
strFld=fld;
//load if
switch(strFld){
case '1': case '2': case '3':
strPrev=document.getElementById(strID).innerHTML;var cntCur=0;
if(str.length>=3){
//check for letter change
//if(str.substr(0,1) != strTxt.substr(0,1)){bolReset=true;}else{bolReset=false;}
strTxt=str;
strTxt=strTxt.toLowerCase();
//load xml and xsl
if(bolLoad_1==false || bolReset==true){
xmlLoad_1='';
xslSrch='';
loadXML('/dbs/bas/xml/full.xml','xml');
bolLoad_1=true;bolReset=false;
}else{
//do search
if(doXSL(xmlLoad_1)==false){bolLoad_1=false;}
}
//show tray if needed
cntCur=document.getElementById(strID).innerHTML.length;
if(cntCur <= 271){
//document.getElementById(strID).innerHTML=strPrev;
document.getElementById(strID).innerHTML='No Records found';
}
}
//clear if clearing
else if(str.length<=3){
document.getElementById(strID).innerHTML='';strPrev='';
//disabled reset so does not require reload
//bolReset=true;
document.getElementById(strID).innerHTML='Search Results will update here as you type';
}
break;
case '99':
strTxt=str;
if(bolLoad_1==false || bolReset==true){
loadXML('/dbs/bas/xml/full.xml','xml');
bolLoad_1=true;bolReset=false;
}else{
if(doXSL(xmlLoad_1)==false){bolLoad_1=false;}
}
break;
}
}else{
document.getElementById(strID).innerHTML="Your browser does not support this feature.";
}}
//load xml
function loadXML(strFile,type){
//Setup XML Reader
var xmlDoc;
//Internet Explorer
try {xmlDoc=new ActiveXObject("Microsoft.XMLDOM");}catch(e){
//Firefox, Mozilla, Safari 
try {xmlDoc=new XMLHttpRequest();}catch(e){
alert(e.message);}
}
//Setup XML Doc
try {
if(window.ActiveXObject){
xmlDoc.async=false;xmlDoc.load(strFile);loadHandler(xmlDoc,type);
}else{
xmlDoc.open('GET', strFile, true);xmlDoc.onreadystatechange = function (){
if(xmlDoc.readyState == 4){loadHandler(xmlDoc.responseXML,type);}};
xmlDoc.send(null);
}}
catch(e){alert(e.message);}
}
//transform
function doXSL(xml){
if(xml && xslSrch){
//code for IE
if(window.ActiveXObject){
xslSrch.setProperty("SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");
var strParm1=xslSrch.selectSingleNode("//xsl:param[@name='str']");strParm1.text = strTxt;
var strParm2=xslSrch.selectSingleNode("//xsl:param[@name='type']");strParm2.text = strFld;
var strParm3=xslSrch.selectSingleNode("//xsl:param[@name='id']");strParm3.text = strID;
strResult=xml.transformNode(xslSrch);
document.getElementById(strID).innerHTML=strResult;
}
// code for Mozilla, Firefox, Safari etc.
else if(document.implementation && document.implementation.createDocument)  {
if(typeof XSLTProcessor != 'undefined'){
var xsltProcessor=new XSLTProcessor();
xsltProcessor.setParameter(null, 'str', strTxt);
xsltProcessor.setParameter(null, 'type', strFld);
xsltProcessor.setParameter(null, 'id', strID);
xsltProcessor.importStylesheet(xslSrch);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById(strID).innerHTML='';document.getElementById(strID).appendChild(resultDocument);
}}
cntCur=document.getElementById(strID).innerHTML.length;
return true;}else{return false;}
}


//-->