var xmlHttp     = null;
var menuReady   = 0;
var bgImage     = null;
var menuImg     = null;
var isUndermenu = true;
var hash        = "home";
var urlChecker  = null;
var ajaxTimer   = null;
var isFadeFlag  = false;
var listenerTimer = null;
var currMenuColor = null;
var lastMenuColor = null;

//VIEDO and NEWSLINE
var youtube     = new Array(2);
youtube[0]      = "http://www.youtube.com/v/";
youtube[1]      = "&autoplay=1&loop=1&hl=de_DE&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999";
var vidReady1   = 0;
var vidReady2   = 0;
var vidReady3   = 0;
var vidFade1    = null;
var vidFade2    = null;
var vidFade3    = null;
var newsRow     = 0;
var newsFade    = null;
var vidImg1     = null;
var vidImg2     = null;
var vidImg3     = null;

//EVENTS
var eventsMenu    = null;
var galleryImgNum = 0;
var galleryFading = false;


function onAjaxLoadHandler(bgSrc)
{
	bgImage        = new Image();
	addEventListener(bgImage,"complete","onBgLoadHandler('" + bgSrc + "')");
	bgImage.src    = bgSrc;
	
	//VIDEO & NEWS
	if(null != vidFade1) clearInterval(vidFade1); vidFade1  = null;
	if(null != vidFade2) clearInterval(vidFade2); vidFade2  = null;
	if(null != vidFade3) clearInterval(vidFade3); vidFade3  = null;
	if(null != newsFade) clearInterval(newsFade); newsFade  = null;
	
	if("home" == hash)
	{
		vidReady1 = 0;
		vidReady2 = 0;
		vidReady3 = 0;
		newsRow   = 0;
	
		vidImg1 = new Array(videoCount_left);
		for(i=0;i<videoCount_left;i++)
		{
			v_src = "assets/videos/"+videoThumb_left[i];
			vidImg1[i]     = new Image();
			addEventListener(vidImg1[i],"complete","onVideo1LoadHandler("+(videoCount_left-1-i)+",'"+v_src+"')");
			vidImg1[i].src = v_src;
		}
		
		vidImg2 = new Array(videoCount_right);
		for(i=0;i<videoCount_right;i++)
		{
			v_src = "assets/videos/"+videoThumb_right[i];
			vidImg2[i]        = new Image();
			addEventListener(vidImg2[i],"complete","onVideo2LoadHandler("+(videoCount_right-1-i)+",'"+v_src+"')");
			vidImg2[i].src    = v_src;
		}
		
		vidImg3 = new Array(4);
		for(i=0;i<4;i++)
		{
			v_src = "assets/videos/thumb3rd" + (i+1) + ".jpg";
			vidImg3[i]        = new Image();
			addEventListener(vidImg3[i],"complete","onVideo3LoadHandler("+i+",'"+v_src+"')");
			vidImg3[i].src    = v_src;
		}
	}
	
	//Events Gallery
	if("events" == hash)
	{
		len = eventsTitle.length;
		eventsMenu = new Array(len);
		for(i=0;i<len;i++)
		{
			e_src = "assets/gallery/"+eventsThumb[i];
			eventsMenu[i]        = new Image();
			addEventListener(eventsMenu[i],"complete","onEventsMenuLoadHandler("+i+",'"+e_src+"')");
			eventsMenu[i].src    = e_src;
		}
	}
	
	if("events_video" == hash)
	{
		len = videoTitle.length;
		eventsMenu = new Array(len);
		for(i=0;i<len;i++)
		{
			ev_src = "assets/videos/"+videoThumb[i];
			eventsMenu[i]        = new Image();
			addEventListener(eventsMenu[i],"complete","onEventsMenuLoadHandler("+i+",'"+ev_src+"')");
			eventsMenu[i].src    = ev_src;
		}
	}
	
	if('dkms_life' == hash)
	{
		$("a#thumb3rd5").fancybox({'overlayColor': '#FFF'});
	}
	
	if(currMenuColor != lastMenuColor)
	{
		menuReady = 0;
		menuImg   = new Array(10);
		for(i=0;i<10;i++)
		{
			m_src = menufolder+"menu_"+currMenuColor + "_" + menuArray[i] + ".png";
			menuImg[i]        = new Image();
			addEventListener(menuImg[i],"complete","onMenuLoadHandler("+i+",'"+m_src+"')");
			menuImg[i].src    = m_src;
		}
	}
	$("#undermenu").fadeIn("slow");
	addEventListener(null, "hashChange","onMenuClickHandler(hash)");
}

function onLoadHandler(currHash)
{
	listenerTimer = setInterval(listenerFunction, 50);
	onMenuClickHandler(currHash);
}


/*###########
Eventlistener
###########*/
var listenerObject = new Array();
function addEventListener(tgt, eventType, callBack)
{
	listenerObject[listenerObject.length] = [tgt, eventType, callBack];
}

function removeEventListener()
{
		listenerObject = new Array();
}

function listenerFunction()
{
	len = listenerObject.length;
	for(i=0;i<len;i++)
	{
		type     = listenerObject[i][1];
		tgt      = listenerObject[i][0];
		callBack = "";
		
		switch(type)
		{
			case "complete":
				if(tgt.complete)
				{
					callBack = listenerObject[i][2];
					if(0 == i)
					{
						listenerObject.shift();
					}
					else if(len -1 == i)
					{
						listenerObject.pop();
					}
					else
					{
						listenerObject = listenerObject.slice(0,i).concat(listenerObject.slice(i+1));
					}
					
					i--;
					len--;
				}
				
				break;
			case "hashChange":
				currHash = ("" == window.location.hash) ? "home" : window.location.hash.substring(1);
				if(hash != currHash)
				{
					hash = currHash;
					callBack = listenerObject[i][2];
				}
				
				break;
		}
		
		if("" != callBack) eval(callBack);
	}
	
}

if("" != window.location.hash) hash = window.location.hash.substring(1);
addEventListener(null, "hashChange","onMenuClickHandler(hash)");
