var HOST_NAME = window.location.hostname;
var URL_BASE = 'http://'+HOST_NAME+scriptFrontend;
var ajaxing = null;
var first_click = 0;
var MIN_SEARCH_CHAR = 1;
var REQUEST_COUNTER = 0;
var RESULT_CAT_COL = 3;
var RESULT_PRODUCT_COL = 8;

/*
document.observe("dom:loaded", function(){
  ajax_category_menu();
  if ($('dynamic-search')) {
      $('dynamic-search').observe('submit', function(event) {
          Event.stop(event);
          //dynamicSearch('','');
          ajaxSearch('','','');
       });
   }
});*/

document.observe("dom:loaded", function () {
 if($$('.random_bychapter')){
     $$('.random_bychapter').each(function(o){
        o.observe('click',function(e){           
           Event.stop( e); 
           getRandomProduct(this,'chapter');
         });//#observe

      });//#each loop

   }//#if.random_bychapter

 if($$('.random_bysection')){
     $$('.random_bysection').each(function(o){
        o.observe('click',function(e){ 
           Event.stop( e);
           getRandomProduct(this,'section');
         });//#observe

      });//#each loop

   }//#if.random_bysection
});

function getRandomProduct(sef,randomby) {
           var randomNode = sef.up('li',0);
           var catId      = randomNode.readAttribute('rel');
           catId = catId.sub('catalog_', '');
           var randomId   = randomNode.readAttribute('id');
           if(randomby == 'chapter'){
             randomId = randomId.sub('chapter_', '');
           }else{ //section
             randomId = randomId.sub('section_', '');
           }

           if(randomNode.hasClassName('collapsed')){
             if (isSEF){
               var url = '/randomproduct/?func_id='+catId+'&random_id='+randomId+'&randomby='+randomby;               
             }else{
               var url = URL_BASE+'template=product_preview&func_id='+catId+'&random_id='+randomId+'&randomby='+randomby+'&debug=off';      
             }

             new Ajax.Request(url, {
                 method: 'get',
                 onSuccess: function(resp){
                    $('main-content').fade({ duration: 3.0, from: 0, to: 1 });
                    $('main-content').update(resp.responseText);
                }  
             });//#Random article
           }

}

function ajaxSearch(filter_group,filter_cat,page){
   try{
     bannerPE.stop();
   }catch(e){}

  filter_cat = unescape(filter_cat);

  var nohits = 0;
  var text = $('search_txt').value.strip();
  var catalog_id = $('catalog_id').value;
  var form = $('dynamic-search');
  var allproduct = 'n';
  if ($('allproduct')) {
     if($("allproduct").checked){
        allproduct  = 'y';
     }else{
        allproduct  = 'n';
     }
  }

  var container = $('bd'); //$('main-content');
  var monitor   = $('ajax_monitor');
  var prod_monitor = $('prod_list_ajax');

  if ( text.length < 1 ) return false; // first call when page loaded

  var product_wait = new Element ( 'b' ).update( freetext.s_please_wait+'...<br>' );
  var wait_image = new Element ( 'img', { src: '/rodin_co/frontend/ajax-loader.gif' });

  if (filter_group != '' && filter_cat != "" || typeof(page) == 'number') {
    clear( prod_monitor ); // clear the result panel if the search string is too short
    prod_monitor.appendChild( product_wait );
    prod_monitor.appendChild( wait_image );
    ++REQUEST_COUNTER; // kill any ongoing request if any
  }else if ( text.length < MIN_SEARCH_CHAR ) {
    ++REQUEST_COUNTER; // kill any ongoing request if any
    $('search_txt').style.backgroundColor='#ffffff'; // reset the background color of the input
    return false;
  }else{
    if ( monitor == undefined ) {
      // this is the first call to the search
      monitor = new Element ( 'div', { id: 'ajax_monitor' });
      if (filter_group == '' && filter_cat == '') { clear( container ); }
      container.insertBefore( monitor, container.firstChild );
    }else {
      clear( monitor ); // clear the result panel if the search string is too short
    } // end if ( monitor == undefined )
    monitor.appendChild( product_wait );
    monitor.appendChild( wait_image );
  } // end if (filterGroup == '' && filterCat)

  var thisCounter = ++REQUEST_COUNTER;

  var url = isSEF ? '/'+freetext.sef_ajax_search2+'/?search_txt='+ text +'&filter_group=' + escape(filter_group) + '&filter_cat=' +escape(filter_cat)+'&catalog_id='+catalog_id+'&allproduct='+allproduct : URL_BASE + 'func=search.ajax_search&debug=off&right_menu=CATEGORY&input='+ text + '&filter_group=' + escape(filter_group) + '&filter_cat=' +escape(filter_cat)+'&catalog_id='+catalog_id+'&allproduct='+allproduct;

  if (filter_group != '' && filter_cat != "" || typeof(page) == 'number') {
      if (typeof(page) == 'number'){
        var params = { template: 'search', search_option: 'html', ajax: '2', page: page, debug: 'off' };
      }else{
        var params = { template: 'search', search_option: 'html', ajax: '2', debug: 'off' };
      }
      new Ajax.Request( url, {
          parameters: params,
          onSuccess: function(r){
              prod_monitor.update(r.responseText);
              priceAutodata();
          }
      });
  } else {
      var params = { template: 'search', search_option: 'html', ajax: '1', debug: 'off' };
      new Ajax.Request( url, {
          parameters: params,
          onSuccess: function(r){
              container.update(r.responseText);
              priceAutodata();
          }
      });
  }

  return false;
}

