

/*** general purpose flash vars for swfobject ***/
var defaultFlashParams = {
		quality: "high",
		allowScriptAccess: "sameDomain",
		wmode: "transparent",
		align: "middle",
		bgcolor: "#000000",
		name: "LangeUndSoehne"
		
};
var minimumFlashVersion = "9.0.45";
var expressInstall = '/system/modules/de.interone.lange.web.templates.global/resources/plugins/swfObject/expressInstall.swf';
var transGif	='/system/modules/de.interone.lange.web.templates.global/resources/img/1x1_trans.gif';
var imgBlindGif=transGif;
/*** general document.ready funtion ***/
$(document).ready(function() {
  $('a.glossary').cluetip({activation: 'click', width: 210, topOffset: 0, leftOffset: -230, dropShadow: false, cursor: ''});
  $('#searchInputWrapper input').click(function () {
  	$(this).val('');
  });
  
  
  $('#entryButtonLeft img').mouseover(function () {	
	$(this).attr({ 
      src: "/system/modules/de.interone.lange.web.templates.global/resources/img/contentpage_slider_L_high.gif"
    });
  });
  
   $('#entryButtonLeft img').mouseout(function () {
  	$(this).attr({ 
      src: "/system/modules/de.interone.lange.web.templates.global/resources/img/contentpage_slider_L_low.gif"
    });
  });
  
  $('#entryButtonRight img').mouseover(function () {	
	$(this).attr({ 
      src: "/system/modules/de.interone.lange.web.templates.global/resources/img/contentpage_slider_R_high.gif"
    });
  });
  
   $('#entryButtonRight img').mouseout(function () {
  	$(this).attr({ 
      src: "/system/modules/de.interone.lange.web.templates.global/resources/img/contentpage_slider_R_low.gif"
    });
  });
  $("a[class='glossary']").before('<img src="/system/modules/de.interone.lange.web.templates.global/resources/img/text_icon.gif" border="0">');
	
	$('a').focus(function() {
		$(this).blur();
		}); 
});

$(document).ready(function() {
			if(self.location.search != ""){
				var layerUrl=self.location.search;
				if(self.location.href.lastIndexOf('videoID=') != -1){
						layerUrl=layerUrl.substring((layerUrl.lastIndexOf('videoID=')+8))
						openApplication(layerUrl+'?out=xml', 0, 0, false);
				}else if(self.location.href.lastIndexOf('appID=') != -1){
						layerUrl=layerUrl.substring((layerUrl.lastIndexOf('appID=')+6))
						openApplication(layerUrl+'?out=xml', 0, 0, layerUrl+'?out=js');
				}
				return false;
		}
	});
//hide & show functions
function showElement(id){
	document.getElementById(id).style.display = 'block';
}

function hideElement(id){
	document.getElementById(id).style.display = 'none';
}

function closeSearchLayer() {
	document.getElementById('resultListLayer').style.display = 'none';
	document.forms['searchform'].elements["query"].value = searchText;
}
function closeSearchLayerTopKeywords() {
	document.getElementById('resultListLayerTopKeywords').style.display = 'none';
	document.forms['searchform'].elements["query"].value = searchText;
}
function closeGlossaryLayer() {
	document.getElementById('cluetip').style.display = 'none';
}
function openMilieuLayer() {
	document.getElementById('milieuOverview').style.display = 'none';
	document.getElementById('milieuDetail').style.display = 'block';
}

function closeMilieuLayer() {
	document.getElementById('milieuOverview').style.display = 'block';
	document.getElementById('milieuDetail').style.display = 'none';
}

function closeModelInfoLayer() {
	document.getElementById('modelDetailInfoText').style.display = 'none';
}

// cookie functions
function setCookie(name, value, expires, path, domain, secure){
  document.cookie = name + "=" + escape(value) +
  ((expires) ? "; expires=" + expires : "") +
  ((path) ? "; path=" + path : "") +
  ((domain) ? "; domain=" + domain : "") +
  ((secure) ? "; secure" : "");
}

function getCookieValue(name) {
  var arg = name + "=";
  var alen = arg.length;
  var i = 0;

  while (i < document.cookie.length) {

    var j = i + alen;
    if (document.cookie.substring(i, j) == arg) {
      var endstr = document.cookie.indexOf (";", j);
      if (endstr == -1) {
        endstr = document.cookie.length;
      }
      return unescape(document.cookie.substring(j, endstr));
    }
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) {
      break;
    }
  }
  return false;
}

