/*------------------------------------------------------------------------------
	jquery、prototype共存対応
------------------------------------------------------------------------------*/
jQuery.noConflict();
var j$ = jQuery;

/*------------------------------------------------------------------------------
	プロパティ宣言
------------------------------------------------------------------------------*/

var Cmanga_list = "";
var COMMENT_BUTTON = 10; 		// コメント切り替えボタンの数
var date = new Date();
var timestamp = date.getTime();

var json_url = "http://webvote.asahi.com/koyavote/json2";

/*------------------------------------------------------------------------------
	windowのloadイベント処理
------------------------------------------------------------------------------*/
if( window.addEventListener ) {

	/* W3C準拠ブラウザ用 */
	window.addEventListener('load', function() {
		Init();
	}, false);

} else if( window.attachEvent ) {

	/* Internet Explorer用 */
	window.attachEvent('onload', function() {
		Init();
	});
}

/*------------------------------------------------------------------------------
	初期処理
------------------------------------------------------------------------------*/
function Init() {

	/* コメントファイル読み込み */
	CommentRead();
}

/*------------------------------------------------------------------------------
	コメントファイル読み込み
	(scriptタグを生成するとJSONファイルを読み込みCommentObject関数が実行する)
------------------------------------------------------------------------------*/
function CommentRead() {

	/* エレメントの作成 */
	var script = document.createElement('script');

	/* 文字コード設定 */
	script.charset = "euc-jp";

	/* コメントファイルURL */
	var comment_display = document.getElementById("comment_display");
	if( comment_display == null ){ return false; }
	var id = comment_display.getAttribute("value");

	script.src = json_url + "/comment/comment_" + id + ".json?time=" + timestamp;

	/* </body>直前に<script>要素を追加 */
	document.body.appendChild(script);
}

/*------------------------------------------------------------------------------
	コメントを表示
------------------------------------------------------------------------------*/
function CommentObject( comment_obj ) {

	/* コメントファイルがなければ終了 */
	if( comment_obj == null ) { return false; }

	/* コメントオブジェクトをキャッシュする */
	Ccomment = comment_obj;

	var comment_display = document.getElementById("comment_display");
	var id = comment_display.getAttribute("value");
	var all_comment = "";

	if( Ccomment["link"] >= 2 ) {

		all_comment += "<div id=\"kosien-posts\">\n";
		all_comment += "<div class=\"anotherP\"><!--ページめくり-->\n";
		all_comment += "<ol>\n";

		/* リンク表示部分の整形 */
		for( var i=1; i<=Ccomment["link"]; i++ ){

			if( i == 1 ) { 
				/* リンク無し */
				all_comment += "<li class=\"Pages\">１</li>\n";
			} else if ( i > COMMENT_BUTTON ) {
				break;
			} else {
				/* リンク付き */
				if( i <= 9 ){
					var I = h2z_num(""+i);
					all_comment += "<li class=\"Pages2\"><a href=\"javascript:void(0)\" onclick=\"ChangeComment(" + i + ")\">" + I + "</a></li>\n";
				}else if( i >=10 ){
					all_comment += "<li class=\"Pages2\"><a href=\"javascript:void(0)\" onclick=\"ChangeComment(" + i + ")\">" + i + "</a></li>\n";
				}
			}
		}
		/* 次へリンク */
		all_comment += "</ol>\n";
		all_comment += "<p class=\"NextPage\"><a href=\"javascript:void(0)\" onclick=\"ChangeComment(" + 2 + ")\"><img src=\"/koshien/css/images/Nextbottun.gif\" alt=\"次へ\" width=\"20\" height=\"20\"/></a></p><p>次へ</p>\n";
		all_comment += "</div><!--/ページめくり-->\n";
	}

	/* コメント整形 */
	for( var i=0; i<Ccomment[1].length; i++ ) {

		if( !id.match(/^m[0-9]+$/) ) {
			all_comment += "<h3 class=\"post-title fs100 mb0\">\n";
			all_comment += "<span class=\"work-category\">" + Ccomment[1][i]["title"] + "</span>\n";
			all_comment += "</h3>\n";
		}
		if( id.match(/^m[0-9]+$/) ) {
			all_comment += "<ul class=\"post-info fclear\">\n";
		}else{
			all_comment += "<ul class=\"post-info\">\n";
		}
		all_comment += "<li class=\"datetime\">" + Ccomment[1][i]["uptime"] + "</li>\n";
		all_comment += "<li class=\"post-author\">";
		all_comment += "<span class=\"nickname\">" + Ccomment[1][i]["nickname"] + "さん</span>";
		if( Ccomment[1][i]["generation"] != "" ) {
			all_comment += "<span class=\"ml10 small\">" + Ccomment[1][i]["generation"] + "</span>";
		}
		if( Ccomment[1][i]["sex"] != "" ) {
			all_comment += "<span class=\"mlr10 small\">" + Ccomment[1][i]["sex"] + "</span>";
		}
		all_comment += "の投稿</li>\n";
		all_comment += "</ul>\n";

		if( id.match(/^s[0-9]+$/) || id.match(/^g[0-9]+$/) ) {
			all_comment += "<p class=\"mb15 mt5\">" + Ccomment[1][i]["comment"] + "</p><br>\n";
		}else{
			all_comment += "<p>" + Ccomment[1][i]["comment"] + "</p><br>\n";
		}
	}
	all_comment += "</div><!--/kosien-posts-->\n";

	/* コメント表示 */
	comment_display.innerHTML = all_comment;
}