function priceAutodata(){
  var autodata_url = ($('autodata').innerHTML).replace("&amp;", "&");
  if(autodata_url){
    var url = isSEF ? '/'+freetext.sef_getprice : URL_BASE + 'func=price.get_price';
    var params = { url: autodata_url, max: '20', json: 'yes', debug: 'off' };
    var span = $$('span.prod-price');
    new Ajax.Request( url, {
       parameters: params,
       onLoading: function(){
         span.each( function(o){ o.update(new Element ( 'img', { src: '/rodin_co/frontend/ajax-loader.gif' })); } );
       },
       onSuccess: function(r){
         try{

           if (!r.responseText.blank() && r.responseText != '0'){
             var price = r.responseText.evalJSON().productid[0];
             for(id in price){
               if($('update_product_'+id)){
                 $('update_product_'+id).up().previous().down('span',0).update(price[id]);
               }
             }
             // check for no custom price
             span.each( function(o){ if(o.down('img')){o.update('-');} });
           }
         }catch(e){alert('priceAutodata function: '+e);}
       }
    });
  }
}

function dynamicSearch(filter_group,filter_cat) {

  var nohits = 0;
  var text = $('search_txt').value.strip();
  var catalog_id = $('catalog_id').value;
  var form = $('dynamic-search');
  var allproduct = 'n';

  if ($('allproduct')) {
     if($("allproduct").checked){
        allproduct  = 'y';
     }else{
        allproduct  = 'n';
     }
  }

  var search_option = '';

  var container = $('bd'); //$('main-content');
  var monitor   = $('ajax_monitor');
  var prod_monitor = $('prod_list_ajax');



  if ( text.length < 1 ) return false; // first call when page loaded

  var product_wait = new Element ( 'b' ).update( freetext.s_please_wait+'...<br>' );
  var wait_image = new Element ( 'img', { src: '/rodin_co/frontend/ajax-loader.gif' });

  if (filter_group != '' && filter_cat != "") {
    clear( prod_monitor ); // clear the result panel if the search string is too short
    prod_monitor.appendChild( product_wait );
    prod_monitor.appendChild( wait_image );
    ++REQUEST_COUNTER; // kill any ongoing request if any
  }
  else if ( text.length < MIN_SEARCH_CHAR ) {
    ++REQUEST_COUNTER; // kill any ongoing request if any
    $('search_txt').style.backgroundColor='#ffffff'; // reset the background color of the input
    return false;
  }
  else {
    if ( monitor == undefined ) {
      // this is the first call to the search
      monitor = new Element ( 'div', { id: 'ajax_monitor' });
      if (filter_group == '' && filter_cat == '') { clear( container ); }
      container.insertBefore( monitor, container.firstChild );
    }
    else {
      clear( monitor ); // clear the result panel if the search string is too short
    } // end if ( monitor == undefined )

    monitor.appendChild( product_wait );
    monitor.appendChild( wait_image );
  } // end if (filterGroup == '' && filterCat)


  var thisCounter = ++REQUEST_COUNTER;

  var handler = function( hreq ) {
    var search_ext = '';
    var search_cat = '';


    if (search_option == '') {
        search_ext = '_product';
        search_cat = 'product';
    }
    else {
        search_ext = '_crm';
        search_cat = 'crm';
    }
    
    //track live google search
    //var pageTracker = _gat._getTracker("");

    if ( REQUEST_COUNTER != thisCounter ) return false;


        var json = hreq.responseText.split( '__boundary__' );// This is a hack to remove the comments added by $wo in the response
        //db(hreq.responseText);
        var main_category_id = eval("(" + json[1] + ")");
        var main_category_qty = eval("(" + json[2] + ")");
        var main_category_txt = eval("(" + json[3] + ")");
        var manufact_category_id = eval("(" + json[4] + ")");
        var manufact_category_qty = eval("(" + json[5] + ")");
        var manufact_category_txt = eval("(" + json[6] + ")");

        var article_id = eval("(" + json[7] + ")");
        var article_qty = eval("(" + json[8] + ")");
        var article_txt = eval("(" + json[9] + ")");

        var feature_category = eval("(" + json[10] + ")");
        var data = eval("(" + json[11] + ")");
        var breadcrumb = eval("(" + json[12] + ")");

        //var feature_category = eval("(" + json[7] + ")");
        //var data = eval("(" + json[8] + ")");

        if (filter_group != '' && filter_cat != "") {
          clear( prod_monitor );
        } else {
          clear( monitor );
          if ( data == undefined ) {
            // nothing found
            $('search_txt').style.backgroundColor='#ff9999';
            return false;
          } else {
            $('search_txt').style.backgroundColor='#ffffff';
          }

          var category = new Element ( 'div', { id: 'cat_list' } );
          //var breadcrumb = new Element ( 'div', { id: 'cat_bc' } );
          var product_list = new Element ( 'div', { id: 'prod_list_ajax' } );

          monitor.appendChild( new Element ( 'h1' ).update( freetext.s_result ) );
          monitor.appendChild( new Element ( 'p' ).update( freetext.s_search_for+' '+text+' '+freetext.ga+' '+data.length+' '+freetext.treff ) );
          monitor.appendChild( category );
         // monitor.appendChild( breadcrumb.update('Catalog / Chapter / Section / Article') );
          monitor.appendChild( product_list );
          monitor.appendChild( document.createElement('br') );
       
  
         
         if(data.length == 0){ nohits = 1;}
          displayCategoryResult( main_category_id, main_category_txt, main_category_qty, manufact_category_id, manufact_category_txt, manufact_category_qty, article_id, article_txt, article_qty, feature_category, category, RESULT_CAT_COL, text);

        } // end if (filter_group != '' && filter_cat != "")
  
        displaySearchResult( text, data, RESULT_PRODUCT_COL,breadcrumb);

    last_search = text;
  }

  var url = isSEF ? '/'+freetext.sef_ajax_search2+'/?input='+ text + '&search_option='+ search_option +'&filter_group=' + escape(filter_group) + '&filter_cat=' +escape(filter_cat)+'&catalog_id='+catalog_id+'&allproduct='+allproduct : URL_BASE + 'func=search.ajax_search&debug=off&right_menu=CATEGORY&input='+ text + '&search_option='+ search_option +'&filter_group=' + escape(filter_group) + '&filter_cat=' +escape(filter_cat)+'&catalog_id='+catalog_id+'&allproduct='+allproduct;
  new Ajax.Request( url, {
      onSuccess: handler
  });


  return false;
}

