var Album = {
	
    markPhoto : function(a){
        var count = $('.photoCount:first').text();
        $(a).find('span.checkbox').toggleClass('checked');
        var input = $(a).find('input[type="checkbox"]');
        if( input.attr('checked') ){
            $('.photoCount').text(parseInt(count)-1);
            input.attr('checked',false);
        }
        else{
            $('.photoCount').text(parseInt(count)+1);
            input.attr('checked',true);
        }
    },
	
    deselectAll : function(){
        $("input[type='checkbox']").removeAttr('checked');
        $('span.checkbox').removeClass('checked');
        $('.deselectLink').hide();
        $('.selectLink').show();
        $('.photoCount').text(0);
    },
	
    selectAll : function(){
        $("input[type='checkbox']").attr('checked', 'checked');
        $('span.checkbox').addClass('checked');
        $('.deselectLink').show();
        $('.selectLink').hide();
        $('.photoCount').text($("input[type='checkbox']").length);
    },
	
    uploadOk : function(msg){
        var q = $('#queueLength');
        q.load('/ajax/queueLength.ajax.php');
        q.ajaxSuccess(alert(msg));
    }
}

var Summary = {
	
    mainHeight : 0,
    firstId : '',
    lastId : '',
    lastShown : '',
    refreshOnly : false,
    notWorkingSent : new Array(),

    showForm : function(id){
        var metadataFormHeight = 1050;
        $('.metadataForm').hide();
        $('#main').height(this.mainHeight);
        if( $('#main').height() < metadataFormHeight )
            $('#main').height(metadataFormHeight);
        $('#'+id).toggle('slow');
        if(id == this.firstId)
            $('#'+id).find('a.prev').addClass('hidden');
        if(id == this.lastId)
            $('#'+id).find('a.next').addClass('hidden');
    },

    showPrev : function(id){
        var prevId = $('#'+id).parent().prev('li').prev('li').find('.metadataForm').attr('id');
        this.showForm(prevId);
    },

    showNext : function(id){
        var nextId = $('#'+id).parent().next('li').next('li').find('.metadataForm').attr('id');
        this.showForm(nextId);
    },
	
    hideForm : function(id){
        $(id).toggle();
        $('#main').height(this.mainHeight);
    },

    showJob : function(that, id){
        if(this.refreshOnly){
            this.refreshOnly = false;
            return;
        }
        _div = $(that);
        _j = $('#j'+id);
        _b = _div.children('.show');
        temp = _div.attr('lang');
        _div.attr('lang', _div.attr('title'));
        _div.attr('title', temp);

        _j.ajaxStart(function(){
            $(this).addClass('job_loading');
            $(this).slideDown();
        });
        if(_b.text() == '+'){
            _b.text('-');
            this.reloadJob(id);
            $('#r'+id).fadeIn('fast');
        }
        else{
            _b.text('+');
            _j.slideUp();
            _j.html('');
            _j.removeClass('job_loaded');
            $('#r'+id).fadeOut('fast');
        }
        _j.unbind('ajaxStart');
    },

    refreshJob : function(that, id){
        this.refreshOnly = true;
        _j = $('#j'+id);
        _s = $('#s'+id);
        _a = $(that);
        _t = $('#t'+id);
        _s.ajaxStart(function(){
            _a.hide();
            $(this).html('<img src="/view/images/ajax-loader1.gif" alt="..."/>');
        });
        _j.ajaxStart(function(){
            $(this).addClass('job_loading');
        });
        $.post('.',{
            ajax: 'getJob',
            id: id
        },function(data){
            _t.text(data.lastUpdateTime);
            _s.text(data.state);
            _a.show();
        }, 'json');
        this.reloadJob(id);
        _s.unbind('ajaxStart');
        _j.unbind('ajaxStart');
    },

    reloadJob : function(id){
        _j = $('#j'+id);
        $.post('.', {
            ajax: 'getQueue',
            id: id
        },function(data){
            _j.removeClass('job_loading');
            _j.addClass('job_loaded');
            $.each(data, function(i, val){
                $.each(val, function(i2, val2){
                    _j.html('');
                    _j.append('<p>'+val2.name+'</p><ul></ul>');
                    _ul = _j.children('ul');
                    $.each(val2.photos, function(i3, val3){
                        _ul.append('<li><a class="link lightbox" title="'+val3.name+'" href="'+val3.url+'">'+val3.name+'</a> - '+val3.state+'</li>');
                    });
                });
            });
            $('a.link.lightbox').lightBox({
                txtOf: ' / ',
                txtImage: ''
            });
            if($.inArray(id, Summary.notWorkingSent) == -1){
                _t = $('#not-working_title').text();
                _j.append('<div class="not_working"><a class="link" onclick="Summary.notWorking(this, \''+id+'\')" title="'+_t+'">'+_t+'</a></div>');
            }
        }, 'json'
        );
    },

    checkMetadata : function(text){
        var empty = '';
        var forms = $('.metadataForm');
        forms.each(function(i, n){
            var textfields = $(n).find("input[type='text']");
            var filled = false;
            textfields.each(function(j,k){
                if($(k).attr('value') != '')
                    filled = true;
            });
            if(!filled){
                var title = $(n).children('.albumName').find('span').text();
                empty += title + ', ';
            }
        });
        var decision = true;
        if(empty != ''){
            decision = confirm(text.replace('#', empty));
        }
        if(decision){
            $("#TheMetadataForm").submit();
        }
    },

    removeImage : function(a, id){
        var b = $(a);
        if(confirm(b.attr('rel'))){
            var q = parseInt($('#queueLength').text());
            b.ajaxStart(function(){
                b.children().attr('src', '/view/images/ajax-loader1.gif');
            });
            $.post('.', {
                ajax: 'removeImage',
                id: id
            }, function(data){
                $('#queueLength').text(q-1);
                b.parent().remove();
            });
            if(q == 1){
                var l = document.location.href.split('/');
                document.location.href = '/'+l[3]+'/'+l[4]+'/step3/';
            }
        }
    },

    removeAlbum : function(a, id){
        b = $(a);
        if(confirm(b.attr('rel'))){
            var q = parseInt($('#queueLength').text());
            b.ajaxStart(function(){
                b.children().attr('src', '/view/images/ajax-loader1.gif');
            });
            $.post('.', {
                ajax: 'removeAlbum',
                id: id
            }, function(data){
                c = b.parent().next();
                $('#queueLength').text(q - c.children().children().size());
                b.parent().remove();
                c.remove();
            });
            if(q == 1){
                var l = document.location.href.split('/');
                document.location.href = '/'+l[3]+'/'+l[4]+'/step3/';
            }
        }
    },

    notWorking : function(a, id){
        $.post('.', {
            ajax: 'notWorking',
            id: id
        }, function(data){
            alert($('#not-working_thanks').text());
            Summary.notWorkingSent.push(id);
            $(a).fadeOut();
        });
    }
}

$('#main').ready(function(){
    Summary.mainHeight = $('#main').height();
    Summary.firstId = $('.metadataForm:first').attr('id');
    Summary.lastId = $('.metadataForm:last').attr('id');
});


