﻿B4A=true
Group=Book
ModulesStructureVersion=1
Type=Class
Version=11
@EndOfDesignText@
Sub Class_Globals
	
 	Private recSearch As AX_RecyclerView
	Private ed_search As ACEditText
	Private lab_search As Label
	Private L_Number As Label

 	Private sql As SQL
	Private Cursor As ResultSet

	Private sql1 As SQL

	Private list_aye  As List
	Private list_id1  As List
 	
	Private list_tfob_asli  As List
	Private list_tfob_faree As List
	Private list_name_faree As List
	Private list_farsi_book As List

	Dim list_id2  		  As List
	Dim List_doaa_name  As List
	Dim List_Pic        As List

	Private sSearchp As String
  	
	Private nameBook As String 
 	
	Dim content As Panel
	
	Dim lab_back As Label
 	Private Label1 As Label
	
	Private mKeyboardIsVisible As Boolean
	Private ime As IME
 	
End Sub

Public Sub Initialize
End Sub
  
Public Sub onCreateView (Parent As Panel)
	
	content = Parent
	content.Color = 0xFFFBFDFF
	
	Dim l2n As Label
	l2n.Initialize("")
	content.AddView(l2n,0,50%y-30dip,100%x,60dip)
	l2n.Typeface = Typeface.CreateNew(Typeface.LoadFromAssets(func.font3),Typeface.STYLE_BOLD)
	l2n.Text=func.gland(54)
	l2n.Gravity=Bit.Or(Gravity.CENTER,Gravity.CENTER_VERTICAL)
	l2n.textColor = Colors.Black
	l2n.TextSize=14

	l2n.Visible = True
	Sleep(5)
	addView
	l2n.Visible = False

  
	ime.Initialize("ime")
	ime.AddHeightChangedEvent
	ime.AddHandleActionEvent(ed_search)

	func.savePFM("posSeQur",-1)

	list_id2.Initialize
	List_doaa_name.Initialize
	List_Pic.Initialize

	Dim bookDBPAE As String
	Dim lan2FaEn As String = (func.readNIS("lan2FaEn",1))
	
	If lan2FaEn = 1 Then
		bookDBPAE = "book.db"
	Else If lan2FaEn = 3 Then
		bookDBPAE = "book_eng.db"
	Else If lan2FaEn = 2 Then
		bookDBPAE = "book_arabi.db"
	Else
		bookDBPAE = "book.db"
	End If

	If sql.IsInitialized=False Then
		sql.Initialize(File.DirInternal,bookDBPAE,True)
	End If
	
	If sql1.IsInitialized=False Then
		sql1.Initialize(File.DirInternal,"quransooreh.db",True)
	End If
    	
	Cursor = sql1.ExecQuery("SELECT idindex,name,enname FROM book  where lang = '"&func.readNIS("lan2FaEn",1)&"' order by idindex asc")
	Cursor.Position = 0
		
	List_doaa_name.add((Cursor.GetString("name")))
	List_Pic.add((Cursor.GetString("enname")))
	list_id2.add((Cursor.GetInt("idindex")))
   
	Cursor.Close
	
	func.savePFM("idBookSearch",list_id2.Get(0))
	nameBook = List_Pic.Get(0)

   
	list_id1.Initialize
	list_aye.Initialize
	list_tfob_asli.Initialize
	list_tfob_faree.Initialize
	list_name_faree.Initialize
	list_farsi_book.Initialize

	CallSubDelayed(Me,"showKey")
  	
End Sub

Sub ime_HeightChanged (NewHeight As Int, OldHeight As Int)
	mKeyboardIsVisible = (NewHeight < OldHeight)
	CallSubDelayed(Me,"refRecBook")
	CallSubDelayed(Me,"refRecSearch")
	
End Sub
 
Sub addView
	
	content.LoadLayout("searchlayoutbd")

	func.SetRipple(lab_back ,0x337FD3B1,0x884C9A7B,16)
	ed_search.RequestFocus
	ed_search.Color=Colors.Transparent
	ed_search.Hint= func.gland(64)

 	Label1.Text = func.gland(73)
	
	func.color_border(lab_search,0x327FD3B1,15dip)

	ed_search.Typeface = Typeface.LoadFromAssets(func.font3)
 	Label1.Typeface = Typeface.CreateNew(Typeface.LoadFromAssets(func.font3),Typeface.STYLE_BOLD)
	
	L_Number.Typeface = Typeface.LoadFromAssets(func.font3)

	func.MinimomFontLabel(Label1,14)

End Sub
  
Sub showKey
	ime.ShowKeyboard(ed_search)
End Sub

Sub hideKey
	ime.HideKeyboard
End Sub

Sub ime_HandleAction As Boolean
	lab_search_Click
	Return True
End Sub

Sub lab_search_Click
     
	hideKey
	
	list_aye.Clear
	list_id1.Clear
 
	list_tfob_asli.Clear
	list_tfob_faree.Clear
	
	list_name_faree.Clear
	list_farsi_book.Clear
	
	func.savePFM("posSeQur",-1)

	If ed_search.Text.Length > 0 Then
  		
		Dim sd As String= func.FToF1(ed_search.Text)
		sSearchp = sd
 
		Cursor = sql.ExecQuery("SELECT page,farsi,farsi1,id FROM '"&nameBook&"' where farsi1 LIKE '%"&sd&"%' ")
		L_Number.Text = Cursor.RowCount
		Do While Cursor.NextRow
 			
			list_id1.add(Cursor.GetInt("id"))
			list_aye.add(Cursor.GetInt("page"))
  
			list_tfob_asli.add(Cursor.GetString("farsi"))
			list_tfob_faree.add(Cursor.GetString("farsi1"))
				
			list_name_faree.Add(nameBook)
			list_farsi_book.Add(List_doaa_name.Get(List_Pic.IndexOf(nameBook)))
 
		Loop : Cursor.Close
		
 		recSearch.Visible=True
		CallSubDelayed(Me,"refRecSearch")
 	
		ProgressDialogHide
	Else
		sSearchp = ""
		func.ToastERROR(func.gland(78))
	End If
 	

End Sub
    
Sub recSearch_onCreateViewHolder (Parent As Panel,ViewType As Int)

	Dim p_grid_asli As Panel
	p_grid_asli.Initialize("p_grid_asli")
	Parent.AddView(p_grid_asli,0%x,0,100%x,85dip)

	Dim lab2 As Label
	lab2.Initialize("")
	p_grid_asli.AddView(lab2,1%x,5dip,98%x,40dip)
	
	Dim lab1 As Label
	lab1.Initialize("")
	p_grid_asli.AddView(lab1,1%x,lab2.Top+lab2.Height+5dip,98%x,40dip)

	Dim lab4 As Label
	lab4.Initialize("")
	p_grid_asli.AddView(lab4,1%x,5dip,98%x,40dip)

End Sub

Sub recSearch_onBindViewHolder (Parent As Panel,Position As Int)

	Dim panel As Panel = Parent.GetView(0)
	Dim lab2 As Label=panel.GetView(0)
	Dim lab1 As Label=panel.GetView(1)
	Dim lab4 As Label=panel.GetView(2)

	lab2.Top = 5dip
	
	lab2.Typeface=Typeface.CreateNew(Typeface.LoadFromAssets(func.font3),Typeface.STYLE_BOLD)
	func.setEllipsize(lab2,"END")

	lab2.Text=(Position+1)&"- "&func.gland(121)&" "&(list_aye.Get(Position)) &" - "&func.gland(115)&" "&list_farsi_book.Get(Position)
 	
	lab2.Gravity=Bit.Or(Gravity.RIGHT,Gravity.CENTER_VERTICAL)
	lab2.textColor = Colors.Black
	lab2.TextSize=14
  	
	
	lab1.Top=lab2.Top+lab2.Height
	lab1.Typeface=Typeface.LoadFromAssets(func.font3)
	
	lab4.Top=lab2.Top+lab2.Height
	lab4.Typeface=Typeface.LoadFromAssets(func.font3)

	Dim sSearch As String
	Dim SSearch1 As String
	Dim lab1Text As String
	Dim lab1Text1 As String
	
 	SSearch1 = list_tfob_asli.Get(Position)
 	sSearch = list_tfob_faree.Get(Position)
  
	Dim IntSearch As Int
	IntSearch = sSearch.IndexOf( sSearchp )
		
	If (IntSearch-40) < 0 Then

		lab1Text = sSearch
		lab1Text1 = SSearch1
	
	Else
		lab1Text = sSearch.SubString2( IntSearch-40 , sSearch.Length)
		lab1Text1 = SSearch1.SubString2( IntSearch-40 , SSearch1.Length)
	End If
 	
   	
	lab1.Text=func.SearchHighLight(lab1Text,sSearchp)
	
 	
	func.setEllipsize(lab1,"END")
	lab1.Gravity=Bit.Or(Gravity.RIGHT,Gravity.CENTER_VERTICAL)
	lab1.TextSize=14
	
	
	func.setEllipsize(lab4,"END")
	lab4.Gravity=Bit.Or(Gravity.RIGHT,Gravity.CENTER_VERTICAL)
	lab4.TextSize=14
	lab4.Text = lab1Text1
	lab4.Color=Colors.Transparent
	lab4.textColor = Colors.Gray
   
	lab1.textColor = Colors.Gray
	lab4.Visible=False
   	
	If Position = func.readPFM("posSeQur") Then
		func.SetRipple(panel,0xFFCDFFD9,0x33A9A9A9,0)
	Else
		If Position Mod 2 == 0 Then
			func.SetRipple(panel,Colors.White,0x33A9A9A9,0)
		Else
			func.SetRipple(panel,0xFFEEEEEE,0x33ffffff,0)
		End If
	End If
  	
	panel.Height=lab1.Top+lab1.Height+2dip

	If Position = list_aye.Size-1 Then
		If mKeyboardIsVisible Then
			Parent.Height=panel.Height+5dip + 50%y
		Else
			Parent.Height=panel.Height+5dip
		End If
	Else
		Parent.Height=panel.Height+5dip
	End If
    
	panel.Tag = Position
 
End Sub

Private Sub recSearch_GetItemCount As Int
	Return list_aye.Size
End Sub

Sub p_grid_asli_Click
	
	hideKey
	
	Dim pp As Panel=Sender
	Dim Position As Int = pp.tag
	
	func.savePFM("posSeQur",Position)
	CallSubDelayed(Me,"refRecSearch")

	func.savePFM("search",list_aye.Get(Position))
	func.savePFM("searchID",list_id1.Get(Position))

	func.savePFM("txtSearchbd",sSearchp)

 	'**************
 	'**************
	
	func.savePFM("ennameBook",list_name_faree.Get(Position))

	Dim pos As Int = list_id2.Get(List_Pic.IndexOf(list_name_faree.Get(Position)))
	func.savePFM("idBook",pos)
   
 	func.savePFM("NameBook",list_farsi_book.Get(Position))
  
	CallSub2(actBook,"show_hide_frag",func.listInitialize(16,Me,""))

End Sub
 

Sub refRecSearch
	recSearch.Adapter2.NotifyDataSetChanged
	recSearch.Adapter2.NotifyItemRemoved(0)
End Sub
 
Sub lab_back_Click
	close
End Sub
 
	
Private Sub close
	CallSub2(actBook,"show_hide_frag",func.listInitialize(14,Me,""))
End Sub
public Sub onKey (KeyCode As Int)

	If KeyCode = KeyCodes.KEYCODE_BACK Then
		close
	End If
 	
End Sub