function displaySearchResult ( text, data, columns,breadcrumb ) {    
  var url = isSEF ? '/'+freetext.sef_search_result+'/?input='+ text : URL_BASE + 'func=frontend.show&template=search&table=PRODUCT&query=search_product&sort=PRODUCT.TXT ASC&right_menu=CATEGORY&input='+ text;          
  var data_table = '';
  var cal_row = 0;
  var totalHits = 0;
  var inbastket;
  var img_basket;
  var bc_tab = '';
  var fgroup = '';
  var fcat = '';
  //list breadcrumb
  for ( var i = 0; breadcrumb[i] != undefined; i++ ) {
    var bc = breadcrumb[i];    
   
    if(bc.CHAPTER != ''){ 
        bc_tab  = '<a href="'+url+'&filter_group=main&filter_cat='+bc.CHAPTER+'" title="'+bc.CHAPTER+'" onclick="dynamicSearch(&#39;main&#39;,&#39;'+escape(bc.CHAPTER)+'&#39;);return false;">'+escape(bc.CHAPTER)+'</a>';
        fgroup  = 'main';
        fcat    = escape(bc.CHAPTER);
    }
    if(bc.SECTION != ''){ 
        bc_tab += ' >> <a href="'+url+'&filter_group=manu&filter_cat='+bc.SECTION+'" title="'+bc.SECTION+'" onclick="dynamicSearch(&#39;manu&#39;,&#39;'+escape(bc.SECTION)+'&#39;);return false;">'+bc.SECTION+'</a>';
        fgroup  = 'manu';
        fcat    = escape(bc.SECTION);
    }
    if(bc.ARTICLE != ''){ 
        bc_tab += ' >> <a href="'+url+'&filter_group=article&filter_cat='+bc.ARTICLE+'" title="'+bc.ARTICLE+'" onclick="dynamicSearch(&#39;article&#39;,&#39;'+escape(bc.ARTICLE)+'&#39;);return false;">'+bc.ARTICLE+'</a>';
        fgroup  = 'article';
        fcat    = escape(bc.ARTICLE);
    }
  }
  
  if(bc_tab != ''){
   data_table += '<div id="cat_bc">'+bc_tab+'</div>';
  }
  data_table += '<table class="data-lists"><tbody>';
  data_table += '<th id="searchTop" class="searchTop_icon mini-tag">'+setHeaderLink( '&nbsp;', text, 'left' )+'</th>';
  data_table += '<th id="searchTop" class="searchTop_prodNo">'+setHeaderLink( '&sort=PRODUCT.PRODUCTNU DESC', text, 'right' )+setHeaderLink( freetext.Pnr, text, 'left' )+'</th>';
  data_table += '<th id="searchTop" class="searchTop_name">'+setHeaderLink( '&sort=PRODUCT.TXT DESC', text, 'right' )+setHeaderLink( freetext.ProduktNavn, text, 'left' )+'</th>';
  data_table += '<th id="searchTop" class="searchTop_status search-col p-stock">'+freetext.p_in_stock+'</th>';
  data_table += '<th id="searchTop" class="searchTop_price search-col p-price">'+setHeaderLink( '&sort=PLTYPPROD.PRICE DESC', text, 'right' )+setHeaderLink( freetext.p_price, text, 'left' )+'</th>';
  data_table += '<th id="searchTop" class="searchTop_number search-col last">'+freetext.p_quantity+'</th>';


  for ( var i = 0; data[i] != undefined; i++ ) {
    var row = data[i];

    data_table += '<tr class="listrow'+ (i+1) % 2 +'">';
    
    var class_name;
    if( row.ICON == '1'){
     class_name = 'offer-icon-mini';
    }
    else if( row.ICON == '2'){
     class_name = 'campaign-icon-mini';
    }
    else if( row.ICON == '4'){
     class_name = 'new-icon-mini';
    }
    
      
    var rowIcon = row.ICON != '' ? '<p class="'+ class_name +'"></p>' : '&nbsp;';

    data_table += '<td class="mini-tag">'+rowIcon+'</td>';

    if(row.ARTICLE_ID !=  null){
       var url = isSEF ? '/'+freetext.sef_categories+row.SEFURL+'?search_txt='+text : scriptFrontend+'frontend.show&template=kategoriliste&func_id='+row.CATALOG_ID+'&chap_id='+row.CHAPTER_ID+'&sect_id='+row.SECTION_ID+'&arti_id='+row.ARTICLE_ID+'&search_txt='+text;
       data_table += '<td class="search" nowrap><a href="'+url+'" title="'+ row.TXT +'" '+ a_param_text +'>'+ row.PRODUCTNU +'</a></td>';
    }else{
       data_table += '<td class="search" nowrap>'+ row.PRODUCTNU +'</td>';
    }


    var a_param_text = '';
    var thumb_path = '';
    var short_description = '';
    var short_cnetdesc = '';

    if ( (row.IMAGE1_THUMB != '' && row.IMAGE1_THUMB != null) || (row.IMAGE3_THUMB != '' && row.IMAGE3_THUMB != null) ) {
        if ( row.IMAGE1_THUMB != '' && row.IMAGE1_THUMB != null ) {
            thumb_path = '/rodin_co/frontend/files/PRODUCT/thumbnail/'+row.IMAGE1_THUMB;
        }
        else if ( row.IMAGE3_THUMB != '' && row.IMAGE3_THUMB != null ) {
            thumb_path = '/rodin_co/frontend/picts/thumbnail/'+row.IMAGE3_THUMB;
        }
    }

    if ( row.DESCRIPTION != null ) {
        if ( row.DESCRIPTION.length >= 45 ) {
            short_description = row.DESCRIPTION.substr(0,42) + '...';
        }
        else {
            short_description = row.DESCRIPTION;
        }
    }

    if ( row.CNETDESC != null ) {
        if ( row.CNETDESC.length >= 200) {
            short_cnetdesc = row.CNETDESC.substr(0,200) + '...';
        }
        else {
            short_cnetdesc = row.CNETDESC;
        }
    }

    if(row.ARTICLE_ID !=  null){
       var url = isSEF ? '/'+freetext.sef_categories+row.SEFURL+'?search_txt='+text : scriptFrontend+'frontend.show&template=kategoriliste&func_id='+row.CATALOG_ID+'&chap_id='+row.CHAPTER_ID+'&sect_id='+row.SECTION_ID+'&arti_id='+row.ARTICLE_ID+'&search_txt='+text;
       data_table += '<td class="search name-col"><h4 class="title-list"><a href="'+url+'" title="'+ row.TXT +'" '+ a_param_text +'>'+ row.TXT +'</a></h4><div class="prod_desc">'+short_description+'</div><div id="text_'+row.PRODUCT_ID+'" class="rollovertext" style="display: none;">'+short_cnetdesc+'<br><img id="image_'+row.PRODUCT_ID+'" src="'+thumb_path+'"/></div></td>';
    }else{
       data_table += '<td class="search name-col"><h4 class="title-list">'+ row.TXT +'</h4><div class="prod_desc">'+short_description+'</div><div id="text_'+row.PRODUCT_ID+'" class="rollovertext" style="display: none;">'+short_cnetdesc+'<br><img id="image_'+row.PRODUCT_ID+'" src="'+thumb_path+'"/></div></td>';
    }
    var gertIcons = function(id){
        if(id==0){
            return '&nbsp;';
         }else{
                 this.icons = [
                 {"path" : "15/netcom.gif", "alt":"netcom"},
                 {"path" : "l_in_icon.gif", "alt":"locked"},
                 {"path" : "15/ventelo.gif", "alt":"ventelo"},
                 {"path" : "15/telenor.gif", "alt":"telenor"},
                 {"path" : "15/network_norway.gif", "alt":"network_norway"},
                 {"path" : "conf_icon.gif", "alt":"config"}
                 ];
                return '<img src="/rodin_co/frontend/design/icons/'+this.icons[(id - 1)].path+'" alt="'+this.icons[(id - 1)].alt+'">';
         }
    };


    var rowCol1='';
    var rowCol2='';
    var rowCol3='';
/*
   if(row.ATTRIBUTES_ID[0] && row.ATTRIBUTES_ID[0] < 6 && row.ATTRIBUTES_ID[0] != 2){
     rowCol1 = row.ATTRIBUTES_ID[0] ? row.ATTRIBUTES_ID[0] : 0;
   }else if(row.ATTRIBUTES_ID[0]==6){
     rowCol1=0;
     rowCol2=6;
   }else if(row.ATTRIBUTES_ID[0]==2){
     rowCol1=0;
     rowCol2=0;
     rowCol3=2;
   }
   if(row.ATTRIBUTES_ID[1] && row.ATTRIBUTES_ID[1] != 6){
     rowCol2=0;
     rowCol3=row.ATTRIBUTES_ID[1];
   }else{
    rowCol2 = row.ATTRIBUTES_ID[1] ? row.ATTRIBUTES_ID[1] : 0;
   }
   if(rowCol3 != 2){
     rowCol3 = row.ATTRIBUTES_ID[2] ? row.ATTRIBUTES_ID[2] : 0;
   }

*/



    //data_table += '<td class="search_icon icon-logo-col"><table><tr><td class="icon-logo">'+gertIcons(rowCol1)+'</td><td class="icon-logo">'+gertIcons(rowCol2)+'</td><td class="icon-logo">'+gertIcons(rowCol3)+'</td></tr></table></td>';



    var status_text = '';
    /*
    if (row.CONFIRMED == 'request') { status_text = ' Bestillingsvare'; }
    else if ( row.STOCK < 1 && row.CONFIRMDATE != '' && row.CONFIRMED == 'yes' ) { status_text = '<span class="confirmed">Bekreftet<br></span>';}  //+row.CONFIRMDATE+'</span>'; }
    else if (row.STOCK < 1 && row.CONFIRMDATE != '' && row.CONFIRMED != 'yes') { status_text = '<span class="unconfirmed">Ubekreftet<br></span>';} //'+row.CONFIRMDATE+'</span>'; }
    else if (row.STOCK < 1 && row.CONFIRMDATE == '') { status_text = ' Ikke på lager'; }
    else if (row.STOCK > 0 && row.STOCK < 101) { status_text = parseInt(row.STOCK); }
    else if (row.STOCK > 100) { status_text = ' 100+ '; }
    */

    if (row.STOCK > 0) { status_text = parseInt(row.STOCK); }else{ status_text = 0; }


    if (row.CHECK_BASKET == 'true'){
      img_basket = "basket-icon-gr.gif";
    }
    else {
      img_basket = "basket-icon.gif";
    }

    data_table += '<td class="search p-stock" nowrap>'+ status_text +'</td>';


    var tmp = '';
    //if(userShowPrices == 'off') { tmp = 'hidden'; }
    var url = isSEF ? '/'+freetext.sef_add_basket : scriptFrontend+'func=shop.buy&option=add&template=edit_basket';
    data_table += '<td class="search alignright p-price" nowrap ><span class="prod-price '+tmp+'"> '+ row.PRICE +'</span></td>';
    data_table += '<td class="search_img last"><form id="update_product_'+row.PRODUCT_ID+'" action="'+url+'" method="post" onsubmit="return  checkstock(this)">';
    data_table += '<input type="hidden" name="query_string" value="/wsp/rodin_co/frontend.cgi?func=template.save&table=TEMPLATE&option=update">';
    data_table += '<input type="hidden" name="func_id" value="'+row.PRODUCT_ID+'">';
    data_table += '<input type="hidden" name="checkstockno" id="checkstockno" value="'+row.STOCK+'">';
    data_table += '<input type="hidden" value="'+row.PRODUCT_ID+'" name="product_id"><input type="text" id="quantity_'+row.PRODUCT_ID+'" class="input_bg" name="quantity" size="2" maxlength="3" value="1">&nbsp;';
    data_table += '<input type="submit" class="p-add" value="'+freetext.bestill+'" id="title_'+row.PRODUCT_ID+'">';
    data_table += '</form></td>';
    totalHits += 1;
  }
 
  data_table += '</tbody></table>';
  $('prod_list_ajax').update( data_table );
}

