/*
 *	トップページ用 JavaScript
 *	top.js - utf-8
 *
 *	2009-12-10. Hirotaka Yamashita.
 *	update 2011-03-09.	coin-slider対応
 *
 */

/*************************************************************
 *	アニメーション画像クラス
 *************************************************************/
var AnimeElement = function (url, linkUrl) {
	this.view = new Image();
	this.view.src = url;

	if (linkUrl == undefined) {
		this.view.link = null;
	} else {
		this.view.link = linkUrl;
		pos = linkUrl.indexOf("./", 0);
		this.hreftype = "";
		if (pos != 0) {
			pos = linkUrl.indexOf("http://www.hitp.ac.jp", 0);
			if (pos != 0) {
				this.hreftype = "target='_blank'";
			}
		}
	}
/*==================== End Of Class ====================*/
}


/*************************************************************
 *	トップページアニメーションクラス
 *************************************************************/
var TopView = function () {

	//インスタンス変数
	var animeArray = new Array();


	/*
	 *	アニメーション本体
	 */
	var anime = function () {
		$(document).ready(function() {
			$('#indexMenuCenter').coinslider({
				width: 420,  //画像幅
				height: 250, //画像高
				spw: 6,  //画像切替時の横四角数
				sph: 4,  //画像切替時の縦四角数
				effect: 'random', // エフェクト（random, swirl, rain, straight）
		 		navigation: false,
				delay: 6000,
				sDelay: 30, // delay beetwen squares in ms
				links : true,
				hoverPause: false // pause on hover
			});
		});

		var html = "";
		for (i = 0; i < animeArray.length; i++) {
			if (animeArray[i].view.link != null) {
				html += '<a ' + animeArray[i].hreftype + ' href="' + animeArray[i].view.link + '"><img src="' + animeArray[i].view.src + '" /></a>';
			} else {
				html += '<a href="#" target="_blank"><img src="' + animeArray[i].view.src + '" /></a>';
			}
		}
		$('div#indexMenuCenter').html(html);
	}

	/*
	 *	アニメーション開始終了日時予約指定
	 */
	var dateStartEnd = function (imageurl, linkurl, syear, smonth, sday, eyear, emonth, eday) {
		nowDate = new Date ();
		startDate = new Date (syear, smonth - 1, sday);
		endDate = new Date (eyear, emonth - 1, eday);

		if (startDate.getTime() <= nowDate.getTime() && endDate.getTime() >= nowDate.getTime()) {
			animeArray.push(new AnimeElement(imageurl, linkurl));
		}
	}

	/*
	 *	アニメーション開始日時予約指定
	 */
	var dateStart = function (imageurl, linkurl, syear, smonth, sday) {
		nowDate = new Date ();
		startDate = new Date (syear, smonth - 1, sday);

		if (startDate.getTime() <= nowDate.getTime()) {
			animeArray.push(new AnimeElement(imageurl, linkurl));
		}
	}

	/*
	 *	アニメーション終了日時予約指定
	 */
	var dateCheck = function (imageurl, linkurl, eyear, emonth, eday) {
		nowDate = new Date ();
		endDate = new Date (eyear, emonth - 1, eday);

		if (endDate.getTime() >= nowDate.getTime()) {
			animeArray.push(new AnimeElement(imageurl, linkurl));
		}
	}

	/*
	 *	初期化関数（トップページビュー画像の設定）
	 */
	var init = function () {
//元旦
			dateStartEnd ("./2010/images/2012gantan.png", null, 2012, 1, 1, 2012, 1, 11);
//締切
		animeArray.push(new AnimeElement("./2010/images/denki_simekiri1.png", "http://www.hitp.ac.jp/2010/news/topics.html?id=1442"));
//skill view
//		animeArray.push(new AnimeElement("./2010/images/viewAreaSkill.png", "./2010/school/index.html"));
		animeArray.push(new AnimeElement("./2010/images/2011gansyoStart.png", "./2010/entrance/schedule.html"));

//		animeArray.push(new AnimeElement("./2010/images/skillView1.png", null));
//		animeArray.push(new AnimeElement("./2010/images/skillView2.png", null));
//OC view
//		animeArray.push(new AnimeElement("./2010/images/viewOpencampus.png", "./2010/opencampus/opencampus.html"));
//就職view
		animeArray.push(new AnimeElement("./2010/images/viewjob.png", "http://www.hitp.ac.jp/2010/news/topics.html?id=1366"));
//		animeArray.push(new AnimeElement("./2010/images/viewSyuusyoku.png", "http://www.hitp.ac.jp/2010/news/topics.html?id=1181"));
//coolbiz
//		dateCheck ("./2010/images/2011coolbiz.png", "http://www.hitp.ac.jp/2010/news/topics.html?id=1257", 2011, 11, 1);
//HITP Channel view
//		animeArray.push(new AnimeElement("./2010/images/hitpchannelView.png", "./2010/other/hitpchannel/index.html"));
//個別相談view
		animeArray.push(new AnimeElement("./2010/images/viewSoudan.jpg", "./2010/opencampus/kobetu.html"));

//学科View
/*
		animeArray.push(new AnimeElement("./2010/images/viewKentiku.png", "./2010/subject/kentiku/index.html"));
		animeArray.push(new AnimeElement("./2010/images/viewSenkouka.png", "./2010/subject/senkouka/index.html"));
		animeArray.push(new AnimeElement("./2010/images/viewMachi.png", "./2010/subject/machi/index.html"));
		animeArray.push(new AnimeElement("./2010/images/viewDenki.png", "./2010/subject/denki/index.html"));
		animeArray.push(new AnimeElement("./2010/images/viewKikai.png", "./2010/subject/kikai/index.html"));
		animeArray.push(new AnimeElement("./2010/images/viewIt.png", "./2010/subject/it/index.html"));
		animeArray.push(new AnimeElement("./2010/images/viewJyouhou.png", "./2010/subject/jyouhou/index.html"));
		animeArray.push(new AnimeElement("./2010/images/viewAv.png", "./2010/subject/onkyou/index.html"));
*/
//skill view
//		animeArray.push(new AnimeElement("./2010/images/skillView1.png", null));
//		animeArray.push(new AnimeElement("./2010/images/skillView2.png", null));

		for (i = 0; i < animeArray.length; i++) {
			if (animeArray[i].type == 'img' && animeArray[i].view.complete) {
				continue;
			}
		}
		anime ();
	}

	/*
	 *	初期化関数の読み込みが完了するまで待つ
	 */
	this.onloadWait = function () {
		if(init) {
			init();
   		return
	  }
	}


/*==================== End Of Class ====================*/
}


