//マイフォルダの背景表示後、関連イベントのロード（リファクタリング対象）
function initMyBack() {
	
    ajaxSubmit();
	
    $('div#set_' + back_now).children('div').children('div').hide().parent().children('input').show().focus();
	$('#back_thumb_0').css('border', '2px solid #636363');
	
	for (var id in backs) {
		if (backs[id]['back_public'] == '0') {
			$('#set_' + id + ' .0_back_public').show();
			$('#set_' + id + ' .1_back_public').hide();
		} else {
			$('#set_' + id + ' .0_back_public').hide();
            $('#set_' + id + ' .1_back_public').show();
		}
	}
	
	if (back_now != 'new') {
		$('#set_' + back_now).attr('class', 'back_set_element_on');
		$('div#set_new input').css('border', '1px solid #999999');
		setBackPublicSwitch(backs[back_now]['back_public']);
		
		$('#back_used_cnt').html(backs[back_now]['used_cnt']);
		$('#back_like_count').html(backs[back_now]['like_count']);
		
		if ( $('#back_detail_preview img:visible').size() == 0 ) {
            
            $('#back_detail_preview img:first').show();
        }
		
		//背景画像作成
        backThumbAddEvent();
	} else {
		$('div#myback_hider_right').show();
		$('div#set_new input').css('border', '2px solid red');
		$('#back_set_public, #back_set_un_public').hide();
		$('#back_used_cnt').html('0');
		$('#back_like_count').html(0);
	}
	
    setBackPreview();
    
    //背景セットリストのクリックイベント
    $('div#back_set_list > div').unbind().click(function(){
		
		$('#back_ctrl_panel').hide('fast');
		
		$('div#back_set_list div[class=back_set_element_on]').attr('class', 'back_set_element');
		$(this).attr('class', 'back_set_element_on');
		
        back_now = $(this).attr('id').substr(4);
		
        $('div#back_detail_preview').html('');
		
		$('div#back_set_list div.myf_set_li_txt, div#back_set_list div.myf_set_li_newtxt').children('div').show().parent().children('input').hide();
        $(this).children('div').children('div').hide().parent().children('input').show();
        
        var cnt = 0;
        $('div#back_detail_img div.back_img_block').each(function(){
            if (back_now != 'new' && backs[back_now]['back_data'][cnt]) {
                $(this).children('img').attr('class', 'back_img_thumb')
				                        .attr('id', 'back_thumb_' + cnt)
                                        .attr('src', backThumbUrl(backs[back_now]['set_num'], backs[back_now]['back_data'][cnt]['back_num']));
            } else {
                $(this).children('img').attr('class', 'back_img_add')
				                        .attr('id', 'back_thumb_' + cnt)
                                        .attr('src', '/img/bgimg_plus.gif');
            }
            cnt ++;
        });
		
		$('div#back_detail_img img').css('cursor', 'auto').unbind();
		
		if (back_now == 'new') {
			$('div#myback_hider_right').show();
            $('p#back_detail_text input').val('').attr('disabled', 'true');
			$('div#set_new input').css('border', '2px solid red');
            $('#back_used_cnt').html(0);
			$('#back_like_count').html(0);
        } else {
			$('div#my_back div.myback_hider').hide();
            setBackPublicSwitch(backs[back_now]['back_public']);
            $('p#back_detail_text input').val(backs[back_now]['back_text']).attr('disabled', '');
			$('div#set_new input').css('border', '1px solid #999999');
            
			$('#back_used_cnt').html(backs[back_now]['used_cnt']);
			$('#back_like_count').html(backs[back_now]['like_count']);
			
            for (var key in backs[back_now]['back_data']) {
                var html = '<img id="back_img_' + key + '" src="' + backImgUrl(backs[back_now]['back_data'][key]['img_name']) + '" width="' + backs[back_now]['back_data'][key]['w'] + '" height="' + backs[back_now]['back_data'][key]['h'] + '"/>';
                $('div#back_detail_preview').append(html);
            }
			
			if ( $('#back_detail_preview img:visible').size() == 0 ) {
	            $('#back_detail_preview img:first').show();
	        }
            //背景画像作成
            backThumbAddEvent();
        }
		
		setBackPreview();
        
    }).children('div').children('input').click(function(e){
		
        e.stopPropagation();
		
    });
	
	
	//背景リストページャのイベント
	$('div#myf_set_navi a.back_pager').click(function () {
		var id = $(this).attr('id').split('_');
        $.post('/back/index',
               {'page_num' : id[0]},
               function (data) {
                    pageRedirect(data);
                    if (!data) return;
                    $('div#my_folder').html(data);
                    initMyBack();
               });
	});
    
    //背景サムネマウスオーバー時フル画像プレビュー
    $('div#back_detail_img img.back_img_thumb').die().live('mouseover', function(){
        $('div#back_detail_preview img').hide();
        var id = $(this).attr('id').substr(11);
        $('img#back_img_' + id).show();
    });
    
    //該当背景のフル画像を別窓で表示
    $('div#back_ctrl_panel p#back_img_download').die().live('click', function(){
        $('div#back_ctrl_panel').hide();
        var param = $(this).attr('title').split('_');
        window.open(backImgUrl(backs[param[0]]['back_data'][param[1]]['img_name']), "_blank");
    });
	
	//背景セット公開ボタンアクション
	$('#back_set_public p.myf_back_set, #back_set_un_public p.myf_back_set').click(function(){
		
		if ( $('#set_' + back_now + ' .1_back_public:visible').size() == 0 ) {
			var title = '共用背景セットにする（共用）';
            var contents = '<p style="width:72px;margin:auto;"><img src="/img/alert.gif" alt="alert" align="center"/></p>この背景セットを共用すると、他のユーザーがブックで使えるようになります。<br />※制作者はいつでも何度でも編集を行えます。 <br />※共用された背景セットは、「トップページ」の「背景セット」リストに自動的に表示されます。';
		} else {
			var title = '専用背景セットにする（非共用）';
            var contents = '作成した本人しか使えない背景セットです。<br />※専用背景セットは、「トップページ」のどのリストにも表示されません。';
		}
		
		showConfirm(title, contents, '/back/setpublic',
                    {'back_id'  : back_now},
                    '', 'bgTypeComplete');
	});
	
	//背景セット削除ボタンアクション
    $('p#back_set_delete').click(function(){
        showConfirm('背景セットを削除','一度消したデータは復活することができません。<br />本当に宜しいですか？','/back/setdelete',
		            {'back_id' : back_now}, 'backSetDeleteBefore', 'backSetDeleteComplete');
    });
}

