/* 
	init page
*/
function initPage () {

	checkHeight();
	preloadNavi();
	correctPNG();
	
	/* init slider, if any gallery is in use */
	if (document.getElementById("mask")) {
		initSlider (0);
	}
	

}


/*
	Correctly handle PNG transparency in Win IE 5.5 & 6.
*/
function correctPNG () {

	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
   
	if ((version >= 5.5) && (version < 7) && (document.body.filters)) {
	
		// alert(version);
		
		for (var i=0; i<document.images.length; i++) {
			
			var img = document.images[i];
			var imgName = img.src.toUpperCase();
			
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
				
				var imgID = (img.id) ? "id='" + img.id + "' " : "";
				var imgClass = (img.className) ? "class='" + img.className + "' " : "";
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
				var imgStyle = "display:inline-block;" + img.style.cssText;
				
	            if (img.align == "left") imgStyle = "float:left;" + imgStyle;
	            if (img.align == "right") imgStyle = "float:right;" + imgStyle;
	            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
				
				var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
				img.outerHTML = strNewHTML;
				i = i-1;
			}
		}
	}
}


/* 
	preloading required navigation images
*/
function preloadNavi () {
	var imagesPath = "/fileadmin/templates/gfx/";
	naviImages = new Object();
	naviImages[0] = new Image(); naviImages[0].src = imagesPath + "ani_allplan_0.gif";
	naviImages[1] = new Image(); naviImages[1].src = imagesPath + "ani_allplan_1.gif";
	naviImages[2] = new Image(); naviImages[2].src = imagesPath + "ani_graphisoft_0.gif";
	naviImages[3] = new Image(); naviImages[3].src = imagesPath + "ani_graphisoft_1.gif";
	naviImages[4] = new Image(); naviImages[4].src = imagesPath + "ani_vectorworks_0.gif";
	naviImages[5] = new Image(); naviImages[5].src = imagesPath + "ani_vectorworks_1.gif";
	naviImages[6] = new Image(); naviImages[6].src = imagesPath + "ani_scia_0.gif";
	naviImages[7] = new Image(); naviImages[7].src = imagesPath + "ani_scia_1.gif";
	naviImages[8] = new Image(); naviImages[8].src = imagesPath + "ani_frilo_0.gif";
	naviImages[9] = new Image(); naviImages[9].src = imagesPath + "ani_frilo_1.gif";
	naviImages[10] = new Image(); naviImages[10].src = imagesPath + "ani_glaser_0.gif";
	naviImages[11] = new Image(); naviImages[11].src = imagesPath + "ani_glaser_1.gif";
	naviImages[12] = new Image(); naviImages[12].src = imagesPath + "ani_auer_0.gif";
	naviImages[13] = new Image(); naviImages[13].src = imagesPath + "ani_auer_1.gif";
	naviImages[14] = new Image(); naviImages[14].src = imagesPath + "ani_bausoftware_0.gif";
	naviImages[15] = new Image(); naviImages[15].src = imagesPath + "ani_bausoftware_1.gif";
	naviImages[16] = new Image(); naviImages[16].src = imagesPath + "ani_crem_0.gif";
	naviImages[17] = new Image(); naviImages[17].src = imagesPath + "ani_crem_1.gif";
	naviImages[18] = new Image(); naviImages[18].src = imagesPath + "ani_maxon_0.gif";
	naviImages[19] = new Image(); naviImages[19].src = imagesPath + "ani_maxon_1.gif";
	// naviImages[20] = new Image(); naviImages[20].src = imagesPath + "lines.png";
}


/* 
	Plural Header Navi
*/
function toggleNavImage (img,stat) {
	var srcpath="icones/";
	if (stat == 1) {
		document.getElementById(img).src = srcpath+img+'_1.gif';
	}
	else {
		document.getElementById(img).src = srcpath+img+'_0.gif';
	}
}


/* 
	Which Browser Do I Have?
*/
function checkBrowser () {

	/* init */
	browser = new Array();
		
	if (self.innerHeight) // all except Explorer
	{
		browser[0] = 'ALL';
		browser[1] = self.innerWidth;
		browser[2] = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
	{
		browser[0] = 'IE';
		browser[1] = document.documentElement.clientWidth;
		browser[2] = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		browser[0] = 'OTHER';
		browser[1] = document.body.clientWidth;
		browser[2] = document.body.clientHeight;
	}
	
	return browser;
}


/* 
	set new height to content
*/
function checkHeight () {

	// regular sites, no 404
	if (document.getElementById('navigation')) {
		
		var msg  			= '';
		var browser 		= checkBrowser();
		var naviOffset		= 75; // position top
		var breadcrumbOffset= 23; // breadcrumb height
		var contentOffset	= 58; // border and padding of content
		var spacer			= 30; // need for breezy layout
		var naviHeight 		= document.getElementById('navigation').offsetHeight + naviOffset + breadcrumbOffset;
		var contentHeight	= document.getElementById('content').offsetHeight + breadcrumbOffset;
		var teaserHeight	= document.getElementById('teaser').offsetHeight;

		// debug messages
		msg += 'naviHeight: '+naviHeight+'\n';
		msg += 'contentHeight: '+contentHeight+'\n';
		msg += 'teaserHeight: '+teaserHeight+'\n';
		//alert(msg);
		
		if ((teaserHeight > contentHeight) && (teaserHeight >= naviHeight)) {
			// teaser is longest element
			document.getElementById('content').style.height = (teaserHeight - contentOffset - breadcrumbOffset + spacer) + 'px';
		} else if ((naviHeight > contentHeight) && (naviHeight >= teaserHeight)) {
			// navigation is longest element
			document.getElementById('content').style.height = (naviHeight - naviOffset + spacer) + 'px';
		}
	}
}


/* 
	Empty Searchfield
*/
function formLeeren() {
	document.search.elements[0].value="";
}


/* 
	1sl level navigation hover 
*/
function show(element) {
	// show layer
	element.className = element.className + " hover";
	
	// hide form layers
	if (document.getElementById("optionsDiv0")) document.getElementById("optionsDiv0").className = 'optionsDivInvisible';
	if (document.getElementById("optionsDiv1")) document.getElementById("optionsDiv1").className = 'optionsDivInvisible';
}


/* 
	1sl level navigation hover out
*/
function hide(element,sub) {

	if (sub == true) {
		element.className = "sub";
	}
	else {
		element.className = "mainlevel";
	}
}


/* 
	IR-Service Mail
*/
function formToggle (element,h5) {

	if (document.getElementById(element).style.display == 'none') {
		document.getElementById(element).style.display = 'block';
		document.getElementsByName(h5)[0].className='';
	}
	else {
		document.getElementById(element).style.display = 'none';
		document.getElementsByName(h5)[0].className='closed';
	}
}


/*
	print Popup
*/
function popup (url) {

	var w_width		= 640;
	var w_height	= 600;

	var w_left = (screen.width  - w_width ) / 2;
	var w_top  = (screen.height - w_height) / 2;

	MyPopup = window.open(url, "popup", "toolbar=no,menubar=no,scrollbars=yes,resizeable=no,status=no,location=no,directories=no,copyhistory=no,height="+w_height+",width="+w_width+",left="+w_left+",top="+w_top+",screenX="+w_left+",screenY="+w_top) ;
	MyPopup.focus();
	//MyPopup.print();
}


/*
	Build JS Date and Time
*/
function showDate() {

	var jahr, monat, tag, stunden, minuten;
	var AktuellesDatum = new Date();

	jahr	= AktuellesDatum.getFullYear();
	monat	= AktuellesDatum.getMonth ()+1;
	tag		= AktuellesDatum.getDate();
	stunden	= AktuellesDatum.getHours();
	minuten	= AktuellesDatum.getMinutes();

	if (minuten < 10) {
		minuten = "0"+minuten;
	}

	document.write(tag + "." + monat + "." + jahr);
	document.write(" | ");
	document.write(stunden + ":" + minuten + " Uhr");
}


/*
	Image Gallery / Image & Thumbnail Finder
*/
function findImages (id) {

	images = new Array();
	images[0] = 0; // thumbnail counter
	images[1] = 0; // width of all images
	
	for (i = 0; i < (document.getElementById(id).getElementsByTagName('img').length); i++) {
		/* only thumbnails */
		if (!document.getElementById(id).getElementsByTagName('img')[i].src.match(".png")) {
			images[0] ++;
			images[1] += document.getElementById(id).getElementsByTagName('img')[i].width;
		}
	}

	return images;
}


/*
	Image Gallery / First-Time loading
*/
function initSlider (stat) {

	/* init */
	var images		= findImages('thumbs');
	var maskStyle 	= document.getElementById("mask").style;
	var	maskWidth 	= Number(maskStyle.width.substring(0, maskStyle.width.length-2));
	var Margin 		= 12;
	var pngWidth	= 60;
	var sliderWidth = 0;
	
	document.getElementById('slback').style.visibility = 'hidden';
	
	/* total width of sliding area */
	sliderWidth = images[0] * 2 * Margin + images[1];
	
	/* not enough thumbnails / hiding silder arrows */
	if ((sliderWidth + Margin) < maskWidth) {
		document.getElementById('slforward').style.visibility = 'hidden';
		document.getElementById('mask').style.marginLeft = (((maskWidth - sliderWidth)/2)+3*Margin) + 'px';
	}
	
	if (stat == true) {
		return sliderWidth;
	} else {
		document.getElementById('thumbs').style.width = sliderWidth + 'px';
	}
}


/*
	Image Gallery / Slider
*/
function slide (step) {

	/* init */
	var thumbsStyle 		= document.getElementById("thumbs").style;
	var maskStyle 			= document.getElementById("mask").style;
	var widthOfAllThumbs 	= initSlider(1);
	var	LeftPosition 		= Number(thumbsStyle.left.substring(0, thumbsStyle.left.length-2));
	var	maskWidth 			= Number(maskStyle.width.substring(0, maskStyle.width.length-2));
	
	/* reach left side */
	if ( LeftPosition + step <= 0 ) {
		if (LeftPosition != 0) {
			document.getElementById('slback').style.visibility = 'visible';
		}
		if ( LeftPosition + step > -widthOfAllThumbs + maskWidth ) {
			document.getElementById('slforward').style.visibility = 'visible';
			thumbsStyle.left = LeftPosition + step + "px";
		} else {
			document.getElementById('slforward').style.visibility = 'hidden';
			thumbsStyle.left = -widthOfAllThumbs + maskWidth + "px";
		}
	}
}
aktiv = "";


/*
	Lightbox / close
*/
function closeLB (pic) {
	document.getElementById("lightbox").style.display = 'none';
}
