// 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