$(function() {
    $( "#query" ).autocomplete(
    {
        select: function(event, ui)
        {
            if ($('#tipo').val()=='prestazione')
            {
                if(ui.item.id > 0){
                    $('#ID_spec').val(ui.item.id);
                    $('#tipo_spec').val(ui.item.tipo);
                    $('#query').val(ui.item.value);
                    controlla();
                }
            }
            else
            {
                if(ui.item.id > 0){
                    location.assign("/medico/"+ui.item.id+"/0");
                }
            }
            return false;
        },

        minLength: 3,
        source: function(request, response)
        {
                document.getElementById('ID_spec').value='';
                if ($('#tipo').val()=='prestazione')
                {
                    $.ajax(
                    {
                        url: "/frontend/create_xml_autocomplete_spec_provincie",
                        datatype: "xml",
                        type: "post",
                        data: {
                                sidx: 'nome',
                                sord: 'ASC',
                                nome: request.term
                        },

                        success: function(data)
                        {
                            response($("row", data).map(function()
                            {
                                var row_data = ($("cell", this));
                                if (!($("#finestra_prestazione").dialog( "isOpen" ) || $("#finestra_provincia").dialog( "isOpen" )))
                                {
                                    return {
                                                id:row_data[0].childNodes[0].nodeValue,
                                                value: row_data[1].childNodes[0].nodeValue,
                                                label: row_data[1].childNodes[0].nodeValue,
                                                tipo: row_data[2].childNodes[0].nodeValue
                                            }
                                }
                            }))
                        }
                    });
                }
                else
                {
                    $.ajax(
                    {
                        url: "/frontend/create_xml_autocomplete_medici",
                        datatype: "xml",
                        type: "post",
                        data: {
                                sidx: 'cognome',
                                sord: 'ASC',
                                cognome: request.term,
                                stato:'attivo'
                        },

                        success: function(data)
                        {
                                response($("row", data).map(function()
                                {
                                    var row_data = ($("cell", this));
                                    return {
                                                id:row_data[0].childNodes[0].nodeValue,
                                                value: row_data[1].childNodes[0].nodeValue,
                                                label: row_data[1].childNodes[0].nodeValue
                                            }

                                }))
                        }
                    });
                }
        }
    });
});

$(function() {
    $("#finestra_provincia").dialog({
            modal: true,
            width: 660,
            position: 'center',
            dialogClass: 'myPosition',
            autoOpen: false,
            title: 'Scegli una provincia',
            open: function () {
                $('.ui-widget-overlay').css('opacity','0.8');
                $('.ui-widget-overlay').css('background-color','#000');
                $('.ui-dialog-titlebar-close ').css('width','65px');
                $('.ui-dialog-titlebar-close ').css('font-size','15px');
                $('.ui-dialog-title').css('font-size','15px');
                $('.ui-dialog-title').css('width','530px');
                $('#ui-scegli-una-provincia-close-button').removeClass('ui-icon ui-icon-closethick').text('Chiudi');
            },
            close: function() {
                    $('#provincia').remove();
                }
    });
});

$(function() {
    $("#finestra_prestazione").dialog({
            modal: true,
            width: 660,
            position: 'center',
            dialogClass: 'myPosition',
            autoOpen: false,
            title: 'Scegli la prestazione',
            open: function () {
                $('.ui-widget-overlay').css('opacity','0.8');
                $('.ui-widget-overlay').css('background-color','#000');
                $('.ui-dialog-titlebar-close ').css('width','65px');
                $('.ui-dialog-titlebar-close ').css('font-size','15px');
                $('.ui-dialog-title').css('font-size','15px');
                $('.ui-dialog-title').css('width','530px');
                $('#ui-scegli-la-prestazione-close-button').removeClass('ui-icon ui-icon-closethick').text('Chiudi');
            },
            close: function() {
                    $('#prestazione').remove();
                }
    });
});

function puliscicampo (field)
{
    if (field.value == 'Inserisci la prestazione medica...')
    {
        field.value = ''
    }
    else if (field.value == 'Inserisci il nome e/o cognome del medico...')
    {
        field.value = ''
    }
}

function controlla ()
{
    $( "#query" ).autocomplete( "close" );
    if (document.getElementById('query').value=='Inserisci la prestazione medica...')
    {
        alert('Per continuare inserisci una prestazione medica')
        return false;
    }
    else if (document.getElementById('query').value=='Inserisci il nome e/o il cognome del medico.')
    {
        alert('Per continuare inserisci un medico')
        return false;
    }
    else if (document.getElementById('query').value=='')
    {
        if($('#radio_prest').is(':checked'))
            alert('Per continuare inserisci una prestazione medica')
        else
            alert('Per continuare inserisci un medico')
        return false;
    }
    else
    {
        if (document.getElementById('query').value.length<3)
        {
            alert('Per continuare inserisci almeno 3 caratteri')
            return false;
        }
        else
        {
            if($('#radio_prest').is(':checked'))
            {
                if (document.getElementById('ID_spec').value<=0)
                {
                    $('#finestra_prestazione').load('/frontend/scegli_prestazione/'+escape(document.getElementById('query').value));
                    try
                    {
                        $('#finestra_prestazione').dialog( "option" , 'title' , 'Hai cercato "'+document.getElementById('query').value+'". Forse cercavi...');
                        $('#finestra_prestazione').dialog('open');
                    }
                    catch (e)
                    {
                        document.getElementById('finestra_prestazione').parentNode.style.display = '';
                    }
                    return false;
                }
                else
                {
                    $('#finestra_provincia').load('/frontend/scegli_provincia/'+document.getElementById('ID_spec').value+'/'+document.getElementById('tipo_spec').value);
                    try
                    {
                        $('#finestra_provincia').dialog( "option" , 'title' , document.getElementById('query').value+' > Scegli una provincia');
                        $('#finestra_provincia').dialog('open');
                    }
                    catch (e)
                    {
                        document.getElementById('finestra_provincia').parentNode.style.display = '';
                    }
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
    }
}

function setVar(id,tipo,nome)
{
    document.getElementById('ID_spec').value=id;
    document.getElementById('tipo_spec').value=tipo;
    document.getElementById('query').value=nome;
    $( "#query" ).autocomplete('close');
    $('#prestazione').remove();
    $('#finestra_prestazione').dialog('close');
    controlla();
}

function form_submit(id)
{
    document.getElementById('ID_provincia').value=id;
    $('#provincia').remove();
    $('#finestra_provincia').dialog('close');
    $('#form-ricerca-prestazioni-home').submit();
}

function setAllVar(id,tipo,prov)
{
    document.getElementById('ID_spec').value=id;
    document.getElementById('tipo_spec').value=tipo;
    document.getElementById('ID_provincia').value=prov;
    $('#form-ricerca-prestazioni-home').submit();
}

