// JavaScript Document // speed for animations var openSpeed = 400; var closeSpeed = openSpeed; var slideSpeed = 200; var infoSpeed = 300; // between open container and loading images var imageLoadDelay = 200; // between close container and open new one var switchDelay = 100; // no currently active items var activeId = false; // var actInfo = false; var actImg = false; // path for images var imagepath = "http://www.jkarch.at/app/webroot/upload/"; function getImages(id) { if(!allImages[id]) return; var images = allImages[id]; var imageHolder = $("#ih"+id); var imageNav = $("#in"+id); var newContent = ""; var newNavi = ""; imageHolder.html("
<\/div>"); // store new content for(i = 0; i < (images.length); i = i+1) { var newImage = ""; newContent = newContent + newImage; newNavi = newNavi + ""+parseInt(i+1)+" "; } // newNavi = "← " + newNavi; // larr newNavi = newNavi + "< >"; //rarr // setting variables actId = id; actImg = 0; // preload images $.preload(images, { base: imagepath, onFinish: function(){ // callback on preload imageHolder.hide(); imageHolder.html(newContent); imageNav.html(newNavi); $("#i0").toggleClass("active"); imageHolder.fadeIn(200); } }); } function scrollImages(id, img) { // actImg = id; var imageHolder = $("#ih"+id); var ihx = $("#ih"+id).offset(); // only accept images in exactly this imageholder var imagex = $("#ih"+id+" #image"+img).offset(); var diff = ihx['left'] - imagex['left']; // var debugstr = "id: " + id + "/ img: " + img + "/ diff: " + diff + "/ allImages: " + allImages[id][img]; // $("#debug").html(debugstr); $("#i"+actImg).toggleClass("active"); actId = id; actImg = img; $("#i"+actImg).toggleClass("active"); var newPos = diff + "px"; imageHolder.animate({ marginLeft: newPos }, 500); return false; } function prevImg(id) { if(actImg == 0) var scrollimg = (allImages[id].length-1); else scrollimg = actImg - 1; scrollImages(id, scrollimg); } function nextImg(id) { if(actImg == (allImages[id].length-1)) var scrollimg = 0; else scrollimg = actImg + 1; scrollImages(id, scrollimg); } function clearContent(id) { $("#ih"+id).css("marginLeft", "0px"); $("#ih"+id).html(""); $("#in"+id).html(""); } $(document).ready(function(){ // hide content boxes $(".content").hide(); // hide info boxes $(".infotext").hide(); // project boxes slidetoggle $("div.data").click(function(event){ var id = $(this).prev("a").attr("name"); id = id.substring(1,id.length); var container = $("#c"+id); var data = $("#data"+id); // $(this).parent().toggleClass("active"); if(activeId && activeId == id) { // active = clicked -> close and empty data.removeClass("active"); activeId = false; container.slideToggle(closeSpeed, function() { // clear previously generated content clearContent(id); }); } else if (!activeId) { // no active -> open clicked data.addClass("active"); activeId = id; container.slideToggle(openSpeed, function() { getImages(id); }); } else if (activeId) { // close old, open new $("#data"+activeId).removeClass("active"); data.addClass("active"); $("#c"+activeId).slideToggle(closeSpeed, function() { clearContent(activeId); activeId = id; setTimeout(function() { container.slideToggle(openSpeed, function() { getImages(id); }); }, switchDelay); }); } return false; }); // slidetoggle infoboxes $("#information h2 a").click(function(event){ $(this).toggleClass("active"); $(this).parent("h2").next(".infotext").slideToggle(infoSpeed); return false; }); }); // document.ready end