function layout(){winw=jQuery(window).width();winh=jQuery(window).height();if(jQuery("#thumbs-wrapper").length>0&&jQuery("#thumbs-wrapper").css("display")=="block"){var tlHeight=(jQuery("#thumb-container-"+imageCount).offset().top+jQuery("#thumb-container-"+imageCount).height())-jQuery("#thumb-container-1").offset().top;if(tlHeight>jQuery("#thumbs-wrapper").height()+30&&adjThumbs==0){adjThumbs=1;adjustThumbs("down");}else if(tlHeight<=jQuery("#thumbs-wrapper").height()-30&&jQuery("img.thumb").height()<thumbHeight&&adjThumbs==0){adjThumbs=1;adjustThumbs("up");}}}
function adjustThumbs(dir){adjThumbs=1;if(dir=="down"){var targetH=jQuery("#thumbs-wrapper").height();var thumbH=jQuery("img.thumb").height();var tlHeight=(jQuery("#thumb-container-"+imageCount).offset().top+jQuery("#thumb-container-"+imageCount).height())-jQuery("#thumb-container-1").offset().top;jQuery("img.thumb").css({height:thumbH-1+"px"});if(tlHeight>jQuery("#thumbs-wrapper").height()){adjustThumbs("down");}else{adjThumbs=0;}}else if(dir=="up"){var thumbH=jQuery("img.thumb").height();var tlHeight=(jQuery("#thumb-container-"+imageCount).offset().top+jQuery("#thumb-container-"+imageCount).height())-jQuery("#thumb-container-1").offset().top;jQuery("img.thumb").css({height:thumbH+1+"px"});if(tlHeight<=jQuery("#thumbs-wrapper").height()&&jQuery("img.thumb").height()<thumbHeight){adjustThumbs("up");}else{adjThumbs=0;}}}
function hideCaption(){jQuery("#caption-image").fadeOut(aniSpeed2);}
function showCaption(){jQuery("#caption-image").fadeIn(aniSpeed2);}
function showHideCaption(){if(jQuery("#caption-image").css("display")=="none"){jQuery("#image-buttons #info").html("Hide Information");captionState=1;showCaption();}else{jQuery("#image-buttons #info").html("Show Information");captionState=0;hideCaption();}}
function configImageButtons(){if(iPad==0){jQuery(".thumb").mouseover(function(){jQuery(this).css({opacity:thumbOpacity2});});jQuery(".thumb").mouseout(function(){var idnr=Math.abs(jQuery(this).attr("id").split("-").pop());if(idnr!=activeImage){jQuery(this).css({opacity:thumbOpacity1});}});}
jQuery("#previous-button").click(function(e){if(activeImage>1){var nr=activeImage-1;showImage(nr);}else{showThumbnails();}});if(iPad==0){jQuery("#previous-button").mouseover(function(e){jQuery("#previous-tooltip").css({display:"block"});});jQuery("#previous-button").mouseout(function(e){jQuery("#previous-tooltip").css({display:"none"});});jQuery("#previous-button").mousemove(function(e){e=(window.event)?event:e;cursorFollowMouse(e,'previous-tooltip',-80);});}
jQuery("#next-button").click(function(e){if(activeImage<imageCount){var nr=activeImage+1;showImage(nr);}else{showThumbnails();}});if(iPad==0){jQuery("#next-button").mouseover(function(e){jQuery("#next-tooltip").css({display:"block"});});jQuery("#next-button").mouseout(function(e){jQuery("#next-tooltip").css({display:"none"});});jQuery("#next-button").mousemove(function(e){e=(window.event)?event:e;cursorFollowMouse(e,'next-tooltip',20);});}}
function cursorFollowMouse(e,obj,x){e=(window.event)?event:e;var newX=e.clientX+x;var newY=e.clientY+25;$("#"+obj).css("left",newX+"px");$("#"+obj).css("top",newY+"px");}
function showVideo(src,nr){speak("ou la la, video! "+src);jQuery("<div class='video-wrapper' id='video-wrapper-"+nr+"'></div>").appendTo("#image-wrapper");fbEmbedVideo(src,nr);}
function showPDF(){jQuery.post(base+'/pdf/get-selection.php',{},function(status){speak("get selection: "+status);if(status!="empty"){jQuery("#series-wrapper").fadeOut(aniSpeed1);jQuery(".pdf-msg").fadeOut(aniSpeed1);jQuery("#pdf-wrapper").find("#pdf-help").css("display","block");var selection=status;speak(selection);var pdfCount=selection.length;for(var i=0;i<selection.length;i++){var nr=i+1;var file=selection[i]['file'];var file=file.split(".");var file_ext=file.pop();var file_t=file.join(".");var file_t=file_t+"_t.jpg";jQuery("<div id='pdf-container-"+nr+"' class='thumb-container' onClick='javascript:removeFromPDF(\""+selection[i]['file']+"\","+nr+");'><span id='"+selection[i]['file']+"'><img id='thumb-1' class='thumb' style='margin-right: 6px;' src='"+file_t+"'></span></div>").appendTo("#pdf-list");}
jQuery("#pdf-list").sortable({opacity:thumbOpacity2,helper:'clone'});jQuery("#pdf-list").bind("sortupdate",function(event,ui){pdfRewrite();for(var i=0;i<selection.length;i++){var nr=i+1;}});jQuery("#pdf-list").bind("sortstart",function(event,ui){for(var i=0;i<selection.length;i++){var nr=i+1;}});jQuery("#image-wrapper").fadeOut(aniSpeed2,function(){jQuery("#pdf-wrapper").css({display:"block"});jQuery("#image-buttons #info").html("Show information");jQuery("#caption-image").css({display:'none'});jQuery("#image-buttons").css({display:'none'});jQuery("#pdf-buttons").fadeIn(aniSpeed2);});}},"json");}
function pdfRewrite(){var pdfList=jQuery("#pdf-list").find(".thumb");var newList=null;var newList=new Array();for(var i=0;i<pdfList.length;i++){newList[i]=jQuery(pdfList[i]).parent().attr("id");speak("new"+i+" :"+newList[i]);}
jQuery.post(base+'/pdf/rewrite-pdf.php',{list:newList},function(status){speak("pdf-rewrite: "+status);});}
function pdfEditorSubmit(){speak("imgtotal: "+imageCount);jQuery.post(base+'/pdf/get-selection.php',{},function(status){speak("get selection: "+status);var selection=status;if(status!="empty"){var pdfCount=selection.length;var f=new Array();for(var i=0;i<selection.length;i++){var nr=i+1;var filepath=selection[i]['file'];f[i]=filepath.replace(base,'..');jQuery("#pdfForm").append("<input name='f"+nr+"' value='"+f[i]+"' type='hidden'>");speak("f"+i+": "+f[i]);}
var thePdfForm=document.forms[0];jQuery("#pdfForm").append("<input name='n' value='"+pdfCount+"' type='hidden'>");thePdfForm.submit();}},"json");}
checkImageInPDF=function(file){jQuery.post(base+'/pdf/check-for-image.php',{file:file},function(status){speak("image in PDF status: "+status);return status;});}
function clearPDF(){jQuery.post(base+'/pdf/clear-pdf.php',{},function(status){speak("status pdf cleared: "+status.length);jQuery("#image-buttons ul #pdf-add").html("Add to PDF");closePDF();});}
function closePDF(){jQuery("#pdf-buttons").fadeOut(aniSpeed1);jQuery("#pdf-wrapper").fadeOut(aniSpeed1,function(){jQuery("#image-wrapper").fadeIn(aniSpeed3);jQuery("#image-buttons").fadeIn(aniSpeed3);jQuery("#series-wrapper").fadeIn(aniSpeed3);jQuery("#pdf-wrapper").find(".thumb-container").detach();});}
function removeFromPDF(file,nr){jQuery.post(base+'/pdf/remove-from-pdf.php',{file:file},function(status){speak("status removed Image: "+status);jQuery("#image-buttons #pdf-add").html("Add to PDF");jQuery("#image-buttons #pdf-add").unbind("click");jQuery("#image-buttons #pdf-add").click(function(){addToPDF(file);});if(jQuery("#pdf-wrapper").css("display")=="block"){jQuery("#pdf-container-"+nr).css({opacity:0});if(jQuery("#pdf-wrapper").find(".thumb-container").length==1){jQuery("#pdf-wrapper").find("#pdf-help").css("display","none");}
jQuery("#pdf-container-"+nr).hide(aniSpeed3,function(){if(jQuery("#pdf-wrapper").find(".thumb-container").length==1){closePDF();}
jQuery(this).detach();});}else{setTimeout(function(){jQuery("#pdf-message-del").fadeIn(aniSpeed3,function(){setTimeout(function(){jQuery("#pdf-message-del").fadeOut(aniSpeed2);},1500);});},500);}});}
function addToPDF(file){jQuery.post(base+'/pdf/add-to-pdf.php',{file:file},function(status){speak("status added Image: "+status);jQuery("#image-buttons #pdf-add").html("Remove from PDF");setTimeout(function(){jQuery("#pdf-message-add").fadeIn(aniSpeed3,function(){setTimeout(function(){jQuery("#pdf-message-add").fadeOut(aniSpeed2);},1500);});},500);jQuery("#image-buttons #pdf-add").unbind("click");jQuery("#image-buttons #pdf-add").click(function(){removeFromPDF(file);});});}
function autoScrollSeries(nr){var winw=$(window).width();var newScroll=Math.round($("#series-container-"+nr).position().left);speak("autoScroll: "+newScroll);$("#series-wrapper").scrollLeft(newScroll);}
function showSeries(nr){speak("get series: "+nr);var seriesStartNew=1;var seriesEndNew=imageCount;var startFound=0;var endFound=0;for(var i=nr;i>=1;i--){speak("series check: "+i+", margin-right: "+jQuery("#thumb-"+i).css("margin-right"));if(jQuery("#thumb-"+i).css("margin-right")=="100px"&&i==nr){var seriesEndNew=i;if(startFound==1){break;}
var endFound=1;}else if(jQuery("#thumb-"+i).css("margin-right")=="100px"&&i!=nr){var seriesStartNew=i+1;break;var startFound=1;}}
for(var i=nr;i<=imageCount;i++){speak("series check: "+i+", margin-right: "+jQuery("#thumb-"+i).css("margin-right"));if(jQuery("#thumb-"+i).css("margin-right")=="100px"){var seriesEndNew=i;break;}}
speak("seriesStartNew: "+seriesStartNew);speak("seriesEndNew: "+seriesEndNew);if(seriesStartNew!=seriesStart){seriesStart=seriesStartNew;seriesEnd=seriesEndNew;speak("seriesStart: "+seriesStart);if(jQuery("#series-wrapper").css("display")=="block"){jQuery("#series-wrapper").fadeOut(aniSpeed2,function(){jQuery("#series-wrapper").detach();showSeries2(nr);});}else{showSeries2(nr);}}else{jQuery(".series-container").find("#thumb-"+nr).css({opacity:thumbOpacity1});autoScrollSeries(nr);}}
function showSeries2(nr){speak("showSeries2 "+seriesStart+", "+seriesEnd);jQuery("<div id='series-wrapper' class='series-wrapper'><div class='series-list' id='series-list'></div></div>").appendTo("#content");var listw=0;for(var i=seriesStart;i<=seriesEnd;i++){var src=jQuery("#thumb-"+i).attr("src");jQuery("<div id='series-container-"+i+"' class='series-container' onCLick='javscript:showImage("+i+");'><span><img src='"+src+"' id='thumb-"+i+"' class='thumb'></span></div>").appendTo("#series-list");listw+=jQuery("#series-container-"+i).width();}
jQuery("#series-list").css({width:listw+5+"px"});speak("listw: "+listw);jQuery(".series-container").find(".thumb").css({opacity:thumbOpacity3});if(iPad==0){jQuery(".series-container span .thumb").mouseover(function(){jQuery(this).css({opacity:thumbOpacity1});});jQuery(".series-container span .thumb").mouseout(function(){var idnr=Math.abs(jQuery(this).attr("id").split("-").pop());if(idnr!=activeImage){jQuery(this).css({opacity:thumbOpacity3});}});}
jQuery(".series-container").find("#thumb-"+nr).css({opacity:thumbOpacity1});autoScrollSeries(nr);}
function preloadImage(src,nr,show){preloadingImage=1;var imageObj=new Image();jQuery(imageObj).load(function(){speak("loaded img");jQuery("<img src='"+src+"' class='zoom' id='zoom-"+nr+"'>").appendTo("#image-container-"+nr);imageHeight=this.height;imageWidth=this.width;imageRatio=this.width/this.height;if(slideshow==0){jQuery("img.zoom").click(function(e){if(activeImage<imageCount){var nr=activeImage+1;showImage(nr);}else{showThumbnails();}});}else{jQuery("img.zoom").addClass("internal").click(function(e){unloadPage(jQuery("#start span").attr("id"));});}
if(show==1){jQuery("#loading").css("display","none");showImage(nr);var next=nr+1;var prev=nr-1;if(nr<imageCount&&jQuery("#image-container-"+next).length==0){jQuery("<div class='image-container' id='image-container-"+next+"'></div>").prependTo("#image-wrapper");var srcNext=jQuery("#thumb-container-"+next+" span").attr("id");preloadImage(srcNext,next,0);}
if(nr>1&&jQuery("#image-container-"+prev).length==0){jQuery("<div class='image-container' id='image-container-"+prev+"'></div>").prependTo("#image-wrapper");var srcPrev=jQuery("#thumb-container-"+prev+" span").attr("id");preloadImage(srcPrev,prev,0);}}});imageObj.src=src;speak(src);images.push(imageObj);}
function showImage(nr){window.location.hash=nr;jQuery("#previous-button").css({display:'none'});jQuery("#next-button").css({display:'none'});if(jQuery("#thumbs-wrapper").css("display")=="block"){oldScroll=jQuery("div.thumbs-wrapper").scrollLeft();jQuery("#scroll-buttons").fadeOut(aniSpeed2);jQuery("#thumbs-wrapper").fadeOut(aniSpeed2,function(){showImage(nr);});}else{if(activeImage!=0){prevImage=activeImage;jQuery("#image-container-"+activeImage).fadeOut(aniSpeed2);jQuery("#caption-image").fadeOut(aniSpeed1,function(){activeImage=0;showImage(nr);});}else{var srcNext=jQuery("#thumb-container-"+nr+" span").attr("id");var ext=srcNext.split(".").pop();jQuery("#image-wrapper").css("display","block");if(ext=="jpg"||ext=="png"||ext=="gif"){if(jQuery("#image-container-"+nr).length>0){if(jQuery("#series-wrapper").css("display")=="block"){jQuery(".series-container").find("#thumb-"+prevImage).css({opacity:thumbOpacity3});}
if(slideshow==0){showSeries(nr);}
jQuery("#caption-image").html("");var text=jQuery("img#thumb-"+nr).attr("alt");jQuery("#caption-image").html(text);jQuery("#image-buttons #info").html("Show Information");jQuery("#image-buttons #pdf-add").unbind("click");jQuery.post(base+'/pdf/check-for-image.php',{file:srcNext},function(status){speak("image in PDF status: "+status);if(status=='0'){jQuery("#image-buttons #pdf-add").html("Add to PDF");jQuery("#image-buttons #pdf-add").click(function(){addToPDF(srcNext);});}else{jQuery("#image-buttons #pdf-add").html("Remove from PDF");jQuery("#image-buttons #pdf-add").click(function(){removeFromPDF(srcNext);});}});if(text==""){jQuery("#image-buttons #info").css({display:"none"});}else{jQuery("#image-buttons #info").css({display:"block"});}
if(slideshow==0){jQuery("#image-buttons").fadeIn(aniSpeed3);}else{if(nr<imageCount){var nextInSlide=nr+1;}else{var nextInSlide=1;}
if(jQuery(".welcome").css("display")=="none"){jQuery(".welcome").css("display","block");jQuery(".welcome").animate({width:265+"px"},aniSpeed3);jQuery(".welcome").click(function(e){unloadPage(jQuery("#start span").attr("id"));});}
if(jQuery("#links-wrapper").length>0){jQuery("#links-wrapper").fadeIn(aniSpeed2);}
setTimeout("showImage("+nextInSlide+");",5000);}
var img=new Image();img.src=jQuery("#thumb-container-"+nr+" span").attr("id");var heightTest=img.height;speak("heightTest: "+heightTest);if(heightTest!=0){jQuery("#image-container-"+nr).fadeIn(aniSpeed3,function(){if(slideshow==0){jQuery("#previous-button").css({display:'block'});jQuery("#next-button").css({display:'block'});}});if(slideshow==0&&captionState==1){jQuery("#image-buttons #info").html("Hide Information");showCaption();}
activeImage=nr;layout();if(jQuery(".image-buttons").css("display")=="none"&&slideshow==0){jQuery(".image-buttons").fadeIn(aniSpeed3);}}else{if(docurl.indexOf("#")!=-1){docurl=docurl.split("#")[0];}
speak("reload!");window.location.href=docurl+"#"+nr;location.reload(true);}}else{speak("showImage: "+nr);jQuery("#loading").css("display","block");jQuery("<div class='image-container' id='image-container-"+nr+"'></div>").prependTo("#image-wrapper");preloadImage(srcNext,nr,1);}}else if(ext=="mp4"){showVideo(srcNext,nr);}}}}
function showThumbnails(){if(jQuery("#image-wrapper").css("display")=="block"){if(window.location.hash!=""){window.location.hash="";}
jQuery("#series-wrapper").fadeOut(aniSpeed1,function(){jQuery("#series-wrapper").detach();seriesStart=0;seriesEnd=0;});jQuery("#image-wrapper").fadeOut(aniSpeed2);jQuery(".image-buttons").fadeOut(aniSpeed2);jQuery("#caption-image").fadeOut(aniSpeed2);jQuery("#image-container-"+activeImage).fadeOut(aniSpeed2);setTimeout("showThumbnails()",aniSpeed2);}else{jQuery("#thumbs-wrapper").css({opacity:0.0,display:'block'});jQuery("#thumbs-wrapper").animate({opacity:1},aniSpeed4);}
layout();}
function galleryStart(){layout();jQuery("#cgbody").addClass("gallery-body");if(slideshow==0){jQuery(".thumb-container").click(function(){var nr=Math.abs(jQuery(this).attr("id").split("-").pop());showImage(nr);});if(hash==0){jQuery("#loading").css("display","none");jQuery("<div class='image-container' id='image-container-1'></div>").appendTo("#image-wrapper");var srcFirst=jQuery("#thumb-container-"+nextImage+" span").attr("id");var extFirst=srcFirst.split(".").pop();if(extFirst!="mp4"){preloadImage(srcFirst,nextImage,0);}}else{showImage(hash);}}else{showImage(1);}
configImageButtons();}
function scrollThumbnails(dir,speed){var scroll=jQuery(".thumbs-wrapper").scrollLeft();var newScroll=scroll+dir*speed;jQuery(".thumbs-wrapper").scrollLeft(newScroll);var winw=jQuery(window).width();var dragTotal=jQuery("#scroll-track").width()-jQuery("#bar").width();var scrollTotal=jQuery("DIV.thumbs-list").width()-winw;var dragCurrent=newScroll/scrollTotal*dragTotal;var limitl=0;var limitr=jQuery("#scroll-track").width()-jQuery("#bar").width();if(dragCurrent<limitl){dragCurrent=limitl;}
if(dragCurrent>limitr){dragCurrent=limitr;}
jQuery("#bar").css({left:dragCurrent+"px"});}
function dragThumbnails(){var winw=jQuery(window).width();var dragTotal=jQuery("#scroll-track").width()-jQuery("#bar").width();var dragCurrent=dragTotal-jQuery("#bar").position().left;var scrollTotal=jQuery("DIV.thumbs-list").width()-winw;var newScroll=scrollTotal-dragCurrent/dragTotal*scrollTotal;jQuery(".thumbs-wrapper").scrollLeft(newScroll);}
function unloadPage(target){if(jQuery("#series-wrapper").css("display")=="block"){jQuery("#series-wrapper").fadeOut(aniSpeed1);}
jQuery("#content").fadeOut(aniSpeed1,function(){window.location.href=target;});}
function go(target){window.location.href=target;}
function preloadUI(nr){var uiImage=new Image();var imageFile=base+"/"+ui[nr];uiImage.src=imageFile;if(nr<ui.length-1){nr++;preloadUI(nr);}}
jQuery(document).ready(function(){speak("navigator: "+navigator.userAgent);preloadUI(0);var fadeOutLinks=new Array("a.internal","img.internal","#logo a",".meta-menu a","#catmenu a");for(var i=0;i<fadeOutLinks.length;++i){jQuery(fadeOutLinks[i]).click(function(e){var target=jQuery(this).attr("href");e.preventDefault();unloadPage(target);});}
jQuery("DIV.meta-menu").css("display","block");jQuery("a").focus(function(){jQuery(this).blur();});jQuery("DIV.meta-menu a img").css("opacity",menuOpacity1);jQuery("DIV.meta-menu a img").mouseover(function(){jQuery(this).css({opacity:menuOpacity2});});jQuery("DIV.meta-menu a img").mouseout(function(){jQuery(this).css({opacity:menuOpacity1});});jQuery("DIV.meta-menu a.active img").mouseout(function(){jQuery(this).css({opacity:menuOpacity2});});jQuery("DIV.meta-menu").css("display","block");jQuery("DIV#catmenu a img").css({opacity:menuOpacity1});jQuery("DIV#catmenu ul li a.active img").css({opacity:menuOpacity2});jQuery("DIV#catmenu ul li a img").mouseover(function(){jQuery(this).css({opacity:menuOpacity2});});jQuery("DIV#catmenu ul li a img").mouseout(function(){jQuery(this).css({opacity:menuOpacity1});});jQuery("DIV#catmenu ul li a.active img").mouseout(function(){jQuery(this).css({opacity:menuOpacity2});});jQuery("DIV#catmenu").css("display","block");jQuery("#scroll-buttons span img").css("opacity",menuOpacity1);jQuery("#scroll-buttons span img").mouseover(function(){jQuery(this).css({opacity:menuOpacity2});});jQuery("#scroll-buttons span img").mouseout(function(){jQuery(this).css({opacity:menuOpacity1});});jQuery("#scroll-buttons span#left img").mousedown(function(e){clearInterval(dragListener);dragListener=0;scrollListener=setInterval("scrollThumbnails("+-1+","+scrollSpeed1+")",scrollInterval);});jQuery("#scroll-buttons span#right img").mousedown(function(e){clearInterval(dragListener);dragListener=0;scrollListener=setInterval("scrollThumbnails("+1+","+scrollSpeed1+")",scrollInterval);});jQuery("#scroll-buttons span").mouseup(function(e){clearInterval(scrollListener);scrollListener=0;});jQuery("#scroll-buttons span").mouseout(function(e){clearInterval(scrollListener);scrollListener=0;});jQuery(window).load(function(){if(jQuery(".thumbs-wrapper").length>0){imageCount=jQuery(".thumb-container").length;speak("imageCount: "+imageCount);if(window.location.hash!=""){jQuery("#thumbs-wrapper").css("display","none");jQuery("#scroll-buttons").css("display","none");if(window.location.hash.indexOf("/")!=-1){hash=Math.round(window.location.hash.substr(2));}else if(window.location.hash.indexOf("!/")!=-1){hash=Math.round(window.location.hash.substr(3));}else{hash=Math.round(window.location.hash.substr(1));}
if(hash>0&&hash<=imageCount){speak("hash: "+hash);}else{hash=1;speak("hash: "+hash);}}else{jQuery("#content").fadeIn(aniSpeed2);jQuery("#thumbs-wrapper").fadeIn(aniSpeed2);}
galleryStart();}else if(jQuery(".pdf-thumbs-wrapper").length>0){pdfEditorStart();}else if(jQuery(".slideshow").length>0){slideshow=1;imageCount=jQuery(".thumb-container").length;speak("imageCount: "+imageCount);jQuery("#content").css("z-index",20).fadeIn(aniSpeed2);galleryStart();}else{if(jQuery("#page-contact").length>0){jQuery("#content").css("width",400+"px");}
jQuery("#loading").css("display","none");jQuery("#content").fadeIn(aniSpeed2);}});});
