var idxRaster = 0;
var slideEnabled = true;

document.write('<style type="text/css">#voices .photo { display: none; } .moreinfo { display: none; }</style>');

(function($) {
	$.initializePlayer = function() {
		$("img.demo").unbind("click").click(function(){
			var stop = false;
			document.getElementById("myFlash").SetVariable("method:stop","");
			if ( $(this).hasClass("playing") ) stop = true;
			$("img.playing").removeClass("playing").addClass("demo");
			if ( !stop ) {
				document.getElementById("myFlash").SetVariable("method:setUrl","http://www.sprecherdatei.de/nocache.php?demoid="+$(this).attr("rel")+".mp3");
				document.getElementById("myFlash").SetVariable("method:play","");
				$(this).removeClass("demo").addClass("playing");
			}
			return false;
		});
	}	
})(jQuery)

function historycallback(hash) {
	if ( hash.match(/[0-9]+-.*/) ) {
		
		$("#voice_details").fadeOut(100,function(){
			$(this).load("ajax_voicedetails.php?id="+hash,function(){
				(jQuery).initializePlayer();

				$("#loginPan h3 a").each(function(){
					var u = $(this).attr("href").replace(/[#\?].*/,"");
					$(this).attr("href",u+"#"+hash);
				});

				$("title").load("ajax_voicedetails_title.php?id="+hash);
				$(this).fadeIn(1000);
			});
		});
	}	
}


$(document).ready(function(){
	(jQuery).initializePlayer();
	$.history.init(historycallback);
	loadImages(0);
	
	$("#voices").css("height","380px");
	
	$("#selectLanguage").change(function(){
		var intlCode = this.value;
		var svl = $("#servicesVoiceList");
		var offset = svl.offset();

		$("body").append("<div id='whitelayer'></div>");
		$("#whitelayer")
		  .fadeTo(0,0)
		  .css("z-index",10000)
			.css("position","absolute")
			.width(svl.width()-2)
			.height(svl.height()-2)
			.css("left",offset.left+1)
			.css("top",offset.top+1);
			
		try {
			document.getElementById("myFlash").SetVariable("method:stop","");
		} catch(e) {
		}
		
		$("#whitelayer").fadeTo("fast",1,function(){
			svl.load("ajax_voices.php?ic="+intlCode,function(){
				idxRaster = 0;
				$(".fahne a").click(function() {
					$("#selectLanguageVoices").attr("value", $(this).attr("href").substr(1));
					$("#selectLanguageVoices").trigger("change");
					$("#selectLanguage").attr("value", $(this).attr("href").substr(1));
					$("#selectLanguage").trigger("change");
				});
				loadImages(0);
				(jQuery).initializePlayer();
				$("#servicesVoiceList .photo").fadeTo(0,0).load(function(){
					$(this).fadeTo("fast",1);
				});
				$("#whitelayer").fadeTo("fast",0,function(){
					$(this).remove();
				});
			});
		});
	});
	
	$("#selectLanguageVoices").change(function(){
		var intlCode = this.value;
		var svl = $("#servicesVoiceList");
		var offset = svl.offset();

		$("body").append("<div id='whitelayer'></div>");
		$("#whitelayer")
		  .fadeTo(0,0)
		  .css("z-index",10000)
			.css("position","absolute")
			.width(svl.width()-2)
			.height(svl.height()-2)
			.css("left",offset.left+1)
			.css("top",offset.top+1);
			
		try {
			document.getElementById("myFlash").SetVariable("method:stop","");
		} catch(e) {
		}
		
		$("#whitelayer").fadeTo("fast",1,function(){
			svl.load("ajax_voices.php?link=1&ic="+intlCode,function(){
				idxRaster = 0;
				$(".fahne a").click(function() {
					$("#selectLanguageVoices").attr("value", $(this).attr("href").substr(1));
					$("#selectLanguageVoices").trigger("change");
					$("#selectLanguage").attr("value", $(this).attr("href").substr(1));
					$("#selectLanguage").trigger("change");
				});
				loadImages(0);
				(jQuery).initializePlayer();
				$("#servicesVoiceList .photo").fadeTo(0,0).load(function(){
					$(this).fadeTo("fast",1);
				});
				$("#whitelayer").fadeTo("fast",0,function(){
					$(this).remove();
				});
				$("a.voicedetails").click(function() {
					$.history.load($(this).attr("href").replace(/.*=(.*)&id=([0-9]+)/,"$2-$1"));
					return false;
				});
			});
		});
	});
	
	if ( $("#selectLanguage").attr("value") ) {
		$("#selectLanguage").trigger("change");
	}

	if ( $("#selectLanguageVoices").attr("value") ) {
		$("#selectLanguageVoices").trigger("change");
	}

	$("#voices_next").click(function(){
		if ( slideEnabled ) {
			var next_li = $("#voices_"+(idxRaster+1));
			if ( next_li.length ) {
				slideEnabled = false;
				loadImages(idxRaster+1);
				$("#voices_"+idxRaster).animate({
					left: - ((idxRaster+1)*320)
				},1000,function(){
					slideEnabled = true;
				});
				
				$("#voices_"+(idxRaster+1)).css("left",-((idxRaster)*320))
				.animate({
					left: -((idxRaster+1)*320)
				},1000);
				
				idxRaster++;
			}
		}
		return false;
	});
	
	$("#voices_prev").click(function(){
		if ( slideEnabled && idxRaster ) {
			slideEnabled = false;
			var prev_li = $("#voices_"+(idxRaster-1));
			$("#voices_"+idxRaster).animate({
				left: -((idxRaster-1)*320)
			},1000,function() {
				slideEnabled = true;
			});
			
			$("#voices_"+(idxRaster-1)).animate({
				left: -((idxRaster-1)*320)
			},1000);
			
			idxRaster--;
		}
		
		return false;
	});
	
	$("a.voicedetailslink").click(function(){
		location.href = $(this).attr("href").replace(/\?=(.*)&id=([0-9]+)+&ic=(.*)/,"?ic=$3#$2-$1");
		return false;
	});

	$("a.voicedetails").click(function() {
		$.history.load($(this).attr("href").replace(/.*=(.*)&id=([0-9]+)/,"$2-$1"));
		return false;
	});
	
	$(".fahne a").click(function() {
		$("#selectLanguageVoices").attr("value", $(this).attr("href").substr(1));
		$("#selectLanguageVoices").trigger("change");
		$("#selectLanguage").attr("value", $(this).attr("href").substr(1));
		$("#selectLanguage").trigger("change");
	});
});

function loadImages(idx) {
	$("#voices_"+idx+" .photoplaceholder").each(function(){
		var attributes = ($(this).attr("id")).split("~");
		img = new Image();
		$(img).bind("load",{el: $(this)},function(event){
			$(this).hide();
			$(event.data.el).append(this);
			$(this).fadeTo(1000,1);
			$(event.data.el).parent().children(".moreinfo").fadeTo(1500,1);
			//$(event.data.el).remove();
		})
		.attr("width","60")
		.attr("height","80")
		.attr("title",attributes[1])
		.attr("alt",attributes[2])
		.attr("src",attributes[0]);
	});
}
