﻿$(document).ready(function() {

    $('a.fancyboxlink').fancybox({ autoDimensions: false, width: 500, height: 'auto' });

    $('.button-picker')
        .button({
            icons: {
                primary: "ui-icon-triangle-1-s"
            }
        });

    $('#select-item1').click(function (e) {
        e.preventDefault();
        var category = $(this).attr('data-category');
        var id = $(this).attr('data-id');

        //$.fancybox.showActivity();
        // fetch items by ajax and cache
        //showPickerByCategory(category);

        $.fancybox({
            'titleShow': false,
            //'orig'			: $(this),
            'padding': 0,
            'href': '#kategori-picker-' + $(this).attr('data-category'),
            'transitionIn': 'elastic',
            'transitionOut': 'elastic',
            
            'onComplete': function () {
                $.fancybox.center();
            },
            'onClosed': function () {
                $('.item-small-hover').hide();
            }
        });
        return;

    });

    $('#select-item2').click(function (e) {
        e.preventDefault();
        var id = $('#select-item1').attr('data-id');

        if ($('#relaterade-varor').children().length == 0) {
            alert('Den här varan har inga kombinationsvaror');
            return;
        }

        //$.fancybox.showActivity();
        // fetch items by ajax and cache
        //showPickerRelated(id);
        $.fancybox({
            'titleShow': false,
            //'orig'			: $(this),
            'padding': 0,
            'href': '#item-picker',
            'transitionIn': 'elastic',
            'transitionOut': 'elastic',
            'onComplete': function () {
                $.fancybox.center();
            },
            'onClosed': function () {
                $('.item-small-hover').hide();
            }
        });
        return;
    });
    

    $('.launch-slideshow').live('click', function (e) {
        e.preventDefault();
        var rel = $(this).attr('rel');
        var images = new Array();
        $("a.slideshow-link[rel='" + rel + "']").each(function (i, item) {
            images.push($(this).attr('href'));
        });
        var i = $(this).attr('data-index');
        
        $.fancybox(images, { index: i, 'type': 'image', hideOnContentClick:true });
    });


    // change large image by thumbnail
    $('.item-thumbnails a').live('click', function (e) {
        e.preventDefault();
        var me = $(this);
        var elm = $(this).parent().parent();
        elm.find('.item-image a')
            .attr('href', me.attr('href'))
            .attr('data-index', me.attr('data-index'));
        elm.find('.item-image img').attr('src', me.attr('href'));
    });

    $('.share-email').live('click', function(e) {
        e.preventDefault();
        $.fancybox({
                'titleShow': false,
                'padding': 10,
                'href': '#shareform',
                'height': 'auto',
                'transitionIn': 'elastic',
                'transitionOut': 'elastic'
            });

            $('input[name=ID1]', '#shareform').val($(this).data('id1'));
            $('input[name=ID2]', '#shareform').val($(this).data('id2'));

            return false;
    });

    $('.kategori','#kollektion')
        .click(function (e) {
            e.preventDefault();
            
            document.location.href = '#!/kategori/' + $(this).attr('rel');

            return;
        });


    $('.item-small').hover(function () {
        var pos = $(this).offset();
        $('.item-small-hover').hide();
        $('#item-small-hover-' + $(this).attr('data-id'))
            .css('top', pos.top-1)
            .css('left', pos.left-1)
            .show(); //.fadeIn();

    }, function () {
        //$('#item-view-hover-' + $(this).attr('data-id')).hide();
    });
    $('.item-small-hover').hover(function () { }, function () {
        $(this).hide();
    });

    $('.go-to-order-div a').button();
});
    
var current_item = '#item1';
var current_match_item_id = null;
//var items = [];
var related_items = [];


function initAddButtons() {
    $('.button-add, .button-remove, .button-empty').unbind('click');
    $('.button-add')
    .button({
        icons: {
            primary: "ui-icon-plus"
        }
    })
    .click(function (e) {
        e.preventDefault();
        var id = $(this).attr('id').replace('add-item-', '');
        $(this).effect('transfer', { to: '#min-lista', className: "ui-effects-transfer" }, 500);

        Minneslista.laggTill(id);
        
    });

    $('.button-remove')
    .click(function (e) {
        e.preventDefault();
        var id = $(this).attr('id').replace('remove-item-', '');
        $('#item-' + id).fadeOut(function () { $(this).remove(); });

        Minneslista.taBort(id);

    });
    try {
        addthis.toolbox('.addthis_toolbox');
    } catch (e) {}

    
    $('button[title],a[title]')
    .qtip({
        position: {
            corner: {
                tooltip: 'bottomMiddle', // Use the corner...
                target: 'topMiddle' // ...and opposite corner
            },
            my: 'top center',
            at: 'bottom center'
        },
        style: {
			classes: 'ui-tooltip-safir ui-tooltip-rounded'
		}
    });
    
}


