jQuery.noConflict();
//
var backgroundImages;
var bg_intv;
var bg_time = 10;	//	-> seconds to show
var bg_anz = 0;
var bg_act = -1;
var bg_old = -1;
var bg_fadeInDuration = 1000;	//	milliseconds or 'fast' (=200) or 'slow' (=600)
var bgElem_IMAGES;
var bgElem_NAV;
var bgElem_NAVITEMS;
var bgElem_BTM;
var bgElem_TOP;
var Elem_Console;
var bg_ID_images = 'jq-BG_images';
var bg_ID_imgBTM = 'jq-BGIMG_btm';
var bg_ID_imgTOP = 'jq-BGIMG_top';
var bg_ID_navBar = 'jq-BG_navBar';
var bg_ID_navItems = 'jq-BGIMG_navItems';
var bg_ID_navItem = 'jq-BGIMG_navID';
var bg_CSS_imgBTM = 'BGIMG_btm';
var bg_CSS_imgTOP = 'BGIMG_top';
var bg_CSS_navText = 'BGIMG_navText';
var bg_CSS_navItemNext = 'BGIMG_navItemNext';
var bg_CSS_navItemPrev = 'BGIMG_navItemPrev';
var bg_CSS_navItem = 'BGIMG_navItem';
var bg_CSS_navItem_marked = 'BGIMG_navItem_marked';
var bg_CSS_navItem_mouseover = 'BGIMG_navItem_over';

function initBGImages ()
{
	jTrace(backgroundImages);
	//
	bg_anz = backgroundImages.length;
	if( bg_anz > 0 ){
		bgElem_IMAGES = jQuery('#' + bg_ID_images);
		bgElem_NAV = jQuery('#' + bg_ID_navBar);
		bgElem_TOP = bgElem_IMAGES.children("img:first");
		bgElem_TOP.attr('id', bg_ID_imgTOP);
		bgElem_TOP.addClass(bg_CSS_imgTOP);
		bgElem_IMAGES.prepend('<img id="'+bg_ID_imgBTM+'" src="" alt="" class="' +bg_CSS_imgBTM + '"/>');
		bgElem_BTM = jQuery('#' + bg_ID_imgBTM);
		//
		buildBGNavigation();
		/*
			prepare SETTINGS to start with animation !!!
		*/
		bg_act = 0;
		markBGNav(bg_act);
		startBGDelay();	
	}
}

function startBGDelay ()
{
	jTrace('startBGDelay();');

	stopBGDelay();		//	-> WIRD BENÖTIGT DA ES HIER IM EVENT-ABLAUF EINEN HAKEN GIBT!!!!
	
	bg_intv = window.setInterval("onBGInterval()", 1000 * bg_time);
}
function stopBGDelay ()
{
	jTrace('stopBGDelay()');
	window.clearInterval(bg_intv);
	delete bg_intv;
}

function onBGInterval ()
{
	jTrace('onBGInterval()');
	stopBGDelay();
	showBGNext();
}

function showBGNext ()
{
	jTrace('showBGNext()');
	bg_old = bg_act;
	var t = bg_act + 1;
	if( t >= bg_anz ){
		t = 0;	
	}
	showBGNr(t);
}
function onShowBGNr ( nr )
{
	jTrace('onShowBGNr(' + nr + ');');
	if( nr!=bg_act ){
		stopBGFadeIn();
		stopBGDelay();
		bg_old = bg_act;
		showBGNr(nr);
	}
}
function onShowBGPrev ()
{
	jTrace('onShowBGPrev();');
	var nr = bg_act - 1;
	nr = nr<0 ? bg_anz-1 : nr;
	stopBGFadeIn();
	stopBGDelay();
	bg_old = bg_act;
	showBGNr(nr);
}
function onShowBGNext ()
{
	jTrace('onShowBGNext();');
	var nr = bg_act + 1;
	nr = nr>=bg_anz ? 0 : nr;
	stopBGFadeIn();
	stopBGDelay();
	bg_old = bg_act;
	showBGNr(nr);
}
function showBGNr (nr)
{
	jTrace('showBGNr(' + nr + ');');
	//
	bg_act = nr;
	//
	var l = backgroundImages[bg_old];
	var o = backgroundImages[bg_act];
	//
	unmarkBGNavAll();
	if( l ){
		bgElem_BTM.attr('src', l);
	}
	//
	bgElem_TOP.unbind('load');
	bgElem_TOP.bind('load', function (e){ onLoadBGImage(); } );
	bgElem_TOP.attr('src', o);	//	-> when image loaded, event "onLoadBGImage" will be fired!
	bgElem_TOP.hide();
	//
	markBGNav(bg_act);
}
function markBGNav ( nr )
{
	var t = jQuery('#' + bg_ID_navItem + nr)
	t.addClass(bg_CSS_navItem_marked);
	t.unbind("mouseover");
	t.unbind("mouseout");
	t.unbind("click");
}
function unmarkBGNavAll ()
{
	var t = bgElem_NAVITEMS.children();
	t.mouseover( function(){ jQuery(this).addClass(bg_CSS_navItem_mouseover); } );
	t.mouseout( function(){ jQuery(this).removeClass(bg_CSS_navItem_mouseover); } );
	t.removeClass(bg_CSS_navItem_marked);
	t.removeClass(bg_CSS_navItem_mouseover);
}

function stopBGFadeIn ()
{
	jTrace('stopBGFadeIn();');
	bgElem_TOP.stop(false, true);
}
function onBGFadeIn ()
{
	jTrace('onBGFadeIn();');
	startBGDelay();	
}
function onLoadBGImage ()
{
	jTrace('onLoadBGImage()');
	bgElem_TOP.hide();
	bgElem_TOP.unbind('load');
	bgElem_TOP.fadeIn(bg_fadeInDuration, function (){ onBGFadeIn(); });
}
function buildBGNavigation ()
{
	var t_html = '';
	if( bg_anz > 1 ){
		t_html += '<div class="' + bg_CSS_navItemNext + '" onclick="onShowBGNext();"></div>';
		t_html += '<div class="' + bg_CSS_navText + '">Auswahl Bild</div>';
		t_html += '<div class="' + bg_CSS_navItemPrev + '" onclick="onShowBGPrev();"></div>';
		t_html += '<div id="' + bg_ID_navItems + '">'
		for( var i=bg_anz-1; i>=0; i-- ){
			t_html += '<div id="' + bg_ID_navItem + i + '" class="'+ bg_CSS_navItem + '" onclick="onShowBGNr('+i+');"></div>';
		}
		t_html += '</div>'
	}
	bgElem_NAV.append(t_html);
	bgElem_NAVITEMS = jQuery('#' + bg_ID_navItems);
}

function jTrace ( msg )
{
//	Elem_Console.prepend( msg+'<br/>' );
}

jQuery(document).ready(function() { 
//	Elem_Console = jQuery('#jq-console');
	initBGImages();
}); 
