    var defaultPageSize = 25;
    
    /**
    *Function starts work by onLoad event of subcategoryContainer page. It sets default value
    *for "pageSize" hidden field if this field is empty and set proper selected value for "paging items"
    *select tag if not.*/
    function setPageSizeIfEmpty(pPageURL) {    
      
      var tempPageSize = document.getElementById("pageSizeValue").value;
      if (tempPageSize == '') {
        document.getElementById("pageSizeValue").value = defaultPageSize;
        var formActionValue = pPageURL
        document.getElementById("form12").action = formActionValue;
        document.getElementById("form12").submit();
        return;  
      }
      var pagingSelect = document.getElementById('pagingSelectId');
      
      for (var i = 0; i < pagingSelect.options.length; i++) {
        if (pagingSelect.options[i].value == tempPageSize) {
          pagingSelect.options[i].selected = true;
          return;  
        }  
      }
    }
    
    /**
    *Function is responsible for sending user to the page with products according to 
    *the selected sort criteria.
    */
    function goToFacetValues(select) {
      var name = select.options[select.selectedIndex].id;
      var url = "render" + name; 
      //var formActionValue = document.getElementById(url).href;  
      var formActionValue = generateFormActionURL(document.getElementById(url).href);
      document.getElementById("form12").action = formActionValue;
      document.getElementById("form12").submit();
    }
    
    /**
    *Function plays role of the reset button in scope of "facets" functionality.
    */
    function removeFacet(select) {    
      var index = select.selectedIndex;
      if (index == 0) {
        var idHtmlElementA = select.options[1].id;
        idHtmlElementA = "trail" + idHtmlElementA;
        var url = document.getElementById(idHtmlElementA).href; 
        var formActionValue = generateFormActionURL(url);
        document.getElementById("form12").action = formActionValue;
        document.getElementById("form12").submit();
      } 
    }
    
    /**
    ** Function add 'facetPageNum'parameter with value='0' to URL.
    ** This is necessary for paging functionality.
     */
    function generateFormActionURL(url) {
      
      url = replaceAll(url,'COMMA','\'');
      
      var formActionValue = url;
      var facetPageNumParamName = "facetPageNum="; 
      var pos = formActionValue.indexOf(facetPageNumParamName);
      if (pos > 0) {
        pos = pos + facetPageNumParamName.length;
        var helpString = formActionValue.substr(pos);       
        var ampPos = helpString.indexOf("&");
        if (ampPos > 0) {
          formActionValue = formActionValue.substr(0, pos) + "0" + helpString.substr(ampPos);
        }
        else {
          formActionValue = formActionValue.substr(0, pos) + "0";  
        }
      }       
      else {
        formActionValue = formActionValue + "&" + facetPageNumParamName + "0"; 
      }
      return formActionValue; 
    }
    
    /**
    *Function sets hidden field "pageSize" and submits form on subcategory page.
    */
    function setPageSize(select, pageURL) {
      var initialFacetPageNum = 0;
      var selectedPageSize = select.options[select.selectedIndex].value;
      
      if (selectedPageSize == '') {
        selectedPageSize = defaultPageSize;
      }      
      
      
      document.getElementById("pageSizeValue").value = selectedPageSize;
      document.getElementById("facetPageNum").value = initialFacetPageNum;
      var formActionValue = generateFormActionURL(pageURL);
      /*for paging on subcategory page*/
      var pos = formActionValue.indexOf('start='); 
      if (pos > 0) {
        pos = pos + 6;
        var helpString = formActionValue.substr(pos);
        var ampPos = helpString.indexOf("&");
        if (ampPos > 0) {
          formActionValue = formActionValue.substr(0, pos) + "1" + helpString.substr(ampPos);
        }  
        else {
          formActionValue = formActionValue.substr(0, pos) + "1";  
        }
      }   
      document.getElementById("form12").action = formActionValue;
      document.getElementById("form12").submit();
    }
    
    /**
    *Function helps to submit form with dropdowns on facetPaging.page. It starts work
    *when user click on the "number page" link.
    */
    function submitContainerForm(link) {
      var formActionValue = link.href;
      document.getElementById("form12").action = formActionValue;
      document.getElementById("form12").submit();
    }
    
    function replaceAll(Source,stringToFind,stringToReplace){
      var temp = Source;
      var index = temp.indexOf(stringToFind);
       while(index != -1){
         temp = temp.replace(stringToFind,stringToReplace);
         index = temp.indexOf(stringToFind);
      }
     return temp;
    }