function loadItemId(container_element, item_id)
{
    $.fancybox.showActivity();
    var r = $.ajax({
                    type: 'POST',
                    url: '/SafirKollektion/Visa/'+item_id, 
                    success: function(ret, req) {
                            loadItem(container_element, ret);
                    },
                    error:  function() {
                            loadItem(container_element, null);
                    }
                });
}

function resetItemView()
{
    // clear item2
        $('#item2')
            .empty();

        // hide item3
        $('#col3').hide();

        // set single ring view
        $("#kollektion-css").attr('href', '/Content/Safir/kollektion-singel.css');
}

function loadItem(container_element, item)
{
        $.fancybox.hideActivity();

        if (item == null || item == undefined || item.length == 0 || item == '') {
            $(container_element)
                .empty()
                .append('<p>Felaktig vara. Vänligen kontrollera länken.</p>');
            return;
        }

        // special handling for #item1
        if (container_element == '#item1') {
            
            // don't reload item data
            var id1 = $('#item1').find('h3').attr('id').replace('header-', '')
            if (id1 == item.ID) {
                return;
            }

            // clear item2
            $('#item2')
                .empty()
                .append('<p style="text-align: center">' + resurser_safirkollektion_steg2 + '</p>');

            // hide item3
            $('#col3').hide();

            // set single ring view
            $("#kollektion-css").attr('href', '/Content/Safir/kollektion-singel.css');

        } else {

            if ($('#item2').children().length == 1) {
                // fancy animation while "moving" the description
                var iif = $('.item-images-footer');
                var desc = $('.item-description-actions');
                iif.css('height', desc.innerHeight());
                desc.effect('transfer', { to: iif, className: "ui-effects-transfer" }, 500, function() { iif.css('height',0); });
            }

            $("#kollektion-css").attr('href', '/Content/Safir/kollektion-multi.css');
        }

        applyItemTemplate(container_element, item);
        
        
        initAddButtons();
        
        // load "couple info" when two items have been selected
        if ($('#item1').children().length > 1 && $('#item2').children().length > 1) {
            //$('#loading').show();
            $.fancybox.showActivity();

            var id1 = $('#item1').find('h3').attr('id').replace('header-', '');
            var id2 = $('#item2').find('h3').attr('id').replace('header-', '');
            $.ajax({
                url: '/SafirKollektion/HamtaKombination',
                type: 'POST',
                data: { item1: id1, item2: id2 },
                success: function (data) {
                    $.fancybox.hideActivity();
                    $('#col3').show();

                    if (data == null || data == undefined || data == '') {
                        $('#item3')
                            .empty()
                            .append( '<p>Den här kombinationen är inte giltig. Var god välj ett annat föremål att matcha med.</p>' );
                    } else {
                        applyItemTemplate('#item3', data);
                    }
                    initAddButtons();
                    $('.item-description').equalHeights();
                },
                error: function() {
                    $('#item3')
                        .empty()
                        .append( '<p>Den här kombinationen är inte giltig. Var god välj ett annat föremål att matcha med.</p>' );
                }
            });
        }
}

function getNumbers(str)
{
    var regex = /(\d+)/g;
    return str.match(regex);
}

function applyItemTemplate(container_element, data)
{
    if (data.Texter && data.Texter[0].Bild) {
        data.bildids = data.Texter[0].Bild.split(',');
    } else {
        data.bildids = [1];
    }
    
    data.url = escape(document.location.href);
    if (container_element == '#item3') {
        data.ids = getNumbers(document.location.pathname + document.location.hash);
        data.Texter[0].Rubrik = $('#item1').find('h3').text() + ' + ' + $('#item2').find('h3').text();
    } else {
        data.ids = [ data.ID ]
    }

    $(container_element)
        .empty()
        .append($('#collection-item-template').tmpl(data));

    $('.item-description div p').each (function() {
        $(this).html($(this).html().replace(/\n/ig, "<br/>"));
    });
}

