/********************************************************** MAN script *****/
/************************************ Copyright (c) 2006 - 2009 MAN SE *****/
/***************************************************************************/
/*********************************************************** script.js *****/
/***************************************************************************/
/****************************************** author virtual identity AG *****/
/***** $LastChangedDate: 2009-10-27 12:04:02 +0100 (Di, 27 Okt 2009) $ *****/
/***************************************************************************/
/*START: Fix IE 6 Text Selection Bug & Flickering Background Images */
if (window.createPopup && document.compatMode && document.compatMode == "CSS1Compat") {
	document.onreadystatechange = function fixIE6AbsPos()
	{
		if( !document.body ) {
			return;
		}
		if( document.readyState == "complete" ) {
			document.body.style.height = document.documentElement.scrollHeight + 'px';
		}
	}

	try {
	document.execCommand('BackgroundImageCache', false, true);
	} catch(e) {}
}
/*END: Fix IE 6 Text Selection Bug & Flickering Background Images */
/***********************************************************************/
/*START: functions Additional Information */
var sAdditionalInfoTabs = "tab-nav-additional-info";
var sAdditionalInfoContactsId = "additional-info-contacts";
var sAdditionalInfoDownloadsId = "additional-info-downloads";
var sAdditionalInfoLinksId = "additional-info-links";
var	activeDiv = null;

function initAdditionalInfo()
{
	if(getElement(sAdditionalInfoTabs) != null)
	{
		if(typeof initialAdditionalInfo == 'undefined') initialAdditionalInfo = "";
		switch(initialAdditionalInfo){
			case "links":
				hide(getElement(sAdditionalInfoDownloadsId));
				hide(getElement(sAdditionalInfoContactsId));
				showTab(initialAdditionalInfo);
				break;
			case "downloads":
				hide(getElement(sAdditionalInfoContactsId));
				hide(getElement(sAdditionalInfoLinksId));
				showTab(initialAdditionalInfo);
				break;
			case "contacts":
			default:
				hide(getElement(sAdditionalInfoDownloadsId));
				hide(getElement(sAdditionalInfoLinksId));
				showTab("contacts");
		}
	}
}

function showTab(sId)
{

	if(activeDiv != null)
	{
		hide(activeDiv);
	}
	else
	{
		hide(getElement(sAdditionalInfoContactsId));
		hide(getElement(sAdditionalInfoDownloadsId));
		hide(getElement(sAdditionalInfoLinksId));
	}

	removeClassNameContaining(getNavigation(sAdditionalInfoTabs), "active-");
	addClassName(getNavigation(sAdditionalInfoTabs), "active-"+sId);
	activeDiv = getElement("additional-info-"+sId);
	show(activeDiv);

	initLayout();
}

function getNavigation(sId)
{
	return getElement(sId);
}
/*END: functions AdditionalInfo */
/***********************************************************************/
/*START: functions Toggle Collapsable List */
var state_a = "collapsed";
var state_b = "expanded";
var title_a = "expand";
var title_b = "collapse";
var icon_class_to_check = "toggle-icon";

function initCollapsableLists()
{
	var iconTags = document.getElementsByTagName("a");
	for (var i = 0; i < iconTags.length ; i++)
	{
		if(iconTags[i].className == icon_class_to_check)
		{
			iconTags[i].title = title_a;
		}
	}
}

function toggleCollapsable(obj)
{
	var collapsable_obj = getParentCollapsable(obj);
	if(collapsable_obj.className.indexOf(state_b) != -1)
	{
		var re = new RegExp(state_b);
		collapsable_obj.className = collapsable_obj.className.replace(re, state_a);
		obj.title = title_a;
	}
	else
	{
		var re = new RegExp(state_a);
		collapsable_obj.className = collapsable_obj.className.replace(re, state_b);
		obj.title = title_b;
	}
	obj.blur();
	initLayout();
}

function getParentCollapsable(obj)
{
	var collapsable_obj = getParentElement(obj);
	while (collapsable_obj.nodeName != 'DL' && collapsable_obj.nodeName != 'BODY')
		collapsable_obj = getParentElement(collapsable_obj);
	return collapsable_obj;
}
/*END: functions Toggle Collapsable List */
/***********************************************************************/
/*START: functions Toggle Collapsable Sitemap */
var link_state_a = "collapsed";
var link_state_b = "expanded";
var class_to_check = "toggle-icon";
var link_title_a = "expand";
var link_title_b = "collapse";

