/*
// File written by Jochen "Khuri" Höhmann <khuri@khuris.com>
// Copyright 2011
//
// File        : module_mediabox.js
// Begin       : 2011.03.20 12:03:06
// Last Update : 2011.10.12 09:45:52
*/

// Image functions
// vars
var mb_currentimage = 0;
var mb_currentimage_p = 0;
var mb_currentimage_n = 0;
var mb_imagecache = new Array();
var mb_fadeid;
var mb_fadelock=0;
var mb_nextid = 0;
var mb_fadespeed = 20;
var mb_fademultiply = 50;

function mb_cache(firstrun) {
	var mb_pload;
	if(firstrun == 1) {
		for(i=0;i<mb_content.length;i++) {
			mb_imagecache[i] = new Image();
			mb_imagecache[i].src = mb_folder+mb_mid+"_"+mb_content[i]['cat']+"_"+mb_content[i]['cid']+".jpg";
		}
	}
	// Check if first 2 images are cached
	for(i=0;i<2;i++) {
		if(mb_imagecache[i]) {
			if(mb_imagecache[i].complete == false) {
				// Not yet cached
				mb_pload = 0;
				break;
			}
		}
		// Cached!
		mb_pload = 1;
	}
	// If the first 2 images are not cached yet, rerun check
	if(mb_pload == 0) {
		setTimeout("mb_cache(0)",100);
	}
	// ... or start with the first image switch
	else {
		mb_switchimage(2);
		setTimeout("mb_fade(0,0)",mb_content[0]['chold']); // launch first fade
	}
}
function mb_opac(i) {
	var mb_object = document.getElementById('mbimg2').style;
	mb_object.opacity = (i / mb_fademultiply);
	mb_object.MozOpacity = (i / mb_fademultiply);
	mb_object.KhtmlOpacity = (i / mb_fademultiply);
	mb_object.filter = "alpha(opacity="+(i * (1 / mb_fademultiply * 100))+")";
}
function mb_fade(mb_dostop,mb_newimage) {
	if(mb_fadelock == 0) {
		var mb_timer = 0;
		window.clearInterval(mb_fadeid);
		if(mb_dostop == 1) {
			if(mb_newimage !== false) {
				mb_currentimage = mb_currentimage;
				for(var i=0;i<mb_content.length;i++) {
					if(mb_content[i]['cid'] == mb_newimage) {
						mb_currentimage = i;
					}
				}
				//mb_currentimage = (mb_newimage < (mb_imagecache.length -1) && mb_newimage >= 0) ? mb_newimage : ((mb_newimage > (mb_imagecache.length -1)) ? 0 : (mb_imagecache.length -1));
			}
			else {
				mb_currentimage = mb_currentimage;
			}
		}
		else {
			mb_currentimage = mb_currentimage_n;
		}
		// Should we stop after the last image?
		if(mb_stopafterlast && mb_currentimage == 0) {
			window.clearInterval(mb_fadeid);
			return true;
		}
		// set a lock on this function
		mb_fadelock = 1;
		setTimeout("mb_opac(0)",0);
		setTimeout("mb_switchimage(1);",mb_fadespeed);
		for(i=1;i<=mb_fademultiply;i++) {
			mb_timer++;
			setTimeout("mb_opac("+i+");",mb_timer * mb_fadespeed);
		}
		setTimeout("mb_switchimage(2);",mb_fademultiply * mb_fadespeed);
		setTimeout("mb_fadelock=0",mb_fademultiply * mb_fadespeed);
		// mediabox list
		var mblist = document.getElementById('mblist');
		var li_id = 0;
		if(mblist) {
			if(mblist.hasChildNodes()) {
				for(var i=0;i<mblist.childNodes.length;i++) {
					if(mblist.childNodes[i].nodeType == 1) {
						if(mblist.childNodes[i].tagName.toLowerCase() == "li") {
							mblist.childNodes[i].className = (mblist.childNodes[i].id == "mb"+mb_content[mb_currentimage]['cid']) ? 'selected' : '';
							li_id++;
						}
					}
				}
			}
		}
		// If we don't stop, the loop continues
		if(mb_dostop == 0) {
			mb_fadeid = window.setInterval("mb_fade("+mb_dostop+",0)",mb_content[mb_currentimage]['chold']);
		}
	}
	else if(mb_dostop == 1) {
		window.clearInterval(mb_fadeid);
	}
}
function mb_switchimage(i) {
	if(i == 1) {
		document.getElementById('mbimg2').src = mb_imagecache[mb_currentimage].src;
	}
	else {
		// Change image and buttons
		document.getElementById('mbimg2').setAttribute("alt",mb_content[mb_currentimage]['cname'],0);
		document.getElementById('mbimg1').src = mb_imagecache[mb_currentimage].src;
		document.getElementById('mbimg1').setAttribute("alt",mb_content[mb_currentimage]['cname'],0);
		mb_currentimage_p = ((mb_currentimage -1) < 0) ? (mb_imagecache.length -1) : (mb_currentimage -1);
		mb_currentimage_n = (mb_currentimage < (mb_imagecache.length -1)) ? (mb_currentimage +1) : 0;
		// switch the slide buttons
		if(document.getElementById('mbcontrol')) {
			document.getElementById('mbprev').setAttribute("onclick","mb_fade(1,"+mb_currentimage_p+");");
			document.getElementById('mbnext').setAttribute("onclick","mb_fade(1,"+mb_currentimage_n+");");
		}
	}
}


// Movie functions

function mb_loadmovie(mb_newmov) {
	// mediabox list
	var mblist = document.getElementById('mblist');
	var li_id = 0;
	if(mblist) {
		if(mblist.hasChildNodes()) {
			for(var i=0;i<mblist.childNodes.length;i++) {
				if(mblist.childNodes[i].nodeType == 1) {
					if(mblist.childNodes[i].tagName.toLowerCase() == "li") {
						mblist.childNodes[i].className = (mb_cat[li_id]['cid'] == mb_content[mb_newmov]['cat']) ? 'selected' : '';
						li_id++;
					}
				}
			}
		}
	}
	// Change the flash object
	document.getElementById('mbmovparam').value = mb_imagesfolder+'module_mediabox/OSplayer.swf?movie='+mb_folder_full+mb_mid+"_"+mb_content[mb_newmov]['cat']+"_"+mb_content[mb_newmov]['cid']+'.flv&btncolor=0x333333&accentcolor=0x20b3f7&txtcolor=0xffffff&volume=100&previewimage=none&autoload=on';
	document.getElementById('mbmovembed').src = mb_imagesfolder+'module_mediabox/OSplayer.swf?movie='+mb_folder_full+mb_mid+"_"+mb_content[mb_newmov]['cat']+"_"+mb_content[mb_newmov]['cid']+'.flv&btncolor=0x333333&accentcolor=0x20b3f7&txtcolor=0xffffff&volume=100&previewimage=none&autoload=on';
}