function setHeaderLink( content, text, side ) {
  var span = '';
  
  if ( side == 'left' ) {
    span = content ;
  } else if ( side == 'right' ) {
    var url = isSEF ? '/'+freetext.sef_search_catalog+'/?search_txt='+text+content+'&top_menu_sel='+freetext.pub_product_id : scriptFrontend+'func=catalog.search&table=PRODUCT&template=search&query=search_product&right_menu=CATEGORY&search_txt='+text+content+'&top_menu_sel='+freetext.pub_product_id;
    span = '<a href="'+url+'" title="sort '+content+'"><span>&nbsp;</span></a>';
  }

  return span;
}

function displayCategoryResult( main_id, main_txt, main_qty, manu_id, manu_txt, manu_qty,article_id,  article_txt,article_qty, feat_cat, category, columns, text) {
    var url = isSEF ? '/'+freetext.sef_search_result+'/?input='+ text : URL_BASE + 'func=frontend.show&template=search&table=PRODUCT&query=search_product&sort=PRODUCT.TXT ASC&right_menu=CATEGORY&input='+ text;
    //chapters
    for (i = 0; main_id[i] != undefined; ++i ) {
      if ( i == 0 ) table_text = '<td colspan="2">';
      table_text += '<p><span> ('+main_qty[ i ]+')</span> <a href="'+url+'&filter_group=main&filter_cat='+main_txt[ i ]+'" title="'+main_id[ i ]+'" onclick="dynamicSearch(&#39;main&#39;,&#39;'+main_id[ i ]+'&#39;);return false;">'+main_id[ i ]+'*</a></p>';
    }
    if ( i > 0 ) table_text += "</td>";

    //section
    for (var i = 0; manu_id[i] != undefined; ++i ) {
      if ( i == 0 ) table_text += '<td colspan="2">';
      table_text += '<p><span> ('+manu_qty[ i ]+')</span> <a href="'+url+'&filter_group=manu&filter_cat='+manu_txt[ i ]+'" title="'+manu_txt[ i ]+'" onclick="'+'dynamicSearch(&#39;manu&#39;,&#39;'+manu_id[ i ]+'&#39;);return false;">'+manu_txt[ i ]+'**</a></p>';
    }
    if ( i > 0 ) table_text += "</td>";

    //article
    for (var i = 0; article_id[i] != undefined; ++i ) {
      if ( i == 0 ) table_text += '<td colspan="2" class="last">';
      table_text += '<p><span> ('+article_qty[ i ]+')</span> <a href="'+url+'&filter_group=article&filter_cat='+article_txt[ i ]+'" title="'+article_txt[ i ]+'" onclick="'+'dynamicSearch(&#39;article&#39;,&#39;'+article_id[ i ]+'&#39;);return false;">'+article_txt[ i ]+'***</a></p>';
    }
    if ( i > 0 ) table_text += "</td>";

/*
    for ( var i=1; i < 14; ++i ) {
      if ( i == 1 ) table_text += '<td colspan="2" class="last">';
      var cat_txt = '';
      var cat_qty = 0;

      if (i == 1) { cat_txt = 'Bluetooth'; }
      else if (i == 2) { cat_txt = 'Kamera'; }
      else if (i == 3) { cat_txt = 'Minnekort'; }
      else if (i == 4) { cat_txt = 'Blitz'; }
      else if (i == 5) { cat_txt = 'Edge'; }
      else if (i == 6) { cat_txt = 'Email'; }
      else if (i == 7) { cat_txt = 'FM'; }
      else if (i == 8) { cat_txt = 'GPRS'; }
      else if (i == 9) { cat_txt = '3G'; }
      else if (i == 10) { cat_txt = 'MP3'; }
      else if (i == 11) { cat_txt = 'RSS'; }
      else if (i == 12) { cat_txt = 'Videotelefoni'; }
      else if (i == 13) { cat_txt = 'Wifi'; }

      if ( cat_txt != '' ) cat_qty = feat_cat[i -1];

      if ( cat_qty > 0 ) {
        table_text += '<p><span> ('+cat_qty+')</span> <a href="'+url+'&filter_group=feat&filter_cat='+ i +'" title="'+ cat_txt +'" onclick="dynamicSearch(&#39;feat&#39;,&#39;'+ i +'&#39;);return false;">'+cat_txt+'</a></p>';
      }
    }
    if ( i > 1 ) table_text += "</td>";
*/

    var cat_header;

    if ( table_text != '' ) {
      cat_header = '<tr><th colspan="2">'+freetext.Chapters+'</th><th colspan="2">'+freetext.Sections+'</th><th colspan="2" class="last">'+freetext.Articles+'</th></tr>';
    }

    if ( table_text != '' ) $(category).update( '<table class="data-lists">' + cat_header + '<tr class="search_prod">' + table_text + '</tr>' + '</table>' );
}

