// Version 1.4
// REQUIRES THAT facet_url be set before loading.
if ( typeof(facet_url)=='undefined' ) {
    alert("SLI Critical Javascript Error, facet_url is not defined.\nFacet functions will not work properly\nPlease check the top of your header template");
}
// For HREF status bar rewrites
function st(t) { 
    window.status=t.getAttribute('title'); 
    return true; 
}
function nost() {
    window.status=""; 
}

// sets the focus of the cursor to our search box
function sfocus() {
    if( typeof(document.searchform.w)!='undefined'){
        document.searchform.w.focus();
    }
}

// code to help process text link style facets
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  return '';
}

// code to process text link style facets
function processfacets2(extra_href, facet, value) { 
    var href=facet_url+extra_href;
    href=href.replace(/%20/g,' ');
    href=href.replace(/%5f/g,'_'); 
    var newurl = '';
    
    var reg=new RegExp(facet+'_');
    if (reg.test(href)) {
        // replace
        if(value == '') {
            newurl = href.replace(new RegExp(facet+"_[^ ^\+^&]* ?"), '');
        } else {
            newurl = href.replace(new RegExp(facet+"_[^ ^\+^&]*"), facet+'_'+value);
        }
        
        // change cat and sub cat to whatever you have called you categories and sub categories
        if(facet == 'cat') {
            // also need to remove subcategory
            newurl = newurl.replace(/subcat_[^ ^\+^&]* ?/i,'');
        }
    } else {
        // prepend
        if (getQueryVariable('af') == '') {
            newurl = href.replace(/af=/i,'af='+facet+'_'+value);
        } else {
            newurl = href.replace(/af=/i,'af='+facet+'_'+value+' ');
        }
    }
    document.location = newurl;
}

// Code needed for Dynamic Facet Breadcrumb Trial

// Remove all facets selected *after* a certain facet.
function removefacets2(extra_href, facet) { 
    var href=facet_url+extra_href;
    href=href.replace(/%20/g,' ');
    href=href.replace(/%5f/g,'_'); 
    var newurl = href;
    var reg=new RegExp(/af=([^&]+)/i);
    var m = reg.exec(href);
    if (m!=null) {
        var r2 = new RegExp(facet+'_[^&]+');
        var m2 = r2.exec(m[1]);
        if ( m2!=null ) {
            newurl = href.replace(reg,'af='+m2[0]);
        }
    }
    document.location = newurl;
}

// Remove all facets from a URL.
function resetfacets2(extra_href) {
    var href=facet_url+extra_href;
    document.location = href.replace(new RegExp(/af=[^&]+[&]*/),'');
}

// code for super facet dropdowns
function do_facet(sel) {
        // change these to whatever your facets are called
        var fs=new Array("cat", "br", "pricerange");
        var af='';
        for(i=0; i<fs.length; i++) {
            if( (sel.name == 'cat') && (fs[i] == 'subcat') ) {
                // don't process subcat when changing cat
            } else {
                if( (document.getElementById(fs[i])!=null) && (document.getElementById(fs[i]).value != "")) {
                    if(af!='') {
                        af = af + " ";
                    }
                    af = af + fs[i] + "_" + document.getElementById(fs[i]).value;
                }
            }
        }
        document.searchform.af.value = af;
        if(document.searchform.w.value == ""){
            document.searchform.w.value = "*";
        }
	document.searchform.submit();
}