var innerDimensions = new Array();	
var pageDimensions = new Array();	
var scrollingOffset = new Array();	

$(document).ready(function(){
	
	innerDimensions = getInnerDimensions();
	pageDimensions = getPageDimensions();
	scrollingOffset = getScrollingOffset();	

	if(jQuery.browser.msie) {

		var fullPath = 'fileadmin/sys/gfx/';
		
		$('.col_center a, .col_right a, .col_left p a, .additional-middle-box a').each(
			function () {
				var bgImgPath = $(this).css("background-image");
				var target = $(this).attr('target');

				var tempImgFileName = bgImgPath.substr(bgImgPath.lastIndexOf('/')+1);
				var imgFileName = tempImgFileName.slice(0, tempImgFileName.length-2);					
			
				if (imgFileName == 'textelement_link_arrow.gif') {
					$(this).after("<a href='" + this + "' class='eCircleGrayIE' target='" + target + "'>&nbsp;&nbsp;&nbsp;</a>");
					$(this).addClass('noBgImg');
				}
				if (imgFileName == 'arrow_ecircle.gif') {
					$(this).after("<a href='" + this + "' class='eCircleOrangeIE' target='" + target + "'>&nbsp;&nbsp;&nbsp;&nbsp;</a>");
					$(this).addClass('noBgImg');
				}
				if (imgFileName == 'arrow_software.gif') {
					$(this).after("<a href='" + this + "' class='emailMarketingSoftwareIE' target='" + target + "'>&nbsp;&nbsp;&nbsp;&nbsp;</a>");
					$(this).addClass('noBgImg');
				}
				if (imgFileName == 'arrow_adressen.gif') {
					$(this).after("<a href='" + this + "' class='emailListRentalIE' target='" + target + "'>&nbsp;&nbsp;&nbsp;&nbsp;</a>");
					$(this).addClass('noBgImg');
				}
				if (imgFileName == 'arrow_leads.gif') {
					$(this).after("<a href='" + this + "' class='leadGenerationIE' target='" + target + "'>&nbsp;&nbsp;&nbsp;&nbsp;</a>");
					$(this).addClass('noBgImg');
				}
				if (imgFileName == 'arrow_marktforschung.gif') {
					$(this).after("<a href='" + this + "' class='onlineMarketResearchIE' target='" + target + "'>&nbsp;&nbsp;&nbsp;&nbsp;</a>");
					$(this).addClass('noBgImg');
				}															
			}
		);	
	};
	
	// list results scroller
	$('#filterListResults').css("overflow","hidden");
	$('#filterListResults').jScrollPane({showArrows:true, scrollbarWidth: 17, scrollbarMargin: 0, arrowSize: 17});
	
	// > IE bg flicker bug
	try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}
	
	// glossary list scroller
	var $glossaryList = $('#ecircle-glossary-list');
	$glossaryList.css("overflow","hidden");
	$glossaryList.jScrollPane({showArrows:true, scrollbarWidth: 17, scrollbarMargin: 0, arrowSize: 17, animateTo:false});
	
	$('a.scroll-to-char').bind(
					'click',
					function()
					{
						var targetElementSelectorString = $(this).attr('rel');
						$glossaryList[0].scrollTo(targetElementSelectorString);
						return false;
					}
				);

	if ($('.ecircle-lightbox').length > 0) {
		initEcircleLightbox();
		$('.ecircle-lightbox').click(function () {openEcircleLightbox(this); return false;});	
	}
	
	if ($('.ecircle-special-lightbox').length > 0) {
		initEcircleLightbox();
		openEcircleSpecialLightbox();
	}
	
	// new icon big
	var iconNewBigSrc = $('base').attr('href') + 'fileadmin/sys/gfx/icon-new-big.gif';	
	var iconNewBigImg = '<img src="' + iconNewBigSrc + '" alt="" class="iconNewBig" />';
	$('h3.newIcon').append(iconNewBigImg).wrapInner('<span class="iconSpan"></span>');

	// new icon small	
	var iconNewSmallSrc = $('base').attr('href') + 'fileadmin/sys/gfx/icon-new-small.gif';	
	var iconNewSmallImg = '<img src="' + iconNewSmallSrc + '" alt="" class="iconNewSmall" />';
	$('li.newIcon').append(iconNewSmallImg).wrapInner('<span class="iconSpan"></span>');
	
	// lock icon big
	var iconLockBigSrc = $('base').attr('href') + 'fileadmin/sys/gfx/icon-lock-big.gif';	
	var iconLockBigImg = '<img src="' + iconLockBigSrc + '" alt="" class="iconLockBig" />';
	$('h3.lockIcon').append(iconLockBigImg).wrapInner('<span class="iconSpan"></span>');

	// lock icon small	
	var iconLockSmallSrc = $('base').attr('href') + 'fileadmin/sys/gfx/icon-lock-small.gif';	
	var iconLockSmallImg = '<img src="' + iconLockSmallSrc + '" alt="" class="iconLockSmall" />';
	$('li.lockIcon').append(iconLockSmallImg).wrapInner('<span class="iconSpan"></span>');	
	
});

