/*
 * ajax.js - Display On Parsing Multiple XML Files
 */
/*** Script Start  ***/
// Function (Main)
// 引数の数とカテゴリの値で処理を振り分ける
dispData = function (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) {
	arg1 = parseInt(arg1);
	
	switch (arguments.length) {
		case 3:
			if(arg1 == 7){
				dispShopping(arg1,arg2,arg3);
				break;
			}else if(arg1 == 9){
				dispTop(arg1,arg2,arg3);
				break;
			}
		case 5:
			dispNews(arg1,arg2,arg3,arg4,arg5);
			break;
		case 6:
			dispSports(arg1,arg2,arg3,arg4,arg5,arg6);
			break;
		case 8:
			dispProgram(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
			break;
		case 9:
			dispEvent(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
			break;
		case 10:
			dispInfo(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);
			break;
		case 11:
			dispRecipe(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
			break;
		default:
	}
}

// 「番組について知りたい」データ表示用関数
dispProgram = function (category, keyword, genre, title_kana, week_day, bangumihyo, search, page) {
	// カテゴリ別にdivの設定を実施
	if(search==1){ InitialOfInitialProcess(category) };
	InitialProcess(category);
	
	// 検索結果取得
	// キーワードが選択されていない場合には、検索システム側を発動しない
	if(!isEmpty(keyword)){
		search_func(category, keyword, "", genre, "", "", "", "", search, page, "", "", "", "", "", "", title_kana, week_day, bangumihyo, "");
	}
	
	// Parse Each XMLs
	// XML URL Path
	var url  = './xml/category_programs.xml';
	var http = new JKL.ParseXML(url);
	var func = "";
	var set_recommend = false;
	
	// 番組一覧用HTML出力関数
	func = function(data){
		var str = '';
		var search_data;
		var search_param;
		
		if(isEmpty(keyword)){
			// 検索条件が何であるかを判別する。
			if(!isEmpty(genre)){
				search_data  = 'genre';
				search_param = genre;
			}else if(!isEmpty(title_kana)){
				search_data  = 'title_kana';
				search_param = title_kana;
			}else if(!isEmpty(week_day)){
				search_data  = 'week_day';
				search_param = week_day;
			}else if(!isEmpty(bangumihyo)){
				search_data  = 'bangumihyo';
				search_param = bangumihyo;
			}else{
				search_data  = 'no_word';
				search_param = '';
			}
			if(search_data == 'bangumihyo'){
				str += dispProgramSchedule(search_param);
			}else{
				str += dispProgramList(category, keyword, genre, title_kana, week_day, bangumihyo, search, page, search_data, search_param, data.itemList);
			}
			// HTML書き込み(div id='set_data')
			var element = document.getElementById('set_data');
			if(element){ document.getElementById('set_data').innerHTML = str };
			
			// 「オススメ」用HTML出力関数
			var banner = new LeftBanner();
			banner.display(category, genre);
		}
	}
	http.async(func);
	http.parse();
}

// 「ニュース＆天気」データ表示用関数
dispNews = function (category, genre, yyyymmdd, search, page) {
	// カテゴリ別にdivの設定を実施
	if(search==1){InitialOfInitialProcess(category)};
	InitialProcess(category);
	
	// Parse Each XMLs
	// XML URL Path
	var url  = './xml/category_news.xml';
	var http = new JKL.ParseXML(url);
	var func = "";
	
	// ニュース表示用HTML出力関数
	// 引数(category, genre, yyyymmdd, search, page)
	func = function(data){
		var count_news = 0;
		var str = '';
		var pre_str = '';
		
		// システム日付取得 + フォーマット設定(yyyymmdd)
		var this_yyyymmdd;
		var search_date = yyyymmdd.toString();
		this_yyyymmdd   = getDateFormat(0, '');
		
		// ジャンルの判別
		// genre = 1 の場合、全表示
		if(genre == 1){
			str += setTopNewsList(data, category, genre, yyyymmdd, search, page, this_yyyymmdd);
		// genre = 1 以外の場合、特定のカテゴリのデータのみ表示
		}else{
			str += setGenreNewsList(data, category, genre, yyyymmdd, search, page, search_date);
		}
		// HTML書き込み(div id='set_data')
		document.getElementById('set_data').innerHTML = str;
		
		// 「オススメ」用HTML出力関数
		var banner = new LeftBanner();
		banner.display(category, '');
	}
	http.async(func);
	http.parse();
}

// 「スポーツを見る」データ表示用関数
dispSports = function(category, keyword, category_sports, genre_program, search, page){
	// カテゴリ別にdivの設定を実施
	if(search==1){InitialOfInitialProcess(category)};
	InitialProcess(category);
	
	// 検索結果取得
	// コーナー初期選択時には、検索システム側を発動しない
	if(!(keyword == '' && category_sports == 1 && genre_program == '')){
		search_func(category, keyword, genre_program, "", "", "", "", "", search, page, category_sports, "", "", "", "", "", "", "", "", "");
	}
	
	// 「スポーツ放送予定」内引数一覧
	var sports_param = new Array();
	sports_param[0]  = category;
	sports_param[1]  = keyword;
	sports_param[2]  = category_sports;
	sports_param[3]  = genre_program;
	sports_param[4]  = search;
	sports_param[5]  = page;
	
	if(category_sports==1){
		var div_str = '';
		div_str += '<div id="news"></div>';
		div_str += '<div id="program"></div>';
		
		// HTML書き込み(div id='set_data')
		document.getElementById('set_data').innerHTML = div_str;
		// ニュースデータの設定
		setSportsNews(sports_param);
		setSportsProgram();
	}
	// 「オススメ」用HTML出力関数
	var banner = new LeftBanner();
	banner.display(category, '');
}

// 「番組が紹介した情報」データ表示用関数
dispInfo = function(category, keyword, genre_program, genre, area, startdate, enddate, genre_gurume, search, page){
	// カテゴリ別にdivの設定を実施
	if(search==1){InitialOfInitialProcess(category)};
	InitialProcess(category);
	
	// 検索結果取得
	search_func(category, keyword, genre_program, genre, area, startdate, enddate, genre_gurume, search, page, "", "", "", "", "", "", "", "", "", "");
	
	// 「オススメ」用HTML出力関数
	var banner = new LeftBanner();
	banner.display(category, '');
}

// 「番組が紹介したレシピ」データ表示用関数
dispRecipe = function(category, keyword, genre_program, genre_type, genre_main_food, genre_cook, genre_theme,
					  startdate, enddate, search, page){
	// カテゴリ別にdivの設定を実施
	if(search==1){InitialOfInitialProcess(category)};
	InitialProcess(category);
	
	// 検索結果取得
	search_func(category, keyword, genre_program, "", "", startdate, enddate, "", search, page, "", genre_main_food, genre_type, genre_cook, genre_theme, "", "", "", "", "");
	
	// 「オススメ」用HTML出力関数
	var banner = new LeftBanner();
	banner.display(category, '');
}

// 「イベント情報を調べる」データ表示用関数
dispEvent = function(category, keyword, startdate, enddate, event_sisyakai_flg, genre, area, search, page){
	// カテゴリ別にdivの設定を実施
	if(search==1){InitialOfInitialProcess(category)};
	InitialProcess(category);
	
	// FBSイベント、試写会フラグ設定
	if(event_sisyakai_flg == '1-3') {
		event_sisyakai_flg = '1,3';
	}
	
	// 検索結果取得
	search_func(category, keyword, "", genre, area, startdate, enddate, "", search, page, "", "", "", "", "", event_sisyakai_flg, "", "", "", "");
	
	// 「オススメ」用HTML出力関数
	var banner = new LeftBanner();
	banner.display(category, '');
}

// 「ショッピングページ」データ表示用関数
dispShopping = function (category, search, page) {
	var filename = location.pathname;
	var file_len = location.pathname.length;
	var len  = filename.lastIndexOf("/");
	filename = filename.substring(len+1,file_len);
	
	// カテゴリ別にdivの設定を実施
	InitialOfInitialProcess(category);
	InitialProcess(category);
}

//「トップページ」データ表示用関数
dispTop = function (category, search, page) {
	var filename = location.pathname;
	var file_len = location.pathname.length;
	var len  = filename.lastIndexOf("/");
	filename = filename.substring(len+1,file_len);
	
	// カテゴリ別にdivの設定を実施
	InitialProcess(category);
}