/*------------------------------------------------------------------------------
	コメントの表示部分の切り替え
------------------------------------------------------------------------------*/
function ChangeComment( num ) {

	var comment_display = document.getElementById("comment_display");
	var id = comment_display.getAttribute("value");
	var all_comment = "";

	all_comment += "<div id=\"kosien-posts\">\n";
	all_comment += "<div class=\"anotherP\"><!--ページめくり-->\n";

	var page_head = Math.floor((num-1)/COMMENT_BUTTON) * COMMENT_BUTTON + 1;
	
	/* リンク表示部分の整形 */
	for( var i=page_head; i<=Ccomment["link"]; i++ ){

		if( i == page_head && num != 1 ){
			/* 前へリンク */
			var prev = num - 1;
			all_comment += "<p>前へ</p><p class=\"MaePage\"><a href=\"javascript:void(0)\" onclick=\"ChangeComment(" + prev + ")\"><img src=\"/koshien/css/images/Maebottun.gif\" alt=\"前へ\" width=\"20\" height=\"20\"/></a></p>\n";
			all_comment += "<ol>\n";
		}else if( i == page_head ) {
			all_comment += "<ol>\n";
		}

		if( i == num ) {
			/* リンク無し */
			if( i <= 9 ){
				var I = h2z_num(""+i);
				all_comment += "<li class=\"Pages\">" + I + "</li>\n";
			}else if( i >=10 ){
				all_comment += "<li class=\"Pages\">" + i + "</li>\n";
			}
		} else if ( i == page_head + COMMENT_BUTTON ) {
			break;
		} else {
			/* リンク付き */
			if( i <= 9 ){
				var I = h2z_num(""+i);
				all_comment += "<li class=\"Pages2\"><a href=\"javascript:void(0)\" onclick=\"ChangeComment(" + i + ")\">" + I + "</a></li>\n";
			}else if( i >=10 ){
				all_comment += "<li class=\"Pages2\"><a href=\"javascript:void(0)\" onclick=\"ChangeComment(" + i + ")\">" + i + "</a></li>\n";
			}
		}
	}
	if ( num != Ccomment["link"] ) {
		var next = num + 1;
		/* 次へリンク */
		all_comment += "</ol>\n";
		all_comment += "<p class=\"NextPage\"><a href=\"javascript:void(0)\" onclick=\"ChangeComment(" + next + ")\"><img src=\"/koshien/css/images/Nextbottun.gif\" alt=\"次へ\" width=\"20\" height=\"20\"/></a></p><p>次へ</p>\n";
	}else{
		all_comment += "</ol>\n";
	}
	all_comment += "</div><!--/ページめくり-->\n";
	all_comment += "</div><!--/kosien-posts-->\n";

	/* コメント整形 */
	for( var i=0; i<Ccomment[num].length; i++ ) {

		if( !id.match(/^m[0-9]+$/) ) {
			all_comment += "<h3 class=\"post-title fs100 mb0\">\n";
			all_comment += "<span class=\"work-category\">" + Ccomment[num][i]["title"] + "</span>\n";
			all_comment += "</h3>\n";
		}
		if( id.match(/^m[0-9]+$/) ) {
			all_comment += "<ul class=\"post-info fclear\">\n";
		}else{
			all_comment += "<ul class=\"post-info\">\n";
		}
		all_comment += "<li class=\"datetime\">" + Ccomment[num][i]["uptime"] + "</li>\n";
		all_comment += "<li class=\"post-author\">";
		all_comment += "<span class=\"nickname\">" + Ccomment[num][i]["nickname"] + "さん</span>";
		if( Ccomment[num][i]["generation"] != "" ) {
			all_comment += "<span class=\"ml10 small\">" + Ccomment[num][i]["generation"] + "</span>";
		}
		if( Ccomment[num][i]["sex"] != "" ) {
			all_comment += "<span class=\"mlr10 small\">" + Ccomment[num][i]["sex"] + "</span>";
		}
		all_comment += "の投稿</li>\n";
		all_comment += "</ul>\n";
		if( id.match(/^s[0-9]+$/) || id.match(/^g[0-9]+$/) ) {
			all_comment += "<p class=\"mb15 mt5\">" + Ccomment[num][i]["comment"] + "</p><br>\n";
		}else{
			all_comment += "<p>" + Ccomment[num][i]["comment"] + "</p><br>\n";
		}
	}

	/* コメント表示 */
	comment_display.innerHTML = all_comment;
}

