/**
 *
 * @author
 * @date
 */
var partnerImageContent = new Array();
var wipeInContentLabelDiv;
try 
{
	if (!dojo.fx) 
		dojo.require("dojo.fx");
	dojo.addOnLoad(doAnimations);
} 
catch (error) 
{
}

/** 
 * Function fadein
 *
 * @param {Type} name descritpion
 * @return {type}
 *
 * @author MGR mgr@malberg-edv.de
 * @version 22.04.2008
 */
function doAnimations()
{
	if (!dojo.fx) 
		dojo.require("dojo.fx");
	var divs = document.getElementsByTagName('div');
	var pageImageDiv = document.getElementById('pageImageDiv');
	
	var pageImage = document.getElementById("pageImage");
	if (pageImage) 
	{
		//pageImage.style.filter = "Alpha(opacity=0)";
		pageImage.style.filter  = "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
		pageImage.style.opacity = 0;
		pageImage.style.visibility = "visible";
		doFadeInImage(pageImage);
	}
	if (document.getElementById('menuContentWipeIn')) 
		doWipeInContent();
	
	var registrationContainer = new Array();
	
	var partnerCount = 0;
	for (var i = 0; i < divs.length; i++) 
	{
		var currentDiv = divs[i];
		
		if (currentDiv.className == "menuLabel" && currentDiv.parentNode.id == "openContainer") 
		{
			wipeInContentLabelDiv = currentDiv;
			wipeInContentLabelDiv.onclick = doWipeOutContent;
		}
		
		if (currentDiv.className.startsWith("registrationContainer")) 
		{
			registrationContainer.push(currentDiv);
			currentDiv.style.display = "none";
		}
		if (currentDiv.className == "partnerItem") 
		{
			partnerCount++;
			var imageChild = null;
			var contentChild = null;
			
			for (var j = 0; j < currentDiv.childNodes.length; j++) 
			{
				var partnerItemChild = currentDiv.childNodes[j];
				
				if (partnerItemChild.className == "partnerHeader") 
				{
					var imageChild = partnerItemChild.getElementsByTagName("img")[0];
					if (imageChild) 
						imageChild.id = "image" + partnerCount;
				}
				else 
					if (partnerItemChild.className == "partnerContent") 
					{
						contentChild = partnerItemChild;
						contentChild.id = "content" + partnerCount;
					}
			}
			if (imageChild && contentChild) 
			{
				partnerImageContent[imageChild.id] = contentChild
				imageChild.onclick = doPartnerContentWipein;
			}
		}
	}
	if (registrationContainer.length >= 1) 
		doSlide(registrationContainer);
}

String.prototype.startsWith = function(str)
{
	return (this.match("^" + str) == str)
}

/**
 *
 */
function doPartnerContentWipein(event)
{
	var wipeInDiv = partnerImageContent[this.id];
	var height = parseInt(trimpx(wipeInDiv.style.height))
	var animation = null;
	if (wipeInDiv.style.height == 0 || wipeInDiv.style.display == "none") 
		animation = dojo.fx.wipeIn(
		{
			node: wipeInDiv.id,
			duration: 1000
		})
	else 
		animation = dojo.fx.wipeOut(
		{
			node: wipeInDiv.id,
			duration: 1000
		});
	animation.play();
}

/**
 *
 * @param {Object} pageImage
 */
function doFadeInImage(pageImage)
{
	//var fadeIn = dojo.fadeIn({node: "pageImage",duration: 2000});
	var fadeIn = dojo.fadeIn(
	{
		node: pageImage,
		duration: 2000
	});
	fadeIn.play();
}

/**
 *
 */
function doWipeInContent()
{
	var wipeInContent = dojo.fx.wipeIn(
	{
		node: "menuContentWipeIn",
		duration: 1000
	});
	wipeInContent.play();
	if (wipeInContentLabelDiv != null) 
		wipeInContentLabelDiv.onclick = doWipeOutContent;
}

/**
 *
 */
function doWipeOutContent()
{
	var wipeOutContent = dojo.fx.wipeOut(
	{
		node: "menuContentWipeIn",
		duration: 1000
	});
	wipeOutContent.play();
	if (wipeInContentLabelDiv != null) 
		wipeInContentLabelDiv.onclick = doWipeInContent;
}

var slideDivs = null;

/**
 *
 * @param {Object} divs
 */
function doSlide(divs)
{
	if (divs.length == 1) 
	{
		divs[0].style.display = 'block';
		divs[0].style.filter = null;
	}
	else 
		if (divs.length > 1) 
		{
			for (var i = 0; i < divs.length; i++) 
				//divs[i].style.filter = "Alpha(opacity=0)"
				divs[i].style.filter = "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
			slideDivs = divs;
			var slideshowDiv = document.getElementById('registrationSlideshow');
			doSlideAnimation(0);
		}
}

var lastIndex = -1;
var timeout = null;
var fadeoutDiv = null;
var fadeinDiv = null;

/**
 *
 */
function doSlideAnimation()
{
	if (lastIndex == -1) 
		lastIndex = Math.floor((Math.random() * (slideDivs.length)) + 1) - 1;
	else 
		lastIndex = ((lastIndex + 1) >= slideDivs.length) ? 0 : lastIndex + 1;
	var slideDiv = slideDivs[lastIndex];
	slideDiv.onmouseover = stopSlideshow;
	doSlideIn(slideDiv);
	timeout = window.setTimeout(function()
	{
		doSlideOut(slideDiv);
	}, 4000);
}

/**
 *
 */
function getNextIndex()
{
	return ((lastIndex + 1) >= slideDivs.length) ? 0 : lastIndex + 1;
}

/**
 *
 * @param {Object} slideDiv
 */
function doSlideIn(slideDiv)
{
	slideDiv.style.opacity = 0;
	slideDiv.style.display = 'block';
	slideDiv.id = 'slideDiv';
	fadeinDiv = dojo.fadeIn(
	{
		node: "slideDiv",
		duration: 2000
	});
	fadeinDiv.play();
}

/**
 *
 * @param {Object} slideDiv
 */
function doSlideOut(slideDiv)
{
	slideDiv.onmouseover = "";
	slideDiv.onmouseout = "";
	fadeoutDiv = dojo.fadeOut(
	{
		node: "slideDiv",
		duration: 2000
	});
	fadeoutDiv.play();
	slideDiv.id = "";
	timeout = window.setTimeout(function()
	{
		doSlideAnimation();
		slideDiv.style.display = "none";
		slideDivs[lastIndex].style.display = "block";
	}, 2000);
}

/**
 *
 */
function stopSlideshow()
{
	var slideDiv = slideDivs[lastIndex];
	slideDiv.onmouseout = resumeSlideshow;
	if (fadeinDiv.status() != 'playing') 
	{
		slideDiv.style.opacity = 1;
	}
	if (timeout) 
		window.clearTimeout(timeout);
}

/**
 *
 */
function resumeSlideshow()
{
	var slideDiv = slideDivs[lastIndex];
	timeout = window.setTimeout(function()
	{
		doSlideOut(slideDiv);
	}, 4000);
}

/**
 *
 * @param {Object} text
 */
function trimpx(text)
{
	return text.indexOf("px") > -1 ? text.substr(0, text.length - 2).trim() : text;
}

