/**
 * Barcodes global site script.
 */
Barcodes = (function($){
    var barcodeText = "";
    /**
     * This is the first function to be called when the script is initialized. Call all functions needed to be loaded on ready inside here.
     */
    var bootstrap = function(){
        loadEasySlider();
        loadBarcodeModal();
    }

    /**
     * Try to declare all event listeners in this function.
     */
    var poolEvents = function(){
        $("body").live("click", function(e){
            var eTarget = $(e.target);
            switch($(eTarget).attr("id")){
                case "login-modal-link":
                    showLoginModal();
                    break;
                case "generate-barcode-submit":
                    e.preventDefault();
                    barcodeText = $("#destination").val();
                    $.fn.colorbox({
                        href:'/php/barcodes/generate-action.php?text='+barcodeText,
                        onComplete: function(){
                            $("#destination").focus();
                            $("#generate-another-barcode").colorbox({
                                onComplete: function(){
                                    $("#destination").focus();
                                }
                            });
                        }
                    });
                    return false;
                    break;
            }
        });
    }

    var loadBarcodeModal = function(){
        $(".generate_barcode_action").colorbox({
            onComplete: function(){
                $("#destination").focus();
            }
        });
    }

    /**
     * Handles the login modal window.
     */
    var showLoginModal = function(){
        $("#footer").after("<div id='loginBoxDialog' title='Log In' class='hide'><p>...Loading...</p></div>");
        $.ui.dialog.defaults.bgiframe = true;
        $(function(){
                $loginLocation = "https://www.gomocode.com/user/login .user-login";
            
            $("#loginBoxDialog").load($loginLocation);
            $('#loginBoxDialog').dialog({autoOpen: false, modal:true});
            $("#loginBoxDialog").dialog("open");
            return false;
        });
    }

    /**
     * Triggers the Easy Slider Plugin
     */
    var loadEasySlider = function(){
        $("#slider").easySlider({auto:true,continuous:true,numeric:true});
    }

   /**
    * All public functions should be defined in the return object.
    */
   return {
       init: function(){
           bootstrap();
           poolEvents();
       }
   }
})(jQuery)
$(document).ready(function(){
    Barcodes.init();
});
