// jQuery on document ready
$(document).ready(function() {
	var carousel = $('#carousel');	
	if ($(carousel).children().length>1){
		
		//set the width of the container
		$('.carousel-wrapper').width( $('#carousel img').eq(0).width() );
		
		$(carousel).jcarousel({
			visible: 1,
			scroll: 1,
			auto : 3,
			itemFallbackDimension: 640,
                        wrap: 'circular'
		});		
		
		var top_margin;		
		top_margin = $('.jcarousel-clip').eq(0).height(); //NOTE: image tag needs height set!
		
		//vertically position the next/prev buttons
		if (top_margin > 0){
			top_margin = (top_margin/2) - 27;
			$('.jcarousel-prev').css({top:top_margin});
			$('.jcarousel-next').css({top:top_margin});
		}
		
		//show hide buttons on mouse over
		$('.jcarousel-container').bind('mouseover', function(){		
			//console.log('over');
			$('.jcarousel-prev').css({visibility:'visible'});
			$('.jcarousel-next').css({visibility:'visible'});
		});
		
		$('.jcarousel-container').bind('mouseout', function(){			
			$('.jcarousel-prev').css({visibility:'hidden'});
			$('.jcarousel-next').css({visibility:'hidden'});
		});
	}
});

// Funktion für Reload
function reloadPage() {
	window.document.location.href = currentPage;
}

// Funktionen für Slideshow
function writeCaption(txt) {
	if (document.getElementById("captionDiv")) {
		document.getElementById("captionDiv").innerHTML = txt;
	}
}

function swapDescription() {
	if (document.getElementById("projectDescr").style.display == "block") {
		document.getElementById("projectDescr").style.display = "none";
		document.getElementById("descrBtn").style.display = "none";
		document.getElementById("descrLink").style.display = "block";
	}
	else {
		document.getElementById("projectDescr").style.display = "block";
		document.getElementById("descrBtn").style.display = "block";
		document.getElementById("descrLink").style.display = "none";
	}
}

function shortenText(str, chars) {
	if (str.length > chars) {
		strEnd = chars - 3;
		str = str.slice(0, strEnd) + "...";
	}
	return str;
}


//______________________________________________________________________
// Images
var aImages = new Array();
function preLoader(imgName, src1, src2) {
	aImages[imgName] = new Array();
	aImages[imgName]["off"] = new Image();
	aImages[imgName]["off"].src = src1;
	aImages[imgName]["on"] = new Image();
	aImages[imgName]["on"].src = src2;
}

function getImage(imgName, layerID) {
	return (document.all || document.getElementById ? window.document.images[imgName] : layerID ? document.layers[layerID].document.images[imgName] : window.document.images[imgName]);
}
function imgOn(imgName, layerID) {
	getImage(imgName, layerID).src = aImages[imgName]["on"].src;
}
function imgOff(imgName, layerID) {
	getImage(imgName, layerID).src = aImages[imgName]["off"].src;
}


//____________________________________________________________________
// popups
function openwin(url, w, h, r, s) {
	if (screen.height < h) { h = (screen.height-80); }
	owin = open(url,'','toolbar=0,status=1,scrollbars='+s+',width='+w+',height='+h+',resizable='+r+',top=0,left=0');
	owin.focus();
}


/********************************************************************/
// FLASH-DETECTION [oh -> adapted from Macromedia Flash-Detection-Kit]
/********************************************************************/
// Globals
// Major version of Flash required
var requiredMajorVersion = 7;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;

// Detect Client Browser type
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;

function JSGetSwfVer(i) { // JavaScript helper required to detect Flash Player PlugIn version information
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			
			if (descArray[3] != "") { tempArrayMinor = descArray[3].split("r"); }
			else { tempArrayMinor = descArray[4].split("r"); }
      		
			versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	}
		else { flashVer = -1; }
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) { flashVer = 4; }
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) { flashVer = 3; }
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) { flashVer = 2; }
	// Can't detect in all other cases
	else { flashVer = -1; }
	return flashVer;
} 

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {	// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// loop backwards through the versions until we find the newest version	
	for (i=25; i>0; i--) {	
		if (isIE && isWin && !isOpera) { versionStr = VBGetSwfVer(i); }
		else { versionStr = JSGetSwfVer(i); }
		
		if (versionStr == -1 ) { return false; }
		else if (versionStr != 0) {
			if (isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			}
			else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
			if ((versionMajor > reqMajorVer) && (versionNum >= reqVer)) { return true; }
			else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
}

// Flash-Embed für IE
function embedFlash(oTag) { document.write(oTag); }