function clear( element ) {
  // Remove all children of an element
  while ( element.firstChild != undefined ) {
    var e = element.removeChild( element.firstChild );
    clear( e );
  }
}

function ajax_category_menu(list){
  var rightMenuLink = list ? list : $$('a[rel="ajax-menu"]');
  $$('#navigatior-right a[rel="ajax-menu"]').each(function(a){
    if(a.hasAttribute('style')){ a.writeAttribute('style', ''); }
  });
  if(rightMenuLink){
    rightMenuLink.each(function(a){
      a.observe('click', function(e){
        var duration = 0.3;
        Event.stop(e);
        var self = this;

        if (isSEF){
          var params = self.readAttribute("href");
        }else{
          var params = self.readAttribute("href").toQueryParams();
          if (self.hasClassName('chapter')){
            params.template = 'ajax_chapter_menu';
          }else{
            params.template = 'ajax_section_menu'
          }
        }

        var li = this.up('li');
        li.writeAttribute('style','');

        if($$('.section-menu') && self.hasClassName('chapter')){ 
          $$('.section-menu').each(function(ul){
            ul.hide();
            if(ul.previous('a', 0).getHeight()){
              ul.up('li', 0).setStyle({height: ul.previous('a', 0).getHeight() + 'px'});
            }
          });
        }

        if(li.hasClassName('expanded')){
          li.removeClassName('expanded');
          li.addClassName('collapsed');
          if (li.down('ul')) {
            new Effect.BlindUp(li.down('ul'), {
              duration: duration,
              afterFinishInternal: function () {
                li.down('ul').hide();
                if (!self.hasClassName('chapter')){ li.setStyle({height: self.getHeight() + 'px'}); }
              }
            });
          }
        }else if (li.down('ul')) { // Show existing sub menu

          if(!self.hasClassName('chapter')){ 
            $$('.section-menu').each(function(ul){
              ul.hide();
              if(ul.previous('a', 0).getHeight()){
                ul.up('li', 0).setStyle({height: ul.previous('a', 0).getHeight() + 'px'});
              }
            });
          }else{
            if($$('.chapter-menu')){ 
              $$('.chapter-menu').each(function(ul){ul.hide();});
            }
          }

          li.adjacent('li.expanded').each(function (l) {
            l.removeClassName('expanded');
            l.addClassName('collapsed');
          })
          li.removeClassName('collapsed');
          li.addClassName('expanded');
          li.writeAttribute('style','');
          new Effect.BlindDown(li.down('ul'), {
            duration: duration
          });

        }else{

          if(ajaxing != null){
            ajaxing.transport.abort();
            $$('a[rel="ajax-menu"]').each(function(obj){ obj.setStyle({backgroundImage:'none'}); });
          }
          if(isSEF){
            var pcatlevel = params.split("/");
            if(pcatlevel.length <= 5){
              var url = sef_FUNC+'/?template=ajax_chapter_menu&debug=off';
            }else{
              var url = sef_FUNC+'/?template=ajax_section_menu&debug=off';
            }
          }else{ 
            var url = scriptFrontend+'func=frontend.show&debug=off';
          }
          ajaxing = new Ajax.Request(url, {
            method: 'get',
            parameters: params,
            onCreate: function(){ 
              if(!self.hasClassName('chapter')){ 
                $$('.section-menu').each(function(ul){
                  var h = ul.previous('a', 0).getHeight() ? ul.previous('a', 0).getHeight() : '';
                  new Effect.BlindUp($(ul), { 
                    duration : duration, 
                    afterFinishInternal: function(){ 
                      $(ul).hide();
                      if(h){ ul.up('li', 0).setStyle({height: h + 'px'});}
                    } 
                  });
                });
              }else{
                if($$('.chapter-menu')){ 
                  $$('.chapter-menu').each(function(ul){ 
                     new Effect.BlindUp($(ul), { duration : duration, afterFinishInternal: function(){ $(ul).hide();} });
                  });
                }
              }
            },
            onLoading: function(){ self.setStyle({backgroundImage:'url(/rodin_co/frontend/ajax-loader.gif)', backgroundPosition: '98% 50%', backgroundRepeat: 'no-repeat'}); },
            onSuccess: function(res){
              self.setStyle({backgroundImage:'none'});
              li.insert({'bottom':res.responseText});
              var ul = li.down('ul');
              ul.hide();
              li.adjacent('li.expanded').each(function(l){
                l.removeClassName('expanded');
                l.addClassName('collapsed');
              });
              li.removeClassName('collapsed');
              li.addClassName('expanded');
              new Effect.BlindDown($(ul),{ duration : duration });
              ajax_category_menu(ul.select('a[rel="ajax-menu"]'));
               if(ul.select('.random_bysection')){
                  ul.select('.random_bysection').each(function(o){
                   o.observe('click',function(e){ 
                   Event.stop( e);
                   getRandomProduct(this,'section');
                 });//#observe
                });//#each loop
              }//#if.random_bysection
            }
          });
        }
      });
    });
  }
}