// Path: src/main/java/name/raev/kaloyan/kindle/chitanka/ConnectivityManager.java
// public class ConnectivityManager {
// 	
// 	public static final String BASE_URL = "http://chitanka.info";
// 
// 	private static ConnectivityManager instance;
// 
// 	private Stack history = new Stack();
// 
// 	public static ConnectivityManager getInstance() {
// 		if (instance == null) {
// 			instance = new ConnectivityManager();
// 		}
// 		return instance;
// 	}
// 
// 	public void display(final String url) {
// 		Connectivity connectivity = ContextManager.getContext().getConnectivity();
// 		connectivity.submitSingleAttemptConnectivityRequest(new ConnectivityHandler() {
// 			public void disabled(NetworkDisabledDetails details) throws InterruptedException {
// 				handleNetworkError();
// 				display(url);
// 			}
// 
// 			public void connected() throws InterruptedException {
// 				Screen screen = ScreenManager.createScreen(url);
// 				try {
// 					screen.display();
// 				} catch (IOException e) {
// 					handleNetworkError();
// 					display(url);
// 				}
// 
// 				ScreenManager.setCurrentScreen(screen);
// 			}
// 		}, true);
// 	}
// 
// 	public void downloadBook(final String href) {
// 		ProgressIndicator.start("Книгата се изтегля");
// 		Connectivity connectivity = ContextManager.getContext().getConnectivity();
// 		connectivity.submitSingleAttemptConnectivityRequest(new ConnectivityHandler() {
// 			public void disabled(NetworkDisabledDetails details) throws InterruptedException {
// 				handleNetworkError();
// 				downloadBook(href);
// 			}
// 
// 			public void connected() throws InterruptedException {
// 				try {
// 					BookDownloader.downloadMobiFromEpubUrl(href);
// 					BookDownloader.rescanDocuments();
// 				} catch (IOException e) {
// 					handleNetworkError();
// 					downloadBook(href);
// 					return;
// 				} finally {
// 					ProgressIndicator.stop();
// 				}
// 
// 				// show info message
// 				String title = "Книгата е изтеглена";
// 				String message = "Ще намерите книгата в началото на главния екран на Kindle. Натиснете бутона Home, за да преминете към главния екран.";
// 				DialogManager.displayDialog(message, title);
// 			}
// 		}, true);
// 
// 	}
// 
// 	public boolean canGoBack() {
// 		return history.size() > 1;
// 	}
// 
// 	public void goBack() {
// 		if (canGoBack()) {
// 			// remove the current page from history
// 			history.pop();
// 			// display the previous page from history
// 			display((String) history.peek());
// 		}
// 	}
// 
// 	public void navigateTo(String link) {
// 		String url = Network.getUrlFromLinkAsString(link);
// 		// push to history
// 		history.push(url);
// 		// navigate to the selected page
// 		display(url);
// 	}
// 	
// 	public void handleNetworkError() throws InterruptedException {
// 		ProgressIndicator.stop();
// 		String title = "Неуспешно свързване";
// 		String message = "Приложението не може да се свърже с мрежата. Уверете се, че сте в обхвата на безжична мрежа.\n\nЗатворете това съобщение, за да опитате отново.";
// 		DialogManager.displayDialog(message, title);
// 	}
// 
// }


import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import com.amazon.kindle.kindlet.ui.KButton;
import com.amazon.kindle.kindlet.ui.KOptionPane;
import com.amazon.kindle.kindlet.ui.KOptionPane.MessageDialogListener;
import com.amazon.kindle.kindlet.ui.KTextField;
import name.raev.kaloyan.kindle.chitanka.ConnectivityManager;
	public KSearchField(String initialText) {
		text = new KTextField(initialText, 18);
		text.setHint("Въведете поне 3 символа");
		text.setMargin(new Insets(0, 20, 0, 20));
		add(text);
		text.addKeyListener(new KeyAdapter() {
			public void keyTyped(KeyEvent e) {
				if (e.getKeyChar() == '\n') {
					doSearch();
				}
			}
		});

		button = new KButton(" в библиотеката");
		add(button);

		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				doSearch();
			}
		});
	}

	public void requestFocus() {
		text.requestFocus();
	}

	private void doSearch() {
		if (text.getText().trim().length() >= 3) {
			String url = SEARCH_LINK_PREFIX + text.getText().trim();
// Path: src/main/java/name/raev/kaloyan/kindle/chitanka/ConnectivityManager.java
// public class ConnectivityManager {
// 	
// 	public static final String BASE_URL = "http://chitanka.info";
// 
// 	private static ConnectivityManager instance;
// 
// 	private Stack history = new Stack();
// 
// 	public static ConnectivityManager getInstance() {
// 		if (instance == null) {
// 			instance = new ConnectivityManager();
// 		}
// 		return instance;
// 	}
// 
// 	public void display(final String url) {
// 		Connectivity connectivity = ContextManager.getContext().getConnectivity();
// 		connectivity.submitSingleAttemptConnectivityRequest(new ConnectivityHandler() {
// 			public void disabled(NetworkDisabledDetails details) throws InterruptedException {
// 				handleNetworkError();
// 				display(url);
// 			}
// 
// 			public void connected() throws InterruptedException {
// 				Screen screen = ScreenManager.createScreen(url);
// 				try {
// 					screen.display();
// 				} catch (IOException e) {
// 					handleNetworkError();
// 					display(url);
// 				}
// 
// 				ScreenManager.setCurrentScreen(screen);
// 			}
// 		}, true);
// 	}
// 
// 	public void downloadBook(final String href) {
// 		ProgressIndicator.start("Книгата се изтегля");
// 		Connectivity connectivity = ContextManager.getContext().getConnectivity();
// 		connectivity.submitSingleAttemptConnectivityRequest(new ConnectivityHandler() {
// 			public void disabled(NetworkDisabledDetails details) throws InterruptedException {
// 				handleNetworkError();
// 				downloadBook(href);
// 			}
// 
// 			public void connected() throws InterruptedException {
// 				try {
// 					BookDownloader.downloadMobiFromEpubUrl(href);
// 					BookDownloader.rescanDocuments();
// 				} catch (IOException e) {
// 					handleNetworkError();
// 					downloadBook(href);
// 					return;
// 				} finally {
// 					ProgressIndicator.stop();
// 				}
// 
// 				// show info message
// 				String title = "Книгата е изтеглена";
// 				String message = "Ще намерите книгата в началото на главния екран на Kindle. Натиснете бутона Home, за да преминете към главния екран.";
// 				DialogManager.displayDialog(message, title);
// 			}
// 		}, true);
// 
// 	}
// 
// 	public boolean canGoBack() {
// 		return history.size() > 1;
// 	}
// 
// 	public void goBack() {
// 		if (canGoBack()) {
// 			// remove the current page from history
// 			history.pop();
// 			// display the previous page from history
// 			display((String) history.peek());
// 		}
// 	}
// 
// 	public void navigateTo(String link) {
// 		String url = Network.getUrlFromLinkAsString(link);
// 		// push to history
// 		history.push(url);
// 		// navigate to the selected page
// 		display(url);
// 	}
// 	
// 	public void handleNetworkError() throws InterruptedException {
// 		ProgressIndicator.stop();
// 		String title = "Неуспешно свързване";
// 		String message = "Приложението не може да се свърже с мрежата. Уверете се, че сте в обхвата на безжична мрежа.\n\nЗатворете това съобщение, за да опитате отново.";
// 		DialogManager.displayDialog(message, title);
// 	}
// 
// }


// Path: src/main/java/name/raev/kaloyan/kindle/chitanka/widget/KSearchField.java
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import com.amazon.kindle.kindlet.ui.KButton;
import com.amazon.kindle.kindlet.ui.KOptionPane;
import com.amazon.kindle.kindlet.ui.KOptionPane.MessageDialogListener;
import com.amazon.kindle.kindlet.ui.KTextField;
import name.raev.kaloyan.kindle.chitanka.ConnectivityManager;

	public KSearchField(String initialText) {
		text = new KTextField(initialText, 18);
		text.setHint("Въведете поне 3 символа");
		text.setMargin(new Insets(0, 20, 0, 20));
		add(text);
		text.addKeyListener(new KeyAdapter() {
			public void keyTyped(KeyEvent e) {
				if (e.getKeyChar() == '\n') {
					doSearch();
				}
			}
		});

		button = new KButton(" в библиотеката");
		add(button);

		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				doSearch();
			}
		});
	}

	public void requestFocus() {
		text.requestFocus();
	}

	private void doSearch() {
		if (text.getText().trim().length() >= 3) {
			String url = SEARCH_LINK_PREFIX + text.getText().trim();
			ConnectivityManager.getInstance().navigateTo(url);