
//////////////////////////////////////////////////////////////////
/// xml呼び出し
//////////////////////////////////////////////////////////////////

/*
xmlリクエスト jQuery用
------------------------------------------------------------*/
var xmlPath,bId;
var getEvent=function(path,bId){
	if(!path){
		outputSrc(outputError(),bId);
		return;
	}
	if(s.eVar5<2){
		void(0);
		return;
	}
	$(function(){
		result=$.ajax({
			type:"get",
			url:path,
			error:function(data){
				var source=outputError();
				outputSrc(source,bId);
			},
			success:function(data){
				var arrData=setData(data);
				var source=makeData(arrData);
				outputSrc(source,bId);
				$(function(){$("#CONTENT").jScrollPane({scrollbarWidth:12});});
			}
		});
	});
}

/*
データ分解
------------------------------------------------------------*/
var setData=function(obj){
	var tnEvnt=obj.getElementsByTagName("event");
	nvData=new Array();
	grains=new Array("title","holdDateOpen","pageUrl","target","pin");
	for(var i=0;i<grains.length;i++){nvData[i]=new Array();}
	for(var i=0;i<tnEvnt.length;i++){
		for(var j=0;j<grains.length;j++){
			nvData[j][i]=(tnEvnt.item(i).getElementsByTagName(grains[j]).item(0).firstChild)?
			tnEvnt.item(i).getElementsByTagName(grains[j]).item(0).firstChild.nodeValue:"";
			if(j==7&&nvData[j][i]!=''){
				arr=new Array();
				var tnNm=tnEvnt.item(i).getElementsByTagName(grains[j]).item(0).getElementsByTagName("name");
				for(var k=0;k<tnNm.length;k++){
					arr.push(tnNm.item(k).firstChild.nodeValue);
				}
				nvData[j][i]=arr;
			}
		}
	}
	return nvData;
}

/*
データ生成
------------------------------------------------------------*/
var makeData=function(arrData){

	/*初期設定
	----------------------------------------*/
	var source='',sourceL='';

	/*ピンレベル取得
	----------------------------------------*/
	var pinConf=(s.eVar5!='')?eval(s.eVar5):0;

	/*日付処理
	----------------------------------------*/
	var dateAll=new Date();
	thisYear=dateAll.getFullYear();
	thisMonth=dateAll.getMonth()+1;
	thisDate=dateAll.getDate();

	/*配列生成
	----------------------------------------*/
	arrL=new Array();
	for(var i=0;i<arrData.length;i++){arrL[i]=new Array();}
	var k=0;
	for(var i=0;i<7;i++){
		var dateCur=calcDate(thisYear,thisMonth,thisDate,i);
		var curYear=dateCur.getFullYear();
		var curMonth=((''+(dateCur.getMonth()+1)).length==1)?'0'+(dateCur.getMonth()+1):dateCur.getMonth()+1;
		var curDate=((''+dateCur.getDate()).length==1)?'0'+dateCur.getDate():dateCur.getDate();
		var dateFull=curYear+'/'+curMonth+'/'+curDate;
		for(var j=0;j<arrData[0].length;j++){
			if(arrData[1][j]==dateFull){
				arrL[0][k]=(arrData[2][j]!='')?arrData[2][j]:'';//pageUrl
				arrL[1][k]=(arrData[3][j]!='')?arrData[3][j]:'';//target
				arrL[2][k]=(arrData[0][j]!='')?arrData[0][j]:'';//title
				arrL[3][k]=(arrData[1][j]!='')?arrData[1][j]:'';//holdDateOpen
				arrL[4][k]=(arrData[4][j]!='')?arrData[4][j]:'';//pin
				k++;
			}
		}
	}

	/*htmlソース成形
	----------------------------------------*/
	for(var i=0;i<7;i++){
		var sourceDt='',sourceDd='';
		var dateCur=calcDate(thisYear,thisMonth,thisDate,i);
		var curYear=dateCur.getFullYear();
		var curMonth=((''+(dateCur.getMonth()+1)).length==1)?'0'+(dateCur.getMonth()+1):dateCur.getMonth()+1;
		var curDate=((''+dateCur.getDate()).length==1)?'0'+dateCur.getDate():dateCur.getDate();
		var dateFull=curYear+'/'+curMonth+'/'+curDate;
		var dateFull02=curYear+'.'+curMonth+'.'+curDate;
		sourceDt='\n<dt>'+dateFull02+'</dt>\n';
		for(var j=0;j<k;j++){
			if(dateFull==arrL[3][j]&&arrL[4][j]<=pinConf){
				if(arrL[1][j]=='01') sourceDd+='<dd class="link">';
				else if(arrL[1][j]=='02') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='03') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='04') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='05') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='06') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='07') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='08') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='09') sourceDd+='<dd class="link_blank">';
				else if(arrL[1][j]=='10') sourceDd+='<dd class="link_blank">';
				sourceDd+='<a href="'+arrL[0][j];
				if(arrL[1][j]=='01') sourceDd+='';
				else if(arrL[1][j]=='02') sourceDd+='" target="_blank';
				else if(arrL[1][j]=='03') sourceDd+='" target="corp';
				else if(arrL[1][j]=='04') sourceDd+='" target="ANC';
				else if(arrL[1][j]=='05') sourceDd+='" target="1by1';
				else if(arrL[1][j]=='06') sourceDd+='" target="plaza';
				else if(arrL[1][j]=='07') sourceDd+='" target="recipe';
				else if(arrL[1][j]=='08') sourceDd+='" target="nutri';
				else if(arrL[1][j]=='09') sourceDd+='" target="efny';
				else if(arrL[1][j]=='10') sourceDd+='" onclick="AJL_openBrWindow(this.href,\'shopping\');return false;"';
				sourceDd+='">'+arrL[2][j]+'</a></dd>\n';
			}
		}
		if(sourceDd!='') sourceL+=sourceDt+sourceDd;
	}

	/*完成処理
	----------------------------------------*/

	source+=(sourceL!='')?sourceL:'<p style="line-height:1.5;">今週予定されている<br>イベントはありません</p>';
	return source;
}

/*
１ヶ月の日数取得
------------------------------------------------------------*/
var getMaxDate=function(mon){
	arrMaxDate=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var maxDate=arrMaxDate[(mon-1)];
	/*うるう年
	--------------------------------------------------*/
	if(maxDate==28&&(thisYear%4==0&&thisYear%100!=0||thisYear%400==0)) maxDate=29;
	/*出力
	--------------------------------------------------*/
	return maxDate;
}

/*
曜日（日本語）取得
------------------------------------------------------------*/
var getWeekDay=function(vl){
	day=new Array("月","火","水","木","金","土","日");
	return day[vl];
}

/*
日数計算
------------------------------------------------------------*/
function calcDate(year,month,day,addDays){
	var dt=new Date(year,month-1,day);
	var baseSec=dt.getTime();
	var addSec=addDays*86400000;
	var targetSec=baseSec+addSec;
	dt.setTime(targetSec);
	return dt;
}

/*
アイコン判別
------------------------------------------------------------*/
var getIcon=function(vl){
	var num="";
	icon=new Array();
	icon[0]=new Array("新製品情報","製品プロモーション","ビジネスプロモーション");
	icon[1]=new Array("セミナー/イベント");
	icon[2]=new Array("イベント参加募集","その他");
	for(var i=0;i<icon.length;i++){
		for(var j=0;j<icon[i].length;j++){
			if(icon[i][j]==vl){
				num=i+1;
				break;
			}
		}
	}
	num=((''+num).length==1)?'0'+num:''+num;
	return num;
}

/*
配列 index IE対策
------------------------------------------------------------*/
if(!Array.indexOf){
	Array.prototype.indexOf=function(object){
		for(var i=0;i<this.length;i++){
			if(this[i]==object){ 
				return i;
			}
		}
		return -1;
	}
}





/*
エラーデータ生成
------------------------------------------------------------*/
var outputError=function(obj){
	var source='<span class="error">読み込みに失敗しました。</span>';
	return source;
}
/*
データ表示
------------------------------------------------------------*/
var outputSrc=function(source,bId){
	var idOut=document.getElementById(bId);
	if(!idOut){	alert("指定の出力先ブロックが存在しません。");return;}
	idOut.innerHTML=source;
}


//////////////////////////////////////////////////////////////////
/// テキスト長制御
//////////////////////////////////////////////////////////////////

function txtCut(){
	var connect="…";
	strName=new Array();
	txSpan=new Array();
	var tnSpan=document.getElementsByTagName("span");
	for(var i=0;i<tnSpan.length;i++){
		if(tnSpan[i].getAttribute("class")||tnSpan[i].getAttribute("className")){
			var cnClass=(tnSpan[i].getAttribute("class"))?tnSpan[i].getAttribute("class"):tnSpan[i].getAttribute("className");
			txSpan[i]=tnSpan[i].firstChild.nodeValue;
			strName[i]="";
			if(cnClass.indexOf("txtCut")!=-1){
				var lim=eval(cnClass.slice(cnClass.length-2,cnClass.length));
				for(var j=0;j<txSpan[i].length;j++){
					if(cnLen(strName[i])<lim){
						strName[i]+=txSpan[i].slice(j,j+1);
					}else{
						strName[i]+=connect;
						break;
					}
				}
				tnSpan[i].innerHTML=strName[i];
			}
		}
	}
}


//////////////////////////////////////////////////////////////////
/// バイト数カウント
//////////////////////////////////////////////////////////////////

function cnLen(str){
	var r=0;
	for(var i=0;i<str.length;i++){
		var c=str.charCodeAt(i);
		if((c>=0x0&&c<0x81)||(c==0xf8f0)||(c>=0xff61 && c<0xffa0)||(c>=0xf8f1 && c<0xf8f4)){
			r+=1;
		}else{
			r+=2;
		}
	}
	return r;
}



