/*************************************************************
 *	トップページ緊急連絡処理
 *************************************************************/
var Risk = function () {
	/*
	 *	緊急連絡読み込み->表示／非表示
	 */
	this.startup = function () {
		var xotree = new XML.ObjTree();
		var objTree = xotree.parseHTTP("./2010/php/getrisk.php");

		if (objTree.risk) {
			var rank = objTree.risk.rank["-value"];
			if (rank == '0') {
				return;
			}
			var title1 = objTree.risk.title1;
			var title2 = objTree.risk.title2;
			var risk = "<p>";
			risk += "<strong>【" + title1 + "】</strong>";
			risk += title2 + ' <a href="./2010/other/risk.html">詳細情報はこちら</a></p>'

			$('div#information').html(risk);
			$('#information').css("display", "block");
		}
	}
//==================== End Of Class ====================
}

/*************************************************************
 *	学科ニュース & HITP トピックス処理 & 在学生向けインフォメーション処理
 *************************************************************/
var NewsTopics = function () {

	/*
	 *	記事データ取得
	 */
	this.getlist = function () {
		var xotree = new XML.ObjTree();
		var objTree = xotree.parseHTTP("./2010/php/getlist.php");	//仮スクリプト

		var html = "";

		var nowDateObj = new Date();
		var nowDate = nowDateObj.getTime();

		if(objTree.news.faculty) {
			if(!(objTree.news.faculty.item instanceof Array)) {
				html = makeSubjectNews(objTree.news.faculty.item, nowDate);
			} else {
				for(var i = 0; i < objTree.news.faculty.item.length; i++) {
					var newsItem = objTree.news.faculty.item[i];
					html += makeSubjectNews(newsItem, nowDate);
				}
			}
		}
		$('#newsdl').html(html);
		//
		html = "";
		if(objTree.news.article) {
			if(!(objTree.news.article.item instanceof Array)) {
				html = makeTopicsNews(objTree.news.article.item, nowDate);
			} else {
				for(var i = 0; i < objTree.news.article.item.length; i++) {
					var newsItem = objTree.news.article.item[i];
					html += makeTopicsNews(newsItem, nowDate);
				}
			}
		}
		$('#topicsdl').html(html);
	}

	/*
	 *	学科ニュース表示HTML生成
	 */
	var makeSubjectNews = function (item, nowDate) {
		if(!item)
			return "";
		var topics  = "<dt>" + item.date + "</dt>";
		topics += "<dd>";

		var dispDate = dateStr2Time(item.date);
		var sabun = nowDate - dispDate;
		if (sabun <= 24 * 3600 * 1000 * 7) {
			topics += '<img class="newIcon" alt="[NEW]" src="./2010/images/newr.gif" height="16" width="42" />';
		} else if (sabun <= 24 * 3600 * 1000 * 14) {
			topics += '<img class="newIcon" alt="[NEW]" src="./2010/images/newg.gif" height="16" width="42" />';
		}

		topics += "<a href=\"./2010/php/news.php?faculty=" + item.code + "&id=" + item.id + "\">";
		topics += "<span class=\"small\">【" + item.name + "】</span>" + item.title + "</a>";
		topics += "</dd>";

		return topics;
	}

	/*
	 *	HITP トピックスHTML生成
	 */
	var makeTopicsNews = function (item, nowDate) {
		if(!item)
			return "";
		var topics  = "<dt>" + item.date + "</dt>";

		topics += "<dd>";

		var dispDate = dateStr2Time(item.date);
		var sabun = nowDate - dispDate;
		if (sabun <= 24 * 3600 * 1000 * 7) {
			topics += '<img class="newIcon" alt="[NEW]" src="./2010/images/newr.gif" height="16" width="42" />';
		} else if (sabun <= 24 * 3600 * 1000 * 14) {
			topics += '<img class="newIcon" alt="[NEW]" src="./2010/images/newg.gif" height="16" width="42" />';
		}
		topics += "<a href=\"./2010/news/topics.html?id=" + item.id + "\">";
		topics += item.title + "</a></dd>";

		return topics;
	}

	/*
	 *	日付オブジェクト変換
	 */
	var dateStr2Time = function (str) {
		var dateArr = str.split('-');
		var dateObj = new Date(dateArr[0], dateArr[1] - 1, dateArr[2]);

		return dateObj.getTime();
	}

	/*
	 *	在学生向けインフォメーション取得
	 */
	this.getInfo = function () {
		var xotree = new XML.ObjTree();
		var objTree = xotree.parseHTTP("./2010/php/getrss.php");	//仮スクリプト
//		var objTree = xotree.parseHTTP("./mtblog/jimu/index.xml");

		var html = "";
		if(objTree.rss.channel) {
			if(!(objTree.rss.channel.item instanceof Array)) {
				html = makeInformation(objTree.rss.channel.item);
			} else {
				for(var i = 0; i < objTree.rss.channel.item.length; i++) {
					var infoItem = objTree.rss.channel.item[i];
					html += makeInformation(infoItem);
				}
			}
		}
		$('#informationdl').html(html);
	}

	/*
	 *	インフォメーションHTML生成
	 */
	var makeInformation = function (item) {
		if(!item)
			return "";

		var info  = '<dt>' + getFormatDate(item.pubDate) + '</dt>';
		info += '<dd><a href="' + item.link + '">';
		info += item.title + '</a></dd>';

		return info;
	}

	/*
	 *	日付文字列生成
	 */
	var getFormatDate = function (dateString) {
		var dateObj = new Date(dateString);
		var year = dateObj.getYear();
		if (year < 1900) {
			year = dateObj.getYear() + 1900;
		};
		var month = '0' + (dateObj.getMonth() + 1);
		var day = '0' + dateObj.getDate();

		var mlen = month.length;
		var dlen = day.length;
		month = month.substr(mlen - 2, 2);
		day = day.substr(dlen - 2, 2);

		return year + '-' + month + '-' + day;
	}


//==================== End Of Class ====================
}

