#ifndef DATA_DEF
 #define DATA_DEF


//------------------------- DATA Module -------------------------//
//						  v 08 . 03 .  2007						 //
//																 //
//								MT								 //
//---------------------------------------------------------------//


//---------------------- Incudes 
#include "stdlib.h"
#include <string.h>
#include "stdio.h"
//====================== Includes



//---------------------- Defines
#define TAG_SIZE 50
#define STRING_SIZE 256
//====================== Defines



// ---------------- CDATA -------------- //
class CData{
public :	

// --- DATA		
		// 1 Pointer to data
		char	_tag_begin [TAG_SIZE];
		CData*	pointer_to_data;

		// 2 Turn number
		char	_tag_turn_number [TAG_SIZE];
		int		turn_number;

		// 3 Game number
		char	_tag_game_number [TAG_SIZE];
		int		game_number;

		// 4 Gamer name
		char	_tag_gamer_name [TAG_SIZE];
		char	gamer_name [STRING_SIZE];
	
		// 5 Pointer to data
		char	_tag_win [TAG_SIZE];
		int		win;
// ---------------------------------------------------------------------------------
			// CGamer --------------------------------------------------------------
			class CGamer { 
			public :
				// header of CGamer
				char	_tag_header [TAG_SIZE];

					// 1 Money 
					char	_tag_money [TAG_SIZE];
					int money;
					// 2 Production 
					char	_tag_prod [TAG_SIZE];
					int prod;
					// 3 Raw 
					char	_tag_raw [TAG_SIZE];
					int raw;
					// 4 Fabric level
					char	_tag_fabric_level [TAG_SIZE];
					int fabric_level;

				// end of CGamer
				char	_tag_end [TAG_SIZE];

				CGamer() 
				{
					strcpy(_tag_header,  "<tag><type=child><name=gamer>\0");
					
						strcpy(_tag_money, "<tag><type=int><name=money>\0");
						strcpy(_tag_prod,  "<tag><type=int><name=prod>\0");
						strcpy(_tag_raw,   "<tag><type=int><name=raw>\0");
						strcpy(_tag_fabric_level, "<tag><type=int><name=fabric_level>\0");

					strcpy(_tag_end,  "<tag><type=childend><name=gamer>\0");
				}
			};
			// CGamer ==============================================================

			// --- YOU :: CGamer
			CGamer you;
			

			// CMarket -------------------------------------------------------------
			class CMarket {
			public:
				// header of CMarket
				char	_tag_header [TAG_SIZE];

					// 1 Min raw price
					char	_tag_min_raw_price [TAG_SIZE];
					int min_raw_price;
					// 2 Max prod price
					char	_tag_max_prod_price [TAG_SIZE];
					int max_prod_price;
					// 3 Market raw access
					char	_tag_raw [TAG_SIZE];
					int raw;
					// 4 Market production need
					char	_tag_prod [TAG_SIZE];
					int prod;

				// end of CMarket
				char	_tag_end [TAG_SIZE];

				CMarket() 
				{
					strcpy(_tag_header,  "<tag><type=child><name=market>\0");
						
						strcpy(_tag_min_raw_price,  "<tag><type=int><name=min_raw_price>\0");
						strcpy(_tag_max_prod_price,  "<tag><type=int><name=max_prod_price>\0");
						strcpy(_tag_raw,  "<tag><type=int><name=raw>\0");
						strcpy(_tag_prod,  "<tag><type=int><name=prod>\0");

					strcpy(_tag_end,  "<tag><type=childend><name=market>\0");
				}
			};
			// CMarket =============================================================

			// --- MARKET :: CMarket
			CMarket market;
// =================================================================================

	CData ();
 };

#endif
