/*
Movie Walker JavaScript - jQuery areaUI.css
http://movie.walkerplus.com/
 *
Copyright (c) KADOKAWA MARKETING ALL RIGHTS RESERVED.
 *
Created: Yuya Amano - 2009-08-28 11:40
Revision: -
*/

//映画上映スケジュールリスト
(function ($) {
	$.fn.areaUI = function(){
		//マウスオーバーでCLOSEアイコン表示クリックで削除
		$('#title_selectedFolder li').hover(function(){
			$(this).addClass('hover');
		},function(){
			$(this).removeClass('hover');
		}).click(function(){
			showAreaTheatersTop(this);
		});

		//フォルダに一つもなければ非表示
		var liNum = $("#title_selectedFolder li").length;
		if( liNum < 1){
			$('#title_selectedFolder').hide();
		}else{
			$('#title_selectedFolder').slideDown();
		}

		//リスト部分のクリックイベント
		$('#areaList [id^=tList_]').attr('href','javascript:void(0);').hover(function(){
			$(this).addClass('hover');
		},function(){
			$(this).removeClass('hover');
		}).click(function(){
			if($(this).hasClass('added')){
				
				selectedFolderDelete(this);
				return;
			}
			selectedFolderAdd(this);
		});

		//追加された時のテキストだけ変えるやつ
		function changeText(jObj){
			var id = jObj.attr('id').split('_')[1];
			//すでに追加されていれば何もしない
			if(jObj.hasClass('added')){
				//ページ内リンクしたいね。
				return false;
			}
			jObj.addClass('added').unbind('click').unbind('hover').click(function(){
				selectedFolderDelete(this);
			});
		}

		//リストから新規追加する時の関数
		function selectedFolderAdd(elem){

			var targObj = $(elem);
			var text = targObj.text();
			if(changeText(targObj)){
				return;
			}

			var id = targObj.attr('id').split('_')[1];

			//選択フォルダ内にDOM作成、イベントを追加
			$('#title_selectedFolder ul').append('<li id="selectArea_'+ id +'">'+ text +'</li>').contents('#selectArea_' + id).hover(function(){
				$(this).addClass('hover');
			},function(){
				$(this).removeClass('hover');
			}).click(function(){
				showAreaTheatersTop(this);
			});

			var compareObj = new Array();
			//選択フォルダ内にあるリストエリアを取得
			$('#title_selectedFolder ul li').each(function(){
				var str = this.id.split('_')[1];
				compareObj[str] = true;
			});

			//リストエリアで比較して、コンテンツから選択されていない全てのコンテンツを削除
			$('#theaterList_wrap .theaterBox ').css('display','none').each(function(){
				var targObj = null;
				var id = this.id;
				//選択フォルダにあるものは表示
				if(compareObj[id]){
					targObj = $(this);
					targObj.fadeIn('slow');
				}
			});

			//選択された順番に上から表示
			for(i in compareObj){
				var temp = $('#'+i).get(0);
				$('#'+i).remove();
				$('#theaterList_wrap').prepend(temp);
			}
			//選択フォルダが非表示であれば、表示
			if($('#title_selectedFolder').css('display') == 'none'){
				$('#title_selectedFolder').slideDown('slow');
			}
		}

		//選択フォルダボックス内のリンクをクリックした時のコンテンツ並びかえ
		function showAreaTheatersTop(elem){
			var id = elem.id.split('_')[1];
			var temp = $('#'+id).get(0);
			$('#'+id).remove();
			$('#theaterList_wrap').prepend(temp);
		}

		//選択フォルダボックスに入っているエリアを削除する関数
		function selectedFolderDelete(elem){
			var id = elem.id.split('_')[1];
			//テキストを取得して、リストのテキストを元に戻す
			$('#tList_'+ id).removeClass('added').unbind('click').click(function(){
				selectedFolderAdd(this);
			});
			//セレクトフォルダのDOMから削除
			var targElem = $('#selectArea_' + id);
			var liNum = targElem.parent().children().length;
			targElem.remove();
			if(liNum < 2){
				$('#title_selectedFolder').slideUp('slow');
				$('#theaterList_wrap .theaterBox').show();
			}else{
				//コンテンツから削除
				$('#' + id).slideUp('slow');
			}
		}
	};

})(jQuery);






$(document).ready(function(){
	$.fn.areaUI();
});

