var SWAP_DELAY = 2;				// [sec]
var SWAP_DURATION = 1;			// [sec]
var TICKER_DURATION = 60;
var CHANGE_ALL_AT_ONCE = false;


var limit = Math.max(5, image_count);
var indices = new Array();
for (var i = 0; i < limit; i++) {
	indices.push(i % image_count);
}
indices = shuffle(indices);
var currentFirst = 0;
var currentContainer = 2;

$(document).ready(function(){
	scrollBrief();
	loadSingleImage(0, false);
});

function scrollBrief(){
	var height = $('#brief_scroll').css('height');
	height = Number(height.substr(0, height.length - 2)) + 40;
	$('#brief_scroll').css('margin-top', '222px');
	
	$('#brief_scroll').animate({marginTop: [-height, 'linear']}, height * TICKER_DURATION, scrollBrief);
}

function loadSingleImage(pos, auto){
	var callback = auto ? syncFlip : prepareNext;
	
	var inner = "<div style=\"background-image: url('gallery/home_pool/" + getRandomImageId() + ".jpg'); width: " + HOME_IMAGE_WIDTH[pos] + "; height: " + HOME_IMAGE_HEIGHT + ";\">";
	inner += "<img src=\"assets/home_thumb_0" + (pos + 1) + "b.png\" width=\"" + HOME_IMAGE_WIDTH[pos] + "\" height=\"" + HOME_IMAGE_HEIGHT + "\" alt=\"\">";
	inner += "</div>";
	$('#image_' + pos +"_"+ currentContainer).html(inner);
	
	if (pos < (images_in_row - 1)) 
		loadSingleImage(pos + 1, auto); 
	else 
		callback();
}
function prepareNext(){
	if(!CHANGE_ALL_AT_ONCE)
		currentFirst -= (images_in_row - 1);
	
	currentContainer = 3 - currentContainer;
	loadSingleImage(0, true);
}
function syncFlip(){
	setTimeout(flip, SWAP_DELAY * 1000);
}
function flip(){
	
	for (var i = 0; i < images_in_row; i++) {
		var slider = "#slider_" + i;
		var imageWidth = $(slider).css('width').substr(0,3) / 2;
		
		var image1 = "#image_" + i + "_" + currentContainer;
		var image2 = "#image_" + i + "_" + (3 - currentContainer);
		
		$(image1).insertAfter(image2);
	
		
		var sliderPos = $(slider).css('margin-left');
		var newPos = ('-' + imageWidth + 'px');
		var callback = (i == (images_in_row - 1)) ? prepareNext : "";
		$(slider).css('margin-left', '0px');
		
		$(slider).animate({marginLeft: newPos}, SWAP_DURATION * 1000, callback);
	}
	
}
function loadImages(){
	$('#images_' + currentContainer).load('home_slide.php?' + createParams());
}
function swapImages(){
	currentContainer = 3 - currentContainer;
	$('#images_' + currentContainer).load('home_slide.php?' + createParams(), animateImages);
}
function animateImages(){
	var pos = ($('#gallery_inner').css('margin-left') == "0px") ? '-644px' : '0px';
	$('#gallery_inner').animate({left: pos}, SWAP_DURATION * 1000, syncSwap);
}
function syncSwap(){
	setTimeout(swapImages, SWAP_DELAY * 1000);
}
function getRandomImageId(){
	
	var localFirst = currentFirst;
	if(localFirst < 0) 
		localFirst += indices.length;
		
	var id = indices[localFirst];
	
	currentFirst++;
	if(currentFirst >= indices.length)
		currentFirst %= indices.length;
	return id;
}
function createParams(){
	var s = "";
	for (var i = 0; i < images_in_row; i++) {
		s += "i[" + i + "]=" + getRandomImageId;
		if(i < 4)
			s += "&";
	}
	return s;
}

function shuffle(o){
	for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
	return o;
};



