

function getMemberDetails( e, param, targetDivId )
{
    var theKeyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
    if( param.length > 3 && ((theKeyCode == 8) || (theKeyCode == 32) || (theKeyCode > 47 && theKeyCode<58) || (theKeyCode > 64 && theKeyCode<91) || (theKeyCode > 96 && theKeyCode<123)))
    {
        var theDiv = document.getElementById( targetDivId );
        var http = getHTTP();
        if( typeof( http ) != "undefined" && http != null )
        {
            var myurl = getBaseURL() + "/MemberSearch";
            http.open( "GET", myurl + "?userID=" + escape( param ), true );
            http.onreadystatechange =
                function ()
                {
                    if( http.readyState == 4 )
                    {
                        show( targetDivId );
                        writeMemberSearchResults( theDiv, http.responseXML );
                    }
                };
            http.send(null);
        }
    }
}

function writeMemberSearchResults( theDiv, theResponse )
{
    var result = "";
    var hoverMemberList = document.getElementById("hover_MemberList");
    if( hoverMemberList != null )
    {
        var members = theResponse.getElementsByTagName("SynergyMember");

        if( members != null && members.length > 0 )
        {
            for( var loop=0; loop < members.length; loop++ )
            {
                var member = members[ loop ];

                var id = member.getElementsByTagName("Id");
                var surname = member.getElementsByTagName("Surname");
                var firstname = member.getElementsByTagName("Firstname");
                var title = member.getElementsByTagName("FullMemberName");
                var businessName = member.getElementsByTagName("BusinessName");
                var countryCode = member.getElementsByTagName("CountryCode");
                var currencyCode = member.getElementsByTagName("CurrencyCode");
                var timezone = member.getElementsByTagName("Timezone");

                businessName = ( hasData( businessName ) ? businessName[0].firstChild.nodeValue : "" );
                id = ( hasData( id ) ? id[0].firstChild.nodeValue : "" );
                surname = ( hasData( surname ) ? surname[0].firstChild.nodeValue : "" );
                firstname = ( hasData( firstname ) ? firstname[0].firstChild.nodeValue : "" );
                countryCode = ( hasData( countryCode ) ? countryCode[0].firstChild.nodeValue : "" );
                currencyCode = ( hasData( currencyCode ) ? currencyCode[0].firstChild.nodeValue : "" );
                timezone = ( hasData( timezone ) ? timezone[0].firstChild.nodeValue : "" );
                title = ( hasData( title ) ? title[0].firstChild.nodeValue : "" );

                // Need to handle apostrophies in names used in javascript function calls.
                // They're coded as &#39; but javascript is still painful.
                // Need to prefix them with a backslash as \'

                result += "&#149;&nbsp;<a href=\"javascript:selectMember(" + id + ", '" + title.split("&#39;").join("\\'") + "', '" + countryCode + "', '" + currencyCode + "', '" + timezone + "' )\">" + title + "</a><br>";
            }
        }
        else result = "<p>Sorry, no matching SynergyBizNet members could be found. Please try again.</p>";
        hoverMemberList.innerHTML = result;
    }
}

