var d=document;
$(document).ready(function(){
	// item browser
	if(d.getElementById('itemsbrowser')){refactor_items('itemsbrowser',5);}
	// map&item switcher
	if(d.getElementById('timeline_header')){
		var a=d.getElementById('hlinks').getElementsByTagName('a');
		a[0].onclick=function(){return(movebg(this,75,0))}
		a[1].onclick=function(){return(movebg(this,-75,0))}

		var img=new Array
		for(var i=0;i<11;i++){
			img[i]=new Image();
			img[i].src=base_href+'tpl/img/maps/'+(i+1)+'.jpg';
		}
	}
	// events browser
	if(d.getElementById('inside')){
		$('.rightcol div .details').hide().find('img').slideUp();
		setup_events('inside');
		setup_events('outside');
	}
	// any external links
	externalLinks();
	// search form
	if($('#searchfield')){
		var s=d.getElementById('searchfield');var b=d.getElementById('searchbutton');
		s.onfocus=function(){if(s.value=='Keyword'){s.value='';b.onclick=function(){return false;};}else{b.onclick=function(){return true;};}};
		s.onblur=function(){if(s.value==''){s.value='Keyword';b.onclick=function(){return false;};}else{b.onclick=function(){return true;};}};
	}
});

// TIMELINE //
function loadMap(period){
	// map switch
	var timeout=0;
	var randdate=new Date;
	if($('#map img')[0].src.indexOf('tpl/img/maps/'+period+'.jpg')<1){
		timeout=700;$('#map img').fadeOut(100,function(){$('#map img')[0].src='tpl/img/maps/'+period+'.jpg';$('#map img').fadeIn(600)});}
	$('#period_items').empty().load(base_href+'inc/timeline_items.php?period='+period+'&rand='+randdate,function(){$('#map li').hide(0);setTimeout('moveItems()',timeout)});

}
function moveItems(){
	// items move
	var len=$('#wrapper div').length;
	for(var i=0;i<len;i++){
		if($('#map li')[i]){
			var time=len*30;
			//$($('#map li')[i]).hide(0);
			var rand=Math.ceil(Math.random()*time);
			var x=window[$('#map li')[i].id+'x'];
			var y=window[$('#map li')[i].id+'y'];
			setTimeout('showItems('+i+','+x+','+y+')',rand);
		}
	}
}
function showItems(i,x,y){
	// items display
	$($('#map li')[i]).css({top:y,left:x}).fadeIn(400);
}
function movebg(ela,x,y){
	// timeline move
	el=ela.parentNode.parentNode;var div=d.getElementById('img');
	var cpos=div.style.marginLeft.replace(new RegExp("px\\b"), "")*1;var xpos=cpos+x;
	// reposition image
	if(xpos<1&&xpos>-750){
		$(div).animate({marginLeft:xpos}, 400);
		if(x<0){$('#period_menu li.selected').removeClass().next('li')[0].className='selected';}
		else{$('#period_menu li.selected').removeClass().prev('li')[0].className='selected';}
		var period=((xpos*-1)/75)+1;
		ela.onclick=function(){return false}; // avoid midclicking
		$('.rightcol .details').hide(0);
		loadMap(period);
		loadEvents(period,'inside');
		loadEvents(period,'outside');
		setTimeout("setLinks();",400);
	}
	var hlinks=$('#hlinks');
	if(period==1){
		//hide start arrow
		hlinks.removeClass('end').addClass('start');
	}else if(period==10){
		//hide end arrow
		hlinks.removeClass('start').addClass('end');
	}else if(period){
		hlinks.removeClass('end').removeClass('start');
	}
	return false;
}
function setLinks(){
	// reset links
	var a=d.getElementById('hlinks').getElementsByTagName('a');
	a[0].onclick=function(){return(movebg(this,75,0))}
	a[1].onclick=function(){return(movebg(this,-75,0))}
}

// EVENTS //
function setup_events(div){
	var opposite=(div=='inside')?'outside':'inside';
	$('.rightcol div .details').hide().find('img').fadeOut(0);
	// set up event classes
	var lis=$('#'+div+' li');for(var i=0;i<lis.length;i++){var css=(i<1)?'on':'off';$(lis[i]).addClass(css);}
	var lis=$('#'+div+' li');for(var i=0;i<lis.length;i++){var css=(i<1)?'on':'off';$(lis[i]).addClass(css);}

	// hide details
	$('.rightcol div li.off').hide();

	// toggle events
	$('#'+div+' .next_event').click(function(){show_event(1,div);return false;});
	$('#'+div+' .prev_event').click(function(){show_event(0,div);return false;});

	if(div=='inside'){
		var el=$('#'+div+' li .details')[0];
		$(el).slideDown(200).find('img').fadeIn(200).prev().addClass('less');
	}
	
	// toggle details
	$('#'+div+' .toggle').click(function(){toggle(this,div,opposite);return false;});
}
function loadEvents(period,div){
	var outside=(div=='inside')?0:1;
	$('#'+div+' div').load(base_href+'inc/events.php?period='+period+'&outside='+outside,function(){setup_events(div);$('#'+div+' div').fadeIn(0)});
	//$('#'+div+' div').fadeOut(0,function(){});
} 
function show_event(dir,el){
	if(dir==1){$('#'+el+' li.on').next().show(0).addClass('on').prev().removeClass('on').addClass('off').hide(0);}//.find('.details').hide();}
	if(dir<1){$(' #'+el+' li.on').prev().show(0).addClass('on').next().removeClass('on').addClass('off').hide(0);}//.find('.details').hide();}
}
function toggle(el,open,close){
	var timer=400;
	var imgTimer=800;
	// Make sure the other details pane is closed, if open && hide img
	$('#'+close+' span.on').slideUp(timer).removeClass('on').addClass('off').prev().toggleClass('less').next().find('img').fadeOut(100);
	
	// If details is closed, open it && show img
	if($('#'+open+' span.off').length){$('#'+open+' span.off').slideDown(timer).removeClass('off').addClass('on').prev().toggleClass('less').next().find('img').fadeIn(imgTimer);}

	// Otherwise, close it && hide img
	else{$('#'+open+' span.on').slideUp(timer).removeClass('on').addClass('off').prev().toggleClass('less').next().find('img').fadeOut(100);}
	
}
function dupenode(a){
	var c=$('.upload').length;
	if($('.upload')[$('.upload').length-1].value!=''){
		//var n=$($(a).prev()[0]).clone().attr('id','file'+c).removeAttr('value').insertBefore($(a));
		var inp=d.createElement('input');
		inp.setAttribute('type','file');
		inp.className='upload';
		inp.id='file'+c;
		inp.setAttribute('name','file'+c);
		$(inp).insertBefore($('#add'));
	}
	return false;
}