
		
function optimizeBrowser() {

	/**
	*	Behebt den Bug beim IE, dass man manchmal beim ersten Klick
	*	auf einen Link nicht von der HP runterkommt.
	*/
	correctLinkRequest();
	
	
	//Optimiert die Höhe bei CaseStudies
	
	setTimeout("optimizeHeightCaseStudies()", 200);

	
	

	/**
	*	Hier werden generelle optische Anpassungen durchgeführt.
	*
	*/

	/* Nicht mehr nötig, da Footerbereich bei der Homepage nun tabellarisch gelöst ist.


	if(browser.isIE && browser.isMac) {
		var impressum = document.getElementById("impressum");
		if(impressum) {
			impressum.style.paddingBottom = "10px";
		}
	}
	*/

	/* Doppelklick beim IE Homepage Flash-Film vermeiden (Eolas-Patent) */
	
	if(browser.isIE && browser.isWin && browser.versionMinor > 5.5) {
		var allContainer = document.getElementsByTagName("div");
		var container = document.getElementById("hpMovie");
		var movieUrl = "";
		var movieWidth = "";
		var movieHeight = "";
	    if(container) {
		    var flashObject = document.getElementById("movieObject");
		    if(flashObject) {
			    correctFlash(flashObject, container);
		    }
		} else {
			for(var j = 0; j < allContainer.length; j++) {
				var conti = allContainer[j];
				if(conti.className == 'flashContainer') {
					var objects = conti.getElementsByTagName("object");
					for(var i = 0; i < objects.length; i++) {
						var object = objects[i];
						if(object.className == 'flashObject') {	
							correctFlash(object, conti);
						}
					}
				}
			}
		}
	}
	

	/*	Darstellung von PNGs im WinIE */
	if(browser.isIE && browser.isWin && browser.versionMinor >= 5.5 && browser.versionMinor < 7) {
		correctPNG("id", "introHp", "div", "relative");
		/* correctPNG("class", "meldungSender", "td", "relative"); */
		correctPNG("class", "meldungShowlogo", "td", "relative");
		correctPNG("class", "colored", "div", "static");
		correctPNG("id", "programmLogo", "td", "relative");
		correctPNG("id", "schattenUeberLogos", "div", "relative");
		correctPNG("id", "flashersatz", "table", "relative");
	}


	
	/*
		Anpassung der Höhe des Navigationsblocks durch auslesen
		der Höhe der Programmübersicht bzw. des Überschriftsbereiches.
	*/

	var kopfelemente = new Array("programmeHead", "ueberschriftWrap");
	for (var i = 0; i < kopfelemente.length; i++) {
		var el = kopfelemente[i];
		var bezeichnung = el;
		
		var el = document.getElementById(el);
			if(el) {
						var hoehe = el.offsetHeight;
						var breite = el.offsetWidth;
						var wrapNavi3Ebene = document.getElementById("wrapNavi3Ebene");
						var navigation3Ebene = document.getElementById("navigation3Ebene");
						var logoErsatz = document.getElementById("logoErsatz");
						var programmListe = document.getElementById("programmliste");
						var hoehe_navigation3Ebene = navigation3Ebene.offsetHeight;
						if(navigation3Ebene) {
							if(hoehe_navigation3Ebene < hoehe){
									hoehe = hoehe -3;
									wrapNavi3Ebene.style.height = hoehe + "px";
							}
							else if(hoehe_navigation3Ebene > hoehe){
									wrapNavi3Ebene.style.height = hoehe_navigation3Ebene + "px";
									var abstand = hoehe_navigation3Ebene -hoehe;
									el.style.margin = "0px";
									el.style.padding= "0px";
									if(logoErsatz){
										logoErsatz.style.paddingTop= "20px";
										logoErsatz.style.backgroundPosition= "right 20px";
									}
									
									if(bezeichnung == "ueberschriftWrap"){
										el.style.marginBottom = "20px";
										
									}
									if(programmListe){
										programmListe.style.marginTop= "10px";
									}

               						el.style.paddingLeft= "10px";
              						el.style.paddingRight= "10px";
 									el.style.paddingBottom= abstand +23+"px"; }
							
						}

				}
		
	}
	/*
		Falls man auf einer Showseite ist, soll der Pfeil direkt unter dem
		Navigationsblock (ohne margin-bottom) plaziert werden
	*/
	var abbinderProgrammeHead = document.getElementById("abbinderProgrammeHead");
	if(abbinderProgrammeHead) {
		var wrapNavi3Ebene = document.getElementById("wrapNavi3Ebene");
		if(wrapNavi3Ebene) {
			wrapNavi3Ebene.style.marginBottom = "0px";
		}

	}

	/*
		Der Mac (bis auf den Firefox) stellt den Logobereich und die Galerieübersicht 3px schmaler dar.
	*/
	if(browser.isMac && ! browser.isFirefox) {
		var elemente = new Array("programmLogo", "galerieUebersicht");
		for(var i = 0; i < elemente.length; i++) {
			var element = elemente[i];
			var el = document.getElementById(element);
			if(el) {
				if(isWideResolution()) {
					el.style.width = "232px";
				} else {
					el.style.width = "187px";
				}
			}
		}
	}

	/*
		Beim Safari gibt es noch ein Pixel mehr bei der Hauptnavigation
	*/
	if(browser.isSafari) {
		var el = document.getElementById("headUe");
		if(el) {
			el.style.paddingTop = "70px";
		}
	}

	/*
		Entfernen der Navigationselemente, falls es in der Navigation keine Seiten gibt.
	*/
	var navigationselemente = new Array("navigation3Ebene");
	for (var i = 0; i < navigationselemente.length; i++) {
		var el = navigationselemente[i];
		el = document.getElementById(el);
		if(el) {
			var items = el.getElementsByTagName("li");
			if(items.length == 0) {
				el.style.display = "none";
			}
		}
	}

	/*
		Wenn in der Bereichsnavigation keine Elemente (li) gibt, dann soll der Bereich
		nicht einfach "zusammenfallen".
	*/

		var el = document.getElementById("bereichNavigation");
		if(el) {
			var items = el.getElementsByTagName("li");
			if(items.length == 0) {
				el.style.padding = "0px";
				el.style.height = "26px";
			}
		}
	/*
		Ticker muß für IE 5.0 und IE 5.5 in der Breite angepasst werden.
	*/

		if(browser.isIE && browser.isWin && browser.versionMinor <= 5.5) {
			var ticker = document.getElementById("ticker");
			if(ticker) {
				if(isWideResolution()) {
					ticker.style.width = "917px";
				} else {
					ticker.style.width = "734px";
				}
			}

		}

	/*
		Da der IE 5.0 PNG's überhaupt nicht darstellen kann, wird der blaue Schattenverlauf über den Logos ausgeblendet,
		damit man zumindest die Logos sehen kann.
	*/
		if(browser.isIE && browser.isWin && browser.versionMinor < 5.5) {
			var schatten = document.getElementById("schattenUeberLogosImg");
			if(schatten) {
				schatten.style.display ="none";
			}
		}

		if(browser.isIE && browser.isWin && browser.versionMinor < 5.5) {
			var galerieTable = document.getElementById("galerie");
			if(galerieTable) {
				galerieTable.style.width = "auto";
			}
		}

	/*
		Es wird nach Listen mit Links darin gesucht, um aus einer "einfachen"
		Liste eine "hubsche" mit farbigen Bulletpoints. Sollte nach Möglichkeit
		in der XSL gelöst werden, ich habe es aber da aufgrund von gemischten Inhalten
		nicht unter Kontrolle bekommen. (Andrei, Juni 2005)
	*/
	/*
		IE 5.0 kommt mit dieser Funktion nicht klar. Also zunächst für diesen Browser auskommentiert.
	*/
	if( !(browser.isIE && browser.isWin) || (browser.isIE && browser.isWin && browser.versionMinor >= 5.5)) {
		var divs = document.getElementsByTagName("div");
		if(divs) {
			for(var i = 0; i < divs.length; i++) {
				var div = divs[i];
				if(div.className == 'seiteninhalt') {
					var uls = div.getElementsByTagName("ul");
					if(uls) {
						for (var j = 0; j < uls.length; j++) {
							var ul = uls[j];

							/*	Zum merken, ob irgendwo in dem 'li' irgendwas ausser einem Link ist */
							var tempHash = new Array();

							var lis = ul.getElementsByTagName("li");
							if(lis) {
								for (var k = 0; k < lis.length; k++) {
									var li = lis[k];
									var childs = li.childNodes;
									for(var c = 0; c < childs.length; c++) {
										var child = childs[c];
										if(child.nodeName.toLowerCase() == "a") {
											tempHash.push(true);
										} else if(child.nodeName.toLowerCase() == "#text" && ! child.data.match(/\S.*/)) {
											tempHash.push(true);
										} else {
											tempHash.push(false);
										}
									}
								}
							}
							var onlyLinks = true;
							for(var m = 0; m < tempHash.length; m++) {
								if(! tempHash[m]) {
									var onlyLinks = false;
								}
							}
							if(onlyLinks) {
								ul.className = "bullets";
							}
						}
					}
				}
			}
		}
	}

	
	/*
		Die Breite des "wrap" an die Breite der breitesten Tabelle anpassen
	*/
	var tables = document.getElementsByTagName("table");
	if(tables) {
		var maxTabBreite = 0;
		for(var i = 0; i < tables.length; i++) {
			var table = tables[i];
			if(table.className == "fancy") {
				if(table.offsetWidth > maxTabBreite) {
					maxTabBreite = table.offsetWidth;
				}
			}
		}

		// Ausgleich findet hier statt.
		
		var maxFreieBreite = 645;
		var cellwidth = 115;
		

		if(maxTabBreite >= maxFreieBreite) {
			var wrap = document.getElementById("wrap");
			if(wrap) {

				wrap.style.width = (maxTabBreite + 270) + "px";

				var newWrap = wrap.offsetWidth;
				var headUe = document.getElementById("headUe").offsetWidth;
				var newHeadUe = 0;
				while (newHeadUe < headUe) {
					newHeadUe += cellwidth;
				}
				wrap.style.width = (newHeadUe + 15) + "px";

			}
			var footerTable = document.getElementById("footerTable");
			if(footerTable) {
				var headUe = document.getElementById("headUe").offsetWidth;
				footerTable.style.width = headUe + "px";
			}
		}
	}
	if(window.location.hash != 0) {
		var anker = window.location.hash;
		var div = document.getElementById("programmeHead");
		if (div){
			var as = div.getElementsByTagName("a");
			for(var i = 0; i < as.length; i++) {
				var a = as[i];
				if (a.href.indexOf(anker) != -1) {
					a.focus();
				}
			}
		}		
	}
	
	

	/*
		Die Höhe der einzelnen Linkkästen auf der Übersichtseite im Fussbereich
		auf eine Höhe bringen.
	*/
	
	var linksUe = document.getElementById("linksUe");
	if(linksUe) {
		var divs = linksUe.getElementsByTagName("div");
		var maxPHeight = 0;
		for(var i = 0; i < divs.length; i++) {
			var div = divs[i];
			if(div.className == 'teaser') {
				if(div.offsetHeight > maxPHeight) {
					maxPHeight = div.offsetHeight;
				}
			}
		}
		for(var i = 0; i < divs.length; i++) {
			var div = divs[i];
			if(div.className == 'teaser') {
				if(browser.isMac && browser.isIE) {
					div.style.height = (maxPHeight + 15)+ "px";
				} else {
					div.style.height = maxPHeight + "px";
				}
			}
		}
	}

	/*
		Falls ein Bild verlinkt werden soll,
		darf der IE aufgrund der Verschachtelung des Anchor nicht aussteigen.
	*/
	if(browser.isWin && browser.isIE) {
		var divs = document.getElementsByTagName("div");
		if(divs.length > 0) {
			for(var h = 0; h < divs.length; h++) {
				var div = divs[h];
				if(div.className == "seiteninhalt") {
					var as = div.getElementsByTagName("a");
					if(as.length > 0) {
						for(var i = 0; i < as.length; i++) {
							var a = as[i];
							var bilder = a.getElementsByTagName("img");
							if(bilder.length > 0) {
								for (var j = 0; j < bilder.length; j++) {
									var bild = bilder[j];
									bild.style.cursor = "pointer";
									if(!(a.target == '_blank' || a.target)) {
										bild.onclick = function() {
											location.href = this.parentNode.parentNode.href;
										};
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

function optimizeShowseite(){
	var programmListe = document.getElementById("programmliste");
	var wrapNavi3Ebene = document.getElementById("wrapNavi3Ebene");
	var hoehe = wrapNavi3Ebene.offsetHeight;
	if(wrapNavi3Ebene) {

		if(programmListe){
				wrapNavi3Ebene.style.height = hoehe + "px";
			}
	}
	/*
    Die naechste Zuweisung brauche IEs < 8
  */
  if( browser.isIE && browser.versionMinor < 8.0 ) {
		var el = document.getElementById("abbinderProgrammeHead");
		if(el) {
			el.style.backgroundPosition = "0px 0px";
		}
	}
}
/*
	Eine "fancy"-Tabelle in der Mitte grau einfärben.
*/
function grayTable () {
	var tables = document.getElementsByTagName("table");
	if(tables) {
		for(var i = 0; i < tables.length; i++) {
			var table = tables[i];
			if(table.className == "fancy") {
				var trs = table.getElementsByTagName("tr");
				for(var j = 0; j < trs.length; j++) {
					var tr = trs[j];
					if (j > 0) {
						var tds = tr.getElementsByTagName("td");
						for(var k = 0; k < tds.length; k++) {
							if (k != 0 && k != (tds.length-1)) {
								var td = tds[k];
								td.className = "alternative";	
							}
						}
					}
				}
			}
		}
	}
}

function isWideResolution() {
	if(document.body.clientWidth >= 930) {
		return true;
	} else {
		return false;
	}
}

function correctPNG(type, name, nodetype, position) {
	if(type == "id") {
		var elName = document.getElementById(name);
		if(elName) {
			replacePNGCode(elName, position);
		}
	} else if(type == "class") {
		var elNames = document.getElementsByTagName(nodetype);
		if(elNames) {
			for(var j=0; j < elNames.length; j++) {
				var elName = elNames[j];
				if(elName.className == name) {
					replacePNGCode(elName, position);
				}
			}
		}
	}
}

function replacePNGCode(elName, position) {
	var imgs = elName.getElementsByTagName("img");
	for(var i=0; i < imgs.length; i++) {
		var img = imgs[i];
		if(img.parentNode.className != "print") {
			var strNewHTML = "<div class=\"logoItem\"";
			strNewHTML += " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;";
			strNewHTML += "position: " + position + "; ";
			strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader";
			strNewHTML += "(src=\'" + img.src + "\', sizingMethod='scale');\"></div>";
			img.outerHTML = strNewHTML;
			i--;
		}
	}
}


function noFlash() {
	var divs = document.getElementsByTagName("div");
	if(divs) {
		for(var i = 0; i < divs.length; i++) {
			var div = divs[i];
			if(div.className == "noFlash") {
				div.style.display = "block";
			} else if (div.className == "Flash") {
				div.style.display = "none";
			}
		}
	}
	optimizeBrowser();
}

/*
	Steuerung der Trailer
*/
var alteGroesseTd = 0;
var altesFormat = "";
function playTrailer(url, format) {
	altesFormat = format;

	var div = document.getElementById("imgBigContent");
	if(div) {
		div.style.display = "none";
	}

	var div = document.getElementById("trailerSelect");
	if(div) {
		div.style.display = "none";
	}

	var div = document.getElementById("hidePlayer");
	if(div) {
		div.style.display = "block";
	}

	/*
		Ändern der IFRAME Höhe für WMV Dateien, da die Kontrollleiste zuviel PLatz einnimmt.
	 */
	var iframes = document.getElementsByTagName("iframe");
	if (iframes) {
		for(var i = 0; i < iframes.length; i++) {
			var iframe = iframes[i];
			if(iframe.name == "trailerIframe") {
				if (format == "wmv") {
					iframe.height = "280";
					var td = document.getElementById("programmBild");
					if(td) {
						alteGroesseTd = td.offsetHeight;
						td.style.height = iframe.height + "px";
					}
				} else {
					iframe.height = "240";
				}
			}
		}
	}


	var div = document.getElementById("iframeWrap");

	if(div) {
		div.style.display = "block";
		if(browser.isKonqueror || browser.isSafari) {
			top.trailerIframe.src = "/de/meta/trailer/index.html?trailerFormat=" + format + "&trailerUrl=" + escape(url);
		} else {
			top.trailerIframe.location.href = "/de/meta/trailer/index.html?trailerFormat=" + format + "&trailerUrl=" + escape(url);
		}
	}
}

function stopTrailer() {
	var div = document.getElementById("hidePlayer");
	if(div) {
		div.style.display = "none";
	}

	var div = document.getElementById("trailerSelect");
	if(div) {
		div.style.display = "block";
	}

	var div = document.getElementById("iframeWrap");
	if(div) {
		if(browser.isKonqueror || browser.isSafari) {
			top.trailerIframe.src = "/de/meta/trailer/index.html";
		} else {
			top.trailerIframe.location.href = "/de/meta/trailer/index.html";
		}
		div.style.display = "none";
	}

	if(altesFormat == "wmv") {
		var td = document.getElementById("programmBild");
		if(td) {
			td.style.height = alteGroesseTd + "px";
		}
	}

}

function einfuegeFlash(filename, width, height, wmode) {
	document.write("<object type=\"application/x-shockwave-flash\" wmode=\"" + wmode + "\" data=\"" + filename + "\" width=\"" + width + "\" height=\"" + height + "\">");
	document.write("	<param name=\"movie\" value=\"" + filename + "\" />");
	document.write("	<param name=\"wmode\" value=\"" + wmode + "\" />");
	document.write("</object>");
}

var showStatus = true;

function urlAnzeigen(url) {
	if(showStatus) {
		if(url == "locked") {
			showStatus = false;
		}
		if(url != '') {
			window.status = "http://www.viacombrandsolutions.de" + url;
		} else {
			window.status = "";
		}
	}
}

function popup(seite, fenstername, breite, hoehe, scrollbars, resizable) {
	var resize = resizable ? "yes" : "no";
	var scroll = scrollbars ? "yes" : "no";
	if (seite.indexOf("trailerFormat=wmv") != -1) {
		hoehe += 40;
	}
	var fenster = window.open(seite, fenstername, 'toolbar=0,location=0, directories=0,status=0,menubar=0,scrollbars=' + scroll + ',resizable=' + resize + ',width=' + breite + ',height=' + hoehe);
}

function correctLinkRequest() {
	// Funktion wird auf der Homepage unter Skripte/JS überschrieben.
	return true;
}

function correctFlash(flashObject, container) {
	if(flashObject) {
	    var movieUrl = flashObject.data;
	    var movieWidth = flashObject.width;
	    var movieHeight = flashObject.height;
    }
	container.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + movieWidth + '" height="' + movieHeight + '"><param name="movie" value="' + movieUrl + '"/></object>';
}



function trackPdfLinks() {
    var trackEvent = function() {
        pageTracker._trackPageview('downloaded_pdf' + $(this).attr("href"))
    }
    
    // relevante Dateitypen aus /media
    $("a[href^=/media/]")
    .filter("[href$=.pdf]").click(trackEvent).end()
    .filter("[href$=.doc]").click(trackEvent).end()
    .filter("[href$=.xls]").click(trackEvent).end()
    
    // Sonderlösung PDF-Downloads Sender
    $("a[href^=/de/sender]")
    .filter("[href$=type=pdf]").click(trackEvent).end()
}

//Funktionen fuer das Anzeigen des ersten Frames des Videos im FLV-Player
var currentPosition;
var previewFlag = true;
var postviewFlag = true;
var prevTime = 0;
var postTime = 19;

function sendEvent(swf,typ,prm) { 
  thisMovie(swf).sendEvent(typ,prm); 
};

function thisMovie(swf) {
	if(navigator.appName.indexOf("Microsoft") != -1) {
	return window[swf];
	} else {
	return document[swf];
	}
};
var aktiv;

function optimizeHeightCaseStudies(){
	var menueEl = document.getElementById('sonderwerbeformen_menue');
	var contentEl = document.getElementById('sonderwerbeformen_content');
	if(contentEl){
		contentEl.style.height= '';
	}
	
	if( menueEl && contentEl){
		var heightMenue = menueEl.offsetHeight;
		var heightContent = contentEl.offsetHeight;
		//alert('heightMenue: '+heightMenue+'heightContent: '+heightContent);
		if(heightMenue > heightContent){
			contentEl.style.height= heightMenue+'px';
		}
		else{
			contentEl.style.height= heightContent+'px';
		}

	}
	
}

// Case Studies handling 

function changeNavi(elementID, activeElement, gesAnzahl, url){
	activeElement.className = 'active';
	sendRequest(url+'?ajaxID=case_'+elementID+'_1','container_1','last');
	sendRequest(url+'?ajaxID=containerRight_'+elementID,'sonderwerbeformen_content_right');
	sendRequest(url+'?ajaxID=titel_'+elementID,'case_title');
	for(var i = 1; i <= gesAnzahl; i++){
		if(i != elementID){
			var inactiveEl = document.getElementById('navi_'+i);
			if(inactiveEl){
				inactiveEl.className = 'inactive';
			}
		}
	}
	//setTimeout("optimizeHeightCaseStudies()", 1000);

}
function changeSubnavi(elementID,containerID, activeElement, gesAnzahl, url){

	var activeTbSubnavi = document.getElementById('thumbnail_'+containerID+'_'+elementID);
	if(activeTbSubnavi){
		activeTbSubnavi.className = 'swf_thumbnail_active';
	}
	for(var i = 1; i <= gesAnzahl; i++){
		if(i != elementID){
			var inactiveTbSubnavi = document.getElementById('thumbnail_'+containerID+'_'+i);
			if(inactiveTbSubnavi){
				inactiveTbSubnavi.className = 'swf_thumbnail_inactive';
			}
		}
	}
	sendRequest(url,'container_1','last');
}
function sendRequest(url, id, reihenfolge){
	var url = url; 
	var id = id;
	if(reihenfolge == 'last'){
		$().ajaxSend(function(r,s){ 
				$("#loader").show(); 
				$('#'+id).hide(); 
	 	}); 
	 	$().ajaxComplete(function(r,s){  
	 		$('#'+id).show(); 
			$("#loader").hide();  
			setTimeout("optimizeHeightCaseStudies()", 200);
		});   
	}
	if(url && id){
			$('#'+id).load(url);
	}
	
}
