var innerDimensions = new Array();	
var pageDimensions = new Array();	
var scrollingOffset = new Array();	
var lpReady = false;

$(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>');	
	
	// LP document.ready call
	if( lpReady === true ) {
		lpDocumentReady();
	}
	
	// only shown on german hp
	if(ecircleSysLanguageUid == 0 && $('.media-planner-teaser-home-blue').length > 0) {
		// activate slide in for media planner homepage teaser
		$('.media-planner-teaser-home-blue').toggle();
		$('.media-planner-teaser-home-blue').animate({"left": "+=314px"}, "slow");
		$('.media-planner-teaser-home-blue').mouseover(function() {
			$('.media-planner-teaser-home-blue').css('opacity', '1.0');
		});
		$('.media-planner-teaser-home-blue').mouseout(function() {
			$('.media-planner-teaser-home-blue').css('opacity', '0.7');
		});
	}
});

function ecircleShowContent(){
	$('#ecircle-lightbox-loading').hide();
	$('#ecircle-lightbox-close').show();
	$('#ecircle-lightbox-container').show();
	setEcircleLightboxPosition();
}

function initEcircleLightbox(){	

		// Append markup:
	if(ecircleSysLanguageUid == 0) {
		lightboxFrame = '<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/layer-ads/close-de.gif" alt="Schlie&szlig;en" title="Schlie&szlig;en" /></div><div id="ecircle-lightbox-content"></div></div>';
	}
	else if(ecircleSysLanguageUid == 1) {
		lightboxFrame = '<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/layer-ads/close-uk.gif" alt="Close" title="Close" /></div><div id="ecircle-lightbox-content"></div></div>';
	}
	else if(ecircleSysLanguageUid == 2) {
		lightboxFrame = '<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/layer-ads/close-fr.gif" alt="Fermer" title="Fermer" /></div><div id="ecircle-lightbox-content"></div></div>';
	}
	else if(ecircleSysLanguageUid == 3) {
		lightboxFrame = '<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/layer-ads/close-it.gif" alt="Chiudi" title="Chiudi" /></div><div id="ecircle-lightbox-content"></div></div>';
	}
	else if(ecircleSysLanguageUid == 4) {
		lightboxFrame = '<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/layer-ads/close-es.gif" alt="Cerrar" title="Cerrar" /></div><div id="ecircle-lightbox-content"></div></div>';
	}
	else if(ecircleSysLanguageUid == 5) {
		lightboxFrame = '<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/layer-ads/close-nl.gif" alt="Sluiten" title="Sluiten" /></div><div id="ecircle-lightbox-content"></div></div>';
	}
	else {
		lightboxFrame = '<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/layer-ads/close.gif" alt="Close" title="Close" /></div><div id="ecircle-lightbox-content"></div></div>';
	}
	
	$('body').append(lightboxFrame);
	
		// 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();
			
			// eCircle Blog Weihnachtsgewinnspiel
			/*
			specialLightboxContent = '<div style="cursor: default; height: 475px; width: 510px; text-align: left;">';
			specialLightboxContent+= '<div style="height: 24px; margin-top:10px; background: url(/fileadmin/sys/gfx/layer-ads/blog-gewinnspiel-2010/ec-logo.gif) no-repeat 0 0;"></div>';			
			specialLightboxContent+= '<div style="height: 295px; margin-top:5px;"><a href="http://www.ecircle.com/blog/de/" title="Jetzt MITLESEN und Weihnachts-iPAD GEWINNEN!"><img src="fileadmin/sys/gfx/layer-ads/blog-gewinnspiel-2010/blog-teaser.jpg" alt="Jetzt MITLESEN und Weihnachts-iPAD GEWINNEN!" /></a></div>';			
			specialLightboxContent+= '<div style="height: 130px; margin-left:20px;">';
			specialLightboxContent+= '<h1 style="">Jetzt MITLESEN und Weihnachts-iPAD GEWINNEN!</h1>';			
			specialLightboxContent+= '<p style="padding-top:5px; width:435px;">Der eC-Klaus hinterl&auml;sst im Rahmen unseres Advents-Gewinnspiels jeden Sonntag im Advent eine Sch&auml;tzfrage rund um das Thema E-Mail-Marketing auf unserem Blog. Jeder kann mitmachen und mit raten. Unter den vier besten Sch&auml;tzern jedes Advents-Sonntags verlosen wir p&uuml;nktlich zu Weihnachten ein iPad!</p>';		
			specialLightboxContent+= '<p style="margin-top:20px;"><a href="http://www.ecircle.com/blog/de/" title="Jetzt MITLESEN und Weihnachts-iPAD GEWINNEN!" ><img src="fileadmin/sys/gfx/layer-ads/blog-gewinnspiel-2010/gewinnen-btn.gif" alt="Jetzt MITLESEN und Weihnachts-iPAD GEWINNEN!" /"></a></p></div>';
			*/
			specialLightboxContent = '<div style="cursor: default; height: 340px; width: 630px; text-align: left;">';
			specialLightboxContent+= '<div style="height: 24px; margin:14px 0 0 20px; background: url(/fileadmin/sys/gfx/layer-ads/omexpo/ec-logo.gif) no-repeat 0 0;"></div>';			
			specialLightboxContent+= '<div style="height: 200px; margin-top:12px;"><a href="http://omexpo.com/madrid/2011/registro.php" title="Registrarse ahora!"><img src="fileadmin/sys/gfx/layer-ads/omexpo/banner.gif" alt="OMExpo Madrid 2011 - 26 &amp; 27 Jnuari 2011, Jaarbeuas Utrecht" /></a></div>';			
			specialLightboxContent+= '<div style="height: 130px; margin-left:20px;">';			
			specialLightboxContent+= '<p style="font-size:13px; line-height:16px; margin-top:6px;"><span style="font-weight:bold;">eCircle estar&aacute; presente en la pr&oacute;xima OMExpo Madrid 2011</span> (16 y 17 de Marzo)<br />Descubre nuestra aproximaci&oacute;n al email marketing.<br />Visitanos en el Stand O28, IFEMA, Pabell&oacute;n 6</p>';		
			specialLightboxContent+= '<p style="margin:5px 0 0;"><a href="http://omexpo.com/madrid/2011/registro.php" title="Registrarse ahora!" ><img src="fileadmin/sys/gfx/layer-ads/omexpo/button.gif" alt="Registrarse ahora!" /></a></p><div style="clear:both;"></div></div>';

			//specialLightboxContent = '<div style="cursor: default; height: 340px; width: 630px; text-align: left;"><object width="320" height="240"><param name="movie" value="http://www.youtube-nocookie.com/v/FW3mLNyU28w?fs=1&amp;hl=de_DE&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube-nocookie.com/v/FW3mLNyU28w?fs=1&amp;hl=de_DE&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="240"></embed></object>specialLightboxContent';
			
			$('#ecircle-lightbox-container').css('width', '630px');
			$('#ecircle-lightbox-close').css('position', 'absolute');
			$('#ecircle-lightbox-close').css('right', '20px');
			$('#ecircle-lightbox-close').css('top', '14px');
			
			// change next line om 2011 April 06
			//$('#ecircle-lightbox-content').html(specialLightboxContent);
			// to:
			// content for the layer has been set show it, else show content from this script
			if( $('.freqCapLayerContent').html() != null ) {
				$('#ecircle-lightbox-content').html( $('.freqCapLayerContent').html() );
				//$('#ecircle-lightbox-container').css('width', '740px');
			}
			else {
				$('#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();	
	$('.ecircle-yt-video').remove();	
	$(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
	);
}
