#pragma ident "@(#) actions/Cms3Swing.java 0.0.6 2012.02.01,22:36"
//pragma ident "@(#) actions/Cms3Swing.java 0.0.1 2012.01.24,16:12"
package cms3.actions;

import java.awt.EventQueue;

import javax.swing.JEditorPane;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.List;
import java.awt.TextField;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.Font;
import java.awt.Toolkit;
import java.io.File;
import java.util.prefs.Preferences;
import javax.swing.JLabel;

public class Cms3Swing  extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/**　ブラウザによるアプレットのリビジョンファイルのリモート処理
	 * 機能
	 *  ファイルのリビジョンを操作する
	 *  ・GETボタン
	 *  ・PUTボタン
	 *  ・UNGETボタン
	 *  ・NEFILEボタン
	 *  ・リストファイルボタン
	 *  
	 *  今後の予定
	 *  ・VGET機能
	 *  ・SUBMIT機能
	 *  ・WHO機能
	 * 
	 */
	public String[] foldername = new String[1];		//Windows側のプロジェクト配下のフォルダ（Eclipseでは src/の下）
	public String[] filename = new String[1];		//リビジョン操作ファイル名
	public static String[] Revision = new String[1];//PUT叉は、VGET時の第4引数
	public static String[] Memo = new String[1];	//PUT時のメモ

	public Button button_1;	//GET
	public Button button_2;	//PUT
	public Button button_3;	//NEWFILE
	public Button button_4;	//LISTFILE
	public Button button_5;	//UNGET
	public Button button_6;	//WHO
	public Button button_7;	//VGET
	public static Button button_8;	//REVISION
	public Button button_9;	//UNVGET
	public Button button_10;	//HELP
	public Label label_h;//ホスト名のラベル
	public Label label_0;
	public Label label_1;
	public Label label_2;
	public Label label_3;
	public Label label_4;
	public Label label_5;
	public Label label_6;
	public Label label_7;
	private Label label_7_1;
	private Label label_7_2;
	public Label label_8;
	public Label label_9;
	public Label label_10;
	public Label label_11;
	public Label label_12;
	Checkbox chkbox_1;	//未使用
	Checkbox chkbox_2;	//未使用
	Checkbox chkbox_3;	//未使用
	public static TextField textfield_h;	//ホストアドレス用
	public static TextField textfield_0;	//接続ポート番号用
	public TextField textfield_1;	//ユーザ名用（ユーザ名＝サーバのディレクトリ名（fusr の場合））
	//private TextField textfield_2;	//パスワード
	private String textfield_2;	//パスワード
	//private JPasswordField passwordField;	//パスワードに必要な特殊なバッファ
	private static String[] password_Decision = new String[1];//パスワードが格納される
	private TextField textfield_3;	//リビジョン管理するファイル名
	private TextField textfield_4;	//ローカルにリビジョンを保存するフォルダを格納
	private TextField textfield_5;
	
	List list_1;
	public static Choice choice_1;	//リビジョン管理ファイルの一覧を選択
	public static Choice choice_2;	//リビジョン番号の一覧を選択
	
	public static String hostname;	//バージョン/リビジョン管理サーバーのアドレス
	public static String portno;	//リビジョン管理するリポジトリ用のポート番号
	//public static String memo;

	private JFrame frame;	//親フォーム
	private JPasswordField passwordField_1;	//パスワード専用のテキストボックス
	private JPanel panel;
	private JLabel lblNewLabel;

	/**
	 * Launch the application.
	 */
	/*		
	public static void main(String[] args)
	{
		EventQueue.invokeLater(new Runnable() {
			public void run()
			{
				try
				{
					Cms3Swing window = new Cms3Swing();
					window.frame.setVisible(true);
				} catch (Exception e)
				{
					e.printStackTrace();
				}
			}
		});
	}
*/
	public static void mainAction() {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					 Cms3Swing window = new  Cms3Swing();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public Cms3Swing() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize()
	{
		frame = new JFrame();
		frame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Documents and Settings\\son.CMS2\\workspace\\Cms3\\bin\\cms3\\bowmoon1.png"));
		frame.setBounds(100, 100, 480, 640);
		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		
		JPanel panel_1 = new JPanel();
		frame.getContentPane().add(panel_1, BorderLayout.NORTH);
		GridLayout gl_panel_1 = new GridLayout(18,2);
		gl_panel_1.setVgap(8);
		gl_panel_1.setHgap(8);
		panel_1.setLayout(gl_panel_1);
		
		panel_1.add(label_1 = new Label("差分の登録"));
		label_1.setAlignment(Label.RIGHT);
		panel_1.add(button_1 = new Button("PUT"));
		button_1.setFont(new Font("Dialog", Font.PLAIN, 14));
		//panel_1.add(chkbox_1 = new Checkbox("実行可", true));
		panel_1.add(label_2 = new Label("最新リビジョンの呼び出し"));
		label_2.setAlignment(Label.RIGHT);
		panel_1.add(button_2 = new Button("GET"));
		button_2.setFont(new Font("Dialog", Font.PLAIN, 14));
		//panel_1.add(chkbox_2 = new Checkbox("実行可", true));
		panel_1.add(label_3 = new Label("新ファイルの登録"));
		label_3.setAlignment(Label.RIGHT);
		panel_1.add(button_3 = new Button("NEWFILE"));
		button_3.setFont(new Font("Dialog", Font.PLAIN, 14));
		//panel_1.add(chkbox_3 = new Checkbox("実行可", true));
		panel_1.add(label_4 = new Label("GETの取消"));
		label_4.setAlignment(Label.RIGHT);
		panel_1.add(button_4 = new Button("UNGET"));
		button_4.setFont(new Font("Dialog", Font.PLAIN, 14));
		panel_1.add(label_8 = new Label("GET利用者の調査"));
		label_8.setAlignment(Label.RIGHT);
		panel_1.add(button_6 = new Button("WHO"));
		button_6.setFont(new Font("Dialog", Font.PLAIN, 14));
		panel_1.add(label_9 = new Label("VGETの実行"));
		label_9.setAlignment(Label.RIGHT);
		panel_1.add(button_7 = new Button("VGET"));
		panel_1.add(label_12 = new Label("UNVGETの実行"));
		label_12.setAlignment(Label.RIGHT);
		panel_1.add(button_9 = new Button("UNVGET"));

		panel_1.add(label_h = new Label("ホストアドレス"));
		label_h.setAlignment(Label.RIGHT);
		panel_1.add(textfield_h = new TextField());

		panel_1.add(label_0 = new Label("接続ポート番号"));
		label_0.setAlignment(Label.RIGHT);
		panel_1.add(textfield_0 = new TextField());
		
		panel_1.add(label_5 = new Label("ユーザID"));
		label_5.setAlignment(Label.RIGHT);
		panel_1.add(textfield_1 = new TextField());
		textfield_1.setFont(new Font("ＭＳ ゴシック", Font.PLAIN, 12));
		panel_1.add(label_6 = new Label("パスワード"));
		label_6.setAlignment(Label.RIGHT);
		passwordField_1 = new JPasswordField();
		panel_1.add(passwordField_1);		

		//★パスワードの設定を治す必要済み
		passwordField_1.setText("");
		password_Decision[0] = "";
		textfield_2 = password_Decision[0];
		passwordField_1.addKeyListener(new KeyAdapter() {
		@Override
		public void keyPressed(KeyEvent arg0) {
		}
		@Override
		public void keyTyped(KeyEvent arg0) {
		}
		@Override
		public void keyReleased(KeyEvent e) {
				char[] password = passwordField_1.getPassword();
				String password_string = new String(password);
				password_Decision[0] = password_string;
				textfield_2 = password_Decision[0];
				System.out.println(password_Decision);
			}
		});		
		//panel_1.add(textfield_2 = new TextField());
		//textfield_2.setFont(new Font("Dialog", Font.PLAIN, 14));
		panel_1.add(label_7_1 = new Label("登録ファイル"));
		label_7_1.setAlignment(Label.RIGHT);
		panel_1.add(textfield_3 = new TextField());
		textfield_3.setFont(new Font("ＭＳ ゴシック", Font.PLAIN, 12));
		panel_1.add(label_7_2 = new Label("登録フォルダ"));
		label_7_2.setAlignment(Label.RIGHT);
		panel_1.add(textfield_4 = new TextField());
		textfield_4.setFont(new Font("ＭＳ ゴシック", Font.PLAIN, 12));

		//Windowsのレジストリから設定を読み出す
		Preferences root = Preferences.userRoot();
		Preferences node = root.node("/cms3-client/work");
		
		hostname = node.get("hostaddr","");
		//textfield_h.setText("codoo2hk.corede.net");		//既定のホストアドレス
		textfield_h.setText(hostname);		//既定のホストアドレス
		textfield_1.setText("");		//ユーザID
		foldername[0] = node.get("foldername","c:\\temp");
		//textfield_4.setText("c:\\temp");	//既定の作業フォルダ
		textfield_4.setText(foldername[0]);	//既定の作業フォルダ


		panel_1.add(label_9 = new Label("操作のヘルプ"));
		label_9.setAlignment(Label.RIGHT);
		panel_1.add(button_10 = new Button("ヘルプ"));
		panel_1.add(label_10 = new Label("リビジョンの読み込み"));
		label_10.setAlignment(Label.RIGHT);
		panel_1.add(button_8 = new Button("リビジョンの読み込み"));
		//setLayout(new FlowLayout(FlowLayout.LEFT));	
		textfield_3.setText("");	//リビジョン管理するファイル名
		//setLayout(new BorderLayout());

		panel_1.add(label_12 = new Label("LISTの実行"));
		label_12.setAlignment(Label.RIGHT);
		panel_1.add(button_5 = new Button("LISTの実行"));
		//setLayout(new FlowLayout(FlowLayout.LEFT));
		panel_1.add(label_7 = new Label("ファイルの選択"));
		label_7.setAlignment(Label.RIGHT);
		label_7_1.setAlignment(Label.RIGHT);
		panel_1.add(choice_1 = new Choice());
		panel_1.add(label_11 = new Label("リビジョンの選択"));
		label_11.setAlignment(Label.RIGHT);
		panel_1.add(choice_2 = new Choice());
		
		panel = new JPanel();
		frame.getContentPane().add(panel, BorderLayout.SOUTH);

		choice_2.setEnabled(false);
		button_7.setEnabled(false);
		button_8.setEnabled(false);
		button_9.setEnabled(false);
		
		lblNewLabel = new JLabel("メモ");
		
		panel.add(textfield_5 = new TextField());
		textfield_5.setCaretPosition(1);
		textfield_5.setColumns(54);
		textfield_5.setFont(new Font("ＭＳ ゴシック", Font.PLAIN, 12));
		panel.setLayout(new BorderLayout(0, 0));
		panel.add(lblNewLabel);
		panel.add(textfield_5);
       
		//ファイル名はリストから選択されたファイル名が入っているテキストボックスから取り出す
		filename[0] = textfield_3.getText();
		foldername[0] = textfield_4.getText();
		Revision[0] = "0";
		Memo[0] = textfield_5.getText();

		button_1.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//リモートでリビジョン登録を行う
			int ret= JOptionPane.showConfirmDialog(null, "PUTを実行します", "リビジョンの登録", JOptionPane.YES_NO_OPTION); 
			if (ret == JOptionPane.OK_OPTION)
			{
				//param:textfield_1 = ユーザ名、textfield_2 = パスワード
				Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,0);
				textfield_5.setText("");
			}
		}
	});
		button_2.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//CmsFtpMain2('G', "GET", filename[0], "test");
			try
			{
				int ret = JOptionPane.showConfirmDialog(null, "GETを実行しますよろしいですか？", "GETの実行", JOptionPane.YES_NO_OPTION);
	        	if (ret == JOptionPane.OK_OPTION)
	        	{
	        		//リモートで最新リビジョンの呼び出しを行う
	        		Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,1);
	        	}
			} catch (Exception e1)
			{
				e1.printStackTrace();
			}
			System.out.println("MouseEvent");
		}
	});
		button_3.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//リモートで新規ファイルの登録を行う
			Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,2);
		}
	});
		button_4.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//リモートでGETしたファイルの取消を行う
			Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,4);
		}
	});
		button_5.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//コンボボックスのリビジョン登録ファイルの一覧をクリアする。
			choice_1.removeAll();
			hostname = textfield_h.getText();
			portno = textfield_0.getText();
			//LIST 1 コマンドでサーバーのリビジョン登録ファイル（username+tab）からファイル名を取り出す
			Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,3);
			//LIST 2 コマンドでサーバーのリビジョン登録ファイル（username+tab）からリビジョンを取り出す
			//Cms3Client.cmsMain(filename[0],textfield_1,textfield_2,6);
		}
	});
		button_6.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			if(filename[0].isEmpty())
				return;
			//grepコマンドでターゲットのファイルが他のユーザがGETしていて lock されているかどうかのチェック
			Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,5);
		}
	});
		button_7.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//コンボボックスのリビジョン登録ファイルの一覧をクリアする。
			int ret = JOptionPane.showConfirmDialog(null, "VGETを実行します", "リビジョンの呼び出し", JOptionPane.YES_NO_OPTION);
			if (ret == JOptionPane.OK_OPTION)
			{
				//LIST 2 コマンドでサーバーのリビジョン登録ファイル（username+tab）からリビジョンを取り出す
				Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,7);
			}
		}
	});
		button_8.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//コンボボックスのリビジョン登録ファイルの一覧をクリアする。
			choice_2.removeAll();
			filename[0] = textfield_3.getText();
			JOptionPane.showConfirmDialog(null, filename[0] + " リビジョンのリストを実行します", "リビジョンの呼び出し", JOptionPane.YES_NO_OPTION);

			//LIST 2 コマンドでサーバーのリビジョン登録ファイル（username+tab）からリビジョンを取り出す
			Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,6);
		}
	});
		button_9.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			//リビジョンファイルのGETを取り消す。
			int ret = JOptionPane.showConfirmDialog(null, "UNVGETを実行します", "リビジョンの呼び出しの取り消し", JOptionPane.YES_NO_OPTION);
			if (ret == JOptionPane.OK_OPTION)
			{
				//
				Cms3Client.cmsMain(filename[0],foldername[0],Revision[0],textfield_1,textfield_2,8);
			}
		}
	});
		button_10.addMouseListener(new MouseAdapter() {
		@Override
		public void mouseClicked(MouseEvent e) {
			
			//ヘルプを表示する。
			JEditorPane browser=new JEditorPane();
			browser.setEditable(false);
			browser.setContentType("text/html");

			String helpHtmlData="<html><body>help</body></html>";
			browser.setText(helpHtmlData);
	        JFrame f=new HelpBrowser();
	        //f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	        f.setSize(700,800);
	        f.setVisible(true);
		}
	});
		textfield_4.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				//ディレクトリ選択ダイアログを表示する。
				JFileChooser selected = new JFileChooser();
				selected.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
				if(selected.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION)
				{
					File dir = selected.getSelectedFile();
					textfield_4.setText(dir.toString());
					foldername[0] = dir.toString();
					//Windowsのレジストリに登録する（HKEY_CRRENT_USER/Softwea/Javasoft/Prefs/cms3-client）
					JOptionPane.showConfirmDialog(null, foldername[0] + "をregedtに登録します", "regedt", JOptionPane.YES_NO_OPTION);
					Preferences root = Preferences.userRoot();
					//登録フォルダの保存はレジストリキー foldername になる。
					Preferences node = root.node("/cms3-client/work");
					node.put("foldername", foldername[0]);
				}
			}
		});
		
		textfield_h.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				JOptionPane.showConfirmDialog(null, hostname + "をregedtに登録します", "regedt", JOptionPane.YES_NO_OPTION);
				Preferences root = Preferences.userRoot();
				Preferences node = root.node("/cms3-client/work");
				//登録ホスト名の保存はレジストリキー hostname になる。
				node.put("hostaddr", hostname);
			}
		});
		
		//チョイスリスナーを設定する（これをしないとitemStateChanged()は動作しない）
		//choice_1.addItemListener(this);
		//choice_2.addItemListener(this);
		choice_1.addItemListener(new ItemChoiceFile());
		choice_2.addItemListener(new ItemChoiceRevision());
		textfield_h.addKeyListener(new HostTextfieldName());
	    textfield_0.addKeyListener(new PortTextfieldFile());
	    textfield_3.addKeyListener(new RevisionTextfieldFile());
	    textfield_4.addKeyListener(new GetTextfieldDir());
	    textfield_5.addKeyListener(new PutTextfieldMemo());
	}
	public class ItemChoiceFile implements ItemListener {
	/** チョイスの選択イベント
	 * 
	 * 機能
	 *  チョイスリスナーによって認識されるイベントを処理する
	 *  
	 * 処理目的
	 *  リストから選択した項目をリビジョン管理ファイルとして決定する
	 */
	@Override
	public void itemStateChanged(ItemEvent e)
	{
		int index;
		//コンボボックスからリストされたファイルを選択する
		index = choice_1.getSelectedIndex();
		//リストの数がゼロより多い場合だけチョイスリストを選択出来る
		if(choice_1.getItemCount() > 0){
			textfield_3.setText(choice_1.getItem(index));
			//ファイル名はリストから選択されたファイル名が入っているテキストボックスから取り出す
			filename[0] = textfield_3.getText();
		}
			if(textfield_3.toString().length() > 0)
			{
				choice_2.setEnabled(true);
				button_8.setEnabled(true);
			}		
	}
	}
	public class ItemChoiceRevision implements ItemListener {

	@Override
	public void itemStateChanged(ItemEvent e)
	{
		int index;
		//コンボボックスからリストされたファイルを選択する
		index = choice_2.getSelectedIndex();
		//リストの数がゼロより多い場合だけチョイスリストを選択出来る
		if(choice_2.getItemCount() > 0){
			//textfield_3.setText(choice_2.getItem(index));
			//ファイル名はリストから選択されたファイル名が入っているテキストボックスから取り出す
			//filename[0] = textfield_3.getText() + ":" + choice_2.getItem(index);
			Revision[0] = choice_2.getItem(index);
			int ret = JOptionPane.showConfirmDialog(null, Revision[0] + " = リビジョン", "リビジョンの呼び出し", JOptionPane.YES_NO_OPTION);
			if(ret == JOptionPane.OK_OPTION)
			{
				if(choice_2.isShowing() == true)
				{
					button_7.setEnabled(true);
					button_9.setEnabled(true);
				}
			}
		}
	}
	}
	public class HostTextfieldName implements KeyListener {
	@Override
	public void keyPressed(KeyEvent e){
		//ホストアドレスを設定
		hostname = textfield_h.getText();
	}
	
	@Override
	public void keyReleased(KeyEvent e)
	{

	}

	@Override
	public void keyTyped(KeyEvent e)
	{
		//ホストアドレスを設定
		hostname = textfield_h.getText();
	}
	}
	
	public class PortTextfieldFile implements KeyListener {
	@Override
	public void keyPressed(KeyEvent e){
		//ポート番号は3390〜3399を指定する
		portno = textfield_0.getText();
		filename[0] = textfield_3.getText();
		//JOptionPane.showMessageDialog(null, filename[0] + " です。keypress", "PUT",JOptionPane.INFORMATION_MESSAGE);
	}
	
	@Override
	public void keyReleased(KeyEvent e)
	{

	}

	@Override
	public void keyTyped(KeyEvent e)
	{
		//ポート番号は3390〜3399を指定する
		portno = textfield_0.getText();
		filename[0] = textfield_3.getText();
		//JOptionPane.showMessageDialog(null, filename[0] + " です。keytyed", "PUT",JOptionPane.INFORMATION_MESSAGE);
	}
	}
	
	public class RevisionTextfieldFile implements KeyListener {
	@Override
	public void keyPressed(KeyEvent e){
		//ファイルを読み取る
		filename[0] = textfield_3.getText();
		//System.out.printf("%s\n",filename[0]);
		//JOptionPane.showMessageDialog(null, filename[0] + " です。keypress", "PUT",JOptionPane.INFORMATION_MESSAGE);
	}
	
	@Override
	public void keyReleased(KeyEvent e)
	{

	}

	@Override
	public void keyTyped(KeyEvent e)
	{
		//ファイルを読み取る
		filename[0] = textfield_3.getText();
		if(filename[0].matches(".*//.*") == true)
		{
			JOptionPane.showMessageDialog(null, "2重の//の文字があります。keypress", "PUT",JOptionPane.INFORMATION_MESSAGE);
		}
		//JOptionPane.showMessageDialog(null, filename[0] + " です。keytyed", "PUT",JOptionPane.INFORMATION_MESSAGE);
	}
	}
	
	public class GetTextfieldDir implements KeyListener {
		@Override
		public void keyPressed(KeyEvent e){
			//ローカルにGETするフォルダはあらかじめ決定しておく
			foldername[0] = textfield_4.getText();
		}
		
		@Override
		public void keyReleased(KeyEvent e)
		{

		}

		@Override
		public void keyTyped(KeyEvent e)
		{
			//ローカルにGETするフォルダはあらかじめ決定しておく
			foldername[0] = textfield_4.getText();
		}
	}
	public class PutTextfieldMemo implements KeyListener {
		@Override
		public void keyPressed(KeyEvent e){
			//put時のメモ書きはやがてメールとなる
			Memo[0] = textfield_5.getText();
			if(Memo[0].length() == 0)
			{
				Memo[0] = "Not Memo";
			}
		}
		
		@Override
		public void keyReleased(KeyEvent e)
		{

		}

		@Override
		public void keyTyped(KeyEvent e)
		{
			//pput時のメモ書きはやがてメールとなる
			Memo[0] = textfield_5.getText();
			if(Memo[0].length() == 0)
			{
				Memo[0] = "Not Memo";
			}
		}
	}
}
