// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

//-----------------------------------------------------------------------------
// 選択画面
// 雑誌選択
function show_issue_magazine(phaseId, magazine_size)
{
	var magazineId =$('issue_magazines[' + phaseId +'][]');

	new Ajax.Updater('select_magazine_div_'+ phaseId, 
										'/magazine/show_issue_magazine/'+ phaseId + '?mid=' + magazineId.value,
										{asynchronous:true, evalScripts:true,
										parameters:Form.serialize('phase_magazine_div_'+ phaseId),
										onLoading:function(){new Effect.Appear('select_magazine_image['+ phaseId +']', { duration: 0.2, from: 1.0, to: 0.0})},										
										onFailure:function(){gotoErrPage();}
										});

	/*if(magazine_size < 8)
	{
		$('btn_add_' + phaseId).disabled = false;
	}*/
}

//-----------------------------------------------------------------------------
// 選択画面
// 雑誌追加
function add_issue_magazine(phaseId)
{
	// 対象雑誌リスト
	var issueMagazine = $('issue_magazines[' + phaseId +'][]');
	
	if (issueMagazine.selectedIndex < 0) return;

	// 追加ボタン
	var btnAdd = $('btn_add_' + phaseId);
	btnAdd.disabled = true;
	
	// 購読雑誌リスト
	var readingMagazine =$('selected_magazines[' + phaseId +'][]');
		
	//追加チェック
	if (readingMagazine.length > 7) return;
	
	// 追加雑誌
	var opt = document.createElement("option");
	opt.id = issueMagazine[issueMagazine.selectedIndex].id;
	opt.value = issueMagazine.value;
	opt.text = issueMagazine[issueMagazine.selectedIndex].text;
	
	new Ajax.Updater('select_magazine_div_'+ phaseId, 
										'/magazine/add_issue_magazine/'+ phaseId + '?mid=' + issueMagazine.value,
										{asynchronous:true, evalScripts:true,
										parameters:Form.serialize('phase_magazine_div_'+ phaseId),
						        onComplete: function(request) {   
					             // 完了処理
											 deleteItem(issueMagazine)
											 if (readingMagazine.length < 7)
												 btnAdd.disabled = false;
											 readingMagazine.options[readingMagazine.length] = opt;
						         },
								onFailure:function(){gotoErrPage();}
								});
	
//	new Ajax.Updater('phase_magazine_div_'+ phaseId, 
//										'/magazine/add_issue_magazine/'+ phaseId + '?mid=' + issue_magazine.value + '&sid=' + nextMagazineId,
//										{asynchronous:true, evalScripts:true,
//										parameters:Form.serialize('phase_magazine_div_'+ phaseId)});
}

//-----------------------------------------------------------------------------
// 選択画面
// 雑誌削除
function remove_issue_magazine(phaseId)
{
	// 購読雑誌リスト
	var readingMagazine = $('selected_magazines[' + phaseId +'][]');
	if (readingMagazine.selectedIndex < 0) return;

	// 削除ボタン
	var btnDelete = $('btn_delete_' + phaseId);
	btnDelete.disabled = true;

	// 削除雑誌
	var opt = document.createElement("option");
	opt.id = readingMagazine[readingMagazine.selectedIndex].id;
	opt.value = readingMagazine.value;
	opt.text = readingMagazine[readingMagazine.selectedIndex].text;

	// 対象雑誌リスト
	var issueMagazine = $('issue_magazines[' + phaseId +'][]');
	var index = -1;

	var isAll = false;	
	for(i=0; i<issueMagazine.options.length; i++){
		if (issueMagazine.options[i].id.indexOf('all') >= 0){
			isAll = true;
			break;
		}
	}
	if (isAll || opt.id.indexOf('all') < 0){
		var option_id = eval(opt.id.replace('_all', ''))
		index = issueMagazine.options.length-1;
		for(i=0; i<issueMagazine.options.length; i++){
			index = i;
			var issue_option_id = eval(issueMagazine.options[i].id.replace('_all', ''))
			if (issue_option_id > option_id){
				break;
			}
		}
	}
	new Ajax.Updater('', '/magazine/remove_issue_magazine/'+ phaseId + '?mid=' + readingMagazine.value,
										{asynchronous:true, evalScripts:true,
										parameters:Form.serialize('phase_magazine_div_'+ phaseId),
						        onComplete: function(request) {   
					             // 完了処理   
											 deleteItem(readingMagazine)
											 if(readingMagazine.length < 8)
											 	$('btn_add_' + phaseId).disabled = false;
											 btnDelete.disabled = false;
											 if(index >= 0){
//												 issueMagazine.options.add(opt, index);
													for (i=issueMagazine.options.length; i>index; i--){
														var optWork = document.createElement("option");
														optWork.id = issueMagazine.options[i-1].id;
														optWork.value = issueMagazine.options[i-1].value;
														optWork.text = issueMagazine.options[i-1].text;
													 	issueMagazine.options[i] = optWork
													}
												 issueMagazine.options[index] = opt;
											 }												
						         },
								 onFailure:function(){gotoErrPage();}
								});
}
function deleteItem( obj ){
	var index = obj.selectedIndex;
	if (index == obj.length-1) index = obj.selectedIndex-1;
  obj.remove(obj.selectedIndex);
//	obj.selectedIndex = index;
}

