jQuery(document).ready(function($){
var host = window.location.protocol + "//" + window.location.hostname;
var base = "/";
var path = window.location.pathname;
if( /ftt\.de/.test( path ) ) {
	base = "/ftt.de/"
}
$("body")
.prepend( '<div id="jquery_jplayer"></div>' )
.prepend( '<div id="testload"></div>' );
var sound = {};
var injectSoundNav = {};
var loaded = {};
var href2hash = {};

var initLoader = function( html, status, request ) {
	$("#testload").remove();
	if( status == "success" ) {
	if( window.location.pathname.length > 8 &&
		!window.location.hash ) {
		path = path.replace( base, "" );
		window.location.href = base + "#" + path;
	}
	$(".outer").wrap('<div id="load">');
	storage = [];
	currentStateUri = "";
	href2hash = function() {
		$("a:not([href^=http],[href^=mailto],[href^=#],.edit)")
		.add("a[href^=" + host + base + "]")
		.not("a[href*=#]")
		.each( function(){
		$(this).attr(
			"href",
			"#" + $(this)
			.attr("href")
			.replace( host, "")
			.replace( base, "")
		);
		});
		$("a[href^=#img]").click( function() {
		    $("#canvas div.target").css("zIndex",1).removeClass();
		    $target = $($(this).attr("href")).length?$($(this).attr("href")):$("#img-1");
		    $target.addClass("target").css("zIndex",3);
		    return false;
		})
		.eq(0).closest("div").addClass("target").css("zIndex",3);
	}
	sound = {
		isPlaying : true,
		current : 0,
		tracks : html,
		nav : 
		'<span id="sound">'+
			' <a id="play" href="#" title="Play"><span>Play</span></a>'+
			' <a id="pause" href="#" title="Pause"><span>Pause</span></a>'+
			' <a id="vmute" href="#" title="Volume 0%"><span>Volume 0%</span></a>'+
			' <a id="vhalf" href="#" title="Volume 50%"><span>Volume 50%</span></a>'+
			' <a id="vmax" href="#" title="Volume 100%"><span>Volume 100%</span></a>'+
		'</span>'
	}
	injectSoundNav = function() {
		$("#nav-head").append(
			$( sound.nav )
			.append( sound.tracks )
		);
		$("a.track").click(function() {
			$("#jquery_jplayer").setFile($(this).attr("href")).play();
			sound.current = $("a.track").index( this );
			return false;
		});
		$("#play").click( function() {
			sound.isPlaying = true;
			return false;
		});
		$("#pause").click( function() {
			sound.isPlaying = false;
			return false;
		});
		$("#vhalf").click( function() {
			$("#jquery_jplayer").volume( 50 );
			return false;
		});
		if( $("#jquery_jplayer").jPlayerGetInfo ) {
			$("#jquery_jplayer")
			.jPlayerId("play", "play")
			.jPlayerId("pause", "pause")
			.jPlayerId("volumeMin", "vmute")
			.jPlayerId("volumeMax", "vmax")
			.trigger("jPlayer.setButtons", sound.isPlaying)
		}
	}
	nextTrack = function() {
		sound.current = sound.current+1==$(sound.tracks).length?0:sound.current+1;
		$("#jquery_jplayer").setFile(
			$( sound.tracks ).eq( sound.current ).attr("href")
		).play();
	}

	loaded = function(html,status,request) {
		if( status == "success" ) {
			//alert("ha");
			href2hash();
			storage[currentStateUri] = $("#load").html();
			injectSoundNav();
		}
	}
	$.History.bind( function(state){
		//$("#demo").append( $("#tracks") );
		if(!/^img-\d+$/.test(state)) {
			currentStateUri = encodeURI( decodeURI( state ) );
			if( !storage[currentStateUri] ) {
			$("#load").load(
				currentStateUri +
				" .outer",
				null,
				loaded
			);
			} else {
			$(".outer").replaceWith(
				storage[currentStateUri]
			);
			injectSoundNav();
			}
		}
	});
	href2hash();

	$("#jquery_jplayer").jPlayer({
		ready: function () {
		$(this).setFile(
			$( sound.tracks ).eq(0).attr("href")
		).play()
		.onSoundComplete( nextTrack );
		injectSoundNav();
		}
	})
	}
}
try{ $("#testload").load( base + "mp3/tracks.html", null, initLoader ); }
catch(e){}
});

