var timeout	= 1000;
var closetimer	= 0;
var ddmenuitem	= 0;
var mmenu = null, mmenuitem = null;

var info = false;
function showInfo() {
	slideshow(!slider.status);
	
	if(slider.status)
	{	document.getElementById("slideShowBtn").style.backgroundImage = "url(./pause.png)";	}
	else
	{	document.getElementById("slideShowBtn").style.backgroundImage = "url()";	}
	
	document.getElementById("info1").style.display = (!info)?"block":"none";
	document.getElementById("info1BtnD").innerHTML = (!info)?"Picture":"Details";
	info = !info;
}
/*function showInfo() {
	document.getElementById("info1").style.display = (!info)?"block":"none";
	info = !info;
}*/
// open hidden layer
function mopen(item, menu, change)
{	
	// cancel close timer
	mcancelclosetime();
	
	// innerFunction - show/hide (true/false)
	var visibility = function(el, b) {if(el) {el.style.display = (b)?'block':'none';}}
	
	// change in every case menu entry
	if(item !== mmenuitem && menu === mmenu && change) {
		// close old layer
		if(ddmenuitem) visibility(ddmenuitem, false);
	
		// get new layer and show it
		ddmenuitem = document.getElementById(item);
		visibility(ddmenuitem, true);
		
		// store item
		mmenuitem = item;
	}
	// change if menu changes
	else if(item !== mmenuitem && !change && ddmenuitem) {
		if(menu !== mmenu) {
			// close old layer
			if(ddmenuitem) visibility(ddmenuitem, false);
			// get new layer and show it
			ddmenuitem = document.getElementById(item);
			// store item and menu
			mmenuitem = item; mmenu = menu;
		}
		visibility(ddmenuitem, true);
	} else {
		// close old layer
		if(ddmenuitem) visibility(ddmenuitem, false);
	
		// get new layer and show it
		ddmenuitem = document.getElementById(item);
		visibility(ddmenuitem, true);
		
		// store item and menu
		mmenuitem = item; mmenu = menu;
	}
}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.display = 'none';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}
/**---------------- BEGIN Resize ----------------*/
var mtable = 'mtable', mimage = 'mimage', ddmimage = null, offsetBottom = 20, mwidth = {min: 452, max: 1048};
/* fct: adjust image to fit browser window */
function adjustImage() {
	/* do: get table- and image-obj if unknown */
	if(!ddmimage) {try {ddmimage = document.getElementById(mimage);} catch(ex) {return;}}
	if(!ddmimage) {return;}
	/* do: if table- and image-obj are known */
	if(ddmimage.complete) {
		/* do: get old image width+height */
		var h = parseInt(ddmimage.offsetHeight, 10), w = parseInt(ddmimage.offsetWidth, 10), t = parseInt(ddmimage.offsetTop+offsetBottom, 10);
		/* do: calculate new image width+height */
		var imgHW = resizeToBrowser(h,w,t);
		/* do: resize image width+height */
		ddmimage.style.height = imgHW.h+"px"; ddmimage.style.width = imgHW.w+"px";
	}
}
/* fct: get size of browser */
function getBrowserSizeXY() {
	var intH = 0, intW = 0, w = ((location !== window.parent.location) ? window.parent : window), d = ((location !== window.parent.location) ? window.parent.document : document);
	/* do: non-IE */
	if(typeof w.innerWidth  === 'number' ) {intH = w.innerHeight; intW = w.innerWidth;}
	/* do: IE 6+ in 'standards compliant mode' */
	else if(d.documentElement && (d.documentElement.clientWidth || d.documentElement.clientHeight)) {intH = d.documentElement.clientHeight; intW = d.documentElement.clientWidth;}
	/* do: IE 4 compatible */
	else if(d.body && (d.body.clientWidth || d.body.clientHeight)) {intH = d.body.clientHeight;	intW = d.body.clientWidth;}
	return {width: parseInt(intW, 10), height: parseInt(intH, 10)};
}
/* fct: get width+height to fit browser */
function resizeToBrowser(h,w,t) {
	var bsXY = getBrowserSizeXY(), maxH = bsXY.height-t, maxW = (parseInt(bsXY.width-t, 10) > mwidth.max)?mwidth.max:((parseInt(bsXY.width-t, 10) < mwidth.min)?mwidth.min:parseInt(bsXY.width-t,10));
	/* do: size to browser width+height */
	var newW = Math.round(w*(maxH/h)), newH = Math.round(h*(maxW/w));
	if(newW > maxW) {return {h: newH, w: maxW};}
	else {return {h: maxH, w: newW};}
}
/**---------------- END Resize ----------------*/
/**---------------- BEGIN Slideshow ----------------*/
// var imgAr = [{src: 'fs.jpg', complete: !1}, {src: 'Rubber_table_black.jpg', complete: !1}, {src: 'rubber_table_SKIN.jpg', complete: !1}];
var imgBuff = {proc: null, img: new Image(), id: null};
var slider = {fade: !1, proc: null, status: !1, id: 0, imgSrc: null, interval: 5000, opacity: 100};
var fade = {proc: null, out: null, fadeIn: {t: 44, v: 1}, fadeOut: {t: 22, v: 1}};

function slideshow(b) {
	var slideBtn = document.getElementById("slideShowBtn");
	window.clearInterval(slider.proc); clearTimeout(fade.proc);
	if(b) {
		slideBtn.style.backgroundImage = "url(./pause.png)";
		slideBtn.title = "Click to pause";
		slider.status = b;
		if(slider.fade) {
			if(slider.opacity <= 100) {
				fade.proc = (fade.out)?window.setTimeout(fadeOut, fade.fadeOut.t):window.setTimeout(fadeIn, fade.fadeIn.t);
			} else {
				slider.id = (parseInt(slider.id+1,10) < imgAr.length) ? slider.id += 1 : 0;
				slider.proc = window.setInterval(fadeOut, slider.interval);
			}
		} else {
			slider.id = (parseInt(slider.id+1,10) < imgAr.length) ? slider.id += 1 : 0;
			loadImg();
			slider.proc = window.setInterval(switchImg, slider.interval);
		}
	} else if(!b) {
		slideBtn.style.backgroundImage = "url(./play.png)";
		slideBtn.title = "Click to play";
		slider.status = b;
		if(!slider.fade) {slider.id = (parseInt(slider.id-1,10) > 0) ? slider.id -= 1 : (parseInt(slider.id-1,10) < 0) ? imgAr.length : 0;}
	}
}
function loadImg() {
	imgBuff.img = new Image()
	imgBuff.img.src = imgAr[slider.id].src;
}


/* fct: fade in */
function fadeIn() {
	clearTimeout(fade.proc);
	if(slider.opacity <= 100) {
		setOpacity();
		slider.opacity += fade.fadeIn.v;
		fade.proc = window.setTimeout(fadeIn, fade.fadeIn.t);
		fade.out = !1;
	} else {
		slideshow(!0);
	}
}
/* fct: fade out */
function fadeOut() {
	clearTimeout(fade.proc); window.clearInterval(slider.proc);
	
	if(!imgAr[slider.id].complete || !imgAr[slider.id].img) {loadImg(slider.id);}
	
	if(slider.opacity > 0) {
		setOpacity();
		slider.opacity -= fade.fadeOut.v;
		fade.proc = window.setTimeout(fadeOut, fade.fadeOut.t);
		fade.out = !0;
	} else {
		switchImg();
	}
}
function switchImg() {
	clearTimeout(fade.proc);
	if(imgAr[slider.id].complete || imgBuff.img.complete) {
		ddmimage.src = imgAr[slider.id].src;
		imgAr[slider.id].complete = !0;
		if(imgBuff.img) {imgAr[slider.id].img = imgBuff.img;}
		imgBuff.img = null;
		if(slider.fade) {fade.proc = window.setTimeout(fadeIn, 1500);}
		else {slideshow(!0);}	
	} else {
		fade.proc = window.setTimeout(switchImg, 250);
	}
}
/* fct: set image opacity */
function setOpacity() {	
	var opacity = slider.opacity;
	// IE/Win
	ddmimage.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	ddmimage.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	ddmimage.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	ddmimage.style.opacity = opacity/100;
}
/* fct: prebuffer images */
// function preBuffer(i) {
    // if(document.images) {
		// if(i < imgAr.length) {
			// window.clearTimeout(imgBuff.proc); imgBuff.proc = null;
			// imgBuff.img.src = imgAr[i].src; imgBuff.id = i;
		// }
		// if(imgBuff.img.complete) {
			// if(i < imgAr.length){imgAr[i].complete = !0; imgAr[i].img = imgBuff.img; preBuffer(parseInt((i+1),10));}
			// else {
				// window.clearTimeout(imgBuff.proc); imgBuff.proc = null;
				// slideshow();
			// }
		// } else if(!imgBuff.img.complete && i < imgAr.length) {
			// imgBuff.proc = window.setTimeout(function(i) {preBuffer(i);}, 250);
		// } else {
			// imgBuff.img = null; window.clearTimeout(imgBuff.proc); imgBuff.proc = null;
			// slideshow();
		// }
    // }
// }
/**---------------- END Slideshow ----------------*/
/* fct: add browser "resize" event and adjust image on startup */
function init() {
	if(!ddmimage) {
		try {ddmimage = document.getElementById(mimage);} catch(ex) {return;}
		window.addEventListener("resize", adjustImage, false);
	}
	if(!ddmimage) {return;}
	if(ddmimage.complete) {
		ddmimage.style.display = "block";
		document.getElementById('slideShowBtn').style.display = "inline-block";
		adjustImage();
		slideshow(!0); // add if slideshow autostart
	} else {
		window.setTimeout(init, 250);
	}
}
/* fct: on DOM ready initialize */
function onDOMReady() {
	var d = document;
	/* do: if W3C-compliant browser - Opera 10.x+, FF 3.x+, Chrome, Safari, IE9 */
	if(d.addEventListener) {d.addEventListener("DOMContentLoaded", init, false);}
	/* do: if IE (?) */
	else if(d.readyState === "interactive" || d.readyState === "complete") {init();}
}
/* do: to do sth. on DOM ready */
onDOMReady();
