/*********************************/
/* author:  Tomasz Nabrzeski     */
/* contact: tnabrzeski@gmail.com */
/*********************************/
var Ulubione = {
    zainicjowane: null,
    schowek:      null,
    uchwyt:       null,
    uchwyt_x:     null,
    uchwyt_y:     null,

    init: function() {        
        if ($.cookie('ulubione')) {
            Ulubione.schowek = $.cookie('ulubione').split(',');
            Ulubione.zapisz();
        } else {
            Ulubione.schowek = [];
        }

        var cacheimg = new Image();
        cacheimg.src = '/images/schowek-zamknij.gif';
        
        Ulubione.zainicjowane = 1;
    },
    
    zapisz: function() {
        $.cookie('ulubione', Ulubione.schowek, { expires: 365, path: '/' });
    },

    pokaz: function() {
        if (!Ulubione.zainicjowane) Ulubione.init();
        
        $('#mojabaza').remove();
        
        position = $('#ulubione').offset();
        
        $(document.body).append('<div id="mojabaza" style=";left:'+position.left+'px;top:'+position.top+'px"></div>');
        $('#mojabaza').css('opacity', 0.9);
        $('#mojabaza').html('<div class="title" id="uchwyt"><img style="cursor:pointer" src="/images/schowek-zamknij.gif" onclick="Ulubione.ukryj()" alt="Zamknij okno" />Moje ulubione gry</div><div id="mojabazaf">Proszę czekać pobieranie danych...</div>');
        
        $('#uchwyt').mouseup(function(){
            Ulubione.uchwyt = false;
            $('#mojabaza').css('opacity', 0.9);
        });
        
        $('#uchwyt').mousedown(function(e){
            Ulubione.uchwyt   = true;
            Ulubione.uchwyt_x = (document.all ? window.event.clientX: e.pageX) - parseInt($('#mojabaza').css('left'));
            Ulubione.uchwyt_y = (document.all ? window.event.clientY: e.pageY) - parseInt($('#mojabaza').css('top'));
        });
        
        $(document.body).mousemove(function(e){
           if (!Ulubione.uchwyt) return;
           
           x = document.all ? window.event.clientX: e.pageX;
           y = document.all ? window.event.clientY: e.pageY;
           
           $('#mojabaza').css({
              'left'    : (x - Ulubione.uchwyt_x) + 'px',
              'top'     : (y - Ulubione.uchwyt_y) + 'px',
              'opacity' : 0.5
           });
        });
        
        $.ajax({
            url: '/favourites/',
            type: 'post',
            cache: false,
            data: 'list='+Ulubione.schowek,
            error: function(data) {
                alert(data.responseText);
            },
            success: function(data){
                $('#mojabazaf').html(data);
            }
        });
    },

    ukryj: function() {
        $('#mojabaza').remove();
    },

    dodaj: function(id) {
        if (!Ulubione.zainicjowane) Ulubione.init();
        
        if (jQuery.inArray(id, Ulubione.schowek) == -1) {
            Ulubione.schowek.push(id);
            Ulubione.zapisz();
            alert('Gra została dodana do ulubionych');
        } else {
            alert('Gra znajduje się w ulubionych');
        }
    },

    usun: function(id) {
        Ulubione.schowek = jQuery.grep(Ulubione.schowek, function (a) { return a != id });
        Ulubione.zapisz();
        Ulubione.ukryj();
        Ulubione.pokaz();
    },

    wyczysc: function() {
        $.cookie('ulubione', null, { path: '/' });
        Ulubione.schowek = Array();
        Ulubione.ukryj();
        Ulubione.pokaz();
    }
}