/*
 *
 */
function show_preview(id) {
	if(!imgjsid) return false;

	imgjsid = id;

	$('topshot_preview_img').src = 'graphics/px.gif';
	$('topshot_preview_img_buf').style.display='none';
	$('topshot_preview_img').style.display='none';
	$('overlay').appear({duration:0.5});
	$('icons').style.opacity = 1.0;
	$('icon_prev').style.opacity = 1.0;
	$('icon_next').style.opacity = 1.0;

	switch_to_image(id, 0.5);

	return false;
}

function close_preview()
{
	if(slideshow) toggle_slideshow();

	$('overlay').fade({duration:0.5});

	return false;
}

function show_preview_prev() {
	var now = imgjs[imgjsid];

	switch_to_image(now[0], 0);

	return false;
}

function show_preview_next() {
	var now = imgjs[imgjsid];

	switch_to_image(now[1], 0);

	return false;
}


function switch_to_image(id, delay) {
	imgjsid = id;

// Pre-loading
	if(imgpre0.src != imgjs[id][2]) imgpre0.src = imgjs[id][2];

	if(!imgpre0.complete) {
		window.setTimeout('switch_to_image('+id+', '+delay+')', 100);
	}
	else {
		// Aktuelles Bild in den Puffer kopieren und anzeigen
		$('topshot_preview_img_buf').src = $('topshot_preview_img').src;
		$('topshot_preview_img_buf').setStyle({width: $('topshot_preview_img').getWidth()+'px'});
		$('topshot_preview_img_buf').setStyle({height:$('topshot_preview_img').getHeight()+'px'});
		$('topshot_preview_img_buf').style.opacity='1';
		$('topshot_preview_img_buf').style.display='block';

		// Hauptbild unsichtbar
		$('topshot_preview_img').style.display='none';
		$('topshot_preview_img').style.opacity='0';


		// Neues Bild wird Hauptbild
		$('topshot_preview_img').src = imgjs[id][2]; // Preview-Pfad
		$('topshot_preview_img').setStyle({width: imgjs[id][5] + 'px'}); // Skalierung

		// Neue Caption
		$('topshot_caption_number').update(imgjs[id][4]);
		$('topshot_caption').update(imgjs[id][3]);

		// Warenkorb
		check_cart_icon(id);

		// Puffer ausblenden, Hauptbild einblenden
		$('topshot_preview_img_buf').fade({duration:1.5,delay:delay});
		$('topshot_preview_img').appear({duration:1.5,delay:delay});

		// Preloading
		var i1 = imgjs[id][0];
		var i2 = imgjs[id][1];
		imgpre1.src = imgjs[i1][2];
		imgpre2.src = imgjs[i2][2];
	}
}

function toggle_slideshow() {
	if(slideshow) {
		slideshow = 0;

		$('icons').style.opacity     = 1.0;
		$('icon_prev').style.opacity = 1.0;
		$('icon_next').style.opacity = 1.0;

		$('icon_slideshow').src = 'graphics/preview_slideshow.gif';
	} else {
		slideshow = 1;

		$('icons').style.opacity     = 0.3;
		$('icon_prev').style.opacity = 0.3;
		$('icon_next').style.opacity = 0.3;

		$('icon_slideshow').src = 'graphics/preview_slideshow_stop.gif';
		setTimeout('next_slide()', slideshowseconds * 250);
	}

	return false;
}

function next_slide() {
	if(slideshow) {
		show_preview_next();

		setTimeout('next_slide()', slideshowseconds * 1000);
	}
}

function check_cart_icon(id) {
	
	if(cartid == 0) return false;

	if(imgjs[id][6]) {
		$('icon_cart').src = 'graphics/preview_cart_out.gif';
	} else {
		$('icon_cart').src = 'graphics/preview_cart_in.gif';
	}
}

function cart_toggle(sid) {
	var id = imgjsid;

	if(cartid == 0) return false;

	if(slideshow) return false;

	new Ajax.Request( 'ajax.php?'+sid+'&ajax[json]=1&ajax[action]=collection_'+(imgjs[id][6] ? 'out' : 'in')+'&ajax[colid]='+cartid+'&ajax[imgid]='+id
					, { method:'get'
					  , onSuccess: function(transport, json) {
									  if(json) {
										  var id = json.imgid;
										  imgjs[id][6] = json.cart;
										   check_cart_icon(id);
									  } else {
										  alert("Error in request.");
									  }
								   }
					  }
					);

	return false;
}

function collection_in(sid) {
	var id = imgjsid;

	if(slideshow) return false;

	new Ajax.Request( 'ajax.php?'+sid+'&ajax[json]=1&ajax[action]=collection_in_box&ajax[imgid]='+id
					, { method:'get'
					  , onSuccess: function(transport, json) {
									  if(json) {
										  var id = json.imgid;

										  if(json.html) show_collection_box('button_collection_in', json.html);

									  } else {
										  alert("Error in request.");
									  }
								   }
					  }
					);

	return false;
}

function collection_out(sid) {
	var id = imgjsid;

	if(slideshow) return false;

	new Ajax.Request( 'ajax.php?'+sid+'&ajax[json]=1&ajax[action]=collection_out_box&ajax[imgid]='+id
					, { method:'get'
					  , onSuccess: function(transport, json) {
									  if(json) {
										  var id = json.imgid;

										  if(json.html) show_collection_box('button_collection_out', json.html);
									  } else {
										  alert("Error in request.");
									  }
								   }
					  }
					);
/*
	new Ajax.Updater( 'topshot_caption'
					, 'ajax.php?'+sid+'&ajax[action]=collection_out_box&ajax[imgid]='+id
					, { method:'get'}
					);
*/

	return false;
}

function show_collection_box(parent_id, html) {
	var pos = $(parent_id).positionedOffset();

	$('collection_box').update(html);

	$('collection_box').setStyle({left:pos.left+'px',top:pos.top-$('collection_box').getHeight()+10+'px'});
	$('collection_box').appear({duration: 0.5});
}

function add_to_collection(sid, colid) {
	return 	change_collection(sid, colid, 'in');
}
function remove_from_collection(sid, colid) {
	return change_collection(sid, colid, 'out');
}

function change_collection(sid, colid, action) {
	var id = imgjsid;

	if(slideshow) return false;

	new Ajax.Request( 'ajax.php?'+sid+'&ajax[json]=1&ajax[action]=collection_'+action+'&ajax[colid]='+colid+'&ajax[imgid]='+id
					, { method:'get'
					  , onSuccess: function(transport, json) {
									  if(json) {
										  $('collection_box').fade({duration: 0.5});
									  } else {
										  alert("Error in request.");
									  }
								   }
					  }
					);

	return false;
}

function add_collection(sid, name, description) {
	var id = imgjsid;

	if(slideshow) return false;

//alert('ajax.php?'+sid+'&ajax[json]=1&ajax[action]=collection_new&ajax[imgid]='+id+'&ajax[name]='+escape(name)+'&ajax[desc]='+escape(description));
	new Ajax.Request( 'ajax.php?'+sid+'&ajax[json]=1&ajax[action]=collection_new&ajax[imgid]='+id+'&ajax[name]='+escape(name)+'&ajax[desc]='+escape(description)
					, { method:'get'
					  , onSuccess: function(transport, json) {
									  if(json) {
										  $('collection_box').fade({duration: 0.5});
									  } else {
										  alert("Error in request.");
									  }
								   }
					  }
					);

	return false;
}