
//左バナーランダム配置
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="' + $(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)});
};

//bottom企業バナーランダム配置
function setBanner2011(args) {
	
    // インターバル用の変数
	var timeoutNum;
    // 企業バナーの表示総数を取得する
    var banner_num = $("p.corp_img").length;
    
    if (banner_num > 0) {
	    // クラス名から1行あたりの列数を取得する
    	var column_num = $("p.corp_img").parent().eq(0).attr("class").slice(4);
    	// バナーの表示総数と1行あたりの列数から行数を取得する
    	var row_num = $("p.corp_img").length / column_num;
    	// バナーのランダム数値
    	var randomNum;
    	// 重複フラグ（trueにした場合1画面に2つまで同じバナーを表示することを許可する）
    	var dupli_flg = false;
    	// バナーの総数が1列分の数よりも少ない場合は強制的に重複フラグをtrueにする
    	if (args.length < column_num) {
        	dupli_flg = true;
    	}
    	// バナーのフェードイン・アウトの速度
    	var fade_speed = 600;
    	// バナーを切り替える処理の実行感覚
    	var banner_interval = 2000;

    	// ループ用変数
    	var check_flg = true;    
    	var cnt = 0;
    	// 重複チェックから抜けるまで何度も処理する
    	while (check_flg) {
        	// ランダム値の取得
        	randomNum = Math.floor(Math.random() * (args.length));
        
        	// 重複チェック
        	$("p.corp_img ~ p").each(function() {
            	if ($(this).text() != $(args[randomNum]).text()) {
                	cnt++;
            	}
        	});
        	if (dupli_flg) {
            	if (cnt >= banner_num - 1) {
                	check_flg = false;
            	}
        	} else {
            	if (cnt >= banner_num) {
                	check_flg = false;
            	}
        	}
        	if (check_flg) {
            	cnt = 0;
        	}
        	// debug用
        	//check_flg = false;
	    }
    
    	// どのバナーを変更するかをランダムで決める
    	targetNum = Math.floor(Math.random() * banner_num);
    
    	// 入れ替えるバナーの中身をXML(args)から生成する
    	var img_html = '<a href="' + $(args[randomNum]).attr("url") + '" target="_blank"><img src="' + $(args[randomNum]).attr("src") + '" width="140" height="35" /></a>';
    	var name_html = '<a href="' + $(args[randomNum]).attr("url") + '" target="_blank">' + $(args[randomNum]).text() + '</a>';
    
    	
    	// 企業バナーと企業名をfadeOutさせて消す
    	$("p.corp_img:eq("+targetNum+") img, p.corp_name"+column_num+":eq("+targetNum+")").fadeOut(fade_speed, function() {
        	//console.log('callback');
        	// fadeOutが完了したら、企業バナーと企業名を入れ替える
        	$("p.corp_img:eq("+targetNum+")").html(img_html);
        	$("p.corp_name"+column_num+":eq("+targetNum+")").html(name_html);
        
        	// 一度非表示にしないとfadeInの効果が出ないので、画像を非表示にする
        	$("p.corp_img:eq("+targetNum+") img").hide();
        
        	// 企業バナーと企業名をfadeInで表示する
        	$("p.corp_img:eq("+targetNum+") img,  p.corp_name"+column_num+":eq("+targetNum+")").fadeIn(fade_speed);
    	});
    
    	// インターバルを設定
    	setTimeout(function(){
        	setBanner2011(args);
    	}, banner_interval);
    }
}

//topImage用マウスオーバーエフェクト
function imgOv(obj) {
	$(obj).fadeTo(300, 0.7);
};
//topImage用マウスアウトエフェクト
function imgOu(obj) {
	$(obj).fadeTo(300, 1.0);
};

function mycarousel_itemLoadCallback(carousel, state){
    for (var i = carousel.first; i <= carousel.last; i++) {
        if (carousel.has(i)) {
            continue;
        };
        if (i > mycarousel_itemList.length) {
            break;
        };
        carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[i-1]));
    };
};

