function copyright()
	{
	var time=new Date();
	var year=time.getYear();
	if (year < 2000)    // Y2K Fix, Isaac Powell
	year = year + 1900; // http://onyx.idbsu.edu/~ipowell
	document.write (year);
	}
	
function zoomLoad()
	{
	var size = Number(GetCookie ('size'));
	if (size == 0) var size = 9;
	var textsize= String(size) + 'pt';
	if (size > 9) 
		{
		var menusize= '10pt';
		var menupadding ='4px 4px 5px 4px';
		}
	if (size <= 9) 
		{
		var menusize='9pt';
		var menupadding ='5px 5px 5px 5px';
		}
	document.write ('<style>body {font-size:' + textsize + '} #quicklinks,#topmenu,#submenu,#topmenu2,#submenu2 {font-size:' + menusize + '} #quicklinks li,#topmenu li,#submenu li,#topmenu2 li,#submenu2 li {padding:' + menupadding + '} #toolbox span input{font-size:100%} </style>');
	}
	
function zoomText(zoomdirection)
	{
	var size = Number(GetCookie ('size'));
	if (size == 0) var size = 9;
	if (zoomdirection=='enlarge') size = size * 1.25;
	if (zoomdirection=='reduce') size = size / 1.25;
	var textsize= String(size) + 'pt';
	if (size > 9) 
		{
		var menusize= '10pt';
		var menupadding ='4px 4px 5px 4px';
		}
	if (size <= 9) 
		{
		var menusize='9pt';
		var menupadding ='5px 5px 5px 5px';
		}

	var obj=document.getElementsByTagName('body');
	for(var i=0;i<obj.length;i++)
		{
		obj[i].style.fontSize=textsize;
		}
	document.getElementById("quicklinks").style.fontSize=menusize;
	document.getElementById("topmenu").style.fontSize=menusize;
	document.getElementById("submenu").style.fontSize=menusize;
	document.getElementById("topmenu2").style.fontSize=menusize;
	document.getElementById("submenu2").style.fontSize=menusize;
	var subobj=document.getElementById("quicklinks").getElementsByTagName("li");
	for(var i=0;i<subobj.length;i++)
		{
		subobj[i].style.padding=menupadding;
		}
	var subobj=document.getElementById("topmenu").getElementsByTagName("li");
	for(var i=0;i<subobj.length;i++)
		{
		subobj[i].style.padding=menupadding;
		}
	var subobj=document.getElementById("submenu").getElementsByTagName("li");
	for(var i=0;i<subobj.length;i++)
		{
		subobj[i].style.padding=menupadding;
		}
	var subobj=document.getElementById("topmenu2").getElementsByTagName("li");
	for(var i=0;i<subobj.length;i++)
		{
		subobj[i].style.padding=menupadding;
		}
	var subobj=document.getElementById("submenu2").getElementsByTagName("li");
	for(var i=0;i<subobj.length;i++)
		{
		subobj[i].style.padding=menupadding;
		}
	var expdate = new Date ();
	expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000 * 31));
	SetCookie ('size', String(size), expdate);
	}
	
<!-- Cookie Functions  -->

function getCookieVal (offset) 
	{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
	}

function GetCookie (name) 
	{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) 
		{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break; 
		}
	return null;
	}  

function SetCookie (name, value) 
	{
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
	}

function Senden()
	{
		document.Newsletter.action = "http://optin.verticalresponse.com/"
		document.Newsletter.target = "_self";	// Open in a new window
		document.Newsletter.submit();			// Submit the page
		return true;
	}

function Popup(adresse)
	{
	fensterhoehe = screen.height - 260;
	fensterbreite = (fensterhoehe / 3) * 2.3;
	Fenster = window.open(adresse, "Popup", "statusbar=no,menubar=yes,height=" + fensterhoehe + ",width=" + fensterbreite);
	Fenster.moveTo((screen.width/2)-(fensterbreite/2),(screen.height/2)-(fensterhoehe/2));
	Fenster.focus();
	}
	
function MakeVisible()
	{
	document.getElementById("artikelversenden").style.visibility = "visible";
	}

function MakeInvisible()
	{
	document.getElementById("artikelversenden").style.visibility = "hidden";
	}
	
function download(url)
{
	document.body.className = "wait";
	xajax_downloadform(xajax.getFormValues('Download'),url);
}

function contact()
{
	xajax_contactform(xajax.getFormValues('Kontakt'),xajax.getFormValues('Anfrageform'));
}

