blocked=false;
function slideshow(mode) {
	switch(mode) {
		case 'start':
			slide();
			$('slideshow_button').onclick = function() {slideshow("stop");};
			$('slideshow_button').innerHTML = '<img src="../_gfx/willi/icon_willi_slide_stop.gif" border="0" title="Slideshow stoppen">';
			slideshow_interval = window.setInterval("slide();", slidespeed*1000);
		break;
		
		
		default:
		case 'stop':
			$('slideshow_button').onclick = function() {slideshow("start");};
			$('slideshow_button').innerHTML = '<img src="../_gfx/willi/icon_willi_slide.gif" border="0" title="Slideshow starten">';
			clearInterval(slideshow_interval);
		break;
	}
}

function slide() {
	getImage(slide2id);
}


function disable(item) {
	blocked = true;
	item.addClassName('inactive');
	item.removeClassName('active'); 
}
function enable(item) {
	blocked = false;
	item.removeClassName('inactive');
	item.addClassName('active'); 
}

function getHash() {
	return document.location.hash.substring(1);
}

function getImage(id) {
	if (id>0 && !blocked) {
		new Ajax.Request('../_scripts/willi/galerie/image.ajax.php', {
			method: 'post',
			parameters: {id: id},
			onCreate: function(transport) {
				$('gal_loading').style.top = (155+$('gal_image').height/2)+'px';
				$('gal_loading').show();
				$$('.gal_nextLink').each(function(item) { disable(item) } );
				$$('.gal_prevLink').each(function(item) { disable(item) } );
				
			},
		  onSuccess: function(transport) {
		    var data = transport.responseText.evalJSON();
		    document.location.hash = id;
		    $('gal_image').up('a').href = $('gal_image').src = '../mod_gallery/bilder/'+data.image;
		    
		    if (data.beschreibung!=null) $('gal_beschreibung').innerHTML = data.beschreibung;
		    else $('gal_beschreibung').innerHTML = '';

		    if (data.beschreibung2!=null) $('gal_beschreibung2').innerHTML = data.beschreibung2;
		    else $('gal_beschreibung2').innerHTML = '';
		    
		    $('gal_image').up('a').title = data.beschreibung + "\r\n" + data.beschreibung2;
		    
		  	if (data.next_id>0) $$('.gal_nextLink').each(function(item) { enable(item); } );
		    else $$('.gal_nextLink').each(function(item) { disable(item); } );
		    if (data.prev_id>0) $$('.gal_prevLink').each(function(item) {enable(item); } );
		    else $$('.gal_prevLink').each(function(item) { disable(item); } );
		    
		    if (data.next_id>0) $$('.gal_nextLink').each(function(item) { item.onclick = function() {getImage(data.next_id)} });
		    else $$('.gal_nextLink').each(function(item) { item.onclick = function() {} });
		    
		    if (data.prev_id>0) $$('.gal_prevLink').each(function(item) { item.onclick = function() {getImage(data.prev_id)} });
		    else $$('.gal_prevLink').each(function(item) { item.onclick = function() {} });
		    
		   
		    
		    	    
		    
		    if (data.next_id<=0) slidedir = 'backward';
		    else if (data.prev_id<=0) slidedir = 'forward';
		    
		    if (slidedir=='forward') slide2id = data.next_id;
		    else slide2id = data.prev_id;
		    
		    
		    //slide2id = data.next_id;
		    
		    blocked = false;
		    setBildnummer();
		    $('gal_loading').hide();
		  }
		});
		
	}
}

function setBildnummer() {
	var bildnr = getHash();
	$$('.bildnr').each(function(item) {
		switch(item.nodeName) {
		
			case 'A':
				if (item.rel=='') item.rel = item.href;
				item.href = item.rel + '&bildnr=' + bildnr;
			break;
			
			case 'DIV':
			default:
				item.innerHTML = 'Bildnr: ' + bildnr;
			break;
			
		}
	});

}

function addToShoppingCard(obj) {
	var url = document.location.href;
	var searchfor = "rubric=";
	var params = url.substr(url.indexOf(searchfor)+searchfor.length);
	var rubric = parseInt(params.split('&')[0]);

	var bildnr = getHash();
	if (bildnr=='') {
		var pfad = document.location.href;
		var pos = pfad.indexOf('id=')+3;
		var id_string = pfad.substr(pos);
		for (i=0;i<id_string.length;i++) {
			var c = parseInt(id_string.substr(i,1));	
			if (!isNaN(c)) {
				bildnr += String(c);
			} else break;
		}
		
		bildnr = parseInt(bildnr);
	}
	
	//console.log(bildnr);
	new Ajax.Request('../_scripts/willi/galerie/addToShoppingCard.ajax.php', {
	  method: 'POST',
	  parameters: {bildnr: bildnr, rubric: rubric},
	  onSuccess: function(transport) {
	  	var response = transport.responseText.evalJSON();
	  	if (response.error != undefined) {
	  		if ($('message_field')!=undefined) $('message_field').remove();
	  		var messagebox = '<div id="message_field"><div id="error_message"><h3 style="float: left;">Achtung</h3><div class="closebtn"><a title="Schließen" onclick="$(\'message_field\').remove();" href="javascript:void(0);">Schließen</a></div><div class="clear"></div>'+response.error+'</div></div>';
	  		$('middle').down('div').insert({
	  			top: messagebox	
	  		});
		  	window.scrollTo(0,0);
		  	window.setTimeout("if ($('message_field')!=undefined) $('message_field').remove()", 8000);
		  	
	  	} else {
		  	Effect.Shake('warenkorb', {distance: 5, duration: 1.0});
		  	$('shoppingCard').innerHTML = response.inhalt;
		  	$('shoppingCardCount').innerHTML = response.anzahl;
		  	$('betrag').innerHTML = response.betrag;
		  	$('ausgabe').innerHTML = response.ausgabe;
		  	$('erwerbstext').innerHTML = response.erwerbstext;
		}
	  }
	});
}


function removeFromShoppingCard(del_bildnr, rubric){
	new Ajax.Request('../_scripts/willi/galerie/removeFromShoppingCard.ajax.php', {
	  method: 'POST',
	  parameters: {bildnr: del_bildnr, rubric: rubric},
	  onSuccess: function(transport) {
	  	var response = transport.responseText.evalJSON();
	  	//console.log(response);
	  	$('shoppingCard').innerHTML = response.inhalt;
	  	if ($('shoppingCardCount')!=undefined) $('shoppingCardCount').innerHTML = response.anzahl;
	  	$('betrag').innerHTML = response.betrag;
	  	$('ausgabe').innerHTML = response.ausgabe;
	  	$('erwerbstext').innerHTML = response.erwerbstext;
	  }
	});
}


if (document.location.hash!='') {
	document.observe("dom:loaded", function() {
	  getImage(getHash());
	});
}