var gal_started = false;
var gal_left = 0;
var gal_current_pic = 0;
var gal_image_loader = new Image();
var gal_active = false;
var gal_int;

function gal_switch(image, src, rel) {
	if (gal_active) return false;
	gal_active = true;
	
	gal_image_loader = new Image();
	gal_image_loader.src = "./img.mainpic.php?img="+src+"&h="+(parseInt(document.getElementById('gal_pic_layer').style.height)-10)+"&w="+document.getElementById('gal_pic_layer').clientWidth;
	
	
	document.getElementById('gal_img').style.visibility = "hidden";
	
	document.getElementById('gal_loader').style.left = ((document.getElementById('gal_pic_layer').clientWidth-200)/2)+"px";
	document.getElementById('gal_loader').style.top = ((410-200)/2)+"px";
	document.getElementById('gal_loader').style.visibility = 'visible';
	
	window.setTimeout("gal_image_switch();", 500);
	
	gal_slide_to(-(image)*104, 0);
	gal_current_pic = image;
	document.getElementById('gal_lb').href = "../gallery/images/"+src;
	document.getElementById('gal_lb').rel = "lightbox[gallery_"+rel+"]";
}

function gal_image_switch() {
	if (gal_image_loader.height) {
		document.getElementById('gal_img').src = gal_image_loader.src;
		document.getElementById('gal_img').style.paddingTop = ((parseInt(document.getElementById('gal_pic_layer').style.height)-gal_image_loader.height)/2)+"px";
		document.getElementById('gal_loader').style.visibility = 'hidden';
		document.getElementById('gal_img').style.visibility = "visible";
	} else {
		window.setTimeout("gal_image_switch();", 50);
	}
}

function gal_slide_to(to, i) {
	var dif = to - (gal_left);
	var left = Math.round(gal_left+(dif)*Math.sin(Math.PI*i/40))
	document.getElementById('gal_layer').style.left = (gal_started+left)+"px";
	if (i == 20) {
		gal_active = false;
		gal_left = left;
	}
	else {
		window.setTimeout("gal_slide_to("+to+", "+(i+1)+");", 25);
	}
}

function gal_sleep(ms){
	var zeit=(new Date()).getTime();
	var stoppZeit=zeit+ms;
	while((new Date()).getTime()<stoppZeit){};
} 

function gal_init() {
	if (gal_started == false || !document.getElementById('gal_overlayer')) {
		gal_started = true;
		window.setTimeout("gal_init();", 1000);
	}
	else {
		var images = 0;
		while (document.getElementById('gal_img'+images)) images++;
		document.getElementById('gal_overlayer').style.width = document.getElementById('gal_overlayer').clientWidth+"px";
		document.getElementById('gal_layer').style.width = (110*images)+"px";

		var obj = document.getElementById('gal_ank');
    	var curleft = 0;
	    var curtop = 0;
	    if (obj.offsetParent) {
	    	do {
	       		curleft += obj.offsetLeft;
	            curtop += obj.offsetTop;
	        } while (obj = obj.offsetParent);
	    }
	    for (var i = 0; i < 20; i++) {
	    	window.scrollTo(0, Math.round((curtop-5)*Math.sin(Math.PI*i/40)));
	    	gal_sleep(25);
	    }
		gal_started = document.getElementById('gal_overlayer').clientWidth/3;
		gal_left = -gal_started;
		document.getElementById('gal_img0').onclick();
	}
}

function gal_moveLayer(dif) {
	if (gal_active) return false;
	gal_left = gal_left+dif;
	document.getElementById('gal_layer').style.left = (gal_started+gal_left)+"px";
}

function gal_slide_r() {
	gal_int = window.setInterval("gal_moveLayer(-4);", 20);
}

function gal_slide_l() {
	gal_int = window.setInterval("gal_moveLayer(4);", 20);
}

function gal_stop_slide() {
	window.clearInterval(gal_int);
}

function gal_next() {
	document.getElementById('gal_img'+(gal_current_pic+1)).onclick();
}

function gal_prev() {
	document.getElementById('gal_img'+(gal_current_pic-1)).onclick();
}

gal_init();
