﻿//THIS CONTROLLER IS FOR KEYPRESS EVENTS TO FILL IN THE VILLA DROP DOWN ON KEY PRESS

function js_controllerKeys(sender, evt)
{

try{
   var ddVillas=document.forms[0].selVillas;
   if(evt.keyCode>=65 && evt.keyCode<=90 || evt.keyCode==8)
   {
        if(sender.id=="txtVilla")
        {
            if(Trim(document.forms[0].txtVilla.value).length>0)
            {
                clearInterval(ival);
                traverseArray(document.forms[0].txtVilla.value, evt);
                var obj = getAnchorPosition('txtVilla');
                var objLst = document.getElementById('selVillas');
                with(objLst)
                {
                    style.display = "";
                    style.visibility = "visible";
                    style.top = obj.y + 22 + "px";
                    style.left = obj.x + "px";
                }
            }
            else
            {
                ClearDropDown('selVillas');
                hideDD();
            }
        }
   }
   if(evt.keyCode==40 || evt.keyCode==38)
   {
        clearInterval(ival);
        if(sender.id=="txtVilla");
        {
            if(ddVillas.length >0)
            {
                ddVillas.focus();
                if(ddVillas.selectedIndex>=0)
                {
                    document.forms[0].txtVilla.value = ddVillas.options[ddVillas.options.selectedIndex].text;
                }
                else
                {
                    ddVillas.options.selectedIndex=0;
                    document.forms[0].txtVilla.value = ddVillas.options[ddVillas.options.selectedIndex].text;
                }
            }
        }
   }
   if(evt.keyCode==13 && sender.id=="selVillas")
   {
        hideDD();
   }
   if(evt.type=="click" && sender.id=="selVillas")
   {
       document.forms[0].txtVilla.value = ddVillas.options[ddVillas.options.selectedIndex].text;
       hideLayer("selVillas");
       clearInterval(ival);
   }
   if(evt.type == "blur")
   {
       ival = setInterval('hideDD()', 1000);
   }   
   }
   
   catch(e){}
}

//Used flag to check mouse pointer is out or over on villa drop down list
var chkSelectFocus = false; 
function chkSelVillasDrpFocus(event)
{
   if(event =='mouseout')
   {
        chkSelectFocus = false; 
   } 
   else
   {
        chkSelectFocus = true; 
   }
}
//SUPPORT FUNCTIONS FOR KEY PRESS EVENTS
var ival;
function hideDD()
{
     if(chkSelectFocus)
     {
        clearInterval(ival);
        ival = setInterval('hideDD()', 1000);
     }
     else
     {
        hideLayer("selVillas");
        clearInterval(ival);
     }
}
function traverseArray(strVal, evt)
{
    var stp=arrVillas.length;
    var currentVilla;
    var currentCentreName;
    ClearDropDown('selVillas');
    for(var ctr = 0; ctr<stp; ctr++)
    {
        currentCentreName=GetCentreName_2(arrVillas[ctr][2]);
        currentVilla=Trim(arrVillas[ctr][0]).toLowerCase() + " (" + currentCentreName.toLowerCase() + ")";
        if(currentVilla.indexOf(Trim(strVal).toLowerCase())==0)
        {
            var optn = document.createElement("OPTION"); 
            optn.text = arrVillas[ctr][0] + " (" + GetCentreName_2(arrVillas[ctr][2]) + ")";
            optn.value = arrVillas[ctr][1];
            document.forms[0].selVillas.options.add(optn);
        }
    } 
}