function course()
{
	//xajax_courseform(xajax.getFormValues('courseform1'),xajax.getFormValues('courseform2'));
	checkform('courseform1','courseform1');
}

function empfehlen()
{
	xajax_versendenform(xajax.getFormValues('versendenA'),xajax.getFormValues('versendenB'),window.location.href,document.title);
}

function survey()
{
	xajax_surveyform(xajax.getFormValues('umfrage'),xajax.getFormValues('umfrageform'));
}

function initforms()
{
	if(document.forms['Download'])
	{
		document.forms['Download'].action = "javascript:void(null);";
	}
}

/* ROI Registration Form */ 

if(!checkform) 
{
	var checkform = function(form_id,form_type) 
	{
		var formelem = null;
		if(document.getElementById(form_id)) formelem = document.getElementById(form_id);
		else if(document.forms[form_id]) formelem = document.forms[form_id];
		//alert(formelem);
		if(formelem != null)
		{
			var errormessage = "";
			var inputs = new Array();
			var fetchedinputs = formelem.getElementsByTagName("input");
			for(i=0;i<fetchedinputs.length;i++) inputs.push(fetchedinputs[i]);
			var fetchedinputs = formelem.getElementsByTagName("textarea");
			for(i=0;i<fetchedinputs.length;i++) inputs.push(fetchedinputs[i]);
			
			//alert(inputs.length);
			for(i=0;i<inputs.length;i++)
			{
				if(inputs[i].className && inputs[i].className.match(/required/) != null && (inputs[i].value == "" || inputs[i].value.match(/^Ihr/) != null))
				{
					if(errormessage == "") errormessage = unescape("Fehler!\r\nSie haben die rot unterlegten Felder nicht ausgef%FCllt");
					inputs[i].style.backgroundColor = "#F99";
					inputs[i].style.borderColor = "#C00";
				}
				else 
				{
					inputs[i].style.backgroundColor = "";
					inputs[i].style.borderColor = "";
				}
			}
			if(errormessage == "") 
			{
				switch(form_type)
				{
					default:
					case "roi_registration_form":
						xajax_roiregistrationform(xajax.getFormValues(form_id),window.location.href);
						break;

					case "book_order_form":
						xajax_bookorderform(xajax.getFormValues(form_id),window.location.href);
						break;
						
					case "courseform1":
						xajax_courseform(xajax.getFormValues('courseform1'),xajax.getFormValues('courseform2'));
						break;
				}
				return true;
			}
			else
			{
				alert(errormessage);
				return false;
			}
		}
		else return false;
	}

	//////////////

	var verticalslide_open = function(object_id) 
	{
		if(document.getElementById(object_id) && document.getElementById(object_id + '_inner')) 
		{
			var elem = document.getElementById(object_id);
			var elem_inner = document.getElementById(object_id + '_inner');
			var elemheight = elem.offsetHeight;
			var contentheight = elem_inner.scrollHeight;

			//alert(elemheight + " " + contentheight);

			if((elemheight + verticalslide_steps_pixel) < contentheight) elemheight += verticalslide_steps_pixel;
			else elemheight = contentheight;
			elem.style.height = elemheight + 'px';
			if(elemheight < contentheight) timer[object_id] = window.setTimeout("verticalslide_open('" + object_id + "');",verticalslide_steps_time);
		}
	}

	var verticalslide_close = function(object_id) 
	{
		if(document.getElementById(object_id) && document.getElementById(object_id + '_inner')) 
		{
			var elem = document.getElementById(object_id);
			var elem_inner = document.getElementById(object_id + '_inner');
			var elemheight = elem.offsetHeight;
			var contentheight = elem_inner.offsetHeight;

			//alert(elemheight + " " + contentheight);

			if((elemheight - verticalslide_steps_pixel) > 1) elemheight -= verticalslide_steps_pixel;
			else elemheight = 1;
			elem.style.height = elemheight + 'px';
			if(elemheight > 1) timer[object_id] = window.setTimeout("verticalslide_close('" + object_id + "');",verticalslide_steps_time);
		}
	}

	var verticalslide_reduce = function(object_id) 
	{
		if(document.getElementById(object_id) && document.getElementById(object_id + '_inner')) 
		{
			var elem = document.getElementById(object_id);
			var elem_inner = document.getElementById(object_id + '_inner');
			var elemheight = elem.offsetHeight;
			var contentheight = elem_inner.offsetHeight;
			
			//alert(elemheight + " " + contentheight);

			if((elemheight - verticalslide_steps_pixel) > contentheight) elemheight -= verticalslide_steps_pixel;
			else elemheight = contentheight;
			elem.style.height = elemheight + 'px';
			if(elemheight > contentheight) timer[object_id] = window.setTimeout("verticalslide_reduce('" + object_id + "');",verticalslide_steps_time);
		}
	}
	
	//////////////

	var create_participant_code = function ()
	{
		var suffix = 'participant' + participants_count + '_';

		var code = '\
		<label style="width: 60px;">Anrede*<select name="' + suffix + 'salutation" class="select" title="Anrede">\
			<option value="Herr">Herr</option>\
			<option value="Frau">Frau</option>\
		</select></label>\
		<label style="width: 180px;">Vorname* <input name="' + suffix + 'firstname" type="text" value="" class="text required" title="Vorname" /></label>\
		<label style="width: 180px;">Nachname* <input name="' + suffix + 'lastname" type="text" value="" class="text required" title="Nachname" /></label>\
		<div class="clearer"></div>\
		<label style="width: 215px;">Email* <input name="' + suffix + 'email" type="text" value="" class="text required" title="Email" /></label>\
		<label style="width: 215px;">Telefon* <input name="' + suffix + 'tel" type="text" value="" class="text required" title="Telefon" /></label>\
		<div class="clearer"></div>\
		<label style="width: 440px;">Firma* <input name="' + suffix + 'company" type="text" value="" class="text required" title="Firma" /></label>\
		<div class="clearer"></div>\
		<label style="width: 440px;">Stra&szlig;e / Postfach* <input name="' + suffix + 'strasse" type="text" value="" class="text required" title="Stra&szlig;e / Postfach" /></label>\
		<div class="clearer"></div>\
		<label style="width: 60px;">PLZ* <input name="' + suffix + 'plz" type="text" value="" class="text required" title="PLZ" /></label>\
		<label style="width: 370px;">Ort* <input name="' + suffix + 'ort" type="text" value="" class="text required" title="Ort" /></label>\
		<div class="clearer"></div>\
		<label style="float: none; display: inline-block;"><input type="checkbox" name="' + suffix + 'masterclass" value="yes" class="checkbox" /> Diesen Teilnehmer zus&auml;tzlich zum Business Case Seminar auch f&uuml;r die Business Case <strong>Master Class</strong> am darauffolgenden Tag anmelden.</label>\
		';

		/*
		var code = '\
		<label style="width: 60px;">Anrede*<select name="' + suffix + 'salutation" class="select" title="Anrede">\
			<option value="Herr">Herr</option>\
			<option value="Frau">Frau</option>\
		</select></label>\
		<label style="width: 180px;">Vorname* <input name="' + suffix + 'firstname" type="text" value="" class="text required" title="Vorname" /></label>\
		<label style="width: 180px;">Nachname* <input name="' + suffix + 'lastname" type="text" value="" class="text required" title="Nachname" /></label>\
		<div class="clearer"></div>\
		<label style="width: 215px;">Email* <input name="' + suffix + 'email" type="text" value="" class="text required" title="Email" /></label>\
		<label style="width: 215px;">Telefon* <input name="' + suffix + 'tel" type="text" value="" class="text required" title="Telefon" /></label>\
		<div class="clearer"></div>\
		<label style="width: 215px;">Position <input name="' + suffix + 'position" type="text" value="" class="text" title="Position" /></label>\
		<label style="width: 215px;">Abteilung <input name="' + suffix + 'division" type="text" value="" class="text" title="Abteilung" /></label>\
		<div class="clearer"></div>\
		';
		*/

		participants_count++;
		return code;
	}

	var add_participant = function (target_id)
	{
		if(document.getElementById(target_id) && document.getElementById(target_id + '_inner')) 
		{
			var dateelem = new Date();
			var timestamp = dateelem.getTime();
			var code = '\
			<hr />\
			<div class="checkform_participant_section">\
			<input type="button" value="Diesen Teilnehmer entfernen" onclick="remove_participant(\'' + target_id + '\',\'participant_' + timestamp + '\');" class="button_removeperson" />\
			<br />\
			<p><strong>Zus&auml;tzlicher Teilnehmer:</strong></p>\
			' + create_participant_code() + '\
			<div class="clearer"></div>\
			</div>\
			';
			
			//alert(code);
			
			var elem = document.createElement("div");
			elem.id = 'participant_' + timestamp;
			elem.className = 'participant';
			elem.innerHTML = code;
			document.getElementById(target_id + '_inner').appendChild(elem);
			
			verticalslide_open(target_id);
		}		
	}
	
	var remove_participant = function (target_id,object_id)
	{
		if(document.getElementById(target_id) && document.getElementById(target_id + '_inner') && document.getElementById(object_id)) 
		{
			document.getElementById(target_id + '_inner').removeChild(document.getElementById(object_id));
			verticalslide_reduce(target_id);
		}		
	}

	var add_creditcard = function (target_id)
	{
		if(document.getElementById(target_id) && document.getElementById(target_id + '_inner')) 
		{
			var dateelem = new Date();
			var timestamp = dateelem.getTime();
			var year = dateelem.getFullYear();
			var code = '\
			<label style="width: 440px;">Halter* <input name="creditcard_holder" type="text" value="" class="text required" title="Halter" /></label>\
			<label style="width: 215px;">Typ*<select name="creditcard_type" class="select" title="Kreditkarten Typ">\
				<option value="Mastercard">Mastercard</option>\
				<option value="Visa">Visa</option>\
			</select></label>\
			<label style="width: 215px;">Nummer* <input name="creditcard_number" type="text" value="" class="text required" title="Nummer" /></label>\
			<div class="clearer"></div>\
			<label style="width: 120px;">G&uuml;ltigkeitsmonat*<select name="creditcard_month" class="select" title="G&uuml;ltigkeitsmonat">';
			
			for(i=1;i<13;i++) code += '<option value="' + i + '">' + i + '</option>';

			code += '</select></label>\
			<label style="width: 120px;">G&uuml;ltigkeitsjahr*<select name="creditcard_year" class="select" title="G&uuml;ltigkeitsmonat">';
			
			for(i=year;i<(year + 10);i++) code += '<option value="' + i + '">' + i + '</option>';
			
			code += '</select></label>\
			<div class="clearer"></div>\
			';
			
			//alert(code);
			
			var elem = document.createElement("div");
			elem.id = 'creditcard_' + timestamp;
			elem.className = 'creditcard';
			elem.innerHTML = code;
			document.getElementById(target_id + '_inner').appendChild(elem);
			
			verticalslide_open(target_id);
		}		
	}
	
	var remove_creditcard = function (target_id)
	{
		if(document.getElementById(target_id) && document.getElementById(target_id + '_inner')) 
		{
			document.getElementById(target_id + '_inner').innerHTML = '';
			verticalslide_reduce(target_id);
		}		
	}
}

