// create closure
(function ($) {
    // plugin definition
    $.fn.vb_add = function () {

        function IsNumeric(input) {
            return (input - 0) == input && input.length > 0;
        }

        return this.each(function () {

            var vb_element_type = '';
            var vb_element_link = '';
            var vb_element = $(this);
            if (vb_element.hasClass('vb-img')) vb_element_type = 'image'; else vb_element_type = 'sample';

            if (vb_element_type == 'image') vb_element_link = '/vision-board/add-item/2/' + $(this).attr('src').replace(/\/Content\/Images\/(\S+)/g, "$1").replace(/(\S+)\.jpg/g, "$1-lg.jpg");
            else {
                // generate the visionboard add link for samples
                if ($(this).attr("rel") != undefined) {
                    var relatt = $(this).attr("rel");
                    if (relatt.indexOf("vbkey_") == 0) {
                        var addparams = relatt.replace("vbkey_", "").split("_");
                        vb_element_link = '/vision-board/add-item/' + encodeURI(addparams[0]) + "/" + encodeURI(addparams[1]);
                    }
                }
            }

            // display visionboard 'add' indicator
            var vb_add_ico = $('<a href="' + vb_element_link + '" class="vb_active_ico"></a>').insertAfter(vb_element).hide();
            var vb_addlink = $('<div class="vb_addlink"><a href="' + vb_element_link + '">SAVE TO MY VISION BOARD</a></div>').insertAfter(vb_element).hide();


            var img_margin_top = $(this).css('margin-top').replace("px", "");
            if (IsNumeric(img_margin_top)) img_margin_top = parseInt(img_margin_top);
            else img_margin_top = 0;

            $('.vb_active_ico').css("top", $(this).position().top + parseInt(img_margin_top)).css("left", ($(this).position().left + $(this).outerWidth() - 16)).show();


            $('.vb_active_ico, .vb_addlink').bind('mouseover', function () {
                $('.vb_addlink').css("top", $('.vb_active_ico').position().top);
                $('.vb_addlink').css("margin-left", vb_element.outerWidth() - 180);
                $('.vb_addlink').show();
            });

            $('.vb_active_ico, .vb_addlink').bind('mouseout', function () {
                $('.vb_addlink').hide();
                $('.vb_active_ico').show();
            });

            $('.vb_active_ico, .vb_addlink').bind('click', function () {
                //
                $('.vb_addlink').html('<div class="vb-addimg-loading"></div>');
                var ajax_url = vb_element_link.replace('add-item', 'add-item-ajax');
                $.get(ajax_url, function (data) {
                    if (data == 'false') window.location = vb_element_link;
                    else {
                        $(".vb_addlink").html("").html('Added to Vision Board');
                        $('.vb_active_ico, .vb_addlink').unbind('click');
                        return false;
                    }
                });
                return false;
            });


        });


    };
    // end of closure
})(jQuery);
