function rev(aString){
	var temp = "";
	for(i=aString.length-1;i>=0;i--){
		temp = temp + aString.charAt(i);
	}
	return temp;
}

function gLightbox(aSelector, aPathPrefix){
	jQuery(function() {    
		jQuery('#gallery a').lightBox({
			imageLoading:aPathPrefix+'images/lightbox-ico-loading.gif',
			imageBtnPrev:aPathPrefix+'images/lightbox-btn-prev.png',
			imageBtnNext:aPathPrefix+'images/lightbox-btn-next.png',
			imageBtnClose:aPathPrefix+'images/lightbox-btn-close.png',
			imageBlank:aPathPrefix+'images/lightbox-blank.gif'
		});
	});
}

function gCarousel(aSelector){
	jQuery(aSelector).jCarouselLite({
        btnNext: ".next",
        btnPrev: ".prev",
        circular: false,
        afterEnd: function(a){
			updateNavButtonEnablement(a);
		}
    });
	var tempLIs = $(aSelector+" li:lt(3)");
	updateNavButtonEnablement(tempLIs);
}

/**
 * @param a a List of jQuery LI elements: the ones visible
 * @return void
 */
function updateNavButtonEnablement(a){
	var tempImgName = $("#prevButton img").attr("src");
	if(isVisible(a, true)){
		tempImgName = tempImgName.replace("imgNavToLeft","imgNavToLeftDisabled");
		$("#prevButton").addClass("navButtonDisabled");
		$("#prevButton").attr("disabled","disabled");
		$("#prevButton").attr("title","Keine vorherigen Bilder");
	}else{
		tempImgName = tempImgName.replace("imgNavToLeftDisabled","imgNavToLeft");
		$("#prevButton").removeClass("navButtonDisabled");
		$("#prevButton").attr("disabled","");
		$("#prevButton").attr("title","Vorherige Bilder anzeigen");
	}
	$("#prevButton img").attr("src",tempImgName);
	
	tempImgName = $("#nextButton img").attr("src");
	if(isVisible(a, false)){
		tempImgName = tempImgName.replace("imgNavToRight","imgNavToRightDisabled");
		$("#nextButton").addClass("navButtonDisabled");
		$("#nextButton").attr("disabled","disabled");
		$("#nextButton").attr("title","Keine weiteren Bilder");
	}else{
		tempImgName = tempImgName.replace("imgNavToRightDisabled","imgNavToRight");
		$("#nextButton").removeClass("navButtonDisabled");
		$("#nextButton").attr("disabled","");
		$("#nextButton").attr("title","Weitere Bilder anzeigen");
	}
	$("#nextButton img").attr("src",tempImgName);
}

function isVisible(anLiArray, aFirst){
	if(!anLiArray){
		return false;
	}
	if(anLiArray.size()==0){
		return true;
	}
	var tempFirstOrLast = aFirst ? anLiArray.eq(0) : anLiArray.eq(anLiArray.size()-1);
	var tempParent = tempFirstOrLast.parent();
	var tempCompare = aFirst ? tempParent.children().eq(0) : tempParent.children().eq(tempParent.children().size()-1); 
	if(tempCompare.get(0) == tempFirstOrLast.get(0)){
		return true;
	}
	return false;
}