var member_photo_json_cache = new Object();
var member_photo_album_json_cache = new Object();
var member_photo_group_json_cache = new Object();

$(function() {
    $('.member_photo_image').mouseover(function(e){
        var $el = $(this);
        window.setTimeout(function(){
	    var el_id = $el.attr('id');
	    if ( member_photo_json_cache[el_id]) {
                createPopup(e,$el,member_photo_json_cache[el_id],'member_photo');
		return;
	    }
            var member_photo_id = el_id.split("_")[3];
            $.post(
                '/api/photo/detail',
                { 'member_photo_id' : member_photo_id },
                function(json,status) {
                    createPopup(e,$el,json,'member_photo');
		    member_photo_json_cache[el_id] = json;
                }, 'json'
            );
        },400);
    });
});

$(function() {
    $('.member_photo_album_image').mouseover(function(e){
        var $el = $(this);
        window.setTimeout(function(){
	    var el_id = $el.attr('id');
	    if ( member_photo_album_json_cache[el_id]) {
                createPopup(e,$el,member_photo_album_json_cache[el_id],'member_photo_album');
		return;
	    }
            var member_photo_album_id = el_id.split("_")[4];
            $.post(
		'/api/photo/album/detail',
                { 'member_photo_album_id' : member_photo_album_id },
                function(json,status) {
                    createPopup(e,$el,json,'member_photo_album');
		    member_photo_album_json_cache[el_id] = json;
                }, 'json'
            );
        },400);
    });
});

$(function() {
    $('.member_photo_group_image').mouseover(function(e){
	var $el = $(this);
	window.setTimeout(function(){
	    var el_id = $el.attr('id');
	    if ( member_photo_group_json_cache[el_id]) {
		createPopup(e,$el,member_photo_group_json_cache[el_id],'member_photo_group');
		return;
	    }
	    var member_photo_group_id = el_id.split("_")[4];
	    $.post(
		'/api/photo/group/detail',
		{ 'member_photo_group_id' : member_photo_group_id },
		function(json,status) {
		    createPopup(e,$el,json,'member_photo_group');
		    member_photo_group_json_cache[el_id] = json;
		}, 'json'
	    );
	},400);
    });
});

function createPopup(e,$el,json,photo_type) {
    $('#member_photo_popup').remove();

    var $div = _createElement('div');
    $div.attr({
        'id':'member_photo_popup'
    });
    $div.css({
        'position':  'absolute',
	'text-align' : 'left',
	'z-index' : 2,
        'left' :( e.pageX + 10 ) + "px",
        'top' : ( e.pageY + 30 ) + "px"
    });

    if(photo_type == 'member_photo'){
	s_datetime = ( json.member_photo.shoot_datetime ) ? json.member_photo.shoot_datetime : '---';
	$div.html("<div class=\"shadowBase02\"><div class=\"popBase\"><dl><dt>タイトル：</dt><dd>" + json.member_photo.title + "</dd></dl><dl><dt>登録日：</dt><dd>" + json.member_photo.regist_datetime + "</dd></dl><dl><dt>撮影日：</dt><dd>" + s_datetime + "</dd></dl><dl><dt>お気に入り数：</dt><dd>" + json.member_photo.favorite_count + "</dd></dl><dl class=\"listEnd\"><dt>コメント数：</dt><dd>" + json.member_photo.comment_count + "</dd></dl></div></div>");

    }else if(photo_type == 'member_photo_album'){
	$div.html("<div class=\"shadowBase02\" id=\"sec56_02\"><div class=\"popBase\"><dl><dt>アルバム：</dt><dd>" + json.member_photo_album.title + "</dd></dl><dl><dt>作成日：</dt><dd>" + json.member_photo_album.regist_datetime + "</dd></dl><dl><dt>お気に入り数：</dt><dd>" + json.member_photo_album.favorite_count + "</dd></dl><dl class=\"listEnd\"><dt>フォト数：</dt><dd>" + json.member_photo_album.photo_count + "</dd></dl></div></div>");

    }else if(photo_type == 'member_photo_group'){
	$div.html("<div class=\"shadowBase02\" id=\"sec56_03\"><div class=\"popBase\"><dl><dt>グループ：</dt><dd>" + json.member_photo_group.title + "</dd></dl><dl><dt>作成日：</dt><dd>" + json.member_photo_group.regist_datetime + "</dd></dl><dl><dt>フォト数：</dt><dd>" + json.member_photo_group.photo_count + "</dd></dl><dl><dt>メンバー数：</dt><dd>" + json.member_photo_group.member_count + "</dd></dl><div><strong>紹介文：</strong>" + json.member_photo_group.body + "</div></div></div>");
    }

    document.body.appendChild($div.get(0));
    $el.mousemove(function(e){
        $div.css({
            'left' :( e.pageX + 10 ) + "px",
            'top' : ( e.pageY + 30 ) + "px"
        });
    });
    $el.mouseout(function(e){
        $('#member_photo_popup').remove();
    });
}

function _createElement(tag) {
    return $(document.createElement(tag));
}