function backThumbAddEvent() {
	$('div#back_detail_img img.back_img_add').css('cursor', 'pointer').click(function(){
		$('#pop_frame').hide('fast');
		jQuery.post('/back/addimg/',
                    {
                        'back_id'  : back_now,
                        'back_num' : $(this).attr('id').substr(11)
                    }, function(data){
                        pageRedirect(data);
                        $('#pop_frame').html(data);
                        showPopWindow();
                    });
	});
	
	$('div#back_detail_img img.back_img_thumb').css('cursor', 'pointer').click(function(e){
        
		var img_pos = $(this).offset();
		$('div#back_ctrl_panel').hide('fast', function(){
            var my_back_pos = $('#my_folder').offset();
            
            $(this).css("left", (img_pos.left - my_back_pos.left - 210) + "px")
                    .css("top", (img_pos.top - my_back_pos.top) + "px");        });
        $.post('/back/ctrlpanel',
               {    'back_id'  : back_now,
                    'back_num' : $(this).attr('id').substr('11')
               }, function(data) {
                    pageRedirect(data);
                    $('div#back_ctrl_panel').html(data).show('fast');
               }, 'html');
    });
}

function setBackPublicSwitch(data) {
	if (data == '0') {
		backs[back_now]['back_public'] = data;
        $('div#back_set_un_public').hide();
        $('div#back_set_public').show();
		
		$('#set_' + back_now + ' .0_back_public').show();
        $('#set_' + back_now + ' .1_back_public').hide();
    } else {
		backs[back_now]['back_public'] = '1';
        $('div#back_set_un_public').show();
        $('div#back_set_public').hide();
		
		$('#set_' + back_now + ' .0_back_public').hide();
        $('#set_' + back_now + ' .1_back_public').show();
    }
}

function backSubmitCallback(id, key, data){
	
	switch (key) {
		
		case 'back_name':
            if (id == 'new' && data != '') {
                $('#back_thumb_0').css('border', '2px solid red');
		        $('div#set_new input').css('border', '1px solid #999999');
		        $('div#my_back div.myback_hider').hide();
		        $('div#myback_hider_bottom').show();
		        backThumbAddEvent();
            }
			
			if (id == 'new') {
				$('#set_' + id + ' div.myf_set_li_txt div').html(data);
			}
			$('#set_' + id + ' div.myf_set_li_txt input').val(data);
            break;
		
		case 'back_text':
            $('#back_detail_text input').val(data);
            break;
	}
	
	if (id != 'new') {
        backs[id][key] = data;
    }
}

//背景画像プレイビュー
function setBackPreview() {
	var preview_selecter = $('div#back_detail_preview');
	var limit_w = preview_selecter.width();
    var limit_h = preview_selecter.height();
    $('div#back_detail_preview img').each(function(){
        var w = $(this).width();
        var h = $(this).height();
        if (limit_w/w <= limit_h/h) {
            var top = (limit_h - limit_w/w * h)/2;
//            $(this).width(limit_w+'px').height((limit_w/w * h)+'px').css('top', top+'px');
            $(this).width(limit_w+'px').height((limit_w/w * h)+'px').css('padding-top', top+'px');
        } else {
            var left = (limit_w - limit_h/h * w)/2;
//            $(this).width((limit_h/h * w)+'px').height(limit_h+'px').css('left', left+'px');
            $(this).width((limit_h/h * w)+'px').height(limit_h+'px').css('padding-left', left+'px');
        }
    });
}

function showBackLikeList(elem) {
	if ($(elem).html() == '0') return;
	showListWindow(user_id, back_now, 'back', 0, 'pop');
}

ajax.myBackBefore = function () {
    hideSecondFrame('fast');
    
//    $('#my_folder').hide('fast', function(){
        $('#my_folder').show('fast');
//    });
}

ajax.backImgDeleteBefore = function () {
    $('#back_ctrl_panel').hide('fast');
}

ajax.backImgDeleteComplete = function (data) {
	
    if (data) {
        $('div#my_folder').html(data);
        initMyBack();
    }
}

ajax.backeditComplete = function (data) {
    showPopWindow();
	
}

ajax.backSetDeleteBefore = function () {
    
}

ajax.backSetDeleteComplete = function (data) {
    if (data) {
        $('div#my_folder').html(data);
        initMyBack();
    }
}

ajax.bgTypeComplete = function (data) {
	setBackPublicSwitch(data);
}

flash.addimgComp = function (back_id) {
	
	clearPopWindow('fast');
	$.post('/back/index',
           {'back_id' : back_id}, 
		   function(data){
                pageRedirect(data);
				if (data) {
					$('div#my_folder').html(data);
                    initMyBack();
				}
           });
}

flash.addimgCancel = function () {
	clearPopWindow('fast');
}