/*------------------------------------------------------------------------------
	半角数字を全角数字に変換
------------------------------------------------------------------------------*/
function h2z_num(str){
	return str.replace(/(\d)/g,function($0){return String.fromCharCode($0.charCodeAt(0)+65248);});
}

/*------------------------------------------------------------------------------
        漫画リスト読み込み
------------------------------------------------------------------------------*/
function MangaListRead() {

        /* エレメントの作成 */
        var script = document.createElement('script');

        /* 文字コード設定 */
        script.charset = "euc-jp";

        script.src = json_url + "/manga/manga.json?time=" + timestamp;

        /* </body>直前に<script>要素を追加 */
        document.body.appendChild(script);
}

/*------------------------------------------------------------------------------
        サブウインドウに漫画リストを埋め込む
------------------------------------------------------------------------------*/
function MangaList(list) {

        /* 漫画リストオブジェクトをキャッシュする */
        Cmanga_list = list;

        var SwindowContent = document.getElementById("SwindowContent");
        var contents = "";
        var manga_code = "";
        var manga_title = "";
        var author = "";

        contents += "<ul class=\"KGreena\">\n";
        if( !!list["data"] ){

                for(var i=0; i<list["data"].length; i++){
                        var manga_code = list["data"][i]["manga_code"];
                        var manga_title = list["data"][i]["manga_title"];
                        var author = list["data"][i]["author"];

contents += "<li><a href=\"javascript:void(0)\" onclick=\"SelectManga('" + manga_code + "','" + manga_title + "(" + author + ")" + "');return false;\">" + manga_title + "(" + author + ")" +"</a></li>\n";
                }
        }
        contents += "</ul>";

        SwindowContent.innerHTML = contents;
}

/*------------------------------------------------------------------------------
        漫画選択処理
------------------------------------------------------------------------------*/
function SelectManga( str1 , str2 ) {

        var choose_name = document.getElementById("choose_name");
        choose_name.innerHTML = str2;

        document.postForm.prefecture.value = str1;

        j$('#Swindow').TransferTo(
        {
                to:'SwindowOpen',
                className:'Gtransferer2',
                duration: 400
        }
        ).hide();
}

/*------------------------------------------------------------------------------
	漫画リストウインドウ処理
------------------------------------------------------------------------------*/
j$(document).ready(
	function()
	{
		j$('#SwindowOpen').bind(
			'click',
			function() {
				if(j$('#Swindow').css('display') == 'none') {
					j$(this).TransferTo(
						{
							to:'Swindow',
							className:'Stransferer2', 
							duration: 400,
							complete: function()
							{
								if( Cmanga_list == "" ){
										MangaListRead();
								}
								j$('#Swindow').show();
							}
						}
					);
				}
				this.blur();
				return false;
			}
		);
		j$('#SwindowClose').bind(
			'click',
			function()
			{
				j$('#Swindow').TransferTo(
					{
						to:'SwindowOpen',
						className:'Stransferer2', 
						duration: 400
					}
				).hide();
			}
		);
		j$('#Swindow').Resizable(
			{
				dragHandle: '#SwindowTop',
				handlers: {}
			}
		);
	}
);

/*------------------------------------------------------------------------------
	コメント文字数チェック
------------------------------------------------------------------------------*/
function checkLength() {
	var intMaxLength = 660;
	if (eval(document.postForm.comment.value.length) > intMaxLength) {
		alert("200字以内を目安に投稿してください。");
		return false;
	}
}
