function MM_preloadImages() { 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function set_images(this_page)
{
MM_preloadImages('/jp/images/btn_global_top_home.gif',
                 '/jp/images/btn_global_top_home_f2.gif',
                 /*'/jp/images/btn_global_top_company.gif',
                 '/jp/images/btn_global_top_company_f2.gif',*/
                 '/jp/images/btn_company_jp.gif',
                 '/jp/images/btn_company_jp_f2.gif',
                 /*'/jp/images/btn_global_top_sitemap.gif',
                 '/jp/images/btn_global_top_sitemap_f2.gif',*/
                 '/jp/images/btn_sitemap_jp.gif',
                 '/jp/images/btn_sitemap_jp_f2.gif',
                 '/jp/images/btn_global_top_buynow.gif',
                 '/jp/images/btn_global_top_buynow_f2.gif',
                 '/jp/images/btn_global_top_viewcart.gif',
                 '/jp/images/btn_global_top_viewcart_f2.gif',
                 /*'/jp/images/btn_global_top_contact.gif',
                 '/jp/images/btn_global_top_contact_f2.gif',*/
                 '/jp/images/btn_contact_jp.gif',
                 '/jp/images/btn_contact_jp_f2.gif',
                 /*'/jp/images/btn_global_top_my_acco.gif',
                 '/jp/images/btn_global_top_my_acco_f2.gif',
                 '/jp/images/btn_global_top_logoff.gif',
                 '/jp/images/btn_global_top_logoff_f2.gif',*/
                 '/jp/images/btn_global_nav_products.gif',
                 '/jp/images/btn_global_nav_products_f2.gif',
                 '/jp/images/btn_global_nav_solutions.gif',
                 '/jp/images/btn_global_nav_solutions_f2.gif',
                 /*'/jp/images/btn_global_nav_consulting.gif',
                 '/jp/images/btn_global_nav_consulting_f2.gif',*/
                 '/jp/images/btn_global_nav_education.gif',
                 '/jp/images/btn_global_nav_education_f2.gif',
                 '/jp/images/btn_global_nav_support.gif',
                 '/jp/images/btn_global_nav_support_f2.gif',
                 '/jp/images/btn_global_nav_downloads.gif',
                 '/jp/images/btn_global_nav_downloads_f2.gif');
    switch (this_page)
    {
        case "jp_home":
            document.images.home.src = "/jp/images/btn_global_top_home_f2.gif";
        break;  
        case "home":
            document.images.home.src = "/jp/images/btn_global_top_home_f2.gif";
        break;  
                
        case "company":
            //document.images.company.src = "/jp/images/btn_global_top_company_f2.gif";
            document.images.company.src = "/jp/images/btn_company_jp_f2.gif";
        break;
        
        case "sitemap":
            //document.images.sitemap.src = "/jp/images/btn_global_top_sitemap_f2.gif";
            document.images.sitemap.src = "/jp/images/btn_sitemap_jp_f2.gif";
        break;
        
        case "contact":
            //document.images.contact.src = "/jp/images/btn_global_top_contact_f2.gif";                     
            document.images.contact.src = "/jp/images/btn_contact_jp_f2.gif";                       
        break;
        case "buynownav":
            document.images.buynownav.src = "/jp/images/btn_global_top_buynow_f2.gif";
        break;                      
        case "viewcartnav":
            document.images.viewcartnav.src = "/jp/images/btn_global_top_viewcart_f2.gif";                     
        break;
        case "my_account":
            //document.images.account.src = "/jp/images/btn_global_top_my_acco_f2.gif";                             
        break;          
        
        case "products":
            document.images.products.src = "/jp/images/btn_global_nav_products_f2.gif";                     
        break;

        case "solutions":
            document.images.solutions.src = "/jp/images/btn_global_nav_solutions_f2.gif";                       
        break;
                
        case "education":
            document.images.education.src = "/jp/images/btn_global_nav_education_f2.gif";                       
        break;
        
        case "support":
            document.images.support.src = "/jp/images/btn_global_nav_support_f2.gif";                                                               
        break;

        case "downloads":
            document.images.downloads.src = "/jp/images/btn_global_nav_downloads_f2.gif";                                                       
        break;
                
        case "consulting":
            document.images.consulting.src = "/jp/images/btn_global_nav_consult_f2.gif";                                                                
        break;          
    }
}
//function to open new window
function newWindow(mypage) {

    var winl = (screen.width - 620) / 2;
    var wint = (screen.height - 500) / 2;
    winprops = 'height='+500+',width='+620+',top='+wint+',left='+winl+',scrollbars=yes,resizable=yes,toolbar=no,status=no';

    window.open(mypage,'NewWindow',winprops);

}

//function to open new window
function pop_up(mypage) {

    var winl = (screen.width - 620) / 2;
    var wint = (screen.height - 500) / 2;
    winprops = 'height='+500+',width='+620+',top='+wint+',left='+winl+',scrollbars=yes,resizable=yes,toolbar=yes,status=yes';

    window.open(mypage,'NewWindow',winprops);

}

function pop_thumb(mypage) {

    var winl = (screen.width - 650) / 2;
    var wint = (screen.height - 500) / 2;
    winprops = 'height='+500+',width='+650+',top='+wint+',left='+winl+',scrollbars=yes,resizable=no,toolbar=no,status=no';

    window.open(mypage,'NewWindow',winprops);

}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

MM_reloadPage(true);

function MM_findObj(n, d) { 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function tmt_findObj(n){
    var x,t; if((n.indexOf("?"))>0&&parent.frames.length){t=n.split("?");
    x=eval("parent.frames['"+t[1]+"'].document.getElementById('"+t[0]+"')");
    }else{x=document.getElementById(n)}return x;
}

// Workaround to  make pop-up menus stay on top of <select> elements in IE 5.5 & IE 6
// To undo, uncomment the block below and delete the new code that folows
// This workaround displays menus in an iframe. The iframe is in dropdown.jsp,
// initialy hidden until a menu needs showing.

/*
function MM_showHideLayers() { 
  var i,p,v,obj,args=MM_showHideLayers.arguments;if(document.getElementById){
   for (i=0; i<(args.length-2); i+=3){ obj=tmt_findObj(args[i]);v=args[i+2];
   v=(v=='show')?'visible':(v='hide')?'hidden':v;
   if(obj)obj.style.visibility=v;}} else{
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }}
}

function hide(){
        MM_showHideLayers('ddmproducts','','hide','ddmsolutions','','hide','ddmconsulting','','hide','ddmeducation','','hide','ddmsupport','','hide','ddmdownloads','','hide','hideall','','hide');
    }
*/

var ie55 = false; 
//ie55 = ((navigator.appVersion.indexOf("MSIE 6.0") != -1 || navigator.appVersion.indexOf("MSIE 5.5") != -1)) ? true : false;
ie55 = (navigator.appVersion.indexOf("MSIE 6.0") != -1) ? true : false;

function MM_showHideLayers() { 
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  i = 0;

  if (ie55) {
    // args[0] is the menu to show.
    if (args.length > 2 && args[2] == 'show') {
          GG_showMenu(args[0]);
          i = 3;
    }
  }

  if(document.getElementById){
   for (; i<(args.length-2); i+=3){ 
    obj=tmt_findObj(args[i]);
    v=args[i+2];
    v=(v=='show')?'visible':(v='hide')?'hidden':v;
    if(obj)
      obj.style.visibility=v;
   }
  } 
  else {
   for (; i<(args.length-2); i+=3) 
    if ((obj=MM_findObj(args[i]))!=null) { 
     v=args[i+2];
     if (obj.style) { 
      obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; 
     }
     obj.visibility=v; 
    }
   }
}

function hide(){
    if (ie55) {
        GG_hide();
    }
    MM_showHideLayers('ddmproducts','','hide','ddmsolutions','','hide','ddmconsulting','','hide','ddmeducation','','hide','ddmsupport','','hide','ddmdownloads','','hide','hideall','','hide');
}

// given a div with id == menuid, display it in an iframe.
// the position and dimensions of the iframe match that of the div.
function GG_showMenu(menuid)
{
    // reference to the hidden iframe in which to put menus.
    var ifo = document.frames("mf");
    var ifx = document.all.mf;
    // reference to the DIV of the menu.
    var o = document.getElementById(menuid);
    if (o == null || ifo == null || ifx == null)
        return false;
    
    // need the coordinates of the menu DIV
    // so that we can position the iframe.
    // We cant get it thru the DIV obj cause it is hidden.
    // So we get it from the styleSheet collection. 
    var ostyle = "#" + o.id;  // the name of the style (ie #ddmproducts)
    var _ol = 0, _ot = 0;
    var ssr = document.styleSheets(0).rules;
    if (ssr != null)
    {
        for (i = 0; i < ssr.length; i++)
        {
            // found the style for our menu div?
            if (ssr[i].selectorText == ostyle)
            {
                // get menu coordinates.
                var s = ssr[i].style
                _ol = parseInt(s.left);
                _ot = parseInt(s.top);
                break;
            }
        }
    }
    ifx.style.left = _ol; ifx.style.top = _ot;
    ifx.style.visibility = "visible";

    // put the menu DIV inside the iframe.
    if (ifo != null){
        str = '<div id="ggmenu">' +  o.outerHTML + '</div>';
        if (ifo.document.body != null) {
            ifo.document.body.insertAdjacentHTML('beforeEnd',str);
        }
    }

    // move menu to origin in iframe and make it visible
    var x = ifo.document.getElementById(menuid);
    if (x != null)
    {
        x.style.left = 0;
        x.style.top = 0;
        x.style.visibility = "visible";
    }
    else
        return false;

    // resize iframe for exact fit. do it twice or it might not work.
    var ob = ifo.document.body;
    ifx.style.height = ob.scrollHeight + (ob.offsetHeight - ob.clientHeight);
    ifx.style.width = ob.scrollWidth + (ob.offsetWidth - ob.clientWidth);
    ifo.document.recalc(true);
        ifx.style.height = ob.scrollHeight + (ob.offsetHeight - ob.clientHeight);
        ifx.style.width = ob.scrollWidth + (ob.offsetWidth - ob.clientWidth);

    // the links in the menu needs to be modified because
    // they became relative to the iframe.
    // make them relative to parent document again using _target attribute
    var anchors = ob.getElementsByTagName("a");
    if (anchors != null)
    {
        for (i = 0; i < anchors.length; i++)
        {
            //alert(anchors[i].href);
            var a = anchors[i];
            if (a.target == null)
                alert("no target attribute for " + a.href);
            else if (a.target != "_blank")  // ! need case insensitive comp.
                a.target = "_parent"; 
        }
    }
    return true;
}

function GG_hide()
{
    var frm = window.parent.frames;
    if (frm.length > 0) {
        var ifo = document.frames("mf");
        if (ifo != null)
        {
            var om = ifo.document.getElementById("ggmenu");
            if (om != null)
            {
                ifo.document.body.removeChild(om);
            }
            document.all.mf.style.left = 0;
            document.all.mf.style.top = 0;
            document.all.mf.style.visibility = "hidden";
        }
    }
}

//
// END workaround for pop-up menus in IE 5.5 & IE 6
//

function MM_swapImgRestore() { 
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    return document.MM_returnValue;
}

function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
                
function getHTTPVariable(_var, _loc)
    {
        var input = _loc.search.substring(1);
        if (input)
            {
                var _search = input.split("&");
                var _tmp = new Array();
                for (i = 0; i < _search.length; i++)
                    {
                        _tmp = _search[i].split("=");
                        if (_tmp[0] == _var)
                            return _tmp[1];
                        }
                            if(_search.length <= 0)
                            {
                                _tmp = _input.split('=');
                                return _tmp[1];
                            }
                        return "";
                    }
                return "";
    }

function restore(){
        MM_swapImage('home','','/jp/images/btn_global_top_home.gif',1);
        MM_swapImage('company','','/jp/images/btn_global_top_company.gif',1);
        MM_swapImage('sitemap','','/jp/images/btn_global_top_sitemap.gif',1);
        MM_swapImage('contact','','/jp/images/btn_global_top_contact.gif',1);
        MM_swapImage('buynow','','/jp/images/btn_global_top_buynow.gif',1);
        MM_swapImage('account','','/jp/images/btn_global_top_my_acco.gif',1);
        MM_swapImage('logoff','','/jp/images/btn_global_top_logoff.gif',1);
    }

var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)

document.onmousemove = getMouseXY;

var tempX = 0
var tempY = 0

function getMouseXY(e) {
    if (IE) {
        // wait till document ready. may be related to the paint problem.
        if (document.body && document.body.readyState == "complete") {
            tempX = event.clientX + document.body.scrollLeft;
            tempY = event.clientY + document.body.scrollTop;
        }
        else
            return true;
    } else {  
        tempX = e.pageX;
        tempY = e.pageY;
    }
    // catch possible negative values in NS4
    if (tempX < 0){tempX = 0}
    if (tempY < 0){tempY = 0}  
    if ((tempX < 199) || (tempX > 750) || (tempY < 101) || (tempY > 500)) {
        hide(); 
    }

    // document.Show.MouseX.value = tempX
    // document.Show.MouseY.value = tempY
 
    return true;
}

function build_products()
{
var mdl_products =  new Array("AutoNom",
                            "MDL&reg; Central Library",
                            "MDL&reg; Chemscape and MDL&reg; Chime Pro",
                            "MDL&reg; Chemistry Rules Interface",
                            "MDL&reg; Chime Pro",
                            "MDL&reg; Core Interface",
                            "MDL&reg; Draw Enterprise Edition",
                            "MDL&reg; ISIS",
                            "MDL&reg; ISIS/Base",
                            "MDL&reg; ISIS/Draw",
                            "MDL&reg; ISIS for Excel",
                            "MDL&reg; ISIS/Host",
                            "MDL&reg; Relational Chemistry Server",
                            "MDL&reg; Report Manager",
                            "MDL&reg; Assay Explorer",
                            "MDL&reg; Apex",
                            "MDL&reg; Report Manager",
                            "MDL&reg; Afferent",
                            "MDL&reg; ChemBio AE",
                            "MDL&reg; &Eacute;lan",
                            "MDL&reg; Project Library",
                            "MDL&reg; Report Manager",
                            "MDL&reg; Available Chemicals Directory",
                            "MDL&reg; Reagent Selector",
                            "MDL&reg; Screening Compounds Directory",
                            "MDL&reg; SMART",
                            "MDL&reg; Metabolite Database",
                            "MDL&reg; Report Manager",
                            "MDL&reg; QSAR",
                            "MDL&reg; Sculpt",
                            "MDL&reg; Toxicity Database",
                            "Partek&reg; Pro",
                            "RTECS&reg;",
                            "CrossFire Beilstein",
                            "CrossFire Gmelin",
                            "AIDS Database",
                            "MDL&reg; Comprehensive Medicinal Chemistry",
                            "MDL&reg; Drug Data Report",
                            "National Cancer Institute Databases",
                            "MDL&reg; Available Chemicals Directory",
                            "MDL&reg; Screening Compounds Directory",
                            "ChemInform Reaction Library",
                            "Current Synthetic Methodology",
                            "Journal of Synthetic Methods",
                            "MDL&reg; Comprehensive Heterocyclic Chemistry",
                            "MDL&reg; Reference Library of Synthetic Methodology",
                            "MDL Solid-Phase Organic Reactions",
                            "Organic Syntheses",
                            "MDL&reg; Integrated Major Reference Works",
                            "MDL&reg; Metabolite Database",
                            "MDL&reg; Toxicity Database",
                            "OHS Custom Services",
                            "OHS Hazard Communication",
                            "OHS MSDS Services",
                            "OHS Reference",
                            "MDL&reg; Polymer",
                            "MDL&reg; SciGlass",
                            "MDL&reg; CrossFire Commander V6",
                            "MDL&reg; CrossFire Web",
                            "DiscoveryGate",
                            "MDL&reg; LitLink Servers",
                            "MDL&reg; Reaction Browser");
                            
    for (a=0;a<mdl_products.length;a++)
    {
        document.write("<option value="+mdl_products[a]+">"+ mdl_products[a] +"</option>");
    }
} 

function gotopage(this_form)
{
    select_val = document.search_type.sel_type.value;
    
    switch (select_val)
    {
        case "desktop": 
            document.search_type.action="/downloads/search_by_type/desk_software/result.jsp";
            document.search_type.submit();
        break;
        
        case "database":    
            document.search_type.action="/downloads/search_by_type/database/result.jsp";
            document.search_type.submit();
        break;
        
        case "document":    
            document.search_type.action="/downloads/search_by_type/documentation/result.jsp";
            document.search_type.submit();
        break;
        
        case "service": 
            document.search_type.action="/downloads/search_by_type/service_packs/results.jsp";
            document.search_type.submit();
        break;
        
        case "special": 
            document.search_type.action="/downloads/search_by_type/special_releases/results.jsp";
            document.search_type.submit();
        break;

        case "upgrade": 
            document.search_type.action="/downloads/search_by_type/upgrades/results.jsp";
            document.search_type.submit();
        break;                                      
    }
}

function resetall(_form) // activated when form RESET button clicked
{   for (idx=0;idx<_form.elements.length;idx++)
    {   var _element = _form.elements[idx];
        var _type = _element.type;
        if (_type == "checkbox")
        {   _element.checked = _element.defaultChecked;
        }
        else if (_type == "radio")
        {   _element.checked = _element.defaultChecked;
        }
        else if (_type.toLowerCase() == "text")
        {   _element.value = _element.defaultValue;
        }
        else if (_type.toLowerCase() == "password")
        {   _element.value = _element.defaultValue;
        }
        else if (_type == "textarea")
        {   _element.value = _element.defaultValue;
        }
        else if (_type == "select-one")
        {   var _options = _element.options;
            for (var idx2 = 0; idx2 < _options.length; idx2 ++) 
            {   _options[idx2].selected = _options[idx2].defaultSelected;
            }
        }
    }
}

//
// following three functions are for printing the left navigation table
// with product lists. see /products/includes/*_lnav.jsp
//

// make full href link for a given product
function lnavMakeProLink(root, famdir, prodir, index)
{
    return root + famdir + '/' + prodir + index;
}

// pretty print products in left navigation area.
// when a product's link match current document location, apply breadcrumb style.
// product arrays are defined in each *_lnav.jsp file.
// -1 and -2 in loops are due to dummy elements in the products array.
function lnavPrintNavTable(pa)
{
    // HTML for category name
    var sCat1 = "<tr><td valign='top' bgcolor='#EFF6FB' class='verd10teal'>&nbsp;</td>"
        + "<td colspan='2' bgcolor='#EFF6FB' class='verd10tealb2'>";
    var sCat2 = "</td></tr><tr><td colspan='3' bgcolor='#EFF6FB'><img src='/images/spacer.gif' alt='' width='19' height='5' /></td></tr>";

    // HTML for product names and links
    var sPro1 = "<tr><td class='verd10teal' bgcolor='#EFF6FB'>&nbsp;</td>" 
        + "<td class='leftnavbullets' align='right' valign='top' bgcolor='#EFF6FB'>&#8226;</td>"
        + "<td class='verd10teal' bgcolor='#EFF6FB'><a href='";
    var sPro2 = "</a></td></tr>";
    var sSpacer = "<tr><td colspan='3' valign='top' bgcolor='#EFF6FB'><img src='/images/spacer.gif' alt='' width='10' height='5' /></td></tr>";

    var i, k;
    var loc = document.location.pathname;
    for (i = 0; i < pa.length-1; i++)
    {
        p = pa[i];
        // product category name, if any.
        if (p[0].length > 0)
        {
            s = sCat1 + p[0] + sCat2;
            document.writeln(s);
        }

        // print each product, determine breadcrumb hilite.
        for (k = 1; k < p.length-2; k += 2)
        {
            var proLink = lnavMakeProLink(proRoot, proFamDir, p[k+1], proIndexHTML);
            var proLinkShort = lnavMakeProLink(proRoot, proFamDir, p[k+1], ""); 
            
            // use indexOf to maintain breadcrumb in pages in subdirectories of a product
            if (loc.indexOf(proLinkShort) == 0)
            {
                // urls match, apply breadcrumb style
                s = sPro1 + proLink + "' class='leftnavsubselected'>&nbsp;" + p[k];
            }
            else
            {
                s = sPro1 + proLink + "' class='leftnavsub'>&nbsp;" + p[k];
            }
            s += sPro2;
            document.writeln(s);

        }
        // print spacer row
        document.writeln(sSpacer);
    }
    document.close();
}

//following is the script for left nav items that have no sub-menues
function lnavPrintNavTable2(pa)
{
    // HTML for category name
    var sCat1 = "<tr><td colspan='3'><img src='/images/spacer.gif' alt='' width='19' height='6' /></td></tr>"
        + "<tr><td class='verd10teal'><img src='/images/arrow_gold_left.gif' alt='' width='19' height='11' /></td>"
        + "<td colspan='2' class='verd10teal'><a href='";
    var sCat2 = "</td></tr><tr><td colspan='3'><img src='/images/spacer.gif' alt='' width='19' height='6' /></td>"
        + "</tr><tr><td colspan='3'><img src='/images/leftnav_dotline.gif' alt='' width='199' height='2' /></td></tr>";
    var sCat3 = "<tr><td colspan='3'><img src='/images/leftnav_dotline.gif' alt='' width='199' height='2' /></td></tr>";
    var sCat4 = "<tr><td colspan='3' bgcolor='#EFF6FB'><img src='/images/spacer.gif' alt='' width='19' height='6' /></td></tr>"
        + "<tr><td  bgcolor='#EFF6FB' class='verd10teal'>&nbsp;</td>"
        + "<td colspan='2'  bgcolor='#EFF6FB' class='verd10tealb'>";
    var sCat5 = "</td></tr><tr><td colspan='3'  bgcolor='#EFF6FB'><img src='/images/spacer.gif' alt='' width='19' height='6' /></td></tr>"
        + "<tr><td colspan='3'><img src='/images/leftnav_dotline.gif' alt='' width='199' height='2' /></td></tr>";

    // HTML for sub-category name
    var sPro1 = "<tr><td class='verd10teal' bgcolor='#EFF6FB'>&nbsp;</td>"  // first column
        + "<td class='leftnavbullets' align='right' valign='top' bgcolor='#EFF6FB'>&#8226;</td>" //second column
        + "<td class='verd10teal' bgcolor='#EFF6FB'><a href='"; // third column
    var sPro2 = "</a></td></tr>";
    // horizontal row spacer
    var sSpacer = "<tr><td colspan='3' valign='top' bgcolor='#D9E6F3'><img src='/images/spacer.gif' alt='' width='10' height='5' /></td></tr>";

    var i, k;
    var loc = document.location.pathname;
    for (i = 0; i < pa.length-1; i++)
    {
        p = pa[i];
        // product category name, if any.
        if (p[0].length > 0)
        {
            for (k = 1; k < p.length-2; k += 2)
            {
                var proLink = lnavMakeProLink(proRoot, proFamDir, p[k+1], proIndexHTML);
                var proLinkShort = lnavMakeProLink(proRoot, proFamDir, p[k+1], ""); 

                // use indexOf to maintain breadcrumb in pages in subdirectories of a product
                if (loc.indexOf(proLinkShort) == 0)
                {
                    // urls match, apply breadcrumb style
                    proLink = "";
                    if (k == 1)
                        sCat4 = sCat3 + sCat4; // add dotted line above first line item when selected (active)
                    s = sCat4 + proLink + "&nbsp;" + p[k] + sCat5;
                }
                else
                {
                    s = sCat1 + proLink + "' class='leftnavsub'>&nbsp;" + p[k] + sCat2;
                }
                document.writeln(s);
            }

        }
        // print spacer row
        document.writeln(sSpacer);
    }
    document.close();
}

// Form validation of personal information, corporate payment and credit card****************************************
// END of Form validation of personal information, corporate payment and credit card****************************************

//function MM_strtrim(entry) { 
  //Match spaces at beginning and end of text and replace
  //with null strings
//  return entry.trim();
//}
function trim(str) {
            //Match spaces at beginning and end of text and replace
            //with null strings
        //str.replace(/^\s+/,null).replace(/\s+$/,null);
        str.replace(/^\s+/,'').replace(/\s+$/,'');
            return str;
}
    
