$(function(){
	$.support.opacity||$(function(){
		var filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'@\',sizingMethod=\'scale\')';
		$('#wrap img[src$=png]').each(function(i,el){el.style.filter=filter.replace('@',el.src);el.src='g/tour/blank.gif'});
	});

	Tour={
		tour:$('#tour'),
		float:$('<div id="tour-float"></div>').appendTo('body'),
		move:function(e){
			var bottom=(document.body.clientHeight-e.clientY)<110;
			if(Tour.bottom!=bottom)Tour.float[(Tour.bottom=bottom)?'hide':'show']();
			if(!bottom)Tour.float.css({left:e.clientX-20,top:e.clientY-15,backgroundPosition:e.clientX>(document.body.clientWidth/2)?'0 100%':'0 0'});
		},
		goto:function(href,nr){
			if(Tour.cur!=(nr=parseInt(String(href).match(/tour\-(\d*)/)[1])||1)){
				var index=(Tour.cur=nr)-1,build=Builds[index],el=Tour.nav.eq(index).addClass('cur');
			
				Tour.note.hide().css(build['note']||{});
				Tour.text.html(el.next().html());
				Tour.nav.not(el).removeClass('cur');
		
				for(var i in build)if(i!='note'){
					var el=Tour[i],css=$.extend({},build[i]),hide=css.opacity===0;
					var hidden=parseFloat(el.css('opacity'))===0;
		
					if(hide&&hidden)delete css.opacity;
					else if(!hide&&hidden)css.opacity=1;
					el.animate(css);
				}
				setTimeout(function(){Tour.note.fadeIn()},200);
			}
		},
		swap:function(next,e){
			if((e=next).clientX)next=next.clientX>(document.body.clientWidth/2);
			if(!e.clientY||(document.body.clientHeight-e.clientY)>110){
				var i=(Tour.cur||1)-1+(next?1:-1),l=Tour.nav.length;
				$.historyLoad(Tour.nav.eq(l==i?0:(i<0?l-1:i)).attr('href'));
			}
		},
		nav:$('#tour-nav li > a'),
		line:$('#tour-line')
	}

	$('#tour *[id]').each(function(i,el){Tour[el.id.replace(/^tour\-/gi,'')]=$(el)});
	$('#tour-nav p').each(function(i,el){if(i=Builds[i].note){i.width=el=parseInt(el.title)||100;i.left=Math.round(i.left-(el/2))}});
	$('body').keydown(function(e){if(e.keyCode>36&&e.keyCode<41)Tour.swap(e.keyCode>38)}).mousemove(Tour.move).click(Tour.swap);
	$.historyInit(Tour.goto);
});