///**************************************
/// Created By		: Lakshmi Narayanan.R
/// Created Date	: 18-11-2005
/// Modified By		:
/// Modified Date	:

///Move the selection to the NEXT suggession
function hlNext()
{
	if(searchPos == null || searchPos > (numKeywords) || searchPos < -1) {return;}
	if( (searchPos + 2) > numKeywords ) 
	{
		searchPos = -1;
	} 
	
	searchPos++;
	
	//Set the background color to blue, for the current suggesstion row
	renderToken();
}

///Move the selection to the PREVIOUS suggession
function hlPrev()
{
	if(searchPos == null || searchPos > (numKeywords) || searchPos < -1) {return;}
	if( (searchPos - 2) < -1 ) 
	{
		searchPos = numKeywords - 1;
	} 
	else 
	{
		searchPos = searchPos - 1;
	}
	
	//Set the background color to blue, for the current suggesstion row
	renderToken();
}
//

//Set the Background Color to selected Suggession
function renderToken()
{
	if(searchPos == null || searchPos > (numKeywords) || searchPos < -1) {return;}
	var elt = eval(docbitK + "sr" + searchPos  + docbitendK);
	if( elt != null )
	{
		resetTokens();
		elt.style.backgroundColor = 'blue';
	}
}
//

// Resets background of all keywords back to default, that is to WHITE
function resetTokens() 
{
	for(var i = 0; i < numKeywords; i++) 
	{
		var elt = eval(docbitK + "sr" + i  + docbitendK);
		if( elt != null ) 
		{
			elt.style.backgroundColor = 'white';
		}
	}
}
//

//
function selectToken() 
{
	if(searchPos == null || searchPos >= (numKeywords) || searchPos < -1) {return;}
	var value = keyWordArr[searchPos];

	if (value == '') 
	{
		eval(docbitK + "autocomplete" + docbitendK + stylebitK + ".display = 'none'");
		eval(docbitK + "txtSearch"  + docbitendK + ".value = " + value );
		return false;
	}
	
	var txtFldId = eval(docbitK + "txtSearch"  + docbitendK);
	var txtFldCurLength = txtFldId.value.length;
	
	eval(docbitK + "txtSearch"  + docbitendK + ".value = '" + value + "'");
	eval(docbitK + "autocomplete"  + docbitendK + ".innerHTML = ''" );
	eval(docbitK + "autocomplete"  + docbitendK + stylebitK + ".display = 'none'");
	
	SelectText(txtFldId,txtFldCurLength,txtFldId.value.length);
}
//

//OnKeyUp, sending the characters available in the Search Textbox to the "SuggestMovies.aspx" page
//and get the Suggession
function SendQuery(e,key,languageId) 
{
	var keyCode =  (window.event) ? event.keyCode : e.which;
	var txtFldIdLength = eval(docbitK + "txtSearch"  + docbitendK + ".value.length");
	if (txtFldIdLength == 0) searchPos = -1;
	
	var productTypeId = document.getElementById("TopControl1_ddlProductType").value;
	
	
	//Calling XMLHTTPConn method to get the relevent object
	var _req = XMLHTTPConn();

	var Url = "";	
	if ( location.href.indexOf('masmovies.com') >= 0 )
	{
	// Fadzil 21112007
	// Start		
		//Url = "http://www.masmovies.com/Search/SuggestMovies.aspx?keys=" + key + "&TypeId=" + productTypeId + "&LanguageId=" + languageId;
		Url = "http://www.masmovies.com/Search/SuggestMovies.aspx?keys=" + key + "&TypeId=" + productTypeId + "&LanguageId=" + languageId + "&IsMobileMoney=0";
	}
	else	if (location.href.indexOf('mm.masmovies.com') >= 0 )
	{
		Url = "http://mm.masmovies.com/Search/SuggestMovies.aspx?keys=" + key + "&TypeId=" + productTypeId + "&LanguageId=" + languageId + "&IsMobileMoney=1";
	}
	else
	{
		//Url = "http://localhost/Pvnetcop.MasMovies/Search/SuggestMovies.aspx?keys=" + key + "&TypeId=" + productTypeId + "&LanguageId=" + languageId;
		Url = "http://localhost/Pvnetcop.MasMovies/Search/SuggestMovies.aspx?keys=" + key + "&TypeId=" + productTypeId + "&LanguageId=" + languageId + "&IsMobileMoney=0";
	}
	// End
	_req.open("GET",Url,false);
	_req.send(null);
	
	if(_req.readyState == 4)
	{
		var resultString  = _req.responseText;
		if (resultString != "")
		{
			
			var endMark = resultString.indexOf("'))");
			var resultString = resultString.substr(0,endMark + 3);
			
			if (resultString.indexOf( "callme(Array(''))" ) != -1)
			{
				HideLayer();
			}
			else
			{
				eval(resultString);
				//sample: callme(Array('Callahan','Davolio','Fuller','Leverling'));
			}
		}
	}
	else
	{
		HideLayer();
	}
	
	if (keyCode == 38)
	{
		hlPrev();
	}
	else if(keyCode == 40)
	{
		hlNext();
	}
	else if (keyCode == 13)
	{
		selectToken();
	}
}
///

