/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


#ifndef SXBLOCKMENU_H
#define SXBLOCKMENU_H

#include <ddwebblock.h>
#include <ddwebsearchkey.h>



/// sxblockmenu: rendert das hauptmenu
class sxblockmenu : public ddwebblock
{

public:
    
	sxblockmenu( const ddstring& name, ddwebsite* site );
  virtual ~sxblockmenu();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockrelated: rendert den 'related content'
class sxblockrelated : public ddwebblock
{

public:
    
	sxblockrelated( const ddstring& name, ddwebsite* site );
  virtual ~sxblockrelated();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );
	
	ddstringmap	_linkcache;
	
};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockgroups: rendert den 'groups content'
class sxblockgroups : public ddwebblock
{

public:
    
	sxblockgroups( const ddstring& name, ddwebsite* site );
  virtual ~sxblockgroups();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockletters: rendert den 'letters content'
class sxblockletters : public ddwebblock
{

public:
    
	sxblockletters( const ddstring& name, ddwebsite* site );
  virtual ~sxblockletters();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockpics: rendert den 'pics content'
class sxblockpics : public ddwebblock
{

public:
    
	sxblockpics( const ddstring& name, ddwebsite* site );
  virtual ~sxblockpics();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockfaqs: rendert den 'faqs content'
class sxblockfaqs : public ddwebblock
{

public:
    
	sxblockfaqs( const ddstring& name, ddwebsite* site );
  virtual ~sxblockfaqs();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );
  
  bool 						_initcalled;
  ddwebsearchkey	_keygen;

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockfaqs: rendert den 'faqs content'
class sxblockarchive : public ddwebblock
{

public:
    
	sxblockarchive( const ddstring& name, ddwebsite* site, size_t idcount );
  virtual ~sxblockarchive();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );
  
  size_t _idcount;

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockchannel: rendert den user google channel
class sxblockchannel : public ddwebblock
{

public:
    
	sxblockchannel( const ddstring& name, ddwebsite* site, bool use_first );
  virtual ~sxblockchannel();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );
  
  size_t _use_first;

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockmenu: rendert die memberbox
class sxblockmemberbox : public ddwebblock
{

public:
    
	sxblockmemberbox( const ddstring& name, ddwebsite* site );
  virtual ~sxblockmemberbox();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );
	
	ddthreadmutex	 	_listlock;
	
};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockmenu: rendert die teambox
class sxblockteambox : public ddwebblock
{

public:
    
	sxblockteambox( const ddstring& name, ddwebsite* site );
  virtual ~sxblockteambox();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );

 
};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockmenu: rendert den navigator
class sxblocknavigator : public ddwebblock
{

public:
    
	sxblocknavigator( const ddstring& name, ddwebsite* site );
  virtual ~sxblocknavigator();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );
	virtual void create_slot( ddstring& result, int pageno, const ddstring& linktext="" );
	
	ddstringrow _navlink;
 	//ddstringrow _navlink2;
 	
 	int _numpages;
	int _currentpage;
	
	ddstring _linkbase;
 
};

/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


/// sxblockstatistics: rendert den Statistikkasten
class sxblockstatistics : public ddwebblock
{

public:
    
	sxblockstatistics( const ddstring& name, ddwebsite* site );
  virtual ~sxblockstatistics();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );
 	virtual void render_slide( ddwebpage& pagelet, dditem& item, int slideno );

	ddstring _result;
	
};



/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/



/// sxblocksysmessage: rendert den 'sie haben post' layer im header
class sxblocksysmessage : public ddwebblock
{

public:
    
	sxblocksysmessage( const ddstring& name, ddwebsite* site );
  virtual ~sxblocksysmessage();

protected:
  
  virtual dd_result create_content( ddwebpage& pagelet, dditem& item );

 
};




#endif
