window.addEvent('domready', function() {
	var interval = 12000;
	var xmlDir = new Array();
	var entryLength = 0;
	
	xmlDir['japanese'] = 'xml_ja/';
	xmlDir['english'] = 'xml_en/';

	//Itemsクラス定義
	function Items(path,arr,onLoadMethod){
		this.xmlPath = path;
		this.outPutArrayElements = arr;
		this.load = loadXml;
		this.onLoad = onLoadMethod;
		this.data;
		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();
	}
	
	var kwicks = [];
		//item onLoad
	function onLoadItem(data){
		item.idList = new Array();
		if(data.root!=undefined &&data.root.entry){
			item.data = data.root.entry;
		}
		entryLength = item.data.length;
		kwicks = $$("#ra_display .ra_button_block");
		display();
		//render();		
	}

	//item のロード、コンストラクト
	var item = new Items(root+xmlDir[lang]+'randamaccess.xml',['entry'],onLoadItem);
	item.load();
	
	var setHtml = function(num){
		var type = item.data[num].type;
		var id = item.data[num].id;
		if(item.data[num].type != 'works' && item.data[num].type != 'profile'){
			type = 'events';
		}
		var html='';
		var langPath = '';
		if(lang=='japanese'){
			langPath = '/ja';
		}
		
		if ( !item.data[num].imgsrc ) {
			html = '<p><a href="#" class="ra_photo_a"><img src="images/randamaccess/loadingimg.gif" alt="" width="96" height="96"/></a></p>';
		}
		else {
			html = '<p><a href="http://archive.ycam.jp'+langPath+'/#/'+item.data[num].type+'/'+id+'" class="ra_photo_a" target="_blank"><img src="'+item.data[num].imgsrc+'" alt="'+item.data[num].title+'" width="96" height="96" class="ra_photo_img" /><br /><img src="images/randamaccess/ra_'+type+'.gif" alt="Profile" width="96" height="12" class="ra_label" /><br />'+item.data[num].title+'</a></p>';
		}
		return html;
	
	}
	
	var display = function(){
		var o = {};
		var ser = [3,4,0,1,2,0,4,1,3,2,4,1,3,2,0];
		var offset = Math.floor(Math.random()*3);
		
		var fx = kwicks[ser[offset+0]].effects({duration: 2000, transition: Fx.Transitions.Quart.easeOut});
		//build 0
		var itemIndex = Math.floor(Math.random()*entryLength);
		kwicks[ser[offset+0]].innerHTML= setHtml(itemIndex);
		fx.start({opacity:[0, 1]}).chain(function(){
			//build 1
			var itemIndex = Math.floor(Math.random()*entryLength);
			kwicks[ser[offset+1]].innerHTML= setHtml(itemIndex);
			var fx = kwicks[ser[offset+1]].effects({duration: 2000, transition: Fx.Transitions.Quart.easeOut});
			fx.start({opacity:[0, 1]}).chain(function(){
			//build 2
			var itemIndex = Math.floor(Math.random()*entryLength);
			kwicks[ser[offset+2]].innerHTML= setHtml(itemIndex);
			var fx = kwicks[ser[offset+2]].effects({duration: 2000, transition: Fx.Transitions.Quart.easeOut});
			fx.start({opacity:[0, 1]}).chain(function(){
			//build 3
			var itemIndex = Math.floor(Math.random()*entryLength);
			kwicks[ser[offset+3]].innerHTML= setHtml(itemIndex);
			var fx = kwicks[ser[offset+3]].effects({duration: 2000, transition: Fx.Transitions.Quart.easeOut});
			fx.start({opacity:[0, 1]}).chain(function(){
			//build 4
			var itemIndex = Math.floor(Math.random()*entryLength);
			kwicks[ser[offset+4]].innerHTML= setHtml(itemIndex);
			var fx = kwicks[ser[offset+4]].effects({duration: 2000, transition: Fx.Transitions.Quart.easeOut});
			fx.start({opacity:[0, 1]});
			});
			});
			});
		})

		
		/*
		kwicks.each(function(element, i) {	
				var fx = new Fx.Styles(element, {wait: false, duration: 1000, transition: Fx.Transitions.Back.easeOut});
				o[i] = {opacity: [0, 1]}
		});
		fx.start(o);
		*/
		window.setTimeout( display, interval );
	}
	
/*	
	
var list = $$('#idList li');
list.each(function(element) {
 
	var fx = new Fx.Styles(element, {duration:200, wait:false});
 
	element.addEvent('mouseenter', function(){
		fx.start({
			'margin-left': 5,
			'background-color': '#666',
			color: '#ff8'
		});
	});
 
	element.addEvent('mouseleave', function(){
		fx.start({
			'margin-left': 0,
			'background-color': '#333',
			'color': '#888'
		});
	});
 
});
*/	
	
	function render(){
		var myProcess=setInterval(display, interval);
	}


});