/////////////////////////////////////////////

function getPosition(element)
/* der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
   des Objekts element */
{
  var elem=element,tagname="",x=0,y=0;
  
/* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
   wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */

/* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
    if (tagname=="BODY")
      elem=0;

/* wenn elem ein Objekt ist und offsetParent enthaelt
   Offset-Elternelement ermitteln */
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }

/* Objekt mit x und y zurueckgeben */
  var position=new Object();
  position.x=x;
  position.y=y;
  return position;
}

function absLeft(el) {
return (el.offsetParent)?
el.offsetLeft+absLeft(el.offsetParent) : el.offsetLeft;
}

function absTop(el) {
return (el.offsetParent)?
el.offsetTop+absTop(el.offsetParent) : el.offsetTop;
}

function scrolltoelem(elem_id) 
{  
	if(document.getElementById(elem_id)) 
	{
		if(typeof(dojo) != "undefined")
		{
			if(typeof(dojo.require) != "undefined")
			{
				dojo.require('dojox.fx.scroll');
				if(typeof(dojox.fx) != "undefined" && typeof(dojox.fx.smoothScroll) != "undefined")
				{
					var elem = document.getElementById(elem_id);
					target_y = absTop(elem);
					var current_y = 0;
					if(window.pageYOffset) current_y = window.pageYOffset;
					else current_y = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
					var dauer = current_y - target_y;
					if(dauer < 0) dauer = dauer * -1;
					var elem = window;  
					var animation = dojox.fx.smoothScroll({
						win: elem,
						target: {x: 0, y: target_y},
						duration: dauer
					}).play();
					
					return false;
				}
				else window.setTimeout('scrolltoelem("' + elem_id + '");',100);
			}
			else window.setTimeout('scrolltoelem("' + elem_id + '");',100);
		}
		else window.setTimeout('scrolltoelem("' + elem_id + '");',100);
	}
}  

window.onload = function() {
	if(typeof(initforms) != "undefined") initforms();
	if(typeof(dojo) != "undefined") dojo.require('dojox.fx.scroll');
}


var timer = new Object();
var verticalslide_steps_pixel = 30;
var verticalslide_steps_time = 50;
var participants_count = 1;