//xmlデータ解析用
function parseXml(xml,parseItem,cb) {
	var returnObj = new Object();
	var temp = '';
	var tempArr = new Array();
	if(parseItem.tag) {
		switch(parseItem.tag) {
			case "topic":
				tempArr = xml.getElementsByTagName("topic");
				for(var i = 0; i < tempArr.length; i++) {
                    //console.log(tempArr[i]);
					//temp += '<div id="topicNode' + $(tempArr[i]).attr("id") + '" class=news_style  rel="">';
					//temp += '<table cellpadding="0" cellspacing="0"><tr><td width="20" align="left">';
					//temp += '<img src="haha_dat/images/icon0' + $(tempArr[i]).attr("type") + '.gif"/></td>';
					//temp += '<td align="left" valign="top"><a href="' + $(tempArr[i]).attr("url") + '">';
					//temp += $(tempArr[i]).attr("date")+ '　';
					//temp += contArr[$(tempArr[i]).attr("type")] + 'コンテンツに「';
					//temp += $(tempArr[i]).text() + '」を追加しました。';
					//temp += '</a>';
					//temp += '</td></tr></table></div>';
                    
                    // 2011
                    temp += '<div class="news_entry">';
                    temp += '<p class="date">'+$(tempArr[i]).attr("date")+'</p>';
                    temp += '<p class="text">';
                    temp += '<img src="haha_dat/images/icon0' + $(tempArr[i]).attr("type") + '.gif"/>';
                    temp += '<a href="' + $(tempArr[i]).attr("url") + '">' + $(tempArr[i]).text() + '</a>';
                    temp += '</p>';
                    if (i+1 < tempArr.length) {
                        temp += '<div class="clear"></div><hr />';
                    }
                    temp += '</div>';
				};
				
				//$("#mynews").html(temp);
                $("#new_is_txt").html(temp);
                
                /*
				var newsoption1 = {
					firstname: "mynews",
					secondname: "newsdisp",
					//thirdname:"news_display",
					fourthname:"topic_button",
					newsspeed:'4000',
					effectis:'1',
					mouseover:true
				}
				$.init_news(newsoption1);
                */
				break;
				
			case "pic":
				tempArr = xml.getElementsByTagName("pic");
				for(var i = 0; i < tempArr.length; i++) {
					temp += '<div id="picNode' + $(tempArr[i]).attr("id") + '" class=news_style  rel="">';
					temp += '<a href="' + $(tempArr[i]).attr("url") + '">';
					temp += '<img src="' + $(tempArr[i]).attr("src") + '" />';
					temp += '</a></div>';
				};
				
				$("#myportfolio").html(temp);
				
				var newsoption2 = {
					firstname: "myportfolio",
					secondname: "portfolio",
					//thirdname:"news_display",
					fourthname:"pic_button",
					newsspeed:'8000',
					effectis:'0',
					mouseover:true
				}
				$.init_news(newsoption2);
				break;
				
			case "banner":
				tempArr = xml.getElementsByTagName("banner");
				//setBanner(tempArr);
				setBanner2011(tempArr);
				break;
				
			case "event":
				tempArr = xml.getElementsByTagName("event");
				for(var i = 0; i < tempArr.length; i++) {
					var tempObj = new Object();
					tempObj.url = $(tempArr[i]).attr("src");
					tempObj.title = $(tempArr[i]).attr("title");
					tempObj.link = $(tempArr[i]).attr("url");
					tempObj.imgclass = 'mb05';
					tempObj.mov = "changeImage(this,'o');";
					tempObj.mou = "changeImage(this,'n');";
					tempObj.text = $(tempArr[i]).text();
					mycarousel_itemList.push(tempObj);
				};
				
				$('#mycarousel').jcarousel({
					size: mycarousel_itemList.length,
					scroll: 1,
					itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback}
				});
				
				break;
				
			default:
			alert("error:85");
				break;
		};
		if(cb){
			if(cb.func){
				cb.func.apply(cb.scope, [cb.args]);
			};
		};
	} else {
		return false;	
	};
};

//topImageデータ読み込み
function getPicData(url,num) {
	if(num < 5) {
		var xmlObj = $.ajax({
			url : url,
			type : "get",
			success : function(data){
				parseXml(data,{tag:"pic", node:true, txt:false});
			},
			error : function(){
				num++;
				getPicData(url,num);
			}
		});
	} else {//5回読み込みに失敗したらアラート表示
		alert("pic data is not Found " + num);
		return false;
	};
};
//topicsデータ読み込み
function getTopicData(url,num) {
	if(num < 5) {
		var xmlObj = $.ajax({
			url : url,
			type : "get",
			success : function(data){
				parseXml(data,{tag:"topic", node:true, txt:true});
			},
			error : function(){
				num++;
				getTopicData(url,num);
			}
		});
	} else {//5回読み込みに失敗したらアラート表示
		alert("topic data is not Found " + num);
		return false;
	};
};
//左バナーデータ読み込み
function getBannerData(url,num) {
	if(num < 5) {
		var xmlObj = $.ajax({
			url : url,
			type : "get",
			success : function(data){
				parseXml(data,{tag:"banner", node:true, txt:true});
			},
			error : function(){
				num++;
				getBannerData(url,num);
			}
		});
	} else {//5回読み込みに失敗したらアラート表示
		alert("Banner data is not Found " + num);
		return false;
	};
};

//特集カルーセルデータ読み込み
function getSpecialData(url,num) {
	if(num < 5) {
		var xmlObj = $.ajax({
			url : url,
			type : "get",
			success : function(data){
				parseXml(data,{tag:"event", node:true, txt:true});
			},
			error : function(){
				num++;
				getSpecialData(url,num);
			}
		});
	} else {//5回読み込みに失敗したらアラート表示
		alert("SpecialEvent data is not Found " + num);
		return false;
	};
};

//トピック用カテゴリテキスト
var contArr = ["特集", "グルメ＆スイーツ", "くらし・生活", "美・ファッション", "健康", "癒し", "旅行", "体験", "フラワー"];
//特集カルーセル用レコード
var mycarousel_itemList = new Array();


function mycarousel_getItemHTML(item){
    return '<div class="scroll-item-inner"><a href="' + item.link + '"><img src="' + item.url + '" width="157" height="90" class="' + item.imgclass + '" /><h3>' + item.title + '</h3><p>' + item.text + '</p><p align="right"><img src="haha_images/home_bt_syousai_n.gif" alt="詳細はこちら" width="84" height="15" onmouseover="' + item.mov + '" onmouseout="' + item.mou + '" /></p></a></div>';
};
/**/

//
$(function init(){
	$(".left-support #leftBanner").fadeOut(5);
	
	//各種データ取得
	//getSpecialData("./haha_dat/specialEvent.xml",0);
	//getTopicData("./haha_dat/indexTopics.xml",0);
	//getTopicData("topics.php",0);
	//getPicData("./haha_dat/indexPicture.xml",0);
	//getBannerData("./haha_dat/commonBanner.xml",0);
	getBannerData("banner.php",0);
	
});





