﻿
//左バナーランダム配置

function setBanner(args) {
	
	var tempArr = new Array();
	var temp = '';
	var timeoutNum;
	var NumOfDisplay = Math.min(args.length,5);
		
	//表示数分ランダム数字を生成
	for(var i = 0; i < NumOfDisplay; i++) {
		var tempFlg = false;
		var randomNum = Math.floor ( Math.random () * ( args.length ) );
		//既に生成済みの数字とかぶっていないかチェック
		for(var j = 0; j < tempArr.length; j++) {
			if(tempArr[j] == randomNum) {
				tempFlg = true;
				i--;
				break;
			}
		};
		//生成済みの数字とかぶっていなければ、その数字を配列に格納
		if(!tempFlg) {
			tempArr.push(randomNum);
		};
	}
	
	//配列に格納された数字を元にデータを生成
	for(var i = 0; i < tempArr.length; i++) {
		temp += '<div><a href="check/redirect_cnt.php?url=' + $(args[tempArr[i]]).attr("url") + '" target="_blank"><img src="' + $(args[tempArr[i]]).attr("src") + '" /><br>' + $(args[tempArr[i]]).text() + '</a></div>'
	}
	//生成されたデータをターゲット内のhtmlに反映
	$(".left-support #leftBanner").html(temp);
	$(".left-support #leftBanner div").css('marginBottom', '15px').css('marginTop', '10px');
	$(".left-support #leftBanner div img").css('marginBottom', '5px');
	
	//エリアを再表示
	$(".left-support #leftBanner").fadeIn(500);
	//インターバルを設定
	clearTimeout(timeoutNum);
	timeoutNum = setTimeout(function(){changeBanner(args)},5000);
};

//左バナー切り替えトリガ
function changeBanner(args) {
	$(".left-support #leftBanner").fadeOut(500, function(){setBanner(args)});
};

//ホテル用トピックス生成
function setHotelTopics(args) {
	if($("#hotelTopicsBox")) {
		var temp = '';
		//配列に格納された数字を元にデータを生成
		for(var i = 0; i < args.length; i++) {
			temp += '<div class="hotelTopicsRecord"><table><tr><td id="date">' + $(args[i]).attr("date") + '</td><td id="txt">' + $(args[i]).text() + '</td></tr></table></div>'
		}
		//
		$("#hotelTopicsBox #hotelTopicsArea").html(temp);
	};
};



//xmlデータ解析用
function parseXml(xml,parseItem,cb) {
	var returnObj = new Object();
	var temp = '';
	var tempArr = new Array();
	if(parseItem.tag) {
		switch(parseItem.file) {
			
			case "leftbanner":
				tempArr = xml.getElementsByTagName(parseItem.tag);
				setBanner(tempArr);
				break;
			
			case "hotelTopics":
				tempArr = xml.getElementsByTagName(parseItem.tag);
				setHotelTopics(tempArr);
				break;
				
			default:
			alert("error:85");
				break;
		};
		if(cb){
			if(cb.func){
				cb.func.apply(cb.scope, [cb.args]);
			};
		};
	} else {
		return false;	
	};
};

//左バナーデータ読み込み
function getBannerData(url,num) {
	if(num < 5) {
		var xmlObj = $.ajax({
			url : url,
			type : "get",
			success : function(data){
				parseXml(data,{file:"leftbanner", tag:"banner", node:true, txt:true});
			},
			error : function(){
				num++;
				getBannerData(url,num);
			}
		});
	} else {//5回読み込みに失敗したらアラート表示
		alert("Banner data is not Found " + num);
		return false;
	};
};

function getData(url, num, file, tag) {
	if(num < 5) {
		var xmlObj = $.ajax({
			url : url,
			type : "get",
			success : function(data){
				parseXml(data,{file:file, tag:tag, node:true, txt:true});
			},
			error : function(){
				num++;
				getBannerData(url,num);
			}
		});
	} else {//5回読み込みに失敗したらアラート表示
		alert("Banner data is not Found " + num);
		return false;
	};
}



//
$(function init(){
	$(".left-support #leftBanner").fadeOut(5);
	//getBannerData("banner.php?categoryId=" + categoryId,0);
	getBannerData("http://www.hahanohi.com/haha_dat/leftHotelBanner.xml",0);
	getData("http://www.hahanohi.com/haha_dat/hotelTopics.xml",0,"hotelTopics","topic");

});