function initCollapsableSitemap()
{
	var iconTags = document.getElementsByTagName("p");
	for (var i = 0; i < iconTags.length ; i++)
	{
		if(iconTags[i].className.indexOf(class_to_check) != -1)
		{
			iconTags[i].onclick = toggleCollapsableSitemap;
			addClassName(iconTags[i], link_state_a);
			iconTags[i].title = link_title_a;
		}
	}
}

function collapseAll(obj)
{
	var re = new RegExp(link_state_b);
	var iconTags = document.getElementsByTagName("ul");
	for (var i = 0; i < iconTags.length ; i++)
	{
		iconTags[i].className = iconTags[i].className.replace(re, link_state_a);
	}
	iconTags = document.getElementsByTagName("p");
	for (var i = 0; i < iconTags.length ; i++)
	{
		iconTags[i].className = iconTags[i].className.replace(re, link_state_a);
	}
	if(obj != null)
	{
		parent_obj = getParentElement(obj);
		parent_obj.className = parent_obj.className.replace(re, link_state_a);
		obj.blur();
	}
	initLayout();
}

function expandAll(obj)
{
	var re = new RegExp(link_state_a);
	var iconTags = document.getElementsByTagName("ul");
	for (var i = 0; i < iconTags.length ; i++)
	{
		iconTags[i].className = iconTags[i].className.replace(re, link_state_b);
	}
	iconTags = document.getElementsByTagName("p");
	for (var i = 0; i < iconTags.length ; i++)
	{
		iconTags[i].className = iconTags[i].className.replace(re, link_state_b);
	}
	if(obj != null)
	{
		parent_obj = getParentElement(obj);
		parent_obj.className = parent_obj.className.replace(re, link_state_b);
		obj.blur();
	}
	initLayout();
}

function toggleCollapsableSitemap(e)
{
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	if (tg.nodeName != "P") return;
	var sibling_obj = getNextSibling(tg);
	if (sibling_obj == null) return;
	var re = "";
	var collapsable_obj = sibling_obj;

	if(collapsable_obj.className.indexOf(link_state_b) != -1)
	{
		re = new RegExp(link_state_b);
		collapsable_obj.className = collapsable_obj.className.replace(re, link_state_a);
	}
	else
	{
		re = new RegExp(link_state_a);
		collapsable_obj.className = collapsable_obj.className.replace(re, link_state_b);
	}
	if(tg.className.indexOf(link_state_b) != -1)
	{
		re = new RegExp(link_state_b);
		tg.className = tg.className.replace(re, link_state_a);
		tg.title = link_title_a;
	}
	else
	{
		re = new RegExp(link_state_a);
		tg.className = tg.className.replace(re, link_state_b);
		tg.title = link_title_b;
	}
	initLayout();
	tg.blur();
}