function ecircleShowContent(){
	$('#ecircle-lightbox-loading').hide();
	$('#ecircle-lightbox-close').show();
	$('#ecircle-lightbox-container').show();
	setEcircleLightboxPosition();
}

function initEcircleLightbox(){	

		// Append markup:
	$('body').append('<div id="ecircle-lightbox-overlay"></div><div id="ecircle-lightbox-loading">Loading...</div><div id="ecircle-lightbox-container"><div id="ecircle-lightbox-close"><img src="fileadmin/sys/gfx/close.gif" alt="Close" title="Close" /></div><div id="ecircle-lightbox-content"></div></div>');

		// onclick: close lightbox:
	$('#ecircle-lightbox-overlay, #ecircle-lightbox-container, #ecircle-lightbox-container').click( function() {closeEcircleLightbox();});
}

function openEcircleLightbox(link) {

			var overlayHeight = pageDimensions[1];
			if (innerDimensions[1] > overlayHeight) { overlayHeight = innerDimensions[1]; }	
			$('#ecircle-lightbox-overlay').css('height', overlayHeight + 'px');			
			$('#ecircle-lightbox-overlay').css({opacity: '0.8'})
			$('#ecircle-lightbox-overlay').show();
			
			var pxFromTop = scrollingOffset[1] + 10;
			$('#ecircle-lightbox-loading').css('top', pxFromTop + 'px');
			$('#ecircle-lightbox-loading').show();
			
			var fileSrc = $(link).attr('href');
			var fileExt = getFileExtension(fileSrc);
			if (fileExt == '.html' || fileExt == '.htm') {
				$('#ecircle-lightbox-content').html('<iframe src="' + fileSrc + '">');
				$('#ecircle-lightbox-content').fadeIn(400);
				ecircleShowContent();
			} else {
				var preloader = new Image();
				preloader.onload = function(){
					$('#ecircle-lightbox-content').html('<img src="' + fileSrc + '">');
					$('#ecircle-lightbox-content').fadeIn(400);
					ecircleShowContent();
				}
				preloader.src = fileSrc;				
			}			

			$(window).bind('resize', setEcircleLightboxPosition);
			
}

function openEcircleSpecialLightbox() {

			var overlayHeight = pageDimensions[1];
			if (innerDimensions[1] > overlayHeight) { overlayHeight = innerDimensions[1]; }	
			$('#ecircle-lightbox-overlay').css('height', overlayHeight + 'px');			
			$('#ecircle-lightbox-overlay').css({opacity: '0.8'})
			$('#ecircle-lightbox-overlay').show();
			
			var pxFromTop = scrollingOffset[1] + 10;
			$('#ecircle-lightbox-loading').css('top', pxFromTop + 'px');
			$('#ecircle-lightbox-loading').show();
			
			var specialLightboxContent = '<div style="cursor: default; height: 460px; width: 470px; text-align: left;">';
			specialLightboxContent+= '<div style="padding-left: 80px; height: 38px; background: url(/fileadmin/sys/gfx/logo10.gif) no-repeat 10px 0;">';
			specialLightboxContent+= '<h1 style="margin-bottom: 5px;">eCircle hat Geburtstag &ndash;</h1><h1>und Sie bekommen die Geschenke!</h1></div>';			
			specialLightboxContent+= '<div style="height: 292px;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="470" height="275">';
			specialLightboxContent+= '<param name="movie" value="fileadmin/sys/swf/slideshow.swf?linkUrl=http://www.ecircle.com/de/geburtstagsgewinnspiel.html"/>';
			specialLightboxContent+= '<param name="wmode" value="transparent" />';
			specialLightboxContent+= '<!--[if !IE]>-->';
			specialLightboxContent+= '<object type="application/x-shockwave-flash" data="fileadmin/sys/swf/slideshow.swf?linkUrl=http://www.ecircle.com/de/geburtstagsgewinnspiel.html" width="470" height="275">';
			specialLightboxContent+= '<param name="wmode" value="transparent" /><!--<![endif]-->';
			specialLightboxContent+= '<a href="http://www.ecircle.com/de/geburtstagsgewinnspiel.html"><img src="fileadmin/sys/gfx/slideshow_fallback1.jpg" alt="" /></a><!--[if !IE]>--></object><!--<![endif]--></object></div>';			
			specialLightboxContent+= '<div style="height: 130px; background: url(/fileadmin/sys/gfx/mrhappy-10.gif) no-repeat 406px 38px;">';
			specialLightboxContent+= '<h2>Das k&ouml;nnen Sie gewinnen:</h2>';
			specialLightboxContent+= '<p>Wir verlosen ein Inhouse-Seminar f&uuml;r Ihr Team mit dem <strong>Email-Marketing<br />';
			specialLightboxContent+= 'Spezialisten Dr. Torsten Schwartz</strong> von Absolit. Melden Sie sich jetzt<br />';
			specialLightboxContent+= 'an und nehmen Sie an der Verlosung teil!</p>';			
			specialLightboxContent+= '<p><a href="http://www.ecircle.com/de/geburtstagsgewinnspiel.html"><img src="fileadmin/sys/gfx/btn-mitmachen-gewinnen.gif" /"></a></p></div>';		
			$('#ecircle-lightbox-container').css('width', '510px');

			$('#ecircle-lightbox-content').html(specialLightboxContent);
			$('#ecircle-lightbox-content').fadeIn(200);			
			ecircleShowContent();

			$(window).bind('resize', setEcircleLightboxPosition);

}

