﻿
/* ------------------------------------------------------------- 
　　【ログイン表示用】
------------------------------------------------------------- */
function showLoginState() {
	$.ajax({
		type: 'POST',
		async: true,
		cache: false,
		url: 'http://www.kk2.ne.jp/api/index.cfm',
		data: { 'fuseaction' : 'logincheck' },
		dataType: 'json',
		error: function() {
			alert('ログイン状況の確認に失敗しました');
			return false;
		},
		success: function(data) {
			if(data.login == 'ip') {
				$('div#loginCheckBox').html('<div id="greeting">こんにちは <span id="userName">'+data.name+'</span>さん</div><span id="userLogin"><a href="https://www.kk2.ne.jp/soft/index.cfm?fuseaction=login">ログイン</a></span><span id="userEntry"><a href="https://www.kk2.ne.jp/soft/index.cfm?fuseaction=entry_main">WEB会員登録</a></span>');
				$('div#contentsContainer').load('http://www.kk2.ne.jp/common/top_category.html');
			} else if(data.login == 'ok') {
				$('div#loginCheckBox span#userName').text(data.name);
				$('div#contentsContainer').load('http://www.kk2.ne.jp/common/top_category.html');
			} else if(data.login == 'ng') {
				$('div#loginCheckBox').html('<span id="userLogin"><a href="https://www.kk2.ne.jp/soft/index.cfm?fuseaction=login">ログインしてください</a></span>');
				$('div#contentsContainer').load('http://www.kk2.ne.jp/common/top_loginmenu.html');
			} else {
				$('div#loginCheckBox').html('<span id="userLogin"><a href="https://www.kk2.ne.jp/soft/index.cfm?fuseaction=login">ログインしてください</a></span>');
				$('div#contentsContainer').load('http://www.kk2.ne.jp/common/top_loginmenu.html');
			}
		}
	});
}


/* ------------------------------------------------------------- 
　　【画像オンマウス処理】
------------------------------------------------------------- */
function initImgTag() {
	if($(document).find('img.hovered').length);
	$(document).find('img.hovered').hover(function() {
		var imgSrc = $(this).attr('src').replace(/_on/g, "");
		var imgDot = imgSrc.lastIndexOf('.');
		var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
		$(this).attr('src',onSrc);
	},function() {
		var imgOff = $(this).attr('src').replace(/_on/g, "");
		$(this).attr('src',imgOff);
	});
}

/* ------------------------------------------------------------- 
　　【カテゴリリスト画像オンマウス処理】
------------------------------------------------------------- */
function initCategoryList() {
	$('#categoryList ul').find('li').hover(function() {
		var imgSrc = $(this).find('img').not('.listTitle').attr('src').replace(/_on/g, "");
		var imgDot = imgSrc.lastIndexOf('.');
		var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
		$(this).find('img').not('.listTitle').attr('src',onSrc);
	},function() {
		var imgOff = $(this).find('img').not('.listTitle').attr('src').replace(/_on/g, "");
		$(this).find('img').not('.listTitle').attr('src',imgOff);
	});

	$('#programList ul').find('li').hover(function() {
		var imgSrc = $(this).find('img').not('.listTitle').attr('src').replace(/_on/g, "");
		var imgDot = imgSrc.lastIndexOf('.');
		var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
		$(this).find('img').not('.listTitle').attr('src',onSrc);
	},function() {
		var imgOff = $(this).find('img').not('.listTitle').attr('src').replace(/_on/g, "");
		$(this).find('img').not('.listTitle').attr('src',imgOff);
	});
}

/* ------------------------------------------------------------- 
　　【セミナースケジュール表示用】
------------------------------------------------------------- */
function initContentsList(num) {
	$.ajax({
		type: 'POST',
		async: true,
		cache: false,
		url: 'http://www.kk2.ne.jp/api/index.cfm',
		data: { 'fuseaction' : 'competencylist', 'program_chuu' : 'KK2ライブセミナー,KK2文化プログラム', 'maxrow' : num },
		dataType: 'xml',
		error: function() {
			try {
				var xmlDOC = new ActiveXObject('Microsoft.XMLDOM');
				xmlDOC.async = true;
				xmlDOC.onreadystatechange = function() {
					XMLParser(xmlDOC);
				}
				xmlDOC.load('contents.xml');
			} catch(e) {
				//alert('xml load error');
				showErrorMsg();
			}
		},
		success: XMLParser
	});
}

function showErrorMsg() {
	$('#scheduleBody').find('tr','th').hide();
	$('#scheduleBody').append(
		'<tr><td width="100%">スケジュールデータの読込に失敗しました。<br>ページの再読込を行ってください。</td></tr>'
	);
}

function XMLParser(xml) {
	var tempObj = new Object;
	$(xml).find('item').each(function(i,elem) {
		//ファイル名取得
		tempObj.fileName = $(this).find('file_name').text();
		
		//作成日取得後、年月日ごとに分ける（日がないときは無視）
		tempObj.semDateL = $(this).find('no').text();
		var year = tempObj.semDateL.substr(0,4);
		var month = '/' + tempObj.semDateL.substr(4,2);
		var day = ''
		if (tempObj.semDateL.length > 7) {
			day = '/' + tempObj.semDateL.substr(6,2);
		}
		tempObj.semDate = year + month + day;
		
		//講座名取得
		tempObj.title = $(this).find('title').text();
		
		//講座URL取得
		tempObj.url = $(this).find('url').text();
		
		//ステータスアイコン取得
		var stat = $(this).find('status').text();
		tempObj.status = addStatusIcon(stat);
		
		
		//表の作成
		$('#scheduleBody').append(
			'<tr id="content' + i + '" class="sem_content">' +
			'<td><div class="sem_date">' +
			tempObj.semDate + 
			'</div></td><td>' +
			'<div class="sem_title">' +
			'<a href="' + tempObj.url + '" target="_self">' +
			tempObj.title +
			'</a></div>' +
			'</td><td>' +
			'<div class="sem_status">' +
			'<a href="' + tempObj.url + '" target="_self">' +
			tempObj.status +
			'</a></div>' +
			'</td></tr>'
		);
	});
	
	//hover追加
	$('#scheduleBody div.sem_status').find('img').hover(function() {
		var imgSrc = $(this).attr('src').replace(/_on/g, "");
		var imgDot = imgSrc.lastIndexOf('.');
		var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
		$(this).attr('src',onSrc);
	},function() {
		var imgOff = $(this).attr('src').replace(/_on/g, "");
		$(this).attr('src',imgOff);
	});
	
	//行の色分け
	$('#scheduleBody').find("tr").css("height","auto");
	$('#scheduleBody').find("tr:odd").css("background-color","#ffffff");
	$('#scheduleBody').find("tr:even").css("background-color","#f6f6f6");
}

function addStatusIcon(stat) {
	var st = stat;
	
	switch(st){
	
	case '受付中' : 
		st = '<img src="../images/contents/state01s.gif" alt="申し込み受付中">';
		return st;
		break;
	
	case '視聴可' : 
		st = '<img src="../images/contents/state02s.gif" alt="映像視聴可">';
		return st;
		break;
	
	case '終了' : 
		st = '<img src="../images/contents/state03s.gif" alt="終了">';
		return st;
		break;
	
	case '中止' : 
		st = '<img src="../images/contents/state04s.gif" alt="中止">';
		return st;
		break;
	
	case '延期' : 
		st = '<img src="../images/contents/state05s.gif" alt="延期">';
		return st;
		break;

	case '準備中' : 
		st = '<img src="../images/contents/state06s.gif" alt="準備中">';
		return st;
		break;
	
	case '受付終了' : 
		st = '<img src="../images/contents/state07s.gif" alt="受付終了">';
		return st;
		break;
	}
}

/* ------------------------------------------------------------- 
　　【インフォメーション表示用】
------------------------------------------------------------- */

//行の色分け
function initInfo() {
	$('#information').find("li:even").css("background-color","#ffffff");
	$('#information').find("li:odd").css("background-color","#f6f6f6");
}


/* ------------------------------------------------------------- 
　　【バナーループ表示処理】
------------------------------------------------------------- */

function rotateLinkBanners(){ 

	$('#linkBanners li').hover(function() {
		var $linkImg = $(this).find('img');
		var imgSrc = $linkImg.attr('src').replace(/_on/g, "");
		var imgDot = imgSrc.lastIndexOf('.');
		var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
		$linkImg.attr('src',onSrc);
	},function() {
		var $linkImg = $(this).find('img');
		var imgOff = $linkImg.attr('src').replace(/_on/g, "");
		$linkImg.attr('src',imgOff);
	});

	var speed = 500;
	var interval = 3000;
	var scrollDirection= 'left';
	var imgCount = $('#linkBanners li').length;
	
	if(imgCount <= 5) {
		$('#controlPrev img').hide();
		$('#controlNext img').hide();
		$('#linkBannersWrapper').css('border','0');
		$('#linkBannersWrapper').css('background-color','#fff');
		$('#linkBannersWrapper').css('float','none');
		$('#linkBanners li').css('float','none');
		$('#linkBanners li').css('margin','0px 4px');
		return false;
	} 
	
	
	//var imgWidth = $('#linkBanners li').outerWidth;
	var imgWidth = 180;
	
	$('#linkBanners').css('width',(imgCount+2)*imgWidth+'px');
	//$('#linkBanners').css('left','-'+imgWidth+'px');
	
	var error = false;

	function set_timer() {
		timerID = setInterval(function() {
			if(scrollDirection == 'left') {
				timer_action_toL();
			} else if(scrollDirection == 'right') {
				timer_action_toR();
			} else {
				timer_action_toL();
			}
		},interval);
	}
	
	function clear_timer() {
		clearInterval(timerID);
	}

	//左スクロール
	function timer_action_toL() {
		if (error == false) {
			error = true;
			cl = $('#linkBanners li:first').clone(true);
			$('#linkBanners li:last').after(cl);
			$('#linkBanners').animate({'left': '-'+imgWidth+'px'},{
				queue : true,
				duration : 'speed',
				complete : function() {
					$('#linkBanners li:first').remove();
					$('#linkBanners').css('left','0px');
					error = false;
				}
			});
			$('#linkBanners li:first').css('z-index','-10');
		} else {
			error = true;
		}
	}

	//右スクロール
	function timer_action_toR() {
		if (error == false) {
			error = true;
			cl = $('#linkBanners li:last').clone(true);
			$('#linkBanners').css('left','-'+imgWidth+'px');
			$('#linkBanners li:first').before(cl);
			$('#linkBanners').animate({'left':'0px'},{
				queue : true,
				duration : 'speed',
				complete : function() {
					$('#linkBanners').css('left','0px');
					$('#linkBanners li:last').remove();
					
					error = false;
				}
			});
			$('#linkBanners li:last').css('z-index','-10');
		} else {
			error = true;
		}
	}

	$('#controlPrev').click(function(){
		scrollDirection = 'left';
		if(error == false) {
			timer_action_toL();
		} else {
			error = true;
		}
	});

	$('#controlPrev').hover(function(){
		clear_timer();
	},function(){
		set_timer();
	});

	$('#controlNext').click(function(){
		scrollDirection = 'right';
		if(error == false) {
			timer_action_toR();
		} else {
			error = true;
		}
	});

	$('#controlNext').hover(function(){
		clear_timer();
	},function(){
		set_timer();
	});


	$('#linkBannersWrapper').hover(function() {
		clear_timer();
	},function() {
		set_timer();
	});
	
	set_timer();
}


