function UpdateTextboxDep(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);
    
    var txtDep = document.getElementById(clientId + 'txtDep');
    txtDep.className = (txtDep.className == 'autocomplete_normal') ? 'autocomplete_loading' : 'autocomplete_normal';

    var nation1 = document.getElementById(clientId + 'nation1');
    var departure = document.getElementById(clientId + 'departure');

    nation1.value = "";
    departure.value = "";
}
function UpdateTextboxArr(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);
    
    var txtArr = document.getElementById(clientId + 'txtArr');
    txtArr.className = (txtArr.className == 'autocomplete_normal') ? 'autocomplete_loading' : 'autocomplete_normal';

    var nation2 = document.getElementById(clientId + 'nation2');
    var arrive = document.getElementById(clientId + 'arrive');

    nation2.value = "";
    arrive.value = "";
}
function UpdateFieldsDep(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var testo = "";

    var fullCode = objArgs.get_value();

    if (!fullCode) 
    {
        if (objArgs._item.parentElement && objArgs._item.parentElement.tagName == "LI")
        {
          if (objArgs._item.parentElement.attributes["_value"] != null)
            fullCode = objArgs._item.parentElement.attributes["_value"].value;
          else
            fullCode = objArgs._item.parentElement._value;
        }
        else if (objArgs._item.parentElement && objArgs._item.parentElement.parentElement.tagName == "LI")
          fullCode = objArgs._item.parentElement.parentElement.attributes["_value"].value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode._value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode.parentNode._value;
        else
          fullCode = "";
          
          testo = (document.all) ? objArgs._item.parentNode.innerText : objArgs._item.parentNode.textContent;
    }
    else
    {
        testo = (document.all) ? objArgs._item.innerText : objArgs._item.textContent;
    }
    
    objSource.get_element().value = fullCode;

    var nation1 = document.getElementById(clientId + 'nation1');
    var departure = document.getElementById(clientId + 'departure');
    var txtDep = document.getElementById(clientId + 'txtDep');

    txtDep.className = 'autocomplete_normal';

    if (fullCode == null || fullCode.length == 0)
    {
        txtDep.value = "";
        nation1.value = "";
        departure.value = "";
    }
    else
    {
        var codVolo = fullCode.substring(0, fullCode.indexOf("#"));
        nation1.value = codVolo.substring(0, 2);
        departure.value = codVolo.substring(3);

        testo = testo.replace("(",", ");
        testo = testo.replace(")","");
        objSource.get_element().value = testo;
    }
}
function UpdateFieldsArr(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var testo = "";

    var fullCode = objArgs.get_value();

    if (!fullCode) 
    {
        if (objArgs._item.parentElement && objArgs._item.parentElement.tagName == "LI")
        {
          if (objArgs._item.parentElement.attributes["_value"] != null)
            fullCode = objArgs._item.parentElement.attributes["_value"].value;
          else
            fullCode = objArgs._item.parentElement._value;
        }
        else if (objArgs._item.parentElement && objArgs._item.parentElement.parentElement.tagName == "LI")
          fullCode = objArgs._item.parentElement.parentElement.attributes["_value"].value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode._value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode.parentNode._value;
        else
          fullCode = "";

          testo = (document.all) ? objArgs._item.parentNode.innerText : objArgs._item.parentNode.textContent;
    }
    else
    {
        testo = (document.all) ? objArgs._item.innerText : objArgs._item.textContent;
    }

    objSource.get_element().value = fullCode;

    var nation2 = document.getElementById(clientId + 'nation2');
    var arrive = document.getElementById(clientId + 'arrive');
    var txtArr = document.getElementById(clientId + 'txtArr');

    txtArr.className = 'autocomplete_normal';

    if (fullCode == null || fullCode.length == 0)
    {
        txtArr.value = "";
        nation2.value = "";
        arrive.value = "";
    }
    else
    {
        var codVolo = fullCode.substring(0, fullCode.indexOf("#"));
        var codHotel = fullCode.substring(fullCode.indexOf("#")+1);
        nation2.value = codVolo.substring(0, 2);
        arrive.value = codVolo.substring(3);
        
        var txtCities = document.getElementById(clientId + 'txtCities');
        if (txtCities != null)
        {
            var country = document.getElementById(clientId + 'country');
            var country_city = document.getElementById(clientId + 'country_city');
            
            country.value = codVolo.substring(0, 2);
            country_city.value = codHotel.substring(0,codHotel.indexOf("@"));
            txtCities.value = codHotel.substring(codHotel.indexOf("@")+1);
            fillcomboPoi(clientId + "poi_zone",'poi_'+ country_city.value);
        }
        
        testo = testo.replace("(",", ");
        testo = testo.replace(")","");
        objSource.get_element().value = testo;
    }
}
function ClientPopulated2(objSource, objArgs)
{   
    if (objSource._currentPrefix != null)
    {
        var list = objSource.get_completionList();
        var search = objSource._currentPrefix.toLowerCase();
        for (var i = 0; i < list.childNodes.length; i++)
        {
            var text = list.childNodes[i].innerHTML;
            var index = text.toLowerCase().indexOf(search);
            if (index != -1)
            {
                var value = text.substring(0, index);
                value += '<b>';
                value += text.substr(index, search.length);
                value += '</b>';
                value += text.substring(index + search.length);
                list.childNodes[i].innerHTML = value;
            }
        }
    }
}

