$(document).ready(function(){

    // Google code prettify
    // ====================

    prettyPrint();

    // scroll spy logic
    // ================

    var activeTarget,
    position = {},
    $window = $(window),
    nav = $('body > .topbar li a'),
    targets = nav.map(function () {
        return $(this).attr('href');
    }),
    offsets = $.map(targets, function (id) {
        return $(id).offset().top;
    });


    function setButton(id) {
        nav.parent("li").removeClass('active');
        $(nav[$.inArray(id, targets)]).parent("li").addClass('active');
    }

    function processScroll(e) {
        var scrollTop = $window.scrollTop() + 10, i;
        for (i = offsets.length; i--;) {
            if (activeTarget != targets[i] && scrollTop >= offsets[i] && (!offsets[i + 1] || scrollTop <= offsets[i + 1])) {
                activeTarget = targets[i];
                setButton(activeTarget);
            }
        }
    }

    nav.click(function () {
        processScroll();
    });

    processScroll();

    $window.scroll(processScroll);



    // add on logic
    // ============

    $('.add-on :checkbox').click(function() {
        if ($(this).attr('checked')) {
            $(this).parents('.add-on').addClass('active');
        } else {
            $(this).parents('.add-on').removeClass('active');
        }
    });

    //
    // Products slider
    //
    $('.products').each( function( i, el ) {
        el = $(el);
        var count,
            jP = el.find('.product'),
            jB = el.find('.scroll-box'),
            jC = el.find('.scroll-box > div'),
            jG = $('<div class="products-pager"><div class="arrow-left"></div><div class="arrow-right"></div></div>'),
            wP, wB, wC, margin, offset = 0, step, complete = true ,i,jTmp, jRs = [], rNum, rCur=0;
        // Get sizes
        margin = parseInt(jP.eq(0).css('margin-right'));
        wP = jP.eq(0).width();                   // product
        wC = jP.length * (wP + margin) - margin; // full
        wB = jB.width();                         // view
        rNum = jP.length - 3;

        // Init
        jB.css( { 'height' : jC.height(), 'overflow-x' : 'hidden'} );
        jC.css({position: 'absolute', left : '0px'});
        jG.insertAfter(jB).show();
        for(i = 0 ; i < rNum ; i++) (function (i) {
            jRs[i] = $('<div class="round"></div>').insertBefore(jG.find('.arrow-right')).click(function (e) {
                if(complete) updateSlider(rCur = i);
            });
        })(i);
        updateSlider(0);

        // Events
        el.find('.arrow-right').click( function() {
            if(complete && rCur < rNum - 1) updateSlider(++rCur);
        });
        el.find('.arrow-left').click( function() {
            if(complete && rCur > 0) updateSlider(--rCur);
        });

        // Animation
        function updateSlider(n) {
            el.find('.round').removeClass('current');
            jRs[n].addClass('current');
            el.find('.arrow-left').add(el.find('.arrow-right')).removeClass('muted');
            if(n == 0) {
                el.find('.arrow-left').addClass('muted');
            } else if(n == rNum - 1) {
                el.find('.arrow-right').addClass('muted');
            } else {
            }
            if(complete) {
                complete = false;
                jC.animate({'left': -(wP + margin + 2) * n},
                           { complete: function() { complete = true; }});
            }
        }
    });

    //
    // AJAX category selector
    //
    $('#category-all').click(function() { 
        $('.blog-tab').removeClass('active');  $('#category-all').addClass('active'); $('#category-select select').val('all'); selectCategory(false); 
    });
    $('#category-select').click(function(e) { 
        if($(e.target).hasClass('blog-tab') && $(e.target).find('select').val() != 'all') selectCategory($('#category-select select').val()); 
    });
	$('#category-select select').change(function(e){
        if($(e.target).val() == 'all') {
            $('.blog-tab').removeClass('active'); $('#category-all').addClass('active'); selectCategory(false); 
        } else {
            selectCategory($(e.target).val()); 
        }
    }).prepend('<option value="all"></option>').val( window.wp.categoryId ? window.wp.categoryId : 'all' );

    $('.blog-tab').removeClass('active');
    window.wp.categoryId ? $('#category-select').addClass('active') : $('#category-all').addClass('active') ;

    function selectCategory(cat) {
        var adminAjaxURL = 'wp-admin/admin-ajax.php';
        $('.blog-tab').removeClass('active');
        if(cat) $('#category-select').addClass('active'); else {
            $('#category-all').addClass('active');
        }
        $('.wp-posts').html('<center><img class="preloader" src="wp-content/themes/axonian/images/preloader.gif"/></center>');
        $.ajax({
            url: adminAjaxURL,
            type:'POST',
            data:'action=get_category&category_id=' + (cat ? cat : 'all'),
            success:function(results) {
                $('.wp-posts').html(results);
            }
        });
	}

    //
    // Portfolio image
    //
    $('.portfolio-image').each(function(i, el) {
        $(el).append('<div class="portfolio-image-top"></div><div class="portfolio-image-container"></div><div class="portfolio-image-bottom"></div>');
        $(el).find('img').appendTo($(el).find('.portfolio-image-container'));
    });
});


