// Version 3.5
// 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 = facet_url;
  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 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;
	
	if(facet=='cat')
	{
	/**
		used to remove the flag that a subcategory has been selected.
	**/
	
	 href=href.replace(/\&subcat=[^.]/g,' ');
	//alert(href);
	}

    href=href.replace(/%20/g,' ');
    href=href.replace(/%3a/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() {
	var reg=new RegExp(/\&af=([^&]+)/i);
	var href=facet_url.replace(reg,'');
    href = href.replace(new RegExp(/&subcat=1/),'');
	document.location = href;
}


function resetfacets_catsub() {
	
	var category_reg=new RegExp(/cat:([^\&]+)/i);
	var reg=new RegExp(/af=([^&]+)/i);
		
	var match = category_reg.exec(facet_url);
	//console.log("cat:"+match[1]);
	var newaf="af=cat:"+match[1];
		
	var href=facet_url.replace(reg, newaf);
    href = href.replace(new RegExp(/&subcat=1/),'');
	//console.log(href);
	
	document.location = href;
}





function nested_facet(facetname)
{
   var mysuboption = facetname +"sub";
    var href=facet_url;
    href=href.replace(/%20/g,' ');
    href=href.replace(/%3a/g,':'); 
   
   var newurl = href.replace(new RegExp(mysuboption+":[^ ^\+^&]* ?"), '');
   document.location = newurl;
   
}


// code to process text link style facets
function processfacets2(extra_href, facet, value, depth, maxDepth) { 
    var href=facet_url+extra_href;
    href=href.replace(/%20/g,' ');
    href=href.replace(/%3a/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);
        }
      
      if (newurl == '') {
         newurl = href;
      }
      
      if (depth) {
         if (!maxDepth) {
            maxDepth = 10;
         }
         
         var facetPrefix = facet;
         facetPrefix = facetPrefix.replace(/[\d]*$/,'');
         var startRemoveDepth = depth+1;
         for (var i = startRemoveDepth; i < maxDepth; i++) {
            var reg = facetPrefix + i + ':[^ ^\+^&]* ?';
            var re = new RegExp(reg, 'g');
            newurl = newurl.replace(re,'');
         }
      }
    } 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;
}