function setLanguageCookie(targetPage){
	var date = new Date();
	date.setTime(date.getTime() + (300*24*60*60*1000));//10tage
  setCookie('LangeLanguage', targetPage, date.toGMTString(),'/');
  return true;
}

function switchLanguage(targetPage){
	setLanguageCookie(targetPage);
	self.location.href=targetPage;
}



//gallery functions
function galleryPrevious(gallery) {
	var index = eval(gallery + 'Index');
	var maxIndex = eval(gallery + 'MaxIndex');
	var isLowThenMin = false;
	var counterLabel = eval(gallery + 'CounterLabel');
	
	document.getElementById(gallery + 'Img' + index).className = 'hidden';
	document.getElementById(gallery + 'Text' + index).className = 'hidden';
	
	index--;
	if (index < 1){
		eval(gallery + 'Index = ' + maxIndex);
		index = maxIndex;
		isLowThenMin = true;
	}	
	
	document.getElementById(gallery + 'Img' + index).className = 'visible';
	document.getElementById(gallery + 'Text' + index).className = 'visible';
	
	counterLabel = counterLabel.replace(/{x}/, index);
	
	document.getElementById(gallery + 'DisplayItem').innerHTML = counterLabel;	
	if (isLowThenMin == false){	
		eval(gallery + 'Index -= 1');
	} 
}

function galleryNext(gallery) {
	var index = eval(gallery + 'Index');
	var maxIndex = eval(gallery + 'MaxIndex');
	var isGreaterThenMax = false;
	var counterLabel = eval(gallery + 'CounterLabel');
	
	document.getElementById(gallery + 'Img' + index).className = 'hidden';
	document.getElementById(gallery + 'Text' + index).className = 'hidden';
	
	index++;
	if (index > maxIndex){
		eval(gallery + 'Index = 1');
		index = 1;
		isGreaterThenMax = true;
	}
	
	document.getElementById(gallery + 'Img' + index).className = 'visible';
	document.getElementById(gallery + 'Text' + index).className = 'visible';
	
	counterLabel = counterLabel.replace(/{x}/, index);
	
	document.getElementById(gallery + 'DisplayItem').innerHTML = counterLabel;	
	if (isGreaterThenMax == false){	
		eval(gallery + 'Index += 1');
	}	
}

// modelpage functions
function swapModel(model){
	if(document.getElementById('modelDetailInfoText').style.display == 'none'){
		document.getElementById('modelDetailInfoText').style.display = 'block';
	}
		
	if(currentModel != model){
		
		document.getElementById('mImg' + model).className = 'visible';
		document.getElementById('mText' + model).className = 'visible';
		document.getElementById('mImg' + currentModel).className = 'hidden';
		document.getElementById('mText' + currentModel).className = 'hidden';
		
		document.getElementById('mThumb' + currentModel).className = 'inactive';
		
		currentModel = model;
	}	
}

function swapModelThumbnail(model){
	if((document.getElementById('mThumb' + model).className == 'active') && (model != currentModel)){
		document.getElementById('mThumb' + model).className = 'inactive';
	} else {
		document.getElementById('mThumb' + model).className = 'active';
	}
}

// entrypage functions
var sliderActive = false;
var sliderIndex = 1;
var sliderNextIndex = 2;
var sliderTimer;
var obj;