function ClientPopulatedFlights(objSource, objArgs)
{
    if (objSource._currentPrefix != null)
    {
        var target = objSource.get_completionList();
        var prefix = objSource._currentPrefix.toLowerCase();
        var i;
        for (i = 0; i < target.childNodes.length; i++)
        {
            var sValue = target.childNodes[i].innerHTML.toLowerCase();
            if (sValue.indexOf(prefix) != -1)
            {
                var fstr = target.childNodes[i].innerHTML.substring(0, sValue.indexOf(prefix));
                var pstr = target.childNodes[i].innerHTML.substring(fstr.length, fstr.length + prefix.length);
                var estr = target.childNodes[i].innerHTML.substring(fstr.length + prefix.length, target.childNodes[i].innerHTML.length);
                var mmm1 = estr;
                var mmm2 = "";
                if (estr.indexOf(" (")> -1)
                {
                    mmm1 = estr.substring(0, estr.indexOf(" ("));
                    mmm2 = estr.substring(estr.indexOf(" ("),estr.length);
                    mmm2 = (mmm2.length > 1) ? "<br/><span class='txtSmall'>" + estr.substring(estr.indexOf(" (")+1,estr.length) + "</span>" : "";
                }
                target.childNodes[i].innerHTML = fstr + '<b>' + pstr + '</b>' + mmm1 + mmm2;
            }
        }
    }
}

function VerificaSelezioneArr(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var arrive = document.getElementById(clientId + 'arrive');
    var txtArr = document.getElementById(clientId + 'txtArr');

    if (arrive.value == "")
    {
        //alert(MsgSelectArrApt);
        //txtArr.value = "";
        txtArr.className = 'autocomplete_normal';
        txtArr.focus();
        return false;
    }
    else
    {
        return true;
    }
}
function VerificaSelezioneDep(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var departure = document.getElementById(clientId + 'departure');
    var txtDep = document.getElementById(clientId + 'txtDep');

    if (departure.value == "")
    {
        //alert(MsgSelectDepApt);
        //txtDep.value = "";
        txtDep.className = 'autocomplete_normal';
        txtDep.focus();
        return false;
    }
    else
    {
        return true;
    }
}
function CheckEmptyCityVolo(val,fromTo)
{
    var clientId = val.substring(0, val.lastIndexOf("_") + 1);
    
    val = document.getElementById(val);
    if (val.value.length==0)
    {
        if (fromTo==1)
        {
            var country = document.getElementById(clientId + "nation1");
            var country_city = document.getElementById(clientId + "departure");
            country.value="";
            country_city.value="";
        }
        if (fromTo==2)
        {
            var country = document.getElementById(clientId + "nation2");
            var country_city = document.getElementById(clientId + "arrive");
            country.value="";
            country_city.value="";            
        }
    }
}
function CheckEmptyCityMultiVolo(val,fromTo)
{
    var clientId = val.substring(0, val.lastIndexOf("_") + 1);

    val = document.getElementById(val);
    if (val.value.length==0)
    {
        if (fromTo==1)
        {
            var country = document.getElementById(clientId + "nation1");
            var country_city = document.getElementById(clientId + "departure");
            country.value="";
            country_city.value="";
        }
        if (fromTo==2)
        {
            var country = document.getElementById(clientId + "nation2");
            var country_city = document.getElementById(clientId + "arrive");
            country.value="";
            country_city.value="";            
        }
    }
}
