var eventPerPage = 5;
var pibot = 0;
var viewEvents;

window.addEvent('domready', function() {
	
	var xmlDir = new Array();
	xmlDir['japanese'] = 'xml_ja/';
	xmlDir['english'] = 'xml_en/';
	
	var clArt = '#CC3333';
	var clCinema = '#FFCC00';
	var clTheater = '#FF9933';
	var clLive = '#8B56D6';
	var clEducation = '#99CC00';
	var clInterlab = '#84857F';
	
	var colorArr = new Array();
	
	colorArr['art'] = clArt;
	colorArr['cinema']  = clCinema;
	colorArr['theater']  = clTheater;
	colorArr['live']  = clLive;
	colorArr['education']  = clEducation;
	colorArr['interlab']  = clInterlab;
	
	
	
	//Itemsクラス定義
	function Items(path,arr,onLoadMethod){
		this.xmlPath = path;
		this.outPutArrayElements = arr;
		this.load = loadXml;
		this.onLoad = onLoadMethod;
		this.data = new Array();
		this.idList;
		this.isSelect = false;
		this.isOpenDetail = false;
	};
	
	//Ajax XMLリクエスト、JSON変換メソッド
	function loadXml(){
		var onloadF = this.onLoad;
		var httpObj = new JKL.ParseXML(this.xmlPath+'?cache='+(new Date).getTime());
			httpObj.setOutputArrayElements(this.outPutArrayElements);
			httpObj.async(onloadF); 
			httpObj.parse();
	}
	
	
	//Art onLoad
	function onLoadArt(data){
		art.idList = new Array();
		if(data.root[0]!=undefined &&data.root[0].event){
			for(var i=0; i<data.root[0].event.length;i++){
				if(data.root[0].event[i].category != 'finished'){
					art.data.push(data.root[0].event[i]);
				}
			}
		}
		eventsDataBind();		
	}
	
	//Cinema onLoad
	function onLoadCinema(data){
		cinema.idList = new Array();
		if(data.root[0]!=undefined &&data.root[0].event){
			for(var i=0; i<data.root[0].event.length;i++){
				if(data.root[0].event[i].category != 'finished'){
					cinema.data.push(data.root[0].event[i]);
				}
			}
		}
		eventsDataBind();
	}
	
	//Theater onLoad
	function onLoadTheater(data){
		theater.idList = new Array();
		if(data.root[0]!=undefined &&data.root[0].event){
			for(var i=0; i<data.root[0].event.length;i++){
				if(data.root[0].event[i].category != 'finished'){
					theater.data.push(data.root[0].event[i]);
				}
			}
		}
		eventsDataBind();
	}
	
	//Education onLoad
	function onLoadEducation(data){
		education.idList = new Array();
		if(data.root[0]!=undefined &&data.root[0].event){
			for(var i=0; i<data.root[0].event.length;i++){
				if(data.root[0].event[i].category != 'finished'){
					education.data.push(data.root[0].event[i]);
				}
			}
		}
		eventsDataBind();
	}
	
	//Live onLoad
	function onLoadLive(data){
		live.idList = new Array();
		if(data.root[0]!=undefined &&data.root[0].event){
			for(var i=0; i<data.root[0].event.length;i++){
				if(data.root[0].event[i].category != 'finished'){
					live.data.push(data.root[0].event[i]);
				}
			}
		}
		eventsDataBind();
	}
	
	//Interlab onLoad
	function onLoadInterlab(data){
		interlab.idList = new Array();
		if(data.root[0]!=undefined &&data.root[0].event){
			for(var i=0; i<data.root[0].event.length;i++){
				if(data.root[0].event[i].category != 'finished'){
					interlab.data.push(data.root[0].event[i]);
				}
			}
		}
		eventsDataBind();
	}
	
	function eventsDataBind(){

		if(!(!art.idList)&&!(!cinema.idList)&&!(!theater.idList)&&!(!education.idList)&&!(!live.idList)&&!(!interlab.idList)){
			events.data = new Array;
			if(art.data) events.data = events.data.concat(art.data);
			if(cinema.data) events.data = events.data.concat(cinema.data); 
			if(theater.data) events.data = events.data.concat(theater.data); 
			if(education.data) events.data = events.data.concat(education.data);
			if(live.data) events.data = events.data.concat(live.data); 
			if(interlab.data) events.data = events.data.concat(interlab.data); 
			//alert(events.data.length);
			onLoadEvents();
		}
	}
	
	function onLoadEvents(data){
		
		viewEvents(pibot);
	}
	
	viewEvents =function(pibotNum){
		
		var output = '';
		var contentsHtml = '';
		var cnt =0;
		
		var from = pibotNum * eventPerPage;
		if(from<events.data.length){
			if(lang=='japanese')output += '<h4><img alt="この施設の開催イベント" src="'+root+'static_images/floorguide_event.gif" /></h4><ul>';
			if(lang=='english')output += '<h4><img alt="Events at this Venue" src="'+root+'en/static_images/floorguide_event.gif" /><ul>';
			for(var i=from; i<events.data.length; i++){
				if(cnt==eventPerPage){ break; }
				else{
					
					urlHtml ='';
					if(events.data[i].url != undefined && events.data[i].url != ''){
						urlHtml = '<a href="'+events.data[i].url+'" style="border-left:2px solid '+colorArr[events.data[i].type]+';">';
					}
						
					nameHtml ='';
					if(events.data[i].title != undefined && events.data[i].title != ''){
						nameHtml = events.data[i].title+'</a>';
					}
						
					contentsHtml += '<li>'+urlHtml + nameHtml+'</li>';
					//alert(contentsHtml);
				}
				cnt++;
			}
			output +=contentsHtml+'</ul>';
			
			if(eventPerPage<events.data.length){
				output += '<ul id="pageCtrl">';
			
				for(var j=0; j<=Math.ceil(events.data.length/eventPerPage)-1; j++){
					if(j==pibotNum){
						output += '<li><a href="javascript::viewEvents('+j+');" class="bold">'+(j+1)+'</a></li>';
					}
					else{
						output += '<li><a href="javascript:viewEvents('+j+');">'+(j+1)+'</a></li>';
					}
				}
			
				output += '</ul>';
			}
			
			/*
				<ul id="pageCtrl">
				<li><a href="#" class="bold">1</a></li>
				<li><a href="#">2</a></li>
				<li><a href="#">3</a></li>
				</ul>
			*/
			
			$('related_event').innerHTML = output;
		
		}

	}
	
	//eventsコンストラクト
	var events = new Items();
	events.data = new Array();
	
	//art のロード、コンストラクト
	var art = new Items(root+xmlDir[lang]+'venue_art_'+venue+'.xml',['root','event'],onLoadArt);
	art.load();
	
	//cinema のロード、コンストラクト
	var cinema = new Items(root+xmlDir[lang]+'venue_cinema_'+venue+'.xml',['root','event'],onLoadCinema);
	cinema.load();
	
	//theater のロード、コンストラクト
	var theater = new Items(root+xmlDir[lang]+'venue_theater_'+venue+'.xml',['root','event'],onLoadTheater);
	theater.load();
	
	//education のロード、コンストラクト
	var education = new Items(root+xmlDir[lang]+'venue_education_'+venue+'.xml',['root','event'],onLoadEducation);
	education.load();
	
	//live のロード、コンストラクト
	var live = new Items(root+xmlDir[lang]+'venue_live_'+venue+'.xml',['root','event'],onLoadLive);
	live.load();
	
	//interlab のロード、コンストラクト
	var interlab = new Items(root+xmlDir[lang]+'venue_interlab_'+venue+'.xml',['root','event'],onLoadInterlab);
	interlab.load();
	
	
	
});