function sliderInit(){ 
	document.getElementById('slider' + sliderIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_pause_low.gif';
	document.getElementById('sliderImg' + sliderIndex).style.visibility = 'visible';
	document.getElementById('linkText' + sliderIndex).style.visibility = 'visible';
	sliderStartTimer(); 
}

function sliderStartTimer(){	
	sliderTimer = window.setInterval("sliderPlay()", 4000); 
}

function sliderPlay(){
	sliderActive = true;
	
	obj = document.getElementById('sliderImg' + sliderIndex);
	
	if (sliderActive == true){	
		for(var i=1; i<=sliderMaxIndex; i++){
			document.getElementById('slider' + i).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
			document.getElementById('linkText' + i).style.visibility = 'hidden';
		}	
		document.getElementById('slider' + sliderNextIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_pause_low.gif';
	}	
	
	document.getElementById('sliderImg' + sliderLastIndex).style.zIndex = 0;
	document.getElementById('sliderImg' + sliderIndex).style.visibility = 'visible';
	document.getElementById('sliderImg' + sliderIndex).style.zIndex = 99;
	document.getElementById('sliderImg' + sliderNextIndex).style.visibility = 'visible';
	document.getElementById('sliderImg' + sliderNextIndex).style.zIndex = 98;
	document.getElementById('sliderImg' + sliderNextIndex).style.opacity = 1;
	document.getElementById('sliderImg' + sliderNextIndex).style.filter = 'alpha(style=0, opacity=100)';
	document.getElementById('linkText' + sliderIndex).style.visibility = 'hidden';
	document.getElementById('linkText' + sliderNextIndex).style.visibility = 'visible';
	
	$(obj).animate({ 
        opacity: 0
    }, 1900, sliderCallbackDelay );
}

function sliderCallbackDelay(){
	window.setTimeout("sliderCallback()", 2000);
}

function sliderCallback(){
	if (sliderActive == true){
		document.getElementById('sliderImg' + sliderIndex).style.opacity = 1;
		document.getElementById('sliderImg' + sliderIndex).style.filter = 'alpha(style=0, opacity=100)';
		document.getElementById('sliderImg' + sliderIndex).style.visibility = 'hidden';
		
		sliderLastIndex = sliderIndex;
		if(sliderIndex < sliderMaxIndex) {
			sliderIndex++;
			if(sliderNextIndex < sliderMaxIndex){
				sliderNextIndex++;
			} else {
				sliderNextIndex = 1;
			}
		} else {
			sliderIndex = 1;
			sliderNextIndex = 2;
		}
	}
}

function sliderStop(){	
	if(sliderActive == true){
		document.getElementById('slider' + sliderIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
		document.getElementById('slider' + sliderNextIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_play_low.gif'; 
	}
	sliderCallback();
	window.clearInterval(sliderTimer);
	sliderActive = false;
}

function sliderStart(){
	sliderStartTimer();
}

function sliderPrevious(){	
	if(sliderActive == true){
		sliderActive = false;
		$(obj).stop();
		window.clearInterval(sliderTimer);
	}
	
	for(var i=1; i<=sliderMaxIndex; i++){
		document.getElementById('sliderImg' + i).style.opacity = 1;
		document.getElementById('sliderImg' + i).style.filter = 'alpha(style=0, opacity=100)';
	}
	if(sliderIndex > 1){
		document.getElementById('slider' + sliderIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
		document.getElementById('slider' + sliderNextIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
		
		document.getElementById('sliderImg' + sliderIndex).style.visibility = 'hidden';
		document.getElementById('sliderImg' + sliderIndex).style.zIndex = 0;
		document.getElementById('linkText' + sliderIndex).style.visibility = 'hidden';
		document.getElementById('linkText' + sliderNextIndex).style.visibility = 'hidden';
		
		sliderLastIndex = sliderIndex;
		sliderNextIndex = sliderIndex;
		sliderIndex -=1;
		
		document.getElementById('slider' + sliderIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_play_low.gif';
		
		document.getElementById('sliderImg' + sliderIndex).style.visibility = 'visible';
		document.getElementById('sliderImg' + sliderIndex).style.zIndex = 99;
		document.getElementById('linkText' + sliderIndex).style.visibility = 'visible';
	} else {
		sliderLastIndex = sliderIndex;
		sliderNextIndex = 2;
		sliderIndex = 1;
	}	
}

function sliderNext(){	
	if(sliderActive == true){
		sliderActive = false;
		$(obj).stop();
		window.clearInterval(sliderTimer);
	}
	
	for(var i=1; i<=sliderMaxIndex; i++){
		document.getElementById('sliderImg' + i).style.opacity = 1;
		document.getElementById('sliderImg' + i).style.filter = 'alpha(style=0, opacity=100)';
	}
	if(sliderIndex < sliderMaxIndex){
		document.getElementById('slider' + sliderIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
		document.getElementById('slider' + sliderNextIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
		
		document.getElementById('sliderImg' + sliderIndex).style.visibility = 'hidden';
		document.getElementById('sliderImg' + sliderIndex).style.zIndex = 0;
		document.getElementById('linkText' + sliderIndex).style.visibility = 'hidden';
		
		sliderLastIndex = sliderIndex;
		sliderIndex += 1;
		sliderNextIndex = sliderIndex + 1;		
		
		document.getElementById('slider' + sliderIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_play_low.gif';
		document.getElementById('sliderImg' + sliderIndex).style.visibility = 'visible';
		document.getElementById('sliderImg' + sliderIndex).style.zIndex = 99;
		document.getElementById('linkText' + sliderIndex).style.visibility = 'visible';
	} else {
		sliderLastIndex = sliderIndex;
		sliderIndex = sliderMaxIndex;
		sliderNextIndex = 1;
	}	
}

function sliderToggle(id){	
	$(obj).stop();
	window.clearInterval(sliderTimer);
	
	if(sliderIndex <= sliderMaxIndex){
		document.getElementById('slider' + sliderIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
		document.getElementById('sliderImg' + sliderIndex).style.opacity = 1;
		document.getElementById('sliderImg' + sliderIndex).style.filter = 'alpha(style=0, opacity=100)';
	}
	
	if(sliderNextIndex <= sliderMaxIndex){
		document.getElementById('linkText' + sliderNextIndex).style.visibility = 'hidden';
		document.getElementById('slider' + sliderNextIndex).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_low.gif';
	}
	
	sliderLastIndex = sliderIndex;
	sliderIndex = arguments[0];
	if(arguments[0] < sliderMaxIndex){
		sliderNextIndex = arguments[0] + 1;
	} else {
		sliderNextIndex = 1;
	}
	
	document.getElementById('sliderImg' + sliderLastIndex).style.zIndex = 0;
	document.getElementById('sliderImg' + sliderIndex).style.visibility = 'visible';
	document.getElementById('sliderImg' + sliderIndex).style.zIndex = 99;
	document.getElementById('sliderImg' + sliderNextIndex).style.visibility = 'visible';
	document.getElementById('sliderImg' + sliderNextIndex).style.zIndex = 98;
	document.getElementById('linkText' + sliderLastIndex).style.visibility = 'hidden';
	document.getElementById('linkText' + sliderIndex).style.visibility = 'visible';
		
	if(sliderActive == true){
		sliderActive = false;
		document.getElementById('slider' + arguments[0]).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_play_low.gif'; 	
	} else {	
		if(sliderLastIndex == arguments[0]){
			sliderActive = true;	
			document.getElementById('slider' + arguments[0]).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_pause_low.gif'; 
			sliderStartTimer(); 	
		} else {
			document.getElementById('slider' + arguments[0]).src = '/system/modules/de.interone.lange.web.templates.global/resources/img/slider_play_low.gif'; 
		}
	}
}

function showDescription(id){
	document.getElementById(id).style.display = 'block';
}

function hideDescription(id){
	document.getElementById(id).style.display = 'none';
}
// medialayer functions
var mediaLayerFlashvars = null;
var mediaLayerMovie = null;
var mediaLayerDefaultMovie =  '/system/modules/de.interone.lange.web.templates.global/resources/swf/medialayer.swf';
	
function openApplication(xmlUrl, galleryStartIndex, movieStartPosition, applicationSwfUrl){
	
	if(galleryStartIndex == null){
		galleryStartIndex = 0;
	}
	if(movieStartPosition == null){
		movieStartPosition = 0;
	}
	
	mediaLayerFlashvars = {
		generalXML: medialayerMasterTexts,
		mediaLayerXML: xmlUrl,
		startIndex:galleryStartIndex,
		startMovPos:movieStartPosition,
		hideClose:false
	};
	
	
	if(applicationSwfUrl){
		$.getScript(applicationSwfUrl, function(){
			embedMediaLayerMovie();
		});
		
	} else {
		mediaLayerMovie = mediaLayerDefaultMovie;
		embedMediaLayerMovie();
	}
	
	return false;
}


function embedMediaLayerMovie(){ 
	if($('#medialayerContainer').length == 0){
		// medialayer element does not exist, create it
		$('body').append('<div id="medialayerContainer"></div>');
	}
	if($.browser.msie){
		
		// order is important here
		$('body').css("margin-right", "18px");
		$('#contentBg').css("margin-right", "17px"); // for milieupage only: adjust right placed image
		$('html').css("overflow", "hidden");
		$('body').css("overflow", "hidden");
		
	} else {
		// order is important here
		$('body').css("margin-right", "16px");
		$('#contentBg').css("margin-right", "17px"); // for milieupage only: adjust right placed image
		document.getElementsByTagName("body")[0].style.overflow = "hidden";
		
	}
	
	
	
	showElement('medialayerContainer');
	$('#medialayerContainer').append('<div id="flashContent"><div id="layerFlashDefault"></div></div>');
	swfobject.embedSWF(mediaLayerMovie, "flashContent", "100%", "100%", minimumFlashVersion, expressInstall, mediaLayerFlashvars, defaultFlashParams);
	
	// no flash loaded?
	if($('#layerFlashDefault').length > 0){
		$('#layerFlashDefault').html(flashDefaultText + '<br /><br /><a href="javascript:closeApplication()">'+flashDefaultCloseLabel+'</a>');
	}
	
	// ie6 workaround to adjust position of layer with javascript
	if($.browser.msie && $.browser.version < 7){
		adjustMedialayer();
		$(window).bind('resize',adjustMedialayer);
	}
	trackAbsolute(mediaLayerFlashvars.mediaLayerXML, "Medialayer on " + document.title, true);
}



function closeApplication(){
	window.setTimeout("closeApplicationCallback()", 400);
}

function closeApplicationCallback(){
	hideElement('medialayerContainer');
	$('#flashContent').remove();
	if($.browser.msie){
		$('html').css("overflow", "");
		$('body').css("overflow", "");
		if($.browser.version < 7){
			$(window).unbind('resize',adjustMedialayer);
		}
	} else {
		document.getElementsByTagName("body")[0].style.overflow = "";
	}
	$('body').css("margin-right", "0px");
	$('#contentBg').css("margin-right", "0px"); // for milieupage only: adjust right placed image
}

function adjustMedialayer(){
	$('#medialayerContainer').height($(window).height());
	$('#medialayerContainer').width($(window).width());
	$('#medialayerContainer').css('top', $(document).scrollTop());
	$('#medialayerContainer').css('left', $(document).scrollLeft());
}


function openIntro(application, content){ 
	 setCookie('LangeIntroSeen', 'true', undefined, '/');
	
	// remove scroller
	if($.browser.msie){
		// order is important here
		$('body').css("margin-right", "18px");
		$('html').css("overflow", "hidden");
		$('body').css("overflow", "hidden");
	} else {
		// order is important here
		$('body').css("margin-right", "16px");
		document.getElementsByTagName("body")[0].style.overflow = "hidden";
	}

	$('#introlayerContainer').append('<div id="flashContent"><div id="layerFlashDefault"></div></div>');

	introFlashvars = {
		introPath: content,
		skipUrl: 'javascript:closeIntro()'
	};
	
	swfobject.embedSWF(application, "flashContent", "100%", "100%", minimumFlashVersion, expressInstall, introFlashvars, defaultFlashParams);

	// ie6 workaround to adjust position of layer with javascript
	if($.browser.msie && $.browser.version < 7){
			adjustIntrolayer();
			$(window).bind('resize',adjustIntrolayer);
	}
	
		// no flash loaded? a
	if($('#layerFlashDefault').length > 0 && ! swfobject.hasFlashPlayerVersion("9.0.45") ){
		// just remove layer again
	 	closeIntroCallback();
	}
}

function closeIntro(){
	window.setTimeout("closeIntroCallback()", 400);
}

function closeIntroCallback(){
	hideElement('introlayerContainer');
	$('#flashContent').remove();
	if($.browser.msie){
		$('html').css("overflow", "");
		$('body').css("overflow", "");
		if($.browser.version < 7){
			$(window).unbind('resize',adjustIntrolayer);
		}
	} else {
		document.getElementsByTagName("body")[0].style.overflow = "";
	}
	$('body').css("margin-right", "0px");
}


function adjustIntrolayer(){
	$('#introlayerContainer').height($(window).height());
	$('#introlayerContainer').width($(window).width());
	$('#introlayerContainer').css('top', $(document).scrollTop());
	$('#introlayerContainer').css('left', $(document).scrollLeft());
}




function hasScrollbar() {
	return (document.body.scrollHeight > getWindowHeight());
}


function getWindowHeight(){
  var height = 0;
  if( typeof( window.innerHeight ) == 'number' ) {
    //Non-IE
	height = window.innerHeight;
  } else if( document.documentElement && document.documentElement.clientHeight ) {
    //IE 6+ in 'standards compliant mode'
	height = document.documentElement.clientHeight;
  } else if( document.body && document.body.clientHeight) {
    //IE 4 compatible
	height = document.body.clientHeight;
  }
  return height;
}


function getWindowWidth(){
	  var width = 0;
	  if( typeof( window.innerWidth ) == 'number' ) {
	    //Non-IE
		width = window.innerWidth;
	  } else if( document.documentElement && document.documentElement.clientWidth ) {
	    //IE 6+ in 'standards compliant mode'
		width = document.documentElement.clientWidth;
	  } else if( document.body && document.body.clientWidth) {
	    //IE 4 compatible
		width = document.body.clientWidth;
	  }
	  return width;
}