function getNextSibling(obj)
{
	var sibling_obj = obj.nextSibling;
	while (sibling_obj != null && sibling_obj.nodeName != 'UL')
		sibling_obj = sibling_obj.nextSibling;
	return sibling_obj;
}
/*END: functions Toggle Collapsable Sitemap */
/***********************************************************************/
/*START: function Toggle Collapsable Element */
function toggleCollapsableElement(obj)
{
	var element_state_collapsed = "collapsed";
	var element_state_expanded = "expanded";

	var collapsable_obj = document.getElementById(obj.getAttribute('rel'));
	if(collapsable_obj.className.indexOf(element_state_expanded) != -1)
	{
		var re = new RegExp(element_state_expanded);
		collapsable_obj.className = collapsable_obj.className.replace(re, element_state_collapsed);
	}
	else
	{
		var re = new RegExp(element_state_collapsed);
		collapsable_obj.className = collapsable_obj.className.replace(re, element_state_expanded);
	}
	initLayout();
}
/*END: function Toggle Collapsable Element */
/***********************************************************************/
/*START: helper functions */
function getPos(id)
{
	var obj = document.getElementById(id);
	var pos = {left:0, top:0};

	if(typeof obj.offsetLeft != 'undefined') {

		while (obj) {
			pos.left += obj.offsetLeft;
			pos.top += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else {
		pos.left = obj.left;
		pos.top = obj.top;
	}

	return pos;
}

function setObjectHeight(id, height)
{
	var obj = document.getElementById(id);
	obj.style.height = height + "px";
}

function getObjectHeight(id)
{
	var obj = document.getElementById(id);
	var iObjectHeight = 0;
	iObjectHeight = obj.offsetHeight;
	return parseInt(iObjectHeight);
}

function getWindowInnerSize(win)
{
	if(!win) win = window;
		var objWin = new Object();
		if(typeof win.innerWidth != 'undefined') {
			objWin.width = win.innerWidth;
			objWin.height = win.innerHeight;
		} else {
			var obj = getBody(win);
			objWin.width = parseInt(obj.clientWidth);
			objWin.height = parseInt(obj.clientHeight);
		}
		return objWin;
}

function getBody(w)
{
	return (w.document.compatMode && w.document.compatMode == "CSS1Compat") ? w.document.documentElement : w.document.body || null;
}

function getElement(id)
{
	var retval;
	var obj;
	obj = document.getElementById(id);
	if (obj) {
		retval = obj;
	} else {
		retval = null;
	}
	return retval;
}

function show(obj)
{
	if (obj) {
		obj.style.display = "block";
	}
}

function hide(obj)
{
	if (obj) {
		obj.style.display = "none";
	}
}

function getParentElement(obj)
{
	if (obj.parentElement) {
		return obj.parentElement;
	} else if (obj.parentNode) {
		return obj.parentNode;
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function hasClassName(obj, str)
{
	var re = new RegExp(str);
	return obj.className.match(re);
}

function addClassName(obj, str)
{
	if(obj.className.indexOf(str) == -1)
	{
		if(obj.className != "") obj.className = obj.className+" "+str;
		else obj.className = str;
	}
}

function removeClassName(obj, str)
{
	if(obj.className.indexOf(str) != -1)
	{
		var newClassName = "";
		var separator = "";
		var arr = obj.className.split(" ");
		for(var i = 0 ; i < arr.length ; i++)
		{
			if(arr[i] != str) newClassName += separator+arr[i];
			separator = " ";
		}
		obj.className = newClassName;
	}
}

function removeClassNameContaining(obj, str)
{
	if(obj.className.indexOf(str) != -1)
	{
		var re = new RegExp(str);
		var newClassName = "";
		var separator = "";
		var arr = obj.className.split(" ");
		for(var i = 0 ; i < arr.length ; i++)
		{
			if(!re.test(arr[i])) newClassName += separator+arr[i];
			separator = " ";
		}
		obj.className = newClassName;
	}
}

function checkUncheckAll(theElement) {
	if (theElement.checked) {
		theElement.nextSibling.firstChild.innerHTML = "Deselect all";
	}
	else {
		theElement.nextSibling.firstChild.innerHTML = "Select all";
	}

	var theForm = theElement.form;
	var z = 1; // "0" is submit-button
	while (theForm[z].type == 'checkbox') {
		theForm[z].checked = theElement.checked;
		z++;
	}
}

function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function addDOMLoadEvent(f){if(!window.__ADLE){var n=function(){if(arguments.callee.d)return;arguments.callee.d=true;if(window.__ADLET){clearInterval(window.__ADLET);window.__ADLET=null}for(var i=0;i<window.__ADLE.length;i++){window.__ADLE[i]()}window.__ADLE=null};if(document.addEventListener)document.addEventListener("DOMContentLoaded",n,false);/*@cc_on @*//*@if (@_win32)var proto="src='javascript:void(0)'";if(location.protocol=="https:")proto="src=//:";document.write("<scr"+"ipt id=__ie_onload defer "+proto+"><\/scr"+"ipt>");var s=document.getElementById("__ie_onload");s.onreadystatechange=function(){if(this.readyState=="complete")n()};/*@end @*/if(/WebKit/i.test(navigator.userAgent)){window.__ADLET=setInterval(function(){if(/loaded|complete/.test(document.readyState)){n()}},10)}window.onload=n;window.__ADLE=[]}window.__ADLE.push(f)}
/*END: helper functions */
/***********************************************************************/
/*START: open window */
function openWindow(location, width, height, name, toolbar, scrollbars, status, resizable, otherAttrib)
{
	//openWindow object properties
	this.location=(location != null) ? location:'#';
	this.width=(width != null) ? width:'400';
	this.height=(height != null) ? height:'500';
	this.name=(name != null) ? name:'nameToOverwrite';
	this.toolbar=(toolbar != null) ? toolbar:'0';
	this.scrollbars=(scrollbars != null) ? scrollbars:'0';
	this.status=(status != null) ? status:'0';
	this.resizable=(resizable != null) ? resizable:'no';
	this.otherAttrib=(otherAttrib != null) ? otherAttrib:'';
	this.screenWidth=screen.width;
	this.screenHeight=screen.height;
	this.leftPos=(this.screenWidth/2)-(this.width/2);
	this.topPos=(this.screenHeight/2)-(this.height/2);

	//open method opens a window in the center of the screen
	this.open=function()
	{
		this.name = window.open(this.location, this.name, 'toolbar='+this.toolbar+',status='+this.status+',scrollbars='+this.scrollbars+',resizable='+this.resizable+','+this.otherAttrib+',left='+this.leftPos+',top='+this.topPos+',height='+this.height+',width='+this.width);
	}
}

function initEngineeringTheFuture(sUrl)
{
	var oWin = new openWindow(sUrl,'400','500','EngineeringTheFuture');
	oWin.open();
}
/*START: popup function for window with max. width & height*/

function openMaxWidthWindow(location, width, height, name, toolbar, scrollbars, status, resizable, otherAttrib)
{
 //openMaxWidthWindow object properties
 this.location=(location != null) ? location:'#';
 this.width=(width != null) ? width: screen.availWidth-10;
 this.height=(height != null) ? height: screen.availHeight-10;
 this.name=(name != null) ? name:'neu';
 this.locationbar='yes';
 this.menubar='yes';
 this.toolbar=(toolbar != null) ? toolbar:'1';
 this.scrollbars=(scrollbars != null) ? scrollbars:'1';
 this.status=(status != null) ? status:'1';
 this.resizable=(resizable != null) ? resizable:'yes';
 this.leftPos='0';
 this.topPos='0';

 //open method opens a window maximized the screen
 this.open=function()
 {
  this.name = window.open(this.location, this.name, 'location='+this.locationbar+', menubar='+this.menubar+', toolbar='+this.toolbar+',status='+this.status+',scrollbars='+this.scrollbars+',resizable='+this.resizable+','+this.otherAttrib+',left='+this.leftPos+',top='+this.topPos+',height='+this.height+',width='+this.width);
 }
}

function openPDF(pUrl)
{
 var oPDF = new openMaxWidthWindow(pUrl, null, null, 'PDF');
 oPDF.open();
}
/*END: popup function for PDF file download*/
/***********************************************************************/
function openDisclaimer(lang,strDisclaimer,strTargetPage)
{
	var disclaimerPath = '/MAN/' + lang + '/' + strDisclaimer + '.html?url=' + escape(strTargetPage);
	var oWin = new openWindow(disclaimerPath, 446, 282, 'Disclaimer', 0, 0, 'no', false, '');
	oWin.open();
}
/*END: open window  */
/***********************************************************************/
/*START: browser detection*/
function BrowserDetection()
{
	var sUserAgent = navigator.userAgent.toLowerCase();

	// browser name
	this.isIE = (sUserAgent.indexOf('msie') != -1);
	this.isOpera = (sUserAgent.indexOf('opera') != -1 || window.opera);
	this.isFirefoxEinsNull =(sUserAgent.indexOf('firefox\/1.0') != -1);
}

var oBrowser = new BrowserDetection();
/*END: browser detection*/
/***********************************************************************/
/*START: flash functions */
function writeFlash()
{
	var ret = getArgs(arguments);
	generateObj(ret.src, ret.params, ret.styles);
}

function generateObj(src, params, styles)
{
	var str = '<object type="application/x-shockwave-flash"' ;
	str += getStyles(styles);
	if (oBrowser.isIE && !oBrowser.isOpera) {
		str += '>';
		str += '<param name="movie" value="'+ src +'" \/>';
	} else {
		str += ' data="'+ src +'">';
	}

	//write param tags
	for (var i in params) {
		str += '<param name="' + i + '" value="' + params[i] + '" />';
	}

	//write embed tag, needed for transparency in safari
	str += '<embed src="'+ src +'"';
	for (var j in params) {
		str += ' ' + j + '="' + params[j] + '"';
	}
	str += '></embed>';
	str += '</object>';
	document.write(str);
}

function getStyles(styles)
{
	str = ' style="';
	for (var i in styles)
		str += i + ': ' + styles[i] + 'px;';
	str += '"';
	return str;
}

function getArgs(args)
{
	var ret = new Array();
	ret.src = new Object();
	ret.params = new Object();
	ret.styles = new Object();

	for (var i=0; i < args.length; i=i+2)
	{
		var currArg = args[i].toLowerCase();
		switch (currArg)
		{
			case "src":
			ret.src = args[i+1];
			break;
			case "width":
			case "height":
			ret.styles[args[i]] = args[i+1];
			break;
			case "allowScriptAccess":
			case "wmode":
			ret.params[args[i]] = args[i+1];
			break;
			default:
			ret.params[args[i]] = args[i+1];
		}
	}
	return ret;
}
/*END: flash functions */
/***********************************************************************/
/*START: position footer */
var placeholder_id = "footer-position-placeholder";
var footer_id = "footer-zone";

function positionFooter()
{
	if(document.getElementById(placeholder_id) == null) return;
	var iFooterPos = getPos(footer_id).top;
	var iWindowInnerHeight = getWindowInnerSize().height;

	var iWindowMinPos = iWindowInnerHeight - getObjectHeight(footer_id);

	var iFooterPlaceholderHeight = 0;
	var newHeight = 0;

	if ( iWindowMinPos > iFooterPos ) {
		iFooterPlaceholderHeight = iWindowMinPos - iFooterPos;
		newHeight = iFooterPlaceholderHeight + getObjectHeight(placeholder_id);
	} else {
		newHeight = getObjectHeight(placeholder_id) - (iFooterPos - iWindowMinPos);
	}

	if(newHeight < 0) newHeight = 0;
	if(oBrowser.isFirefoxEinsNull) newHeight += 1; // forcing scrollbar;
	setObjectHeight(placeholder_id, newHeight);
}
/*END: position footer */
/***********************************************************************/
/*START: init functions on load */
function initLayout()
{
	positionFooter();
	if(oBrowser.isFirefoxEinsNull) document.getElementById("main-zone").style.height = (window.innerHeight + 1) +"px"; // forcing scrollbar;
}

addEvent(window, 'load', initLayout);
addEvent(window, 'load', initAdditionalInfo);
addEvent(window, 'load', initCollapsableLists);
addEvent(window, 'load', initCollapsableSitemap);
addEvent(window, 'resize', initLayout);

/*END: init functions on load */
/***********************************************************************/

/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

/***********************************************************************/
/*START: browser detection */
var USE_CSS_BROWSER_FLAG;
USE_CSS_BROWSER_FLAG = USE_CSS_BROWSER_FLAG !== undefined ? USE_CSS_BROWSER_FLAG : true; // set default

if(Info !== undefined){
	if (window.console && window.console.log) window.console.log(Info, '[Info] variable collision: Info already defined');
}

var Info = new function() {

	var userAgent = navigator.userAgent.toLowerCase();

	// check user agent
	function is(str) { return userAgent.indexOf(str) > -1; }

	// version detection
	function version() {
		var versionString = '';
		var specificOffset = 0;
		var specificLength = 1;

		if(b.isIE)      { versionString = 'msie'; specificOffset = 1; }
		if(b.isFirefox) { versionString = 'firefox/'; specificLength = 3; }
		if(b.isSafari)  { versionString = 'version/'; } // note: detects only safari 3+
		if(b.isChrome)  { versionString = 'chrome/'; }
		if(b.isOpera)   { versionString = 'opera/'; }

		return parseFloat((userAgent.substr(userAgent.indexOf(versionString) + versionString.length + specificOffset, specificLength)));
	}

	// browser detection
	var b = {};
	b.isOpera      = typeof window.opera != 'undefined';
	b.isIE         = is('msie') && b.isOpera == false;
	b.isWebkit     = is('webkit');
	b.isChrome     = is('chrome');
	b.isSafari     = is('safari') && (b.isChrome == false) && is('version'); // note: detects only safari 3+
	b.isMozilla    = is('gecko') && b.isWebkit == false && b.isSafari == false && b.isChrome == false && b.isOpera == false;
	b.isFirefox    = b.isMozilla == true && is('firefox');
	b.isKonqueror  = navigator.product != null && navigator.product.toLowerCase().indexOf('konqueror') > -1;
	b.isSafari3    = b.isSafari && version() < 4;
	this.browser   = b;

	//browser version initialization
	b.version = version();
	if(b.version == 0 || isNaN(b.version)) { b.version = false; }

	// backward compatibility, use b.version to detect browser version in new scripts
	b.isSafariGte3 = b.isSafari && (b.version >= 3);
	b.isIE7        = b.isIE && (b.version == 7);
	b.isIEpre8     = b.isIE && (b.version < 8);
	b.isIEpre7     = b.isIE && (b.version < 7);
	b.isIEpre6     = b.isIE && (b.version < 6);

	//OS detection
	var os = {};
	os.isLinux     = (navigator.platform.indexOf("Linux") == 0),
	os.isMac       = (navigator.platform.indexOf("Mac") == 0),
	os.isWin       = (navigator.platform.indexOf("Win") == 0)
	this.os        = os;

	// windows version detection >> 5.0=2000 5.1=XP, 5.2=2003, 6.0=Vista, 6.1=Win7
	if(this.os.isWin) {
		this.os.winVersion = parseFloat(userAgent.substr(userAgent.indexOf('nt') + 3, 3));
	}

	//has transparency support detection
	this.hasTransparencySupport = true;
	if(this.os.isLinux || this.browser.isKonqueror || (this.os.isMac && !this.browser.isSafariGte3)) {
		this.hasTransparencySupport = false;
	}

	//CSS classes
	function setCss() {
		var h = document.getElementsByTagName('html')[0],
		classes=[
			(
				b.isIE      ? ('ie ie' + b.version) :
				b.isFirefox ? ('firefox firefox' + (b.version.toString().replace(/\./ig, ''))) :
				b.isChrome  ? ('chrome chrome' + b.version) :
				b.isSafari  ? ('safari safari' + b.version) :
				b.isOpera   ? ('opera opera' + b.version)	: ''
			),
			(
				b.isMozilla ? 'gecko' :
				b.isWebkit  ? 'webkit' : ''
			),
			(
				os.isWin    ? 'win' :
				os.isMac    ? 'mac' :
				os.isLinux  ? 'linux' : ''
			),
			'js'
		];
		h.className += h.className == '' ? classes.join(' ') : ' ' + classes.join(' ');
		return classes;
	}

	if(USE_CSS_BROWSER_FLAG) setCss();
}
/*END: browser detection */
/***********************************************************************/
/*START: Pagetools */
var SOCIAL_BOOKMARKS_ID = "page-tools";
var SOCIAL_BOOKMARKS_CLASS_REGEX = /sb-(.+)/;
var VENDORS;
VENDORS = VENDORS !== undefined ? VENDORS : false; // set default

function socialBookmarkingServices()
{
	var bookmarkList = document.getElementById(SOCIAL_BOOKMARKS_ID);
	var bookmarkListElements = bookmarkList.getElementsByTagName("a");
	for (i = 0; i < bookmarkListElements.length; i++) {
		var element = bookmarkListElements[i];
		element.onclick = function() {
			var service = VENDORS.socialbookmarks[getSocialBookmarkKey(this.className)];
			if (!service) return;

			//build bookmark url and open it in a new window
			var strUrl = "";
			var strParamUrl = "";
			var strParamTitle = "";
			if (service.paramUrl != '') strParamUrl += "?" + service.paramUrl + "=" + encodeURIComponent(location.href);
			if (service.paramTitle != '') strParamTitle += "&" + service.paramTitle + "=" + encodeURIComponent(document.title);
			strUrl = service.serviceUrl + strParamUrl + strParamTitle;
			if (service.preventNewWindow) {
				this.href = strUrl;
			} else {
				window.open(strUrl)
			}
		};
	}
}

function getSocialBookmarkKey(classNames)
{
	classNames = classNames.split(" ");
	for (i = 0; i < classNames.length; i++) {
		if (SOCIAL_BOOKMARKS_CLASS_REGEX.test(classNames[i])) {
			return classNames[i].replace(SOCIAL_BOOKMARKS_CLASS_REGEX, "$1");
		}
	}
}

function handleRecommendPages()
{
	var recommendPages = getElementsByClass("recommend-page");
	for (i = 0; i < recommendPages.length; i++) {
		addEvent(recommendPages[i], 'click', function() {
			toggleCollapsableElement(this);
		});
	}
}

function socialbookmarksAddEvents()
{
	if (SOCIAL_BOOKMARKS_ID && SOCIAL_BOOKMARKS_CLASS_REGEX && VENDORS)
	{
		addDOMLoadEvent(socialBookmarkingServices);
	}
	if (SOCIAL_BOOKMARKS_ID)
	{
		addDOMLoadEvent(handleRecommendPages);
	}
}
/*END: Pagetools */
/***********************************************************************/