//If the suggession is available, method "callme()" will fire to display the SUGGESSION LAYER
callme = function(LName)
{
	keyWordArr = LName;
	var divM = eval(docbitK + "autocomplete"  + docbitendK);
	divM.style.borderRight = "black 1px solid";
	divM.style.borderLeft  = "black 1px solid";
	divM.style.borderTop   = "black 1px solid";
	divM.style.borderBottom= "black 1px solid";
	
	divM.innerHTML = "";
	
	var html = '';

	/* Build list, to display the in layer, below the textbox*/
	numKeywords = LName.length;
	var divHeight = "";
	if ( numKeywords > 10 )
	{
		divHeight = "300px";
	}
	html += '<div style="background-color:white;position:absolute; z-index:100;border:1px solid black;width:195px;height:' + divHeight + ';overflow: Auto;">'
	html += '<ul style="margin:0;padding:3;">';
	
	var counter = 0;
	
	while (counter < LName.length) 
	{
		html += '<li class="TopControlSearchText" id="sr'+counter+'" onmouseout="this.style.backgroundColor=\'white\';" onmouseover="this.style.backgroundColor=\'#F6F6FA\';" onclick="onClick(this);"  searchPos=' + counter + '>' + LName[counter] + '</li>';
		counter++;
	}
	
	html += '</ul></div>';
	
	divM.innerHTML = html;
	eval(docbitK + "autocomplete"  + docbitendK + stylebitK + ".display = ''");
	eval(docbitK + "txtSearch"  + docbitendK + ".focus()");
	
	ShowLayer();
}


//If any click on the Suggession row, onClick() method will get fired
onClick = function(obj)
{
	var txtFldId = eval(docbitK + "txtSearch"  + docbitendK);
	var txtFldCurLength = txtFldId.value.length;
	
	var liItemValue = eval(obj.id + ".innerText") ? eval(obj.id + ".innerText") : eval(obj.id + ".innerHTML").replace(/<([^<>]*)>/g,""); 
	txtFldId.value = liItemValue ;

	SelectText(txtFldId,txtFldCurLength,txtFldId.value.length);
}

//For IE only, to select the text, after the currently typed
SelectText = function(inputFld,start,end)
{
	HideLayer();
	
	if (inputFld.setSelectionRange)
	{
		inputField.focus();
		inputField.setSelectionRange(start,end);
	}
	else if(inputFld.createTextRange)
	{
		var range = inputFld.createTextRange();
		range.collapse(true);
		range.moveStart('character',start);
		range.moveEnd('character',end);
		range.select();
	}
	
	
}
//

//To show
ShowLayer = function()
{
	eval(docbitK + "autocomplete"  + docbitendK + stylebitK + ".visibility = '" + showbitK + "'");
}

//To hode
HideLayer = function()
{
	eval(docbitK + "autocomplete"  + docbitendK + stylebitK + ".visibility = '" + hidebitK + "'");
}

///***********************************************************************
///Checking the keydown...from the 	suggesstion <DIV>..avoid the post back
if(document.addEventListener)
{
	document.addEventListener("keypress", HandleEnterKey, true);
}
else
{
	document.attachEvent("onkeypress", HandleEnterKey);
}

function HandleEnterKey(event) { 
 var nav = window.Event? true : false; 
 if (nav)
 { 
	if (FireFoxEventHandler_KeyDown(event))
		return true; 
	else
		return false;
 } 
 else 
 {
	 if (event.keyCode == 13)
	 {
		event.returnValue = false; 
		event.cancel = true; 
		return false;
	 }
 } 
} 

function FireFoxEventHandler_KeyDown(e) { 
	if(e.which == 13)
	{
		e.returnValue = false; 
		e.cancel = true; 
		e.stopPropagation(); 
		e.preventDefault(); 
		return false; 
	}
 return true; 
} 
	