﻿/**** UC MainToFesSearch ****/
var AutoCompliteFormDivID  = null ;
var objTxtFreeText = null ;
var Origvalue = null ;
var Counter = null;
var FormID = null;

function DivMouseSelect(id)
{

	
	var vDivValue = document.getElementById(id);
	if(navigator.userAgent.indexOf('MSIE') > -1)
	{
		//IE
		objTxtFreeText.value = vDivValue.innerText;
	}
	else
	{
		//NetScape
		objTxtFreeText.value = vDivValue.textContent;
		
	}
	
	
	if ( FormID == 'Citys' )
	{
		AuthoritiessColectSearchParameters();
	}
	else
	{
		colectSearchParameters();
	}
	
	
	return false;
}
//If Input txtFreeText Key And Its Code Is Arrows Up Or Down
//Run On Table 
function TextSearchKeyDown(e ,inClientID , inOrigvalue , inCounter)
{
	
	objTxtFreeText = document.getElementById(inClientID);
	Origvalue = document.getElementById(inOrigvalue).value;
	Counter = document.getElementById(inCounter).value;
	
	
	Origvalue = inOrigvalue;
	Counter  = inCounter;
	
	//Check If Key Pressed Is for Run On Auto Complit Table
	if((e.keyCode  == 40 ||e.keyCode  == 38) && objTxtFreeText.value.replace(/ /g,"") != "" && objTxtFreeText.value != '??? ?????')
	{
		var vInputCountElemnt = document.getElementById(inCounter);
		var vNumOfResults = document.getElementById(AutoCompliteFormDivID).innerHTML.split("~").length -1;
		if(vNumOfResults != 0 && vNumOfResults > -1)
		{
			//if The Key Is Arrow Down
			if(e.keyCode == 40)
			{
				if(vInputCountElemnt.value == 'f' || vInputCountElemnt.value == vNumOfResults)
				{
					if(vInputCountElemnt.value == 'f')
					{
						vInputCountElemnt.value = '1';
					}
					else
					{
						SearchUpDown('f');
						AutoCompleteDivMouseOut('divResult_' + AutoCompliteFormDivID  + "_"  + vInputCountElemnt.value);
						vInputCountElemnt.value = 'f';
						return;
					}
				}
				else
				{
					vInputCountElemnt.value++;
				}
				
				AutoCompleteDivMouseOver('divResult_' + AutoCompliteFormDivID  + "_"  + vInputCountElemnt.value,false);
			}
			else //If Arrow Is Up
			{
				if(vInputCountElemnt.value == 'f' || vInputCountElemnt.value == '1')
				{
					if(vInputCountElemnt.value == 'f')
					{
						vInputCountElemnt.value = vNumOfResults;
					}
					else
					{
						SearchUpDown('f');
						AutoCompleteDivMouseOut('divResult_' + AutoCompliteFormDivID  + "_"  + vInputCountElemnt.value);
						vInputCountElemnt.value = 'f';
						return;
					}
				}
				else
				{
					vInputCountElemnt.value--;
				}
				AutoCompleteDivMouseOver('divResult_' + AutoCompliteFormDivID  + "_"  + vInputCountElemnt.value,false);
			}
			SearchUpDown('divResult_' + AutoCompliteFormDivID  + "_" +  vInputCountElemnt.value);
		}
	}
}			

//Set The Value In txtFreeText On Arrows Search
function SearchUpDown(id)
{	
	
	var FillAutoCompleteDiv = document.getElementById(AutoCompliteFormDivID);
	var vValueToSetIn;
	if(objTxtFreeText.value.replace(/ /g,"") != "")
	{
		FillAutoCompleteDiv.style.visibility  = 'visible';
		var ValueToSetFrom;
		if(id != 'f')
		{
			ValueToSetFrom = document.getElementById(id)
			
			if(navigator.userAgent.indexOf('MSIE') > -1)
			{
				//IE
				vValueToSetIn = ValueToSetFrom.innerText;
			}
			else
			{
				//NetScape
				vValueToSetIn = ValueToSetFrom.textContent;
			}
		}
		else
		{
			ValueToSetFrom = document.getElementById(Origvalue);
			vValueToSetIn = ValueToSetFrom.value;
		}
		
		objTxtFreeText.value = vValueToSetIn;
	}
}

function UpdateControls(inClientID ,inFormID ,  inUpdateDiv , inOrigvalue , inCounter)
{	
	//debugger;
	objTxtFreeText = document.getElementById(inClientID);	
	Origvalue = document.getElementById(inOrigvalue).value;
	Counter = document.getElementById(inCounter).value;	
	AutoCompliteFormDivID = inUpdateDiv;
	Origvalue = inOrigvalue;
	Counter  = inCounter;
	FormID = inFormID
}


// If Input txtFreeText Key Up And Its Code Is From Number Or Later
//Show Atuo Complite Table
function TextSearchKeyUp(e , inClientID ,inFormID ,  inUpdateDiv , inOrigvalue , inCounter)
{
	
	UpdateControls(inClientID ,inFormID ,  inUpdateDiv , inOrigvalue , inCounter);
	
	if((e.keyCode >= 48 && e.keyCode <=57) || (e.keyCode >=65 && e.keyCode <=90) || (e.keyCode >=96 && e.keyCode <=105) || e.keyCode == 186 || e.keyCode == 188 || e.keyCode == 190 || e.keyCode == 32 || e.keyCode == 8 || e.keyCode == 46)
	{		
		if( (objTxtFreeText != null) && (objTxtFreeText.value.replace(/ /g,"") != ""))
		{		
			//Save Origenal Value In Hidden Input origvalue
			var vOrigvalue =  document.getElementById(inOrigvalue);
			vOrigvalue.value = objTxtFreeText.value;	
			var vCounter =  document.getElementById(inCounter);
			vCounter.value = 'f';
		
			if(District.length > 0)
			{
				District = District.replace("מחוז ","");
			}
			
			//fill auto complit table
			var callBackName = "FillAutoCompleteDiv";			
			var params = "FreeText="+escape(objTxtFreeText.value)+"&PageName=" + inFormID + "&AutoCompliteFormDiv=" + inUpdateDiv + "&district=" + escape(District);
			var url = "/firstGov/Services/FormsSearchAutoComplitService.aspx?"+params;
			AJAX.asyncWithCallback(url,"",callBackName,false,false,"");												
		}
		else
		{
			document.getElementById(AutoCompliteFormDivID).style.visibility  = 'hidden';
		}	
	}
	if(e.keyCode == 27)
	{
		document.getElementById(AutoCompliteFormDivID).style.visibility  = 'hidden';
	}
}
function FillAutoCompleteDiv(response)
{

	var Div = document.getElementById(AutoCompliteFormDivID);
	Div.innerHTML  = response;
	if(Div.innerHTML != "" && Div.innerHTML != "\n\n")
	{
		//Show Auto Complete Div	
		Div.style.visibility  = 'visible';
	}
	else
	{
		//Hide Auto Complete Div
		Div.style.visibility  = 'hidden';
	}
}
function ClearAllDivs()
{
	var vNumOfResults = document.getElementById(AutoCompliteFormDivID).innerHTML.split("~").length -1;
	var DivToClear
	for(i = 1 ; i <= vNumOfResults; i++)
	{
		DivToClear = document.getElementById('divResult_' + AutoCompliteFormDivID  + "_"  + i);
		if(DivToClear != null)
		{
			DivToClear.style.backgroundColor = 'white';
			DivToClear.style.color = '#1D5872';
		}
	}
}
function AutoCompleteDivMouseOver(id,IsClearAllStyle)
{

	
	var vCounter = id.replace('divResult_' + AutoCompliteFormDivID  + "_","");
	//If Rise By Mouse Clear All AutoCompliete Divs Style
	if(IsClearAllStyle)
	{
		ClearAllDivs();	
	}
	else //Clear Only Top And Bottom AutoCompliete Divs Style
	{
		AutoCompleteDivMouseOut('divResult_' + AutoCompliteFormDivID  + "_"  + (parseInt(vCounter) + 1));
		AutoCompleteDivMouseOut('divResult_' + AutoCompliteFormDivID  + "_"  + (parseInt(vCounter) - 1));	
	}
	//Set Style On Selected Div
	var vDivOver = document.getElementById(id);
	var vValueOfCounter = document.getElementById(Counter);
	vDivOver.style.backgroundColor = '#5a9ede';
	vDivOver.style.color = 'white';
	vValueOfCounter.value = vCounter;
}
function AutoCompleteDivMouseOut(id)
{
	var vDivOut = document.getElementById(id);
	if(vDivOut != null)
	{
		vDivOut.style.backgroundColor = 'white';
		vDivOut.style.color = '#1D5872';
	}
}
//If Input txtFreeText Key Pressed And Its Code Is 13 (Enter) Do Search
function TextSearchkeyPressed(e)
{
	
	if(e.keyCode == 13)
	{
		if(CheckIfWordIsLegal())
		{
				document.getElementById(AutoCompliteFormDivID).style.visibility  = 'hidden';
				if ( FormID == 'Citys')
				{
					AuthoritiessFormsSearch(false);
				}
				else
				{
					colectSearchParameters();
				}
				
				//CallSearch();
				return false;
		}
	}
}

function CheckIfWordIsLegal()
{	
    freeText = objTxtFreeText.value;
    var isAllowed = true;
    var notAllowedString = new Array('!','^','@','#','$','%','<','>','~','[',']','{','}',';','.',',','&','*','^','+','_'); 
							
   
		freeText=freeText.replace(/^\s+|\s+$/g, "");
		if((freeText.length==0))
		{
		
			alert('יש להזין יותר מתו אחד');
			return false;			
		}
		else
		{	
		   for(i=0;i<freeText.length;i++)
		     {
		     
		      var index=freeText.indexOf('--');
				if(index != 1)
				{
					freeText= freeText.replace(/--/, " " );
				}
		     
			    var sChar = freeText.substring(i,i+1);
			    for(var j=0;j<notAllowedString.length;j++)
			      {
			        if(sChar==notAllowedString[j])
		            { 
		                isAllowed = false;
				       alert('נא הזן אותיות ומספרים בלבד');
				        return false;				
			        }
			    	   	        
			    }
			     if((freeText.length==1))
			        {
						alert('יש להזין יותר מתו אחד');
						return false;			
			        }	
	        }
	        
		 }
		if(isAllowed)
		{
			 return true;		
		}
}
function txtFreeTextBlur()
{	
	if (( objTxtFreeText != null ) &&  (objTxtFreeText.value.replace(/ /g,"") == ""))
	{
		objTxtFreeText.value = 'טקסט חופשי' ;
	}
}