//-----------------------------------------------------------------------------
// 結果画面
// CWI作品表示
function show_cwi_comic(phaseId, url, title)
{
	set_comic_image('comic_image_' + phaseId, url, title)
//	show_comic(phaseId, title);
}

//-----------------------------------------------------------------------------
// 結果画面
// その他作品表示
//function show_comic(phaseId, value)
//{
//	var select_comic = document.getElementById('select_comic_' + phaseId);
//	select_comic.innerHTML = value;
//}
//-----------------------------------------------------------------------------
// 結果画面
// 作品非表示
function hide_comic(phaseId, url)
{
	set_comic_image('comic_image_' + phaseId, url, '')
	
//	var select_comic = document.getElementById('select_comic_' + phaseId);
//	select_comic.innerHTML = '<br>';
}

//-----------------------------------------------------------------------------
// 全ての作品イメージ表示
function show_comic_box(url, title)
{
	set_comic_image('comic_image_box', url, title)
}

function set_comic_image(id, src, alt)
{
	var comic_image = $(id);
	comic_image.src = src;
	comic_image.alt = alt;
}

//-----------------------------------------------------------------------------
// 結果画面
// 雑誌選択
function select_magazine(magazineId, phaseId)
{
	new Ajax.Updater('selected_magazine_div_'+ phaseId, 
										'/magazine/select_magazine/'+ phaseId + '?mid=' + magazineId,
										{asynchronous:true, evalScripts:true,
										onFailure:function(){gotoErrPage();}
										});
}

//-----------------------------------------------------------------------------
// 結果画面
// ミセル
function open_result(birth_year, handle_name)
{
	var is_secret = 0;
	var secret_birth = $('secret_birth');
	
	var user_text = $('user_text');
	user_text.className = 'header_result_public';

	var header_result = $('header_result');
	header_result.style.display = 'none';

	if (secret_birth.checked)
	{
		is_secret = 1;
		user_text.innerHTML = handle_name + 'さん'
		var phase_age
		for (i=1; i<=10; i++)
		{
			phase_age = $('phase_age_' + i)
			if (phase_age)
			{
				phase_age.style.display = 'none';
			}
		}
	}else{
		user_text.innerHTML = birth_year + '年生まれ&nbsp;' + handle_name + 'さん'
	}
	
//	new Ajax.Updater('open_result_div', 
//									'/magazine/open_result/' + is_secret, 
//									{asynchronous:true, evalScripts:true});

	location.href = '/magazine/open_result/' + is_secret;
	return false;
}
//-----------------------------------------------------------------------------
// 選択画面
// メッセージ送信
function message_to_staff()
{
	new Ajax.Updater('message_to_staff', 
										'/magazine/send_message_to_staff/',
										{asynchronous:true, evalScripts:true,
										parameters:Form.serialize('message_to_staff'),
										onFailure:function(){gotoErrPage();}
										});
}
//-----------------------------------------------------------------------------
// 結果画面
// その他の作品クリック
function click_other_comic(comicId, url)
{
	new Ajax.Updater('', 	'/magazine/click_comic/'+ comicId,
										{asynchronous:true, evalScripts:true
										});
	open_new_window(url, 'search');
}
//-----------------------------------------------------------------------------
// 結果画面
// ComicPark作品クリック
function click_cwi_comic(comicId, url, contentId)
{
	new Ajax.Updater('', 	'/magazine/click_comic/'+ comicId + '?content_id=' + contentId,
										{asynchronous:true, evalScripts:true
										});

	open_new_window(url, 'comicpark');
}
//-----------------------------------------------------------------------------
// 結果画面
// 著者クリック
function click_author(authorId, url, is_comic_park)
{
	new Ajax.Updater('', 
										'/magazine/click_author/'+ authorId,
										{asynchronous:true, evalScripts:true});

	open_new_window(url, 'search');
}