function setEcircleLightboxPosition() {

				//update innerDimensions and scrollingOffset variables, a window resize could have changed them...
			innerDimensions = getInnerDimensions();
			scrollingOffset = getScrollingOffset();	

			var containerDimensions = new Array();
			containerDimensions[0] = $('#ecircle-lightbox-container').width();
			containerDimensions[1] = $('#ecircle-lightbox-container').height();			

			var toTop = (containerDimensions[1] / 2);
			if (innerDimensions[1] < containerDimensions[1]) { toTop = (innerDimensions[1] / 2) - 30; }
			var pxFromTop = (innerDimensions[1] / 2) - toTop + scrollingOffset[1];
			var pxFromLeft = (innerDimensions[0] / 2) - (containerDimensions[0] / 2);

			var overlayHeight = pageDimensions[1];
			if (innerDimensions[1] > overlayHeight) { overlayHeight = innerDimensions[1]; }						
			if ((containerDimensions[1] + pxFromTop + 20) > overlayHeight) { overlayHeight = containerDimensions[1] + pxFromTop + 20; }

// TODO:
//LOADING fromTOP label
// closing nach oben

			$('#ecircle-lightbox-container').css('top', pxFromTop + 'px');
			$('#ecircle-lightbox-container').css('left', pxFromLeft + 'px');

			$('#ecircle-lightbox-overlay').css('height', overlayHeight + 'px');

}

function closeEcircleLightbox(){
	$('#ecircle-lightbox-overlay').fadeOut(150);
	$('#ecircle-lightbox-container').fadeOut(150);
	$('#ecircle-lightbox-content').hide();
	$('#ecircle-lightbox-close').hide();	
	$(window).unbind('resize', setEcircleLightboxPosition);
}

function getFileExtension(filename) { 
	if (!filename) return ''
	if (filename.length == 0) return '';
 	var dot = filename.lastIndexOf("."); 
 	if( dot == -1 ) return ''; 
 	var extension = filename.substr(dot,filename.length); 
 	return extension; 
}

/*
The height and width of the total page (usually the body element).
This is a tricky one, some browsers require scrollHeight, others offsetHeight, 
but all browsers support both properties. 
Therefore I see which property has the larger value. 
This means the page height the script below gives is never smaller than the window height.
http://www.quirksmode.org/viewport/compatibility.html
*/
function getPageDimensions() {
	var x,y;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) // all but Explorer Mac
	{
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	}
	else // Explorer Mac;
		 //would also work in Explorer 6 Strict, Mozilla and Safari
	{
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	return new Array(x,y);
}

/* 
How much the page has scrolled. 
http://www.quirksmode.org/viewport/compatibility.html
*/
function getScrollingOffset() {  
	var x,y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	return new Array(x,y);
}  

/* 
The inner dimensions of the window or frame
http://www.quirksmode.org/viewport/compatibility.html
*/
function getInnerDimensions() {
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	return new Array(x,y);
}

function ecircleUpdateScrollbars() {
	window.setTimeout("ecircleUpdateResultList()", 200);
}

function ecircleUpdateResultList() {
	$('.ecircle-lightbox').click(function () {openEcircleLightbox(this); return false;});
	$('#filterListResults').jScrollPane({showArrows:true, scrollbarWidth: 17, scrollbarMargin: 0, arrowSize: 17});
}

function ecircleFileLog (downloadPath, downloadName) {
	var WTspValue = $("meta[name='WT.sp']").attr('content');
	dcsMultiTrack(
		"DCS.dcsuri", downloadPath,
		"WT.ti", downloadName,
		"WT.sp", WTspValue,
		"WT.dl", 200
	);
}