function riwax_class(conf)
  {  
  this.conf=(!conf) ? [] : conf;
  
  this.start_nav=this.conf.nav_id;
  this.start_sub_nav=this.conf.sub_nav_id;
  this.start_sub_sub_nav=this.conf.sub_sub_nav_id;
  
  this.active_links=[];
  this.main_nav_items=[];
  this.small_main_nav_items=[];
  //this.default_color='#EAE6DD';
  this.test_color='#FF0000';

  this.theme_anim=[];
  this.theme_anim_running=0;

  this.last_location=window.location.href;
  this.last_open_dealer='';
  
  if(!bw.ns)
    this.timer=setInterval('riwax.check_url()', 200);

  // match nav_id to url-code for hyperlinks (www.riwax.ch/1/xyz --> www.riwax.ch/products/carwash/xyz)
  this.main_nav_name={1:'products/carwash',
                      2:'products/commercial',
                      3:'products/doityourself',
                      4:'products/rx',
                      5:'news',
                      6:'agenda',
                      7:'portrait',
                      8:'contact',
                      10:'sitemap',
                      61:'products/boats',
                      79:'products/blackline'};

  // match nav_id to content-type instead of using ids in if-queries (if nav_id==1 && nav_id==2 --> if content_type=="shop")
  this.content_type={1:'products',
                     2:'products',
                     3:'products',
                     4:'products',
                    61:'products',
                     5:'news',
                     6:'agenda',
                     7:'portrait',
                     8:'contact',
                    10:'sitemap',
                    79:'products'};

  // set here product-cats if you dont whant a deeplink like www.riwax.ch/products/carwash/xyz
  this.deeplink={61:'none',
                 79:'none'};


  // get dealer-list from assistant
  this.show_dealers = function(district, dealer_product_line)
    {
    this.main_content.write('');

    this.click_main_nav(8);
    this._check_content_size();

    var time=this.main_nav.visible ? 1300 : 100;
    setTimeout("riwax.main_content.write('<img src=\""+this.conf.path+"/images/nav/"+this.conf.nav_images_path+"/loader.gif\">');"+
               "jsrc('"+this.conf.path+"/content/dealers.html?_country="+this.conf.country+"&_district="+district+"&_dealer_product_line="+dealer_product_line+"', 1, 'riwax._write_main_content()')", time);
    
    this.main_content.show(1);
    this.last_open_dealer = '';

    return false;
    }


  // show dealer-details div
  this.show_dealer_details = function(num)
    {
    if(this.last_open_dealer)
      document.getElementById('dealer_detail_'+this.last_open_dealer).style.display = 'none';
    
    document.getElementById('dealer_detail_'+num).style.display = 'block';
    this.last_open_dealer = num;
    
    return false;
    }


  // fixing the back button with ajax
  this.check_url=function()
    {
    if(this.last_location!=window.location.href)
      {
      if(this.last_location.indexOf('#0')+1)
      this.home();
      }

    this.last_location=window.location.href;
    };
  
  this.home=function()
    {
    this._hide_main_nav();
    this._hide_sub_nav();
    this._hide_main_content();
    
    setTimeout("riwax._reopen_main_nav();", 100);
    this._switch_main_image(this.conf.start_img, this.conf.start_img_name);

    // stop anim in left div  nw 18.12.2006
    this._stop_theme_anim();

    // show image
    setTimeout("riwax.display_content_img(true)",1200); 

    return false;
    };



  // changes main image (theme) when image loaded --> fade
  this.switch_main_image=function()
    {
    if(this.fade_img_1)
    setTimeout('riwax.fade_img_1.fade(40, 400);riwax.fade_img_2.fade(40, 400);', 200);
    };



  // get agb and show
  this.agb=function()
    {
    this.main_content.write('');

    this.click_main_nav(10);
    this._check_content_size();

    var time=this.main_nav.visible ? 1300 : 100;
    setTimeout("riwax.main_content.write('<img src=\""+this.conf.path+"/images/nav/"+this.conf.nav_images_path+"/loader.gif\">');"+
               "jsrc('"+this.conf.path+"/content/agb.html?_country="+this.conf.country+"&_lang="+this.conf.lang+"', 1, 'riwax._write_main_content()')", time);
    
    this.main_content.show(1);

    return false;
    };



  /**
   * @param (int)  id   | navigation id
   * @param (bool) mode | true = without animation
   */
  this.click_main_nav=function(id, mode)
    {
    // remove the content image
    setTimeout("riwax.display_content_img(true)", 1200);

    var last_id=0;
    this.content_id=false;

    if(!this.main_nav_id)
      {
      if(!this.main_nav)
        this.sub_nav.show(0)

      // get color from navigation menu
      //var color=(id<4)?get_elements_computed_style(this.main_nav_items[id].elm,'backgroundColor','background-color'):this.conf.default_bgcolor;
      var color=(this.content_type[id]=='products') ? get_elements_computed_style(this.main_nav_items[id].elm,'backgroundColor','background-color') : this.conf.default_bgcolor;


      if(!mode)
        {
        this._swap_main_nav('hide');

        // open with animation
        setTimeout("riwax.main_nav.glide(-145, "+this.main_nav.y+", 5, 15, 'fast', 'slow', 'riwax._show_sub_nav()');"+
                   "jsrc('"+this.conf.path+"/content/navigation.html?_country="+this.conf.country+"&_lang="+this.conf.lang+"&_nav_id="+id+"&_content_type="+this.content_type[id]+"&_line="+this.conf.line+"',"+
                   "1, 'riwax._write_sub_nav()')", 700); 

        setTimeout("riwax.main_nav.set_opacity(90)", 1200);
        setTimeout("riwax.sub_nav.set_style('backgroundColor', '"+color+"'); riwax.sub_nav.fade(40, 500)", 1000);
        }
      else
        {
        // open without animation and show layers on startup
        this._show_sub_nav(mode);
        this.main_nav.move(-145, this.main_nav.y);
        this.sub_nav.set_style('backgroundColor', color);

        // get content for sub nav
        jsrc(this.conf.path+'/content/navigation.html?_country='+this.conf.country+'&_lang='+this.conf.lang+'&_nav_id='+id+'&_content_type='+this.content_type[id]+'&_line='+this.conf.line, 1, 'riwax._write_sub_nav()');
        }
      }
    else if(this.main_nav_id!=id)
      {
      if(this.main_content && this.main_content.visible && id!=10)
        {
        this.main_content.fade(40, 200);
        setTimeout("riwax.main_content.write('')", 210);
        }
      
      this._hide_sub_nav();
      this.sub_nav.write('');

      // get content
      jsrc(this.conf.path+'/content/navigation.html?_country='+this.conf.country+'&_lang='+this.conf.lang+'&_nav_id='+id+'&_content_type='+this.content_type[id]+'&_line='+this.conf.line, 1, 'riwax._write_sub_nav()');
      }

    // set color of smal nav button (active/inactive)
    //for(var i=1; i<5; i++)    change key to real array key 11.12.2006 nw
    for (var i in main_categories)
      document.getElementById('main_nav_small_' + main_categories[i].id).style.backgroundColor = main_categories[i].id ==id ? this.conf.active_small_nav_bgcolor : this.conf.small_nav_bgcolor;

    this.main_nav_id=id;

    // set navigation icon "on"
    this._set_main_nav_img(id);
    
    if(window.location.href.indexOf('#0')==-1 && !bw.ns)
      window.location.href='#0';

    this.last_location=window.location.href;

    return false;
    };


  // changes main image (theme)
  this._swap_main_nav=function(mode)
    {
    //for(var i=1; i<5; i++)    change key tor real array key 11.12.2006 nw
    for (var i in main_categories)
      {
      if(mode=='hide')
        setTimeout('riwax.main_nav_items['+main_categories[i].id+'].write("")', i*100);
      else
        setTimeout('riwax.main_nav_items['+main_categories[i].id+'].write(riwax.main_nav_items['+main_categories[i].id+'].content)', 700-(i*100));
      }

    if(mode=='hide')
      this.sub_nav.write('');

    };


  /**
   * @param (int)  id   | navigation id
   * @param (bool) mode | true = without animation
   */
  this.click_sub_nav=function(sub, mode)
    {
    if(this.sub_nav_id!=sub)
      {
      this._mark_link(sub);

      if(!this.sub_sub_nav.visible)
        {
        this.sub_sub_nav.move(200, 0);

        if(!mode)
          {
          this.sub_sub_nav.fade(40, 200);
          this.sub_sub_nav.glide(422, this.main_nav.y, 5, 15, 'fast', 'slow');
          }
        else
          this.sub_sub_nav.move(422, this.main_nav.y);
        }
      
      // get content for subnav
      if(this.sub_sub_nav)
        this.sub_sub_nav.write('');

      // get content
      jsrc(this.conf.path+'/content/sub_navigation.html?_country='+this.conf.country+'&_lang='+this.conf.lang+'&_sub_id='+sub+'&_content_type='+this.content_type[this.main_nav_id]+'&_line='+this.conf.line, 1, 'riwax._write_sub_sub_nav()');

      if (!this.theme_anim_running)
        this._switch_theme_anim(0);

      // save actual sub-id
      this.sub_nav_id=sub;
      }

    this._hide_main_content();
    return false;
    };


  /**
   * @param (int)  id   | navigation id
   */
  this.click_sub_sub_nav=function(cid)
    {
    if(this.content_id!=cid)
      {
      this.content_id=cid;
      this._mark_link(cid, 'sub');

      this.main_content.show((this.start_nav) ? 0 : 1);

      this._check_content_size();

      // write thanks content
      if(get_query_param('_contact')==cid && !this.thanks_done) 
        {
        this._write_main_content({title: content_text.thanks, text: content_text.thanks_text});
        this.thanks_done=true;
        }
      else
        {
        this.main_content.write('<img src="'+this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/loader.gif">');

        // get content
        jsrc(this.conf.path+'/content/content.html?_country='+this.conf.country+'&_lang='+this.conf.lang+'&_sub_nav_id='+this.sub_nav_id+'&_nav_id='+
             this.main_nav_id+'&_cid='+cid+'&_content_type='+this.content_type[this.main_nav_id]+'&_line='+this.conf.line, 1, 'riwax._write_main_content()');
        }
      }

    return false;
    };


  this.products=function(id)
    {
    //set bgcolor of current selection to blue
    //switch main image and theme image to current selection
    //hide info_layer
    //display subnav opened on current selection

    riwax.info_layer.fade(20, 400);
    this.click_main_nav(id, 'hide');
    return false;
    };


  // sets image when mouse-over main-navigation
  this.mouse=function(id, mode)
    {
    for (var i in main_categories)
      if (main_categories[i].id==id)
        {
        var a_actual_cat = main_categories[i];
        break;
        }

    // display layers, if product main category
    // if(id<5)  look after right id        11.12.2006 nw
    if (a_actual_cat)
      {
      // get position of main_nav_small_1.top
      var infoposition=get_elements_computed_style(this.main_nav_items[id].elm,'top','top');
      if(mode=='over')
        {
        riwax.info_layer.set_opacity(80);
        riwax.info_layer.set_style('top', infoposition);
        riwax.info_layer.write('<div id="info_layer_content"><span class="title"><b>'+a_actual_cat.name+'</b></span><br /><br />'+a_actual_cat.text+'</div>');
        riwax.info_layer.show(1);
        //riwax.info_layer.set_style('display', 'inline');
        }
      else
        {
        riwax.info_layer.set_opacity(0);
        }
      }
    else
      {
      var name='';
      var obj=document.getElementById('main_nav_img_'+id);

      if(mode=='over')
        obj.src=obj.src.replace(/_off\.gif/, "_on.gif");
      else if(mode=='out' && !obj.active)
        obj.src=obj.src.replace(/_on\.gif/, "_off.gif");
      }
    };


  // sets image when mouse-over language
  this.over_lang=function(obj)
    {    
    if(obj.src.indexOf('_on.gif')==-1)
      {
      var name=obj.src.substr(obj.src.lastIndexOf('/')+1, 20); 
      obj.src=this.conf.path+'/images/utilities/'+this.conf.nav_images_path+'/'+this.conf.lang+'/'+name.substr(0, name.indexOf('.gif'))+'_on.gif';
      }
    };


  // sets image when mouse-out language
  this.out_lang=function(obj)
    {
    if(obj.src.indexOf(this.conf.lang+'_on.gif')==-1)
    obj.src=obj.src.replace(/_on\.gif/, ".gif");
    };

  // sets image when click on language
  this.set_lang=function(lang)
    {
    if(!lang)
    lang=this.conf.lang;
    else
      {
	  // check if lang-image is available - nw 03.10.2007 
	  if (document.getElementById('lang_de'))
        document.getElementById('lang_de').src=this.conf.path+'/images/utilities/'+this.conf.nav_images_path+'/'+this.conf.lang+'/de.gif';
	  if (document.getElementById('lang_fr'))	
        document.getElementById('lang_fr').src=this.conf.path+'/images/utilities/'+this.conf.nav_images_path+'/'+this.conf.lang+'/fr.gif';
      if (document.getElementById('lang_en'))
	    document.getElementById('lang_en').src=this.conf.path+'/images/utilities/'+this.conf.nav_images_path+'/'+this.conf.lang+'/en.gif';
      if (document.getElementById('lang_it'))
	    document.getElementById('lang_it').src=this.conf.path+'/images/utilities/'+this.conf.nav_images_path+'/'+this.conf.lang+'/it.gif';
      
      this.conf.lang=lang;
      }
    
    obj=document.getElementById('lang_'+lang);
    
    if(obj)
      obj.src=this.conf.path+'/images/utilities/'+this.conf.nav_images_path+'/'+this.conf.lang+'/'+lang+'_on.gif';
    };


  this.change_lang=function(lang)
    {
    this.set_lang(lang);
    var loc=this.conf.path+'/'+this.conf.country+'/'+this.conf.lang+'/';

    // old version:   http://dataserver/web/riwax/www/it/
    // new version:   http://dataserver/web/riwax/www/it/products/boats/ etc.
    // now set productcategorie by deeplink like riwax/boats          nw 16.01.2007
    if (this.conf.nav_id)
     loc +=this.main_nav_name[this.conf.nav_id]+'/';

    if (this.conf.sub_nav_id)
     loc +=this.conf.sub_nav_id;

    if (this.conf.sub_sub_nav_id)
     loc +=this.conf.sub_sub_nav_id;

    window.location=loc;
    return false;
    };


  // *** internal methods ***
  this._init=function()
    {
    var pos=window.location.href.indexOf('#');
    if(pos!=-1)
    top.location.href=window.location.href.substr(0, pos); //substr(0, pos-1);
    else
      {
      this.info_layer=new layer_object('info_layer');

      this.sub_nav=new layer_object('sub_nav');
      this.main_nav=new layer_object('main_nav');
      this.sub_sub_nav=new layer_object('sub_sub_nav');
      this.main_content=new layer_object('main_content');
      this.main_nav_small=new layer_object('main_nav_small');

      // write main nav
      var content, layer, url, counter=0;
      var back_img = this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/back.gif';
      var main_nav_content = main_nav_small_content = '';
      for (var i in main_categories)
        {
        a_actual_cat = main_categories[i];

        url = this.conf.path+'/'+this.conf.lang+'/'+this.main_nav_name[a_actual_cat.id];
        content = '<a href="'+url+'"><img src="'+this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/'+this.conf.lang+'/main_nav_icon_'+a_actual_cat.id+'.gif" class="main_nav_product_categories_img"></a>'+
                  '<div class="main_nav_product_categories_text">'+a_actual_cat.text;
        if(this.conf.product_hint=='yes')
          content+='<p class="product_hint">'+content_text.product_hint+'</p>';         
        content+='</div>';

        layer_content = '<div style="background-image: url('+back_img+'); top:'+(counter*120)+'px; background-color:#'+this.conf.default_bgcolor+';" class="main_nav_product_categories" id="main_nav_'+a_actual_cat.id+'" onclick="return riwax.click_main_nav('+a_actual_cat.id+')">'+
                        content+'</div>';
        main_nav_content += layer_content;
        this.main_nav_items[a_actual_cat.id] = content;

        main_nav_small_content += '<div style="top:'+(counter*120)+'px;" class="main_nav_small_product_categories" id="main_nav_small_'+a_actual_cat.id+'" onmouseover="if(window.riwax)riwax.mouse('+a_actual_cat.id+', \'over\')" '+
                                 'onmouseout="if(window.riwax)riwax.mouse('+a_actual_cat.id+', \'out\')" onclick="return riwax.products('+a_actual_cat.id+')" '+
                                 'title="'+a_actual_cat.name+'"><img src="'+this.conf.path+'/images/back.gif" class="main_nav_small_product_categories_img"></div>';
        counter=counter+1;
        }

      // if not 4 main_categories fill small_navigation up with colored spacer   nw 19.12.2006
      if (counter<3)
        main_nav_small_content += '<div style="top:'+(counter*120)+'px;" class="main_nav_small_spacer">&nbsp;</div>';

      // if not 4 main_categories fill main_navigation up with colored spacer   nw 16.01.2007
      if (counter<3)
        main_nav_content += '<div style="top:'+(counter*120)+'px;" class="main_nav_spacer">&nbsp;</div>';

      this.main_nav.write(main_nav_content);
      this.main_nav_small.write(main_nav_small_content);

      for (var i in main_categories)
        {
        a_actual_cat = main_categories[i];

        content = this.main_nav_items[a_actual_cat.id];
        this.main_nav_items[a_actual_cat.id]=new layer_object('main_nav_'+a_actual_cat.id);
        this.main_nav_items[a_actual_cat.id].content = content;
        }

      this.set_lang();
      this._set_site();
      }

    setTimeout("riwax.display_content_img(true)", 500);
    };


  // sets the site with right content
  this._set_site=function()
    {
    
    // openmain nav if has start nav and deeplink is allowed
    if(this.start_nav && !this.deeplink[this.start_nav])
      {
      this.click_main_nav(this.start_nav, true)

      // open carwash, doityourself commercial or rx etc.
      if(this.start_sub_nav)
        {
        //if(this.start_nav>5)
        if (this.content_type[this.main_nav_id]!= "products")
          this.click_sub_sub_nav(this.start_sub_nav);
        else
          this.click_sub_nav(this.start_sub_nav, true);
        }

      }
    else
    this._show();
    };
  

  // checks if all is loaded.
  // if yes --> show, else set flag
  this._check_loaded=function()
    {
    if(!this.loaded)
    this.loaded=1;
    else
    this._show();
    }


  this._show=function(step)
    {
    if(!step && !this.loading)
      {
      this.loading=new layer_object('loading');
      this.loading.show(1);
      this.loading.fade(40, 400);

      setTimeout('riwax._show(1)', 500);
      }
    else
      {
      document.getElementById('main').style.visibility='visible';
      this._set_screen();
      
      if(this.start_nav && !this.deeplink[this.start_nav])
        {
        this.sub_nav.show(1);
        this.main_nav_small.show(1);
        }
      
      //if(this.start_nav>5 && this.start_sub_nav)
      if (this.content_type[this.main_nav_id]!= "products" && this.start_sub_nav)
        {
        this._mark_link(this.start_sub_nav, 'sub');
        this.main_content.show(1);
        this.main_nav_small.show(1);
        }
      //else if(this.start_nav<5 && this.start_sub_nav)
      else if (this.content_type[this.main_nav_id]== "products" && this.start_sub_nav)
        {
        this._mark_link(this.start_sub_nav);
        this.sub_sub_nav.show(1);
        }
      
      this.start_nav=false;
      this.start_sub_nav=false;

      if(this.main_content.elm.innerHTML!='')
        {
        this.main_content.show(1);
        this._check_content_size();
        }
      }
    };

  this._check_content_size=function(small)
    {
    //if(!small && this.main_nav_id<5 && this.main_content)
    if (!small && this.content_type[this.main_nav_id]== "products" && this.main_content)
      {
      this.main_content.set_style('width', 330);
      this.main_content.set_style('left', 600);
      }
    else if(this.main_content)
      {
      this.main_content.set_style('width', 510);
      this.main_content.set_style('left', 421);
      }
    };


  this._show_sub_nav=function(mode)
    {
    this.main_nav.show(0);

    if(!mode)
    this.main_nav_small.show(1);
    }

  this._reopen_main_nav=function()
    {
    this._set_main_nav_img(0);

    if(this.main_nav)
      {
      this.main_nav.show(1);
      this.main_nav_small.show(0);
      this.main_nav.glide(244, this.main_nav.y, 5, 15, 'fast', 'slow', 'riwax._swap_main_nav("show")');
      }
    };


  this._switch_theme_anim=function(pos)
    {
    // by deeplink (this.start_nav) is this.theme_anim first empty. It will be filled later...nw 19.12.2006
    if (this.theme_anim[pos])
      {
      this._stop_theme_anim();

      this._switch_main_image(this.theme_anim[pos].theme_img, this.theme_anim[pos].theme_name);

      if (pos<this.theme_anim.length-1)
        ++pos;
      else
        pos=0;

      this.theme_anim_running = setTimeout('riwax._switch_theme_anim('+pos+')', 5000);
      }
    }


  this._stop_theme_anim=function()
    {
    if (this.theme_anim_running)
      {
      clearTimeout(this.theme_anim_running);
      this.theme_anim_running=0;
      }
    }


  this.hover=function(elm, sub_nav_id, content_id, activate)
    {
    if (sub_nav_id)
      elm.style.color = activate||this.sub_nav_id==sub_nav_id ? this.conf.active_link_color : this.conf.link_color;
    else
      elm.style.color = activate||this.content_id==content_id ? this.conf.active_link_color : this.conf.link_color;
    }




  this._write_sub_nav=function(content)
    {
    var html='';
    //var sub=(this.main_nav_id<5) ? '' : 'sub_'; // change sub to sub_sub by links like contact, events etc.
    var sub=(this.content_type[this.main_nav_id] == "products") ? '' : 'sub_';

    if(content)
      {
      // navigation has sub-products
      // insert changes of subnav here
      // list element for the subnav


      // print categories and products
      //if (this.main_nav_id<5)
      if (this.content_type[this.main_nav_id]=="products")
        {
        var a_actual_cat;
        for (var i in main_categories)
          {
          a_actual_cat = main_categories[i];

          // print active categorie with subcategories
          if (a_actual_cat.id==riwax.main_nav_id)
            {
            html+='<table cellpadding="0" cellspacing="0" border="0"><tr><td valign="top"><img src="'+this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/arrow_act.gif" /></td>';
            html+='<td><span class="nav-title-sel">'+a_actual_cat.name+'</span></td></tr></table><br />';

            for(var i=0; i<content.length; i++)
              {
              html+='<a href="'+this.conf.path+'/'+this.conf.lang+'/'+this.main_nav_name[this.main_nav_id]+'/'+content[i].id+'" ';
              html+='id="'+sub+'nav_link_'+this.main_nav_id+'_'+content[i].id+'" ';
              html+='onmouseover="riwax.hover(this,'+content[i].id+',0,1)" onmouseout="riwax.hover(this,'+content[i].id+',0,0)" ';
              html+='onclick="return riwax.click_'+sub+'sub_nav('+content[i].id+')"><span class="nav-element">'+content[i].text+'</span></a><br />';
              }
            html+='<br />';
            }
          else
            {
            html+='<table cellpadding="0" cellspacing="0" border="0"><tr><td valign="top"><img src="'+this.conf.path+'/images/arrow_pas.gif" /></td>';
            html+='<td><a href="#" onmouseover="if(window.riwax)riwax.mouse('+a_actual_cat.id+', \'over\')" onmouseout="if(window.riwax)riwax.mouse('+a_actual_cat.id+', \'out\')" ';
            html+='onclick="return riwax.products('+a_actual_cat.id+')"><span class="nav-title-sel">'+a_actual_cat.name+'</span></a></td></tr></table><br />';
            }
          }
        }
      else  // non product categorie
        {
        for(var i=0; i<content.length; i++)
          {
          html+='<a href="'+this.conf.path+'/'+this.conf.lang+'/'+this.main_nav_name[this.main_nav_id]+'/'+content[i].id+'" ';
          html+='id="'+sub+'nav_link_'+this.main_nav_id+'_'+content[i].id+'" ';
          html+='onmouseover="riwax.hover(this,0,'+content[i].id+',1)" onmouseout="riwax.hover(this,0,'+content[i].id+',0)" ';
          html+='onclick="return riwax.click_'+sub+'sub_nav('+content[i].id+')"><span class="nav-element">'+content[i].text+'</span></a><br>';
          }
        }
      html+='';

      this.sub_nav.write('<div class="nav_text">'+html+'</div>');
      this._get_kat_text({'title': content[0].kat_title, 'text': content[0].kat_text});
      }


    //if(this.main_nav_id>4)
    if (this.content_type[this.main_nav_id]!= "products")
      {
      this._stop_theme_anim();
      this.sub_nav.set_style('backgroundColor', this.conf.default_bgcolor);

      if(content[0] && content[0].id)
        this._show_first_sub_sub_nav_item(content[0].id);
      }
    else if(content[0]) // load image
      {
      if (content[0].theme_anim)
        {
        // write animation images to array (start anim in method products)
        this._stop_theme_anim();
        this.theme_anim = content[0].theme_anim;
        }

       // show image of main category
       if (content[0].theme_img)
         this._switch_main_image(content[0].theme_img, content[0].theme_name);

      this.main_content.write('');
      }

    if(!this.start_sub_nav)
      this._show();
    else if(this.start_sub_nav)
      {
      // start theme_anim by deeplink   nw 19.12.2006
      this._stop_theme_anim();
      this._switch_theme_anim(0);

      this._check_loaded();
      }
    };



  this._show_first_sub_sub_nav_item=function(id)
    {
    if (!this.content_id)
      {
      // remove the content image
      setTimeout("riwax.display_content_img(true)", 1);

      // deep link into content/product-item (start_sub_sub_nav)
      // very important:    this.start_sub_sub_nav must be reset   nw 19.12.2006
      if (this.start_sub_sub_nav)
        {
        this.click_sub_sub_nav(this.start_sub_sub_nav);
        this.start_sub_sub_nav="";
        }

      // show first notice-text by news-navigation - instead of opening and mark first item   nw 19.01.2007
      else if(!this.start_sub_sub_nav && this.content_type[this.main_nav_id]=="news")
        {
        jsrc(this.conf.path+'/content/content.html?_country='+this.conf.country+'&_lang='+this.conf.lang+'&_sub_nav_id='+this.sub_nav_id+'&_nav_id='+
             this.main_nav_id+'&_cid='+id+'&_content_type='+this.content_type[this.main_nav_id]+'&_line='+this.conf.line, 1, 'riwax._write_nav_notice()');
        }

      // normal mode show first sub_sub_nav_item
      else
        this.click_sub_sub_nav(id);
      }
    };



  this._write_nav_notice=function(content)
    {
    this._check_content_size();
    this.main_content.write('<img src="'+this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/loader.gif">');

    // manipulate content
    content.title = '<table border="0"><tr><td valign="top" class="title">&lt;&lt;</td><td class="title">'+content_text.nav_notice_news+'</td></tr></table>';
    content.text = '';
    content.images = '';
    content.pdf = '';
    content_text.application = '';

    this._write_main_content(content);
    }



  this._get_kat_text=function(data)
    {
    if(data.title || data.text)
      {      
      this._check_content_size(1);
      this._write_main_content({'title':data.title, 'text':data.text});
      }
    };
  

  this._write_sub_sub_nav=function(content)
    {
    var html='';
    var first_id='';

    if(content)
      {
      // switch of left image on each subcategory with defined theme image
      // is disabled since 05.09.2006/pb
      //if(0&&content[0])
      //this._switch_main_image(content[0].theme_img, content[0].theme_name);

      for(var i=0; i<content.length; i++)
        {
        // list sub categories
        if(content[i].sub_products)
          {
          html+='<b>'+content[i].text+'</b><br>';

          for(var n=0; n<content[i].sub_products.length; n++)
            {
            // save first product in list to show content
            if(!first_id)
              first_id=content[i].sub_products[n].id;

            html+='<a href="'+this.conf.path+'/'+this.conf.lang+'/'+this.main_nav_name[this.main_nav_id]+'/'+this.sub_nav_id+'/';
            html+=content[i].sub_products[n].id+'" id="sub_nav_link_'+this.main_nav_id+'_'+content[i].sub_products[n].id+'" ';
            html+='onmouseover="riwax.hover(this,0,'+content[i].sub_products[n].id+',1)" onmouseout="riwax.hover(this,0,'+content[i].sub_products[n].id+',0)" ';
            html+='onclick="return riwax.click_sub_sub_nav('+content[i].sub_products[n].id+')"><span class="nav-element">';
            html+=content[i].sub_products[n].text+'</span></a><br>';
            }

          html+='<br>';
          }
        else
          {
          // list no sub-categories
          if(!first_id)
            first_id=content[i].id;

          html+='<a href="'+this.conf.path+'/'+this.conf.lang+'/'+this.main_nav_name[this.main_nav_id]+'/'+this.sub_nav_id+'/';
          html+=content[i].id+'" id="sub_nav_link_'+this.main_nav_id+'_'+content[i].id+'" ';
          html+='onmouseover="riwax.hover(this,0,'+content[i].id+',1)" onmouseout="riwax.hover(this,0,'+content[i].id+',0)" ';
          html+='onclick="return riwax.click_sub_sub_nav('+content[i].id+')"><span class="nav-element">';
          html+=content[i].text+'</span></a><br>';
          }
        }
      
      this.sub_sub_nav.write('<div class="nav_text">'+html+'</div>');

      // open default first item in sub navigation
      this._show_first_sub_sub_nav_item(first_id);
      }
    else
      this.sub_sub_nav.write('');
    
    if(this.start_nav && this.start_sub_nav)
    this._check_loaded();


    };



  this._mark_link=function(id, sub)
    {    
    var sub_sub_link=(this.sub_sub_nav && this.sub_sub_nav.elm.childNodes[0]) ? this.sub_sub_nav.elm.childNodes[0].childNodes : [];
    var obj=document.getElementById(((sub=='sub')?'sub_':'')+'nav_link_'+this.main_nav_id+'_'+id);    
    var sub_link=(this.sub_nav && this.sub_nav.elm && this.sub_nav.elm.childNodes[0]) ? this.sub_nav.elm.childNodes[0].childNodes : [];
    
    if(obj)
      {
      for(var i=0; i<sub_sub_link.length; i++)
        sub_sub_link[i].style.color = this.conf.link_color; //'#000000'
      
      if(sub!='sub' || this.content_type[this.main_nav_id]!='products') //this.main_nav_id>3)
        {
        for(var i=0; i<sub_link.length; i++)
          sub_link[i].style.color = this.conf.link_color; //'#000000'
        obj.style.color = this.conf.active_link_color; //'#0066CC';
        }
      else
        obj.style.color = this.conf.active_link_color;//'#0066CC'
      }
    };
  
  
  
  
  // open a popup with detail product-image
  this.product_popup=function(product_id, product_nr)
    {
    new_window = window.open(this.conf.path+"/detail.html?product_id="+product_id+"&product_nr="+product_nr+"&_line="+this.conf.line, "Detail", "location=no,menubar=no,toolbar=no,status=no,resizable=yes,scrollbars=no,width=510,height=510");
    new_window.focus();
    return false;
    }
  
  

  // write main content
  this._write_main_content=function(content)
    {
    var html='';

    if(this.main_nav.visible && this.main_nav_id!=10)
      return false;

    if(content.theme_img)
      {
      this._switch_main_image(content.theme_img, content.theme_name);

      if(this.start_sub_sub_nav)
        {
        setTimeout('riwax._switch_main_image("'+content.theme_img+'", "'+content.theme_name+'")', 800);
        this.start_sub_sub_nav=false;
        }
      }
    html='<div class="title">'+content.title+'</div>';    


    //if(this.main_nav_id<5)
    if (this.content_type[this.main_nav_id] == "products")
      {
      var add_on="'"+content.product_id+"', '"+content.product_nr+"'";
      html+='<div class="image"><a href="#" onclick="return riwax.product_popup('+add_on+');">'+content.image+'</a></div>';
      html+='<div class="text">'+content.text+'</div>'; 
      }
    else
      {
      // exist pdf and images
      if(content.pdf && content.images)
        {
        var curr_images = content.images;
        var a_curr_images = curr_images.split(', ');
        
        if(a_curr_images.length==1)
          html+='<div class="image"><a target="_blank" href="'+content.pdf+'"><img src="'+content.images+'"></a><br>';
        else
          {
          for (var n=0; n<a_curr_images.length; n++)      
            html+='<div class="image"><img src="'+a_curr_images[n]+'"></div>';
          }
        html+='<a target="_blank" href="'+content.pdf+'">Download PDF</a></div>';
        }
      
      // exist only images
      else if(content.images && !content.pdf)
        {
        var curr_images = content.images;
        var a_curr_images = curr_images.split(', ');
        for (var n=0; n<a_curr_images.length; n++)      
          html+='<div class="image"><img src="'+a_curr_images[n]+'"></div>';
        }
        
      if(content.video_id && content.video_url)
        {
        html+='<iframe src="http://www.riwax.ch/video.html?uid='+content.video_url+'" style="border:0;" marginwidth="0" marginheight="0" height="300" scrolling="no" width="480" border="0">VP</iframe><br><br>';
        }
        
        
        
      }

    //if(this.main_nav_id>4 && !content.image && content.pdf)
    // only pdf without any images
    if (this.content_type[this.main_nav_id]!="products" && !content.images && content.pdf)
      {
      html+='<div class="text">'+content.text+'<br />';
      html+='<a target="_blank" href="'+content.pdf+'">Download PDF</a>';
      }
    else if(content.text && this.content_type[this.main_nav_id]!="products")
      html+='<div class="text">'+content.text+'</div>';

    if(content.application)
      html+='<div class="sub_title">'+content_text.application+'</div><div class="text">'+content.application+'</div>';    

    // don't display hint (11.09.2006 / sa)
    //if(content.hint)
    //  html+='<div class="sub_title">'+content_text.hint+'</div><div class="text">'+content.hint+'</div>';    

    // don't display units (11.09.2006 / sa)
    //if(content.content)
    //  html+='<div class="sub_title">'+content_text.cont+'</div><div class="text">'+content.content+' '+content.unit+'</div>';

    // show sub-products
    if(content.sub_products && content.sub_products.length > 0)
      {
      //html+='<div class="sub_title">Produkte</div><div class="text"><table><tr>';
      html+='<div class="sub_title">'+content_text.product_text+'</div><div class="text"><table><tr>';
      html+='<td style="border-bottom: solid 1px #d3d3d3; padding-bottom: 4px;" nowrap>'+content_text.product_nr+'</td>';
      html+='<td style="border-bottom: solid 1px #d3d3d3; padding-bottom: 4px;">'+content_text.cont+'</td>';
      //html+='<td style="border-bottom: solid 1px #d3d3d3;
      //padding-bottom: 4px;">Anzahl</td>';
      html+='</tr><tr><td colspan="3" style="height: 2px;"></td></tr>';

      for(var n=0; n<content.sub_products.length; n++)
        {
        html+='<tr><td width="80">'+content.sub_products[n].product_nr+'</td>';
        html+='<td width="230">'+content.sub_products[n].content+' '+content.sub_products[n].unit+'</td></tr>';
        //        html+='<td width="150"><input type="text" style="width: 40px; font-size: 10px;"> [WK]</td>';
        }
      
      html+='</table></div>';
      }
    
    // don't display cartons (11.09.2006 / sa)
    //if(content.carton)
    //  html+='<div class="sub_title">'+content_text.carton+'</div><div class="text">'+content.carton+'</div>';

    if(content.product_nr && (!content.sub_products || content.sub_products.length<1))
      html+='<div class="sub_title">'+content_text.product_nr+'</div><div class="text">'+content.product_nr+'</div>';

    if(content.data_sheet_src)
      {
      html+='<div class="sub_title">'+content_text.sheet+'</div><div class="text"><img src="'+this.conf.path+'/images/pdf.gif" ';
      html+='style="position:relative;top:2px;">&nbsp;<a ';
      html+='href="'+content.data_sheet_src+'">'+content.data_sheet+'</a></div>';
      }
    
    // on blackline the product is orderable if its an price on it
    if(content.product_id && Math.abs(content.price) && (this.conf.line=='blackline' || this.conf.line=='boats') && this.conf.shop_path)
      html+='<div class="sub_title"><a href="'+this.conf.shop_path+'/de/shop/product.html?mc=actions&parent_cat='+this.conf.nav_id+'&cat='+this.sub_nav_id+'&product='+content.product_id+'" target="_blank" class="shop_link"><img src="'+this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/shop.gif" border="0" />&nbsp;&nbsp;'+content_text.shop+'</a></div>';
      
    // show dealers-table
    if(content.dealers && content.dealers.length > 0)
      {
      html+='<div class="text"><table><tr>';
      html+='<td style="border-bottom: solid 1px #d3d3d3; padding-bottom: 4px;">Name</td>';
      html+='<td style="border-bottom: solid 1px #d3d3d3; padding-bottom: 4px;">PLZ</td>';
      html+='<td style="border-bottom: solid 1px #d3d3d3; padding-bottom: 4px;">Stadt</td>';
      html+='<td style="border-bottom: solid 1px #d3d3d3; padding-bottom: 4px;">Details</td>';
      html+='</tr><tr><td colspan="3" style="height: 2px;"></td></tr>';

      // show overview
      for(var n=0; n<content.dealers.length; n++)
        {
        html+='<tr><td width="150" valign="top">';
        html+='<a href="#details" onclick="riwax.show_dealer_details('+(n+1)+');return false">'+content.dealers[n].name+'</a>';
        html+='<td width="60" valign="top" nowrap>'+content.dealers[n].zip+'</td>';
        html+='<td width="100" valign="top" nowrap>'+content.dealers[n].city+'</td>';
        html+='<td width="70" valign="top"><a href="#details" onclick="riwax.show_dealer_details('+(n+1)+');return false">Details</a></td></tr>';
        }
      html+='</table><br /></div>';
      
      // built details divs
      for(var n=0; n<content.dealers.length; n++)
        {
        html+='<div id="dealer_detail_'+(n+1)+'" style="display:none;">';
        if(content.dealers[n].website)
          html+='<a href="http://'+content.dealers[n].website+'" target="_blank" class="title">'+content.dealers[n].name+'</a>';
        else
          html+='<div class="title">'+content.dealers[n].name+'</div>';
        html+='</p>'+content.dealers[n].address+'<br />';
        html+=content.dealers[n].zip+' '+content.dealers[n].city+'<br /><br />';
        html+='Tel.: '+content.dealers[n].telefon+'<br />';
        if(content.dealers[n].website)
          html+='<a href="http://'+content.dealers[n].website+'" target="_blank">'+content.dealers[n].website+'</a>';
        html+='</div><a name="details"></a>';
        }
      
      }




    this.main_content.write(html);

    if(this.start_nav>4 && this.start_sub_nav)
      this._check_loaded();
    else
      this.main_content.show(1);
    };


  // change theme img
  this._switch_main_image=function(src, name)
    {
    if(src)//&& !this.start_nav) //showing first image in case of deeplink (this.start_nav) nw 19.12.2006
      {
      if(!this.fade_img_1)
        {
        this.fade_img_1=new layer_object('fade_img_1');
        this.fade_img_2=new layer_object('fade_img_2');
       
        // workaround for mozilla
        this.fade_img_1.show(0);
        this.fade_img_1.show(1);
        }

      // get new image
      if(this.fade_img_1.visible)
        {
        document.images['fade_img_src_2'].img_name=name;

        if(document.images['fade_img_src_1'].img_name!=name || !document.images['fade_img_src_1'].img_name || !name)
          document.images['fade_img_src_2'].src=src;
        }
      else
        {
        document.images['fade_img_src_1'].img_name=name;
        
        if(document.images['fade_img_src_2'].img_name!=name || !document.images['fade_img_src_1'].img_name || !name)
          document.images['fade_img_src_1'].src=src;
        }
      }
    };

  this._get_img_hash=function(src)
    {
    return src.substr(src.indexOf('_id=')+4, src.length);
    };

  this._hide_main_nav=function()
    {
    if(this.sub_nav && this.sub_nav.visible)
      {
      this.sub_nav.fade(40, 500);
      this.main_nav_id=false;
      }
    };

  this._hide_sub_nav=function()
    {
    if(this.sub_sub_nav && this.sub_sub_nav.visible)
      {
      this.sub_sub_nav.fade(40, 500);
      this.sub_nav_id=false;
      }
    };

  this._hide_main_content=function()
    {
    if(this.main_content && this.main_content.visible)
      {
      this.main_content.fade(40, 200);
      this.content_id=false;
      }
    };

  
  this._set_main_nav_img=function(id)
    {
    var obj=document.getElementById('main_nav_img_'+id);
    var name='';
    
    if(obj)
      {
      // set object "on"
      obj.active=1;
      
      // if(obj.src.indexOf('_on.png')==-1)
      //  obj.src=obj.src.replace(/_off\.png/, "_on.png");

     if(obj.src.indexOf('_on.gif')==-1)
        obj.src=obj.src.replace(/_off\.gif/, "_on.gif");
      }
    
    // mark all other nav icons "off"
    for(var i=5; i<=8; i++)
      {
      obj=document.getElementById('main_nav_img_'+i);
      
      if(obj && i!=id)
        {
        //obj.active=false;
        //obj.src=obj.src.replace(/_on\.png/, "_off.png");
        obj.active=false;
        obj.src=obj.src.replace(/_on\.gif/, "_off.gif");
        }
      }
    };


  this._get_window_width=function()
    {
    var width=0;

    if(typeof(window.innerWidth) == 'number')
    width = window.innerWidth;
    else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
    width = document.documentElement.clientWidth;
    else if(document.body && (document.body.clientWidth || document.body.clientHeight)) 
    width = document.body.clientWidth;

    return width;
    };

  
  this._set_screen=function()
    {
    var left=(this._get_window_width()/2)-490;
    left = (left <= 10) ? 10 : left;

    document.getElementById('main').style.left=left;
    document.getElementById('hide').style.left=left-200;
    };


  this.sitemap=function(data)
    {
    var html='<table width="450" border="0"><tr><td valign="top" width="50%">';
    var url;
    var counter=0;

    if(!data)
      {
      this.click_main_nav(10);
      jsrc(this.conf.path+'/content/sitemap.html?_country='+this.conf.country+'&_lang='+this.conf.lang, 1, 'riwax.sitemap()');

      this.main_content.write('<img src="'+this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/loader.gif">');
      }
    else
      {
      for(var key in data)
        {
        if(data[key] && data[key].list.length>=1)
          {
          html+='<br><b>'+data[key].kat+'</b><br>';
        
          for(var i=0; i<data[key].list.length; i++)
            {
            url=this.conf.path+'/'+this.conf.country+'/'+this.conf.lang+'/'+this.main_nav_name[key]+'/'+data[key].list[i].id;
            html+='<a href="'+url+'">'+data[key].list[i].text+'</a><br>';
            }
          
          if(counter==2)
          html+='</td><td valign="top" width="50%">'

          counter++;
          }
        }
      
      html+='</td></tr></table>';
      this.main_content.write(html);
      }
    
    this._check_content_size();
    this.main_content.show(1);

    return false;
    };



  this.make_url=function(data)
    {
    var cat='';
    var url=false;

    if(data.categories)
      {
      cat=data.categories.split(',');
      
      if(cat.length>=2)
        url=this.conf.path+'/'+this.conf.country+'/'+this.conf.lang+'/'+this.main_nav_name[cat[0]]+'/'+cat[1]+'/'+data.pid;     
      }
    else if(data.cat)
      url=this.conf.path+'/'+this.conf.country+'/'+this.conf.lang+'/'+this.main_nav_name[data.cat]+'/'+data.pid;

    return url;
    };


  this.quick_search=function()
    {
    this.click_main_nav(10);
    this._check_content_size();

    jsrc(this.conf.path+'/content/search.html?_country='+this.conf.country+'&_lang='+this.conf.lang+'&_q='+escape(document.search.q.value), 1, 'riwax.show_results()');

    this.main_content.write('<img src="'+this.conf.path+'/images/nav/'+this.conf.nav_images_path+'/loader.gif">');
    this.main_content.show(1);

    return false;
    };


  this.show_results=function(data)
    {
    var list='';
    var url;

    if(data.shop.length>0)
      {
      list+='<div class="title">Produkte</div>';
      
      // shop products
      for(var i=0; i<data.shop.length; i++)
        {
        if(data.shop[i].categories)
          {
          url=this.make_url(data.shop[i]);

          if(url)
            list+='<a href="'+url+'">'+data.shop[i].name+'</a><br>';
          }
        }
      
      list+='<br>';
      }
    
    if(data.content.length>0)
      {
      list+='<div class="title">Website Inhalt</div>';
      
      // content
      for(var i=0; i<data.content.length; i++)
        {
        url=this.make_url(data.content[i]);

        if(url)
          list+='<a href="'+url+'">'+data.content[i].name+'</a><br>';
        }
      }

    if(list=='')
    list='Nothing found...';

    this.main_content.write('<div class="text">'+list+'</div>');
    document.search.q.value='';
    };


  this.contact=function()
    {
    if(document.form.nname.value!='' && 
       document.form.vname.value!='' &&
       document.form.mail.value!='' && 
       document.form.adr.value!='' &&
       document.form.ort.value!='' &&
       document.form.state.value!='' &&
       document.form.mail.value.indexOf('@')!=-1 && 
       document.form.mail.value.indexOf('.')!=-1)
      {
      //document.form.action=this.conf.path+'/'+this.conf.lang+'/contact/14/';
      document.form.action=this.conf.path+'/content/contact.html?_lang='+this.conf.lang;
      document.form.submit();    
      }
    else
      {
      if(document.form.mail.value!='' && (document.form.mail.value.indexOf('@')==-1 || document.form.mail.value.indexOf('.')==-1))
      msg='Die eingegebene E-Mail ist nicht gültig';
      else
      msg='Die Felder mit * sind Pflichfelder';
      
      alert(msg);
      }
    };


  // display the image in the content section
  this.display_content_img=function(show)
    {
    if(!this.content_img)
      this.content_img=new layer_object('content_img');

    if (show)
      {
      //alert("show: " + this.main_nav_id + "/" + this.sub_nav_id +"/");
      if (!this.main_nav_id)
        content_src_id = default_content_img;
      else
        content_src_id = this.main_nav_id;

      //if (content_src_id < 5 && !this.sub_nav_id)
      if (this.content_type[this.main_nav_id]== "products" && !this.sub_nav_id)
        {
        document.images["content_img_src"].src = this.conf.path+'/images/shop/content_img_'+ content_src_id +'.jpg';
        riwax.content_img.show(0);
        riwax.content_img.fade(40, 400);
        }
      else if (content_src_id == default_content_img)
        {
        document.images["content_img_src"].src = this.conf.path+'/images/shop/'+ default_content_img;
        riwax.content_img.show(0);
        riwax.content_img.fade(40, 400);
        }
      else
        {
        document.images["content_img_src"].src = this.conf.path+'/images/blank.gif';
        riwax.content_img.show(0);
        }
      }
    else
      {
      //alert("hide " + this.main_nav_id + " " + this.sub_nav_id);
      //document.getElementById("content_img").style.visibility = "hidden";
      }
    };
  }


