var flip_selector = "";
var flip_i = 0;
var flip_max = 0;
var flip_timeout = 0;
var flip_next = 0;
var flip_paused = false;
var flip_trans = false;

function flipInit(selector) {
	flip_selector = selector;
	$obj = $(selector);
	flip_max = $obj.find("#viewer a").length;
	$obj.find("#viewer a").hide();
	$obj.find("#viewer a:first").css('z-index', '1000');
	$obj.find("#viewer a:first").fadeIn(750, function() {
		flip_timeout = setTimeout(flipNext, 5000);
	});
	$obj.find("#gallery_controller a").click(flipTo);
}

function flipNext() {
	if(flip_trans==false) {
		flip_timeout = 0;
		if($(flip_selector).find("a[i="+(flip_i+1)+"]").length == 0)
			flip_next = 0;
		else
			flip_next = flip_i+1;
		flip_trans = true;
		$(flip_selector).find("#viewer a[i="+(flip_i)+"]").css('z-index', '1000');
		$(flip_selector).find("#viewer a[i="+(flip_next)+"]").css('z-index', '999');
		$(flip_selector).find("#viewer a[i="+(flip_next)+"]").show();
		$(flip_selector).find("#viewer a[i="+(flip_i)+"]").fadeOut(750, function() {
			$(flip_selector).find("#viewer a[i="+(flip_i)+"]").hide();
			flip_i = flip_next;
			if(!flip_paused) {
				flip_timeout = setTimeout(flipNext, 5000);
			}
			flip_trans = false;
		});
	}
}

function flipPause() {
	clearTimeout(flip_timeout);
	flip_paused = true;
	return false;
}

function flipTo() {
	if(flip_trans==false) {
		flipPause();
		$obj = $(this);
		flip_next = $obj.attr('i');
		flip_trans = true;
		$(flip_selector).find("#viewer a[i="+(flip_i)+"]").css('z-index', '1000');
		$(flip_selector).find("#viewer a[i="+(flip_next)+"]").css('z-index', '999');
		$(flip_selector).find("#viewer a[i="+(flip_next)+"]").show();
		$(flip_selector).find("#viewer a[i="+(flip_i)+"]").fadeOut(750, function() {
			$(flip_selector).find("#viewer a[i="+(flip_i)+"]").hide();
			flip_i = flip_next;
			flip_trans = false;
		});
	}
	return false;
}