/*************************************************************
 *	学科ニュース & HITP トピックス処理 & 在学生向けインフォメーション処理
 *************************************************************/
var WWWBrowser = function () {
	this.browserCheck = function () {
		var html = '';
		if (Browser2.isBrowser ()) {
			if (!Browser2.isVersion ()) {
				html += '<p>お使いのブラウザでは，ページが正常に表示されない場合があります。';
				html += 'なるべく最新バージョンのブラウザをお使いください。</p>';
			}
		}
		if (!Browser2.isQT () && !Browser2.isFLASH ()) {
			html += '<p>動画の再生には，最新バージョンの <a href="#" onclick="return newPageLink(\'_blank\',\'http://get.adobe.com/jp/flashplayer/\');">Adobe Flash Player</a>';
			html += ' あるいは <a href="#" onclick="return newPageLink(\'_blank\', \'http://www.apple.com/jp/quicktime/download/\');">Quick Time Player</a> が必要です。</p>';
		}
		if (html) {
			$('#browserCheck').html (html);
			$('#browserCheck').css ('display', 'block');
		}
	}
}



//==================== End Of Class ====================


/*========== 実際の処理開始 ==========*/
view = new TopView ();
view.onloadWait();
//
risk = new Risk ();
risk.startup();
//
www2 = new WWWBrowser ();
www2.browserCheck ();
//
newstopics = new NewsTopics ();
newstopics.getlist();
newstopics.getInfo();

var tooltipObj	= new Tooltip ();
tooltipObj.tooltip ("#indexMenuLeft ul a", "_tooltip", 176, 46, 'r');
tooltipObj.tooltip ("#indexMenuRight ul a", "_tooltip", 211, 46, 'l');








