/**
 * Este arquivo contem as funcoes globais de todo o site
 */

/**
 * Executa uma funçao quando a tecla enter foi pressionada em um item do formulario.
 * @param id Deve ser no formato #nome_do_id
 * @param funct Codigo que deve ser executado
 */
$.fn.APIsubmitOnPressEnter = function(id, funct )
{
    $(id).keydown( function(e){

        if(e.keyCode==13)
        {
            funct();
        }
        

    });
}

/**
* Executa uma funçao quando a digitação ficar ociosa por 'time' segundos
* @param id Deve ser no formato #nome_do_id
* @param time Temo de espera para submeter
* @param funct Codigo que deve ser executado qundo o ajax for executado
*/
$.fn.APIsubmitOnInactivePressKey = function(id, time , funct )
{
    $('body').append('<span id="sonipk_timer_status" style="display:none;">0</span>');
    $('body').append('<span id="sonipk_timer" style="display:none;">'+ time +'000</span>');
    $('body').append('<span id="sonipk_typing" style="display:none;">0</span>');
    $('body').append('<span id="sonipk_wait" style="display:none;">' + time + '000</span>');


    // callback para captura da digitacao
    setInterval(function(){

        var typing = parseInt( $('#sonipk_typing').text() );


        if( typing == '1' )
        {
            $('#sonipk_typing').text('0');
            $('#sonipk_timer').text( $('#sonipk_wait').text() );

        }
        else
        {
            var new_timer = $('#sonipk_timer').text()-1000;

            if( new_timer == 0 && $('#sonipk_timer_status').text() == '1' )
            {
                funct();
                $('#sonipk_typing').text('1');
                $('#sonipk_timer_status').text('0');
            }
            else
            {
                $('#sonipk_timer').text( new_timer );
            }

        }

    },1000);


    //se usuario pressionar tab
    $(id).blur(function(){
        funct();
        $('#sonipk_typing').text('1');
        $('#sonipk_timer_status').text('0');
    });

    //se usuario pressionar enter
    $.fn.APIsubmitOnPressEnter(id, function(){
        funct();
        $('#sonipk_typing').text('1');
        $('#sonipk_timer_status').text('0');
    });

    //se usuario pressionar espaço
    $(id).keydown( function(e){

        if( e.keyCode != 32 )
        {
            $('#sonipk_typing').text('1');
            $('#sonipk_timer_status').text('1');
        }

    });

}