/* -----------------------------------------------------
	Cookie
   ----------------------------------------------------- */
var replay_all = null;
var replay_max_cards = 0;
var flag_calender_delay = true;
var play_view_instance = null;
var view_digest_now = null;
var flag_vote_enable = false;

$(document).ready(
    function() {
	$(".view_digest .play_view_open").click(
	    function() {
		play_view_open_other_window();
		return false;
	    }
	);
	get_replay();
	$("#calender .day").hover(
	    function() {
		var replay = check_replay($(this).attr("id"));
		if (replay != null) {
		    $(this).find(".day_info").css("padding","1px 0px 0px 1px");
		    $(this).css("background-color","#d0ccbd");
		    $(this).css("background","url(img/bg/bg_day_on.gif) no-repeat");
		}
	    },
	    function() {
		$(this).find(".day_info").css("padding","0px 0px 0px 0px");
		$(this).css("background-color","#f0ecdd");
		$(this).css("background","url(img/bg/bg_day_off.gif) no-repeat");
	    }
	);
	$("#calender .day").click(
	    function() {
		var id = $(this).attr("id");
		var replay = check_replay($(this).attr("id"));
		if (replay == null)
		    return false;
		
		$(".view_digest .no_select").hide();
		$(".view_digest .wait").show();
		$(".view_digest .select").hide();
		$(".view_digest").attr("date", id);
		
		// .view_digest
		var date = $(this).find(".date").text();
		$(".view_digest .date").text(date);
		
		// プレイ履歴
		// Replay.display(replay);
		Replay.display_digest(replay);
		$(".view_digest .wait").hide();
		$(".view_digest .select").show();
		
		// 投票用
		view_digest_now = id;
	    }
	);

	vote_check();
    }
);
function play_view_open_other_window() {
    var id = $(".view_digest").attr("date");
    var url = "playview.html?date="+id;
    window.open(url,'','width=740,height=800,scrollbars=yes');
    return false;
}
function play_view_open() {
    return;
    $("#play_view_instance").show();
    $(play_view_instance).click(
	function() {
	    play_view_close();
	}
    );
    return false;
}
function play_view_close() {
    $(play_view_instance).hide();
}

function get_replay() {
    var url_replay = 'replay.cgi';
    var r = Math.random();
    // session_id = getCookie("session_id");
    $.post(url_replay,
	   {
	       r : r
	   },
	   function(text) {
	       // alert(text);
	       replay_all = eval(text);
	       var status = replay_all.status;
	       var replay_all_number = replay_all.replay.length;
	       for (var i = 0; i < replay_all.replay.length; i++) {
		   var replay = replay_all.replay[i];
		   if (replay != null)
		       if (replay['date'] != null)
			   Replay.data_change(replay);
	       }
	       calender_display_all();
	   }
	  );
}
/* -----------------------------------------------------------------------------
   カレンダーを埋めていく
   ----------------------------------------------------------------------------- */
var exist_replay_days = null;
var exist_replay = null;
var timer_id = null;
function calender_display_all() {
    exist_replay_days = new Array();
    exist_replay = new Array();
    var days = $("#calender .day");
    for (var i = 0; i < days.length; i++) {
	var id = $(days[i]).attr("id");
	// if (id > 20081201) return;
	var replay  = null;
	for (var j = 0; j < replay_all.replay.length; j++) {
	    var r = replay_all.replay[j];
	    if (r != null) {
		var publish_date = r.publish_date;
		if (id == publish_date)
		    replay = r;
	    }
	}
	target = $("#"+id);
	var info = $(target).find(".day_info");
	if (replay != null) {
	    exist_replay_days.push(id);
	    exist_replay[id] = replay;
	    $(info).html('<img src="movie_encode_processing.gif" width="32" height="32" />');
	}
	else {
	    var obj = $(".view_day_none").clone();
	    $(obj).removeAttr("class");
	    $(obj).css("display", "block");
	    $(obj).appendTo(info);
	}
    }
    calender_display_day();
}
function calender_display_day() {
    var id = exist_replay_days.shift();
    var replay = exist_replay[id];
    if (replay != null) {
	id = "#"+id;
	var info = $(id).find(".day_info");
	var p0name = replay.p0name;
	var p1name = replay.p1name;
	var p0image = '<img class="player_image" src="' + replay.p0image + '" alt="' + p0name + '" />';
	var p1image = '<img class="player_image" src="' + replay.p1image + '" alt="' + p1name + '" />';
	var obj = $(".view_day").clone();
	$(info).html('');
	$(obj).removeAttr("class");
	$(obj).css("display", "block");
	$(obj).appendTo(info);
	$(id).find(".p0image").html(p0image);
	$(id).find(".p1image").html(p1image);
	timer_id = setTimeout(calender_display_day, 10);
    }
    else {
	clearTimeout(timer_id);
    }
}
/* -----------------------------------------------------------------------------
   履歴があるかのチェック
   ----------------------------------------------------------------------------- */
function check_replay(date) {
    if (replay_all == null)
	return;
    
    var replay  = null;
    for (var i = 0; i < replay_all.replay.length; i++) {
	var r = replay_all.replay[i];
	if (r != null) {
	    var publish_date = r.publish_date;
	    if (date == publish_date)
		replay = r;
	}
    }
    return replay;
}
/* -----------------------------------------------------------------------------
   投票チェック
   ----------------------------------------------------------------------------- */
function vote_check() {
    var url_enquete = 'enquete.cgi';
    var r = Math.random();
    $.post(url_enquete,
	   {
	       r : r,
	       check: 1
	   },
	   function(xml) {
	       var text = $(xml).text();
	       var status = $(xml).find('status').text();
	       var kunshu_id = $(xml).find('vote').text();
	       // alert(status);
	       if (status == 'OK') {
		   if ((kunshu_id == '') || (kunshu_id ==0))
		       vote_enable();
	       }
	   }
	  );
}
/* -----------------------------------------------------------------------------
   投票を可能にする
   ----------------------------------------------------------------------------- */
function vote_enable() {
    flag_vote_enable = true;
    $(".ballot_red").show();
    $(".ballot_blue").show();

    $(".ballot_red").click(
	function() {
	    if (view_digest_now == null)
		return false;
	    var image = '<img src="image/name_' + view_digest_now + '_0.gif" />';
	    $(".vote_name_image").html(image);
	    $(".vote_dialog").show();
	    $(".vote_button").click(
		function() {
		    vote(view_digest_now, 0);
		    return false;
		}
	    );
	    return false;
	}
    );
    $(".ballot_blue").click(
	function() {
	    if (view_digest_now == null)
		return false;
	    var image = '<img src="image/name_' + view_digest_now + '_1.gif" />';
	    $(".vote_name_image").html(image);
	    $(".vote_dialog").show();
	    $(".vote_button").click(
		function() {
		    vote(view_digest_now, 1);
		    return false;
		}
	    );
	    return false;
	}
    );
    $(".vote_dialog_close").click(
	function() {
	    var parent = $(this).parent().parent().get(0);
	    $(parent).hide();
	    return false;
	}
    );
}
/* -----------------------------------------------------------------------------
   投票を不可能にする
   ----------------------------------------------------------------------------- */
function vote_disable() {
    flag_vote_enable = false;
    $(".ballot_red").hide();
    $(".ballot_blue").hide();
    $(".vote_button").unbind();
}
/* -----------------------------------------------------------------------------
   投票
   ----------------------------------------------------------------------------- */
function vote(date, flag) {
    var url_enquete = 'enquete.cgi';
    var r = Math.random();
    $.post(url_enquete,
	   {
	       r : r,
	       vote : 1,
	       date : date,
	       flag : flag
	   },
	   function(xml) {
	       var text = $(xml).text();
	       var status = $(xml).find('status').text();
	       if (status == 'OK') {
		   vote_disable();
		   $(".vote_dialog").hide();
		   $(".vote_dialog_ok").show();
	       }
	   }
	  );
}

