$(document).ready(function() {
	// setting background theme
	$('#wrapper').addClass(getTheme(layerTheme));
	// preload images
	var images = $.preloadCssImages();
	// continue only if all images loaded
	var intID = setInterval(function() {
		if ($.allImagesLoaded(images) == 1) {
			clearInterval(intID);
			// unhide screen container
			$('#screen').css({'display' : 'block'});
			if (activateDisplay == true) {
				// engage display here
				$.fn.cycle.defaults.speed = 900;
				$.fn.cycle.defaults.timeout = 6000;
				$('#screen').cycle({
					after: onAfter
				});
			} else {
				highlightSlide(activeSlide,'on');
			}
		}
	}, 50);
});
var currentSlide = -1;
function onAfter(curr, next, opts) {
	var index = $(this).parent().children().index(this);
	if (currentSlide != -1)
		highlightSlide(currentSlide, 'off');
	highlightSlide(index, 'on');
	currentSlide = index;
}
function highlightSlide(id, state) {
	var bt = document.getElementById('slide'+id);
	if (bt) { switchButton(bt,state); }
}
var themes = new Array('theme1','theme2','theme3','theme4','theme5','theme6','theme7','theme8');
function getTheme(layerTheme) {
	var themeIndex = 0;
	if (layerTheme == 'Hintergrundbild 1') { themeIndex = 0; }
	else if (layerTheme == 'Hintergrundbild 2') { themeIndex = 1; }
	else if (layerTheme == 'Hintergrundbild 3') { themeIndex = 2; }
	else if (layerTheme == 'Hintergrundbild 4') { themeIndex = 3; }
	else if (layerTheme == 'Hintergrundbild 5') { themeIndex = 4; }
	else if (layerTheme == 'Hintergrundbild 6') { themeIndex = 5; }
	else if (layerTheme == 'Hintergrundbild 7') { themeIndex = 6; }
	else if (layerTheme == 'Hintergrundbild 8') { themeIndex = 7; }
	else {
		themeIndex = getRandomIndex(0,(themes.length-1));
	}
	return themes[themeIndex];
}
function getRandomIndex(min,max) {
	if (min > max) { return 0; }
	if (min == max) { return 0; }
	return (min + parseInt(Math.random() * (max-min+1)));
}

/**
 * Image Preloader with JQuery.
 * Source: http://ajaxian.com/archives/preloading-images-with-jquery
 */
jQuery.preloadCssImages = function() {
	var allImgs = [];//new array for all the image urls  
	var k = 0; //iterator for adding images
	var sheets = document.styleSheets;//array of stylesheets
	for(var i = 0; (i<sheets.length-1); i++){//loop through each stylesheet
		var cssPile = '';//create large string of all css rules in sheet
		var csshref = (sheets[i].href) ? sheets[i].href : 'window.location.href';
		var baseURLarr = csshref.split('/');//split href at / to make array
		baseURLarr.pop();//remove file path from baseURL array
		var baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
		if(baseURL!="") baseURL+='/'; //tack on a / if needed
		if(document.styleSheets[i].cssRules){//w3
			var thisSheetRules = document.styleSheets[i].cssRules; //w3
			for(var j = 0; j<thisSheetRules.length; j++){
				cssPile+= thisSheetRules[j].cssText;
			}
		} else {
			cssPile+= document.styleSheets[i].cssText;
		}
		//parse cssPile for image urls and load them into the DOM
		var imgUrls = cssPile.match(/[^\(]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename"
		if(imgUrls != null && imgUrls.length>0 && imgUrls != ''){//loop array
			var arr = jQuery.makeArray(imgUrls);//create array from regex obj     
			jQuery(arr).each(function(){
				allImgs[k] = new Image(); //new img obj
				allImgs[k].src = (this[0] == '/' || this.match('http://')) ? this : baseURL + this; //set src either absolute or rel to css dir
				k++;
			});
		}
	}//loop
	
	return allImgs;
}
jQuery.allImagesLoaded = function(images) {
	var imagesloaded = 1;
	for (var i = 0; i < images.length; i++) {
		if (images[i].complete == false)
			imagesloaded = 0;
	}
	return imagesloaded;
}

/**
 * Handle Navigation onmouseover highlight Effects.
 */
function on(img) { switchButton(img,'on'); }
function off(img) { switchButton(img,'off'); }
function basename(_url) {
	var parts = _url.split('/'); var _url = '';
	for (var i = 0; i < (parts.length - 1); i++)
		_url += parts[i] + '/';
	alert ('basename: ' + _url);
	return _url;
}
function switchButton(bt,state) {
	var regExp = (state == 'on') ? /_off/ : /_on/;
	var btSrc = bt.src;
	bt.src = btSrc.replace(regExp, '_'+state);
}

