$(function() {
    $('.logo').click(function() {
        window.location = '/';
    });

    $('a.add-to-cart').button({icons: {
        primary: 'ui-icon-cart'
    }});

    $('button').button({icons: {
        primary: 'ui-icon-check'
    }});

    // Tell
    $('.tell #like').append('<ul/>');

    var vkontakte = '<li>' + VK.Share.button('http://www.goodmar.ru', {
        url: 'http://www.goodmar.ru',
        title: 'Магазин Гудмар - цифровая техника с доставкой',
        description: 'Доступные цены, официальная гарантия. Консультации и доставка.',
        text: 'Сохранить',
        type: 'round'}) + '</li>';
    var facebook = '<li><fb:like href="http://www.goodmar.ru/" layout="button_count" show_faces="false" width="250" action="like" colorscheme="light"></fb:like></li>';
    var mail = '<li><a class="mrc__share" type="button_count" href="http://connect.mail.ru/share?share_url=' + encodeURIComponent('http://www.goodmar.ru') + '" rel="nofollow">В Мой Мир</a></li>';
    
    $('.tell #like ul').append(vkontakte);
    $('.tell #like ul').append(facebook);
    $('.tell #like ul').append(mail); 

    // Toggle catalog
    $('a#inline').fancybox({
        'hideOnContentClick': true,
        'transitionIn': 'elastic',
        'transitionOut': 'elastic',
        'speedIn': 200,
        'speedOut': 100,
        'titleShow': false
    });

    // Images
    $('a[rel=pics]').fancybox({
		'hideOnContentClick': true,
        'transitionIn': 'none',
        'transitionOut': 'none',
        'titleShow': false
	});

    // Newsletter form
    var signup_email = $('#signup_email');
    if (signup_email.val() == '') {
        signup_email.val('эл. почта');
    }
    signup_email.focus(function() {
        if ($(this).val() == 'эл. почта') {
            $(this).val('');
        }
    });
    signup_email.blur(function() {
        if ($(this).val() == '' || $(this).val() == ' ') {
            $(this).val('эл. почта');
        }
    });

    // Search form 
    var search_query = $('#id_query');
    if (search_query.val() == '') {
        search_query.val('поиск по каталогу');
    }
    search_query.focus(function() {
        if ($(this).val() == 'поиск по каталогу') {
            $(this).val('');
        }
    });
    search_query.blur(function() {
        if ($(this).val() == '' || $(this).val() == ' ') {
            $(this).val('поиск по каталогу');
        }
    });
    $('#id_query').autocomplete('/product/search/', {
        dataType: 'json',
        cacheLength: 100,
        formatItem: function(item) {
            return '<a href="' + item.url + '" title="Описание и цена ' + item.name + '">' + item.name + '</a>';
        },
        parse: function(data) {
            return $.map(eval(data), function(row) {
                return {
                    data: row,
                    value: row.name,
                    result: row.name
                }
            });
        },
        max: 40,
        minChars: 2,
        matchContains: true,
        width: 400
    });

    $('#id_query').result(function(event, data, formatted) {
        if (data) {
            window.location = data.url;
        }
    });

    $('#price').fancybox({
        'autoDimensions': false,
        'transitionIn': 'none',
        'transitionOut': 'none',
        'hideOnContentClick': true,
        'titleShow': false,
        'width': 400,
        'height': 300
    });
    $('#privacy').fancybox({
        'width': '75%',
        'height': '75%',
        'hideOnContentClick': true,
        'autoScale': false,
        'transitionIn': 'none',
        'transitionOut': 'none',
        'type': 'iframe'
    });

    // Cart
    $('.add-to-cart').click(function() {
        var cartData = {
            'item': $(this).attr('id'),
            'qty': 1
        };
        // Send the form
        sendForm('/shop/cart/add/', cartData, errorCallback, successCallback);
        return false;
    });

    function errorCallback(request, status) {
        alert("Произошла ошибка. Попробуйте повторить операцию, пожалуйста.");
    }

    function successCallback(data, status) {
        $('.cart .right')
            .text(data.num)
            .parent()
            .effect('bounce');

//        $.fancybox({
//            'hideOnContentClick': true,
//            'modal': true,
//            'titleShow': false,
//            'content': '<p style="text-align:center">Товар добавлен в корзину<h3><a href="javascript:$.fancybox.close()">Вернуться в каталог</a> или <a href="/shop/cart/">оформить заказ</a>?</h3></p>',
//			'transitionIn': 'elastic',
//			'transitionOut': 'elastic'
//        });
    }

    // Page navigation
    $(window).keydown(function(event){

        if (event.ctrlKey) {
            var link = null;
                switch (event.keyCode ? event.keyCode : event.which ? event.which : null) {
                    case 0x25:
                        link = $('#prevLink');
                        break;
                    case 0x27:
                        link = $('#nextLink');
                        break;
                    }
                if (link && link.attr('href')) document.location = link.attr('href');
        }
    });
});

function remind(el, timeout) {
    setTimeout(function() {
        el.effect('highlight', 3000);
        remind(el, timeout);
    }, timeout);
};

function sendForm(url, postData, errorCallback, successCallback) {
    $.ajax({
        type: 'POST',
        url: url,
        data: postData,
        dataType: 'json',
        error: errorCallback,
        success: successCallback
    });
}

function cartUpdate(item, qty) {
    if (qty == 0) {
        if (!confirm('Вы действительно хотите удалить товар из корзины?')) {
            return false;
        }
    }
    sendForm("/shop/cart/update/", {'cartitem': item, 'qty': qty}, errorCallback, successCallback);

    function errorCallback(request, status) {
        alert('Не удалось изменить кол-во товара в корзине. Попробуйте еще раз, пожалуйста.');
    }

    function successCallback(data, status) {
        window.location = '/shop/cart/';
    }
}