//-----------------------------------------------------------------------------
/* ComicParkウィンドウ判定
function isOpenComicPark(win)
{
	if (win && !win.closed )
	{
		if(win.location.href.indexOf(comicParkUrl, 0) > -1) return true;
	}
	return false;
}
*/
//-----------------------------------------------------------------------------
// ウィンドウオープン
function open_new_window(url, target)
{
	var newwin = window.open(url, target);
	newwin.focus();
}

//-----------------------------------------------------------------------------
// テキストコピー
function copyText(arg){ 
  var obj=document.all && document.all(arg) || document.getElementById && document.getElementById(arg); 
  if (obj.value) { 
		if(navigator.userAgent.indexOf("MSIE") > -1){ // IE 
			window.clipboardData.setData('text', obj.value);
		} 
	} 
} 
function scrollOpenResult() 
{
	var open_result_div = document.getElementById('open_result_div');
	window.scrollTo( 0, open_result_div.offsetTop - 50);
}
//-----------------------------------------------------------------------------
// テキストエリア文字数制限
function limitCharNum(id,num){
	var area = $(id);
	$(id).innerHTML = $(id).innerHTML.substring(0,num);
}
function showCharNum(id,msgId,num) {
	var inputCount = $(id).value.length
	
	if (num < inputCount)
		$(msgId).innerHTML = "<span style='color:red'><strong>" + (inputCount - num) + "文字</strong>オーバーしています</span>"
	else if (num == inputCount )
		$(msgId).innerHTML = "<span class='blue'><strong>ピッタリ！</strong></span>"
	else if (num == (num - inputCount ))
		$(msgId).innerHTML = "全角120文字まで"
	else
		$(msgId).innerHTML = "<span class='blue'>あと<strong>" + (num - inputCount) + "文字</strong>です</span>"
		
//	alert(num == $(id).value.length);
}
//-----------------------------------------------------------------------------
// クリップボードにコピー
var ua        = navigator.userAgent.toLowerCase(); 
var is_pc_ie  = ( (ua.indexOf('msie') != -1 ) && ( ua.indexOf('win') != -1 ) && ( ua.indexOf('opera') == -1 ) && ( ua.indexOf('webtv') == -1 ) );
function setClipboard(copytext){
	if (is_pc_ie) {
		clipboardData.setData("Text", copytext);
	}else{
		$('copy').innerHTML = "";
		var swf = "<embed src='/swf/setClipboard.swf' FlashVars='code="+encodeURIComponent(copytext)+"' width='0' height='0' type='application/x-shockwave-flash'></embed>";
		$('copy').innerHTML = swf;
	}
}
//-----------------------------------------------------------------------------
// ガイドを表示/非表示
function showGuide(id,comment_guide) {
  	if( $(id).value == '' ) {
		$(id).value = comment_guide;
    	$(id).style.color = '#808080';
  	}
}
function hideGuide(id,comment_guide) {
	if( $(id).value == comment_guide ) {
  		$(id).value = '';
     	$(id).style.color = '#000000';
  	}
}
function gotoErrPage(){
	document.location.href ="/500.html"
}