Event.observe(window, 'load', function(){

	globalOverId = '';

	RESERVED_OVER_BGCOLOR = '#ffff44';
	RESERVED_OVER_COLOR   = '#000000';
	OVER_BGCOLOR          = '#3377dd';
	OVER_COLOR            = '';
	DEL_OVER_BGCOLOR      = '#dd4444';
	DEL_OVER_COLOR        = '';

	HEAD_H          = 28;	// ヘッダの高さ
	ALLDEL_HELP     = 4;	// プレイリストを全て削除する、の配置補正値
	RESULT_IE6_HELP = 138;	// IE6 の場合の、検索結果のテキストエリア配置補正値

	FOOT      = $('foot');
	INFO      = $('information');
	INFO_BODY = $('info_body');
	LIST      = $('playlist');
	LIST_BODY = $('list_body');
	ALLDEL    = $('list_alldel');

	if($('results')){

		HEIGHT_HELP = 8;	// results の縦方向の padding の値：8

		if($('supplements')){
			HEIGHT_HELP += $('supplements').offsetHeight;
		}

		VARIETY = $('results');

	}else if($('introduction')){

		HEIGHT_HELP = 24;	// introduction の縦方向の padding の値：24

		VARIETY = $('introduction');

	}else if($('view')){

		HEIGHT_HELP = 0;	// view の縦方向の padding の値：0

		VARIETY = $('view');

	}else if($('status')){

		HEIGHT_HELP = 24;	// status の縦方向の padding の値：24

		VARIETY = $('status');

	}

	arrange();

	// ウィンドウがリサイズされたときの処理
	Event.observe(window, 'resize', function(){
		arrange();
	});

});

function arrange(){

	// ----------------

	var i;
	var cnt = 0;

	// ----------------
	// メイン画面の高さを設定
	// ----------------

	var varietyY = VARIETY.offsetTop;
	var footY    = FOOT.offsetTop;

	VARIETY.style.height = (footY - varietyY - HEIGHT_HELP) + 'px';

	// ----------------
	// インフォメーション画面の高さを設定
	// ----------------

	var infoBodyY = INFO_BODY.offsetTop;

	INFO_BODY.style.height = (Math.floor((footY - HEAD_H) / 2) + HEAD_H - infoBodyY) + 'px';

	INFO.style.visibility = 'visible';

	// ----------------
	// プレイリスト画面の高さを設定
	// ----------------

	var listBodyY = LIST_BODY.offsetTop;
	var alldelH   = ALLDEL.offsetHeight;

	if(Prototype.Browser.IE){	// IE のみに適用
		LIST_BODY.style.height = (footY - listBodyY - alldelH) + 'px';
	}else{						// IE 以外のブラウザに適用
		LIST_BODY.style.height = (footY - listBodyY - alldelH - ALLDEL_HELP) + 'px';
	}

	LIST.style.visibility = 'visible';

	// ----------------
	// 検索ページの場合、各検索結果の配置を設定
	// ----------------

	if($('display-width')){
		var textareaW = $('display-width').offsetWidth - RESULT_IE6_HELP;
		for(i = 0; ; i++){
			if($('text-area-' + i)){
				$('text-area-' + i).style.width = textareaW;
			}else{
				break;
			}
		}
	}else if($('results')){
		if(VARIETY.offsetWidth < 600){
			for(i = 0; i < VARIETY.childNodes.length; i++){
				if(VARIETY.childNodes[i].nodeType == 1){
					if(cnt % 2 == 0){
						VARIETY.childNodes[i].className = '';
					}
					cnt++;
				}
			}
		}else{
			for(i = 0; i < VARIETY.childNodes.length; i++){
				if(VARIETY.childNodes[i].nodeType == 1){
					if(cnt % 2 == 0){
						VARIETY.childNodes[i].className = 'even';
					}
					cnt++;
				}
			}
		}
	}

	// ----------------

}

function linkOver(videoId, callName){

	if(callName == 'childDel'){
		$('image_' + videoId).style.borderColor     = DEL_OVER_BGCOLOR;
		$('title_' + videoId).style.backgroundColor = DEL_OVER_BGCOLOR;
		$('title_' + videoId).style.color           = DEL_OVER_COLOR;
	}else if(($('title_' + videoId).href).indexOf('view.php?') != -1){
		$('image_' + videoId).style.borderColor     = RESERVED_OVER_BGCOLOR;
		$('title_' + videoId).style.backgroundColor = RESERVED_OVER_BGCOLOR;
		$('title_' + videoId).style.color           = RESERVED_OVER_COLOR;
	}else{
		$('image_' + videoId).style.borderColor     = OVER_BGCOLOR;
		$('title_' + videoId).style.backgroundColor = OVER_BGCOLOR;
		$('title_' + videoId).style.color           = OVER_COLOR;
	}

	if(list_body.$('view_' + videoId) && callName == null){
		list_body.infoDisplay(videoId);
		list_body.viewOver(videoId, 'parentLink');
	}

}

function linkOut(videoId, callName){

	$('image_' + videoId).style.borderColor     = '';
	$('title_' + videoId).style.backgroundColor = '';
	$('title_' + videoId).style.color           = '';

	if(list_body.$('view_' + videoId) && callName == null){
		list_body.infoInitialize();
		list_body.viewOut(videoId, 'parentLink');
	}
}

function overCheck(videoId){
	globalOverId = videoId;
}

function outCheck(){
	globalOverId = '';
}
