package com.linx.dposandroid;

import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnKeyListener;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;

public class CFragmentMascara extends Fragment {	
	public CDPOSDRVTELA cdposdrvtela;
	private EditText edtMascara;
	private TextView txtLabel;
	public boolean bLimpaTela;
	public int iColLabel;
	public int iLinLabel;
	public int iLinColeta;
	public boolean iLimpaBuffer;
	public String sLabel;
	public String sMascara;
	public String stringEntrada;
	public boolean bPermiteEntra = true;
	int iTamMascara;
//	char[] cMascara = new char[21];
//	char[] cValorInicial = new char[21];
  	private FakeR fakeR;
	
	private void showKeyboard() {
     	InputMethodManager imm = (InputMethodManager) cdposdrvtela.getSystemService(Context.INPUT_METHOD_SERVICE);
     	imm.showSoftInput(edtMascara, InputMethodManager.SHOW_IMPLICIT);
        imm.toggleSoftInput(0, 0);
	}
	
	private void hideKeyboard() {
     	InputMethodManager imm = (InputMethodManager) cdposdrvtela.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(0, 0);
	}
	
	@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        /** Inflating the layout for this fragment **/
        fakeR = new FakeR(getActivity());
		View view = inflater.inflate(fakeR.getId("layout","fragment_mascara_layout"), container, false);

		txtLabel=(TextView) view.findViewById(fakeR.getId("id","txtLabelMascara"));
		txtLabel.setText(sLabel);

     	edtMascara=(EditText) view.findViewById(fakeR.getId("id","edtMascara"));
     	edtMascara.setTextSize(12);
     	
    	TextWatcher edtMask;
        EditText edtInput = (EditText) view.findViewById(fakeR.getId("id","edtMascara"));

     	iTamMascara = sMascara.length();
        
        sMascara = sMascara.replace(' ', '#');
        edtMask = Mask.insert(sMascara, edtInput);
        edtInput.addTextChangedListener(edtMask);
     	
        showKeyboard();
     	edtMascara.requestFocus();
     	
		edtMascara.setOnEditorActionListener(new OnEditorActionListener() {
		    @Override
		    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
		    	boolean bResult = false;
		    	
		    	if (actionId == EditorInfo.IME_ACTION_DONE) {
		    		System.out.println("[CFragmentMascara] ENTER do teclado pressionado");
		    		bResult = DadosValidos();
		    		if (bResult) {
			    		hideKeyboard();
		    		}
		    	} 
		    	
		    	return bResult;
		    }
		});
     	
        return view;  
	}
	
	private boolean DadosValidos() {
		boolean bRes = false;
		
    	String sValor = "";
    	sValor = edtMascara.getText().toString();
		
    	if (sValor.length() == iTamMascara)
		{
			cdposdrvtela.bOKPressionado = true;
			bRes = true;
		}
    	
		return bRes;
	}
	
    public String stringDigitada()  {
    	String sValor = "";
    	sValor = edtMascara.getText().toString();
    	return sValor;
    }	
    
}
