var imagecount = 0;
var start = 0;
var perpage = 12;
var reloading = false;
var reopenLightbox = false;

function getHeaderimage(categories) {
	if (jQuery.inArray("3", categories)!=-1)
		return "header_digital_pixel.jpg";
	if (jQuery.inArray("4", categories)!=-1)
		return "header_digital_vektor.jpg";
	if (jQuery.inArray("5", categories)!=-1)
		return "header_fineliner.jpg";
	if (jQuery.inArray("6", categories)!=-1)
		return "header_aquarell.jpg";
	return "header_digital_pixel.jpg";
}

$(document).ready(function(){
/*	$('ul.gruppe a').tinyTips('light', 'title'); */
	// do not load droid font on iPad (would crash: http://code.google.com/p/googlefontdirectory/issues/detail?id=7)
	isMobSaf = navigator.platform.indexOf("iPad") != -1;
	isMobSaf = (navigator.platform.indexOf("iPod") != -1) || isMobSaf;
	isMobSaf = (navigator.platform.indexOf("iPhone") != -1) || isMobSaf;
	href_css_droidserif = "http://fonts.googleapis.com/css?family=Droid+Serif:regular,bold";
	if (!isMobSaf) {
		$("<link>").appendTo("head").attr({
			rel: "stylesheet",
			type: "text/css",
			href: href_css_droidserif
		});
	}

	$("ul.gruppe a").click(function(event){
		event.preventDefault();
		if ($(this).hasClass("selected")) {
			$(this).removeClass("selected");
		} else {
			$(this).addClass("selected");
		};
		start = 0;
		reloadGallery();
	});
	$("#gallerynext").click(function(event) {
		event.preventDefault();
		navGalerieWeiter();
	});
	$("#galleryprev").click(function(event) {
		event.preventDefault();
		navGalerieZurueck();
	});
	reloadGallery();
});

function selectAll() {
	reloading = true;
	$("ul.gruppe a").each(function(index) {
		$(this).addClass("selected");
	});
	start = 0;
	reloading = false;
	reloadGallery();
}

function navGalerieZurueck() {
		if (start==0) {
			reopenLightbox = false;
			return;
		}
		start -= perpage;
		reloadGallery();
}
function navGalerieWeiter() {
		if (start+perpage>=imagecount) { 
			reopenLightbox = false;
			return;
		}
		start += perpage;
		reloadGallery();
}
function cbLightboxWrap(direction) {
	reopenLightbox = direction;
	if (direction=="next") {
		navGalerieWeiter();
	}
	else {
		navGalerieZurueck();
	}
	
}	
function cbImagesLoaded() {
	$("#galeriebilder .loading").hide();
	$("#galeriebilder ul").fadeIn();
	$('#galeriebilder a').lightBox({
		fixedNavigation:false,
		txtImage:       'Bild',  
		txtOf:          'von', 
		wrapCallback:   cbLightboxWrap,
		imageLoading:     'img/loading.gif',
		imageBtnPrev:     'img/lightbox_prev.png',
		imageBtnNext:     'img/lightbox_next.png',   
		imageBtnClose:    'img/lightbox_close.png',
		imageBlank:       'lightbox/lightbox-blank.gif'
	});
	var last = start+perpage;
	if (last>imagecount) last = imagecount;
	$("#status").html(imagecount+" Bilder, zeige "+(start+1)+" bis "+last);

	if (reopenLightbox) {
		if (reopenLightbox=="next")
			$("#galeriebilder a").first().click();
		else 
			$("#galeriebilder a").last().click();
		reopenLightbox = false;
	}

}

function cbImageLoaded(loadedImages, totalImages) {
//	$("#status").html(loadedImages+" von "+totalImages+" geladen.");
	$("#status").append(".");
}

function reloadGallery() {
		if (reloading) return;
		reloading = true;
		$("#galeriebilder").html("<div class='loading'>&nbsp;</div>");
		var categories = new Array(Array(), Array());
		$("ul#cat1 a.selected").each(function(index) {
			categories[0].push($(this).attr("id").substr(4));
		});
		$("ul#cat2 a.selected").each(function(index) {
			categories[1].push($(this).attr("id").substr(4));
		});
		var pic = new Image();
		var picUrl = "img/"+getHeaderimage(categories[0]);
		pic.onload = function() {
			$("#pageheader").css("background-image", "url("+picUrl+")");
		}
		pic.src = picUrl;
		$.getJSON('bilder.php?start='+start+'&cat1='+categories[0].join(",")+'&cat2='+categories[1].join(","), function(data) {
			imagecount = data["count"];
			if (imagecount) {
				images = data["images"];
				var html = "<ul style='display:none;' class='bilder'>";
				jQuery.each( images, function(i) {
					html += "<li class='thumb'><a title='"+images[i].title+"' href='images/"+images[i].image+"'>"+"<img title='"+images[i].title+"' src='thumbs/"+images[i].thumb+"' alt='"+images[i].title+"' /></a></li>";
				});
				html += "</ul>";
				$("#status").html("lade ");
				$("#status").show();
				$("#galeriebilder").append(html);
				$("#gallerynav").show();
				$("#galeriebilder").find('img').batchImageLoad({
					loadingCompleteCallback: cbImagesLoaded,
					imageLoadedCallback: cbImageLoaded
				});
			}
			else {
				$("#status").html("<a onclick='selectAll();return false;' href=''>Alle anzeigen</a>");
				$("#gallerynav").hide();
				$("#galeriebilder").html($("#altcontent").html());
				$(".theme0, .tech0, .techtheme0").hide();
				if (categories[0].length==0 && categories[1].length==0) {
					$(".techtheme0").show();
				}
				else if (categories[0].length==0) {
					$(".tech0").show();
				}
				else if (categories[1].length==0) {
					$(".theme0").show();
				}
				else {
					$("#galeriebilder").html("keine Bilder gefunden ");
				}

			}

			if (start+perpage>=imagecount) {
				$("#gallerynext").addClass("disabled");
			} else {
				$("#gallerynext").removeClass("disabled");
			}
			if (start==0) {
				$("#galleryprev").addClass("disabled");
			} else {
				$("#galleryprev").removeClass("disabled");
			}
			reloading = false;
		});
}



