$(document).ready(function() {
	addClickHandlers();
	
	/* Search field */
	$('#BlogSearchField').focus(function () {
		if ($('#BlogSearchField').attr('value') == 'suchen...' ) {
			$('#BlogSearchField').attr('value', '');
		}
	});

    var options = {
        resizeLgImages:     true,
        displayNav:         true,
        handleUnsupported:  'remove',
        keysClose:          ['s', 27],
        loadingImage: 		'/img/loading.gif',
        overlayBgImage:		'/img/overlay-85.png',
        skipSetup:			true
    
    };
   	Shadowbox.init(options);
	setupShadowbox();
});


function setupShadowbox() {
	Shadowbox.setup();
}


function addClickHandlers () {
	// Webextra-Icons
	$('.icons .icon').click(function () {
		$('.icons .icon-active').removeClass('icon-active');
		$(this).addClass('icon-active');

		$('.item-opened .description').hide();

		$('.item-opened .detail-box').addClass('detail-box-extra');
		$('.item-opened .detail-box .top').addClass('top-extra');
		$('.item-opened .detail-box .bottom').addClass('bottom-extra');

		$('.item-opened .webextras').show();
		$('.item-opened .webextras .extras .extra-container').hide();
		$('.item-opened .webextras .extras #extra_' + this.id).show();
	  	return false;
	});
	
	$('.item-opened .left-top h3:visible').click(function(){
		close_composition($(this).parents('div.item').attr('rel'));
	});
	$('.item-opened .image-container img').click(function(){
		close_composition($(this).parents('div.item').attr('rel'));
	});
}


/* Compositions */
function open_composition(id) {
	unloadVideoPlayer();
	if(id.substr(0, 12) == "composition_") {
		id = id.substr(12);
	} else if(id.substr(0, 17) == "composition-item_") {
		id = id.substr(17);
	}
	
	$.get('/music/composition/' + id, function(data){
  		$('#composition_' + id + ' .item-opened').html(data);
		addClickHandlers();
		setupShadowbox();

		composition_id = '#' + 'composition_' + id;
		item_is_opened = false;

		$('.active .item-opened').slideUp('slow');
		
		$('.active .item-closed').show('slow', function(){
			open_item(composition_id);
			$('.active').removeClass('active');
			item_is_opened =  true;
		});
		
		if(!item_is_opened) {
			open_item(composition_id);
		}
	});
	
}

function open_item(composition_id){
	unloadVideoPlayer();
	$(composition_id + ' .item-closed').hide('slow', function(){
		$(composition_id + ' .item-opened').slideDown('slow'); 
		$(composition_id).addClass('active');
	}).fadeOut('slow', function() {
		close_all_extras();
	});
}

function close_composition(id) {
	unloadVideoPlayer();
	composition_id = '#' + 'composition_' + id;
	$(composition_id+' .item-opened').slideUp('slow', function (){
		$(composition_id).removeClass('active');
		$(composition_id+' .item-closed').slideDown('slow');
	});	
}

function close_extras (id) {
	unloadVideoPlayer();
	composition_id = '#' + 'composition_' + id;

	$(composition_id + ' .item-opened .webextras').hide();
	
	$('.item-opened .detail-box').removeClass('detail-box-extra');
	$('.item-opened .detail-box .top').removeClass('top-extra');
	$('.item-opened .detail-box .bottom').removeClass('bottom-extra');
	
	$('.icons .icon-active').removeClass('icon-active');
	$(composition_id + ' .item-opened .description').show();
}

function close_all_extras() {
	unloadVideoPlayer();
	$('.item-opened .webextras').hide();
	$('.icons .icon-active').removeClass('icon-active');
	
	$('.item-opened .detail-box').removeClass('detail-box-extra');
	$('.item-opened .detail-box .top').removeClass('top-extra');
	$('.item-opened .detail-box .bottom').removeClass('bottom-extra');
	
	$('.item-opened .description').fadeIn('slow');
}

function getActiveFilter (filterType) {	
	if(filterType == 'sort') {
		ret = activeFilter.match(/sort:(jahr_beendet|titel)/);
		if(ret != null) return ret[0];
	} 
	
	if(filterType == 'filter') {
		ret = activeFilter.match(/filter:(filmmusik|konzert|buehne|anderes)/);
		if(ret != null) return ret[0];
	}
	
	return '';
}

/*	DimScreen	*/
function dimScreen(callback) {
	$('#dimer').css("opacity", 0.0);
	$('#dimer').show();
	$('#dimer').animate({
		"opacity": 0.9},
		1000,
		function () { if(typeof callback == 'function') callback(); }
	);
	return false;
}

function unDimScreen() {
	$("#dimer").animate({
		"opacity": 0.0},
		1000,
		function () {
			$('#dimer').hide();
		}
	);
	return false;
}

/*	Audio Player	*/
function audioPlayer(soundFile, id) {
	myQTObject = new QTObject(soundFile, "qt_"+id, "100%", "15");
	myQTObject.altTxt = "QuickTime wird benötigt.";   
	myQTObject.addParam("controller", "true"); 
	myQTObject.addParam("autostart", "true"); 
	myQTObject.write('audioPlayer_'+id);
}

/* Video Player */
function videoPlayer(videoFile, id) {
	unloadVideoPlayer();
	$('#videoplayer-popup').css('z-index', 100000);

	videoLink = '<a href="' + videoFile + '" class="media">Video</a>';
	$('#videoplayer-video').html(videoLink);	
	$('#videoplayer-video a.media').media({ 
		width: 400, 
		height: 300, 
		autoplay: true,
		caption: false,
		attrs: { controller: true }
	}); 

	$.dimScreen(1000, 0.9, function() {
	});
	
	$('#videoplayer-popup').show();
	$('#videoplayer-popup').vCenter();
}

function closeVideoPlayer() {
	unloadVideoPlayer();
	$('#videoplayer-popup').hide();
}

function unloadVideoPlayer() {
	$.dimScreenStop();
	$('#videoplayer-video').empty();
}

/* General */
function isset(varname){
	return(typeof(window[varname])!='undefined');
}
