﻿var TimeToFade = 1000.0;
var ie = (document.all) ? true : false;

function funChangeDisplay(ShowMe, hideclass) {
	$('.chart-right').cycle('stop');
	$('.chart-right').cycle('destroy');
	$(".chart-right div").removeAttr("style");
	hideClass(hideclass);
	//document.getElementById(ShowMe).style.display = "";
	$("#" + ShowMe.toString()).css("display", "");
	//$("#" + ShowMe.toString()).css("z-index", "10");
}
function funChangeDisplayNoCycle(ShowMe, hideclass) {
	hideClass(hideclass);
	document.getElementById(ShowMe).style.display = "";

	$(".ActiveTab").removeClass('ActiveTab');
	$("#TabFor" + ShowMe).addClass('ActiveTab');
}

function hideClass(objClass) {
	//  This function will hide Elements by object Class
	//  Works with IE and Mozilla based browsers

	var elements = (ie) ? document.all : document.getElementsByTagName('*');
	for (i = 0; i < elements.length; i++) {
		if (elements[i].className == objClass) {
			elements[i].style.display = "none";
			elements[1].style.zindex = "0";
		}
	}
}

function killCycle(classCycle) {
	$("#" + ShowMe.toString()).cycle('stop');
	$("#" + ShowMe.toString()).cycle('destroy');
}

function fade(eid) {
	var element = document.getElementById(eid);
	if (element == null)
		return;

	if (element.FadeState == null) {
		if (element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == '1') {
			element.FadeState = 2;
		}
		else {
			element.FadeState = -2;
		}
	}

	if (element.FadeState == 1 || element.FadeState == -1) {
		element.FadeState = element.FadeState == 1 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
	}
	else {
		element.FadeState = element.FadeState == 2 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade;
		setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
	}
}


function animateFade(lastTick, eid) {
	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;

	var element = document.getElementById(eid);

	if (element.FadeTimeLeft <= elapsedTicks) {
		element.style.opacity = element.FadeState == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
		element.FadeState = element.FadeState == 1 ? 2 : -2;
		return;
	}

	element.FadeTimeLeft -= elapsedTicks;
	var newOpVal = element.FadeTimeLeft / TimeToFade;
	if (element.FadeState == 1)
		newOpVal = 1 - newOpVal;

	element.style.opacity = newOpVal;
	element.style.filter = 'alpha(opacity = ' + (newOpVal * 100) + ')';

	setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}


/////////////////////////////////////////////////////////////////////////////

// Browser Slide-Show script. With image cross fade effect for those browsers
// that support it.
// Script copyright (C) 2004-2010 www.cryer.co.uk.
// Script is free to use provided this copyright header is included.
var FadeDurationMS = 1000;
function SetOpacity(object, opacityPct) {
	// IE.
	object.style.filter = 'alpha(opacity=' + opacityPct + ')';
	// Old mozilla and firefox
	object.style.MozOpacity = opacityPct / 100;
	// Everything else.
	object.style.opacity = opacityPct / 100;
}
function ChangeOpacity(id, msDuration, msStart, fromO, toO) {
	var element = document.getElementById(id);
	var msNow = (new Date()).getTime();
	var opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
	if (opacity >= 100) {
		SetOpacity(element, 100);
		element.timer = undefined;
	}
	else if (opacity <= 0) {
		SetOpacity(element, 0);
		element.timer = undefined;
	}
	else {
		SetOpacity(element, opacity);
		element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")", 10);
	}
}
function FadeInImage(foregroundID, newImage, backgroundID) {
	var foreground = document.getElementById(foregroundID);
	if (foreground.timer) window.clearTimeout(foreground.timer);

	if (backgroundID) {
		var background = document.getElementById(backgroundID);
		if (background) {
			if (background.src) {
				foreground.src = background.src;
				SetOpacity(foreground, 100);
			}
			background.src = newImage;
			background.style.backgroundImage = 'url(' + newImage + ')';
			background.style.backgroundRepeat = 'no-repeat';
			var startMS = (new Date()).getTime();
			foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "'," + FadeDurationMS + "," + startMS + ",100,0)", 10);
		}
	} else {
		foreground.src = newImage;
	}
}
var slideCache = new Array();
function RunSlideShow(pictureID, backgroundID, imageFiles, displaySecs) {
	var imageSeparator = imageFiles.indexOf(";");
	var nextImage = imageFiles.substring(0, imageSeparator);
	if (slideCache[nextImage] && slideCache[nextImage].loaded) {
		FadeInImage(pictureID, nextImage, backgroundID);
		var futureImages = imageFiles.substring(imageSeparator + 1, imageFiles.length)
			+ ';' + nextImage;
		setTimeout("RunSlideShow('" + pictureID + "','" + backgroundID + "','" + futureImages + "'," + displaySecs + ")",
			displaySecs * 1000);
		// Identify the next image to cache.
		imageSeparator = futureImages.indexOf(";");
		nextImage = futureImages.substring(0, imageSeparator);
	} else {
		setTimeout("RunSlideShow('" + pictureID + "','" + backgroundID + "','" + imageFiles + "'," + displaySecs + ")",
			250);
	}
	// Cache the next image to improve performance.
	if (slideCache[nextImage] == null) {
		slideCache[nextImage] = new Image;
		slideCache[nextImage].loaded = false;
		slideCache[nextImage].onload = function () { this.loaded = true };
		slideCache[nextImage].src = nextImage;
	}
}



