/**
 * Často využívaný JS - Základný súbor
 *
 * @classDescription Často využívaný JS - Základný súbor
 * @author Silver Zachara
 */
;
(function($) {

    /**
     * @constructor
     */
    function Common() {
    }

    /**
     * Naviazať potrebné udalosti na form elementy vo form. Rýchle Hľadanie
     */
    Common.prototype.bindEvents = function() {
        var hitchOnChange = $.proxy(this.onChangeOkresOrKraj, this);
        $('#okres').change(hitchOnChange);
        $('#kraj').change(hitchOnChange);
        $('#reset').bind('click', $.proxy(function(evt) {
            $('div.selectWrapper').removeClass('hidden');
            $(evt.target).parents('div.elementButton').eq(0).addClass('hidden');
            this.refreshFastSearchFrmWidth();
        }, this));
    };

    /**
     * Dĺžka div-u, v ktorej sa nachádza form. Rýchle Hľadanie
     *
     * @memberOf Common
     * @see Common
     * @type {Number}
     */
    Common.prototype.fastFinderWidth = 977;

    /**
     * Zobraziť počítadlo prístupov, cez AJAX
     *
     * @memberOf Common
     * @see Common
     */
    Common.prototype.showPocitadlo = function() {
        // INFO pri deploy upraviť cestu Zachara
        $.post('/pocitadlo.php', function(data) {
            $('#pocitadlo').html(data);
        });
    };

    /**
     * onchange handler, pre select-y #okres a #kraj
     *
     * @memberOf Common
     * @see Common
     * @param
     */
    Common.prototype.onChangeOkresOrKraj = function(evt) {
        var elemId = $(evt.target).attr('id'), elemVal = $(evt.target).val();

        if ((elemId === 'kraj') && (elemVal !== '0')) {
            //            $('#okres').prop('disabled', true);
            $('#okres').parents('div.selectWrapper').eq(0).addClass('hidden');
            $('#reset').parents('div.elementButton').eq(0).removeClass('hidden');
        } else if ((elemId === 'kraj') && (elemVal === '0')) {
            $('#reset').trigger('click');
        } else if ((elemId === 'okres') && (elemVal !== '0')) {
            //            $('#kraj').prop('disabled', true);
            $('#kraj').parents('div.selectWrapper').eq(0).addClass('hidden');
            $('#reset').parents('div.elementButton').eq(0).removeClass('hidden');
        } else if ((elemId === 'okres') && (elemVal === '0')) {
            $('#reset').trigger('click');
        } else {
        }

        this.refreshFastSearchFrmWidth();

    };

    /**
     * Aktualizovať margin-left pre form. Rýchle Hľadanie ( form.rychleHladanie )
     */
    Common.prototype.refreshFastSearchFrmWidth = function() {
        $('form.rychleHladanie').css('marginLeft', '0');
        var frmWidth = $('form.rychleHladanie').innerWidth();
        $('form.rychleHladanie').css('marginLeft', (this.fastFinderWidth - frmWidth) / 2);
    };

    /**
     * Inštancia objektu Common
     */
    var common = new Common();

    $(document).ready(function() {
        common.showPocitadlo();
        common.bindEvents();
    });

})(jQuery);

