/*
 * 	IT JS-Bibliothek
 *
 *	Contains:		» dump
 *					» scrollWhitepaper
 *					» slideItems
 *					» addBookmark
 *					» controlVersion für Flash
 *					» createClipboard
 *					» createITEvents
 *					» createCurrentMags
 *					» Base64 E-Mail-Codierung
 *					» makeScrollbar
 *
 *					##DOM READY##
 *					» ITRHover
 *					» Tooltips
 *					» Popupscript
 *					» Mediapool Scroll erzeugen
 */
 
 
/*
 * DUMP: Anzeigen von Arrays wie print_r
 */

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects
	 for(var item in arr) {
	  var value = arr[item];
	 
	  if(typeof(value) == 'object') { //If it is an array,
	   dumped_text += level_padding + "'" + item + "' ...\n";
	   dumped_text += dump(value,level+1);
	  } else {
	   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
	  }
	 }
	} else { //Stings/Chars/Numbers etc.
	 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
} 


/*
 *	SCROLL WHITEPAPER: Whitepaper durchscrollen lassen
 */

function scrollWhitepaper() {
	container	=	$('Whitepaper');
	contElems	=	$('Whitepaper').getElements('div[class=item]');
	conHeight	=	$('Whitepaper').getStyle('height').toInt();
	firstElement=	$('Whitepaper').getElement('div[class=item]');
	
	
	//Höhe setzen
	container.setStyle('height','250px');
	
	/** 	ausrechnen wie weit denn eigtl nach unten gescrollt werden kann
	*
	* 		Gesamthöhe Content ist "conHeight"	
	* 		Höhe des Viewports ist "250 px"
	*
	**/
	
	
	var	steps		=	(conHeight/250).round(0);
		stepHeight	=	(conHeight/steps);
		step		=	0;
		
	    control	=	$('sidebar').getElement('div[class=scroll-whiterpaper]');
		
		// Wenn nur ein Step, Pfeile ausblenden
		if(steps == 1) {
			control.setStyle('display', 'none');	
		}

	    forward	=	control.getElements('a')[0];
       	    back	=	control.getElements('a')[1];

		
	var	effectScroll	=	firstElement.effect('margin-top', {duration: 500, transition: Fx.Transitions.Quad.easeInOut});
	
		
		activeScroll	=	false;
		
		back.addEvent('click', function(){
			if ( step < steps-1 && activeScroll == false) {	
				activeScrol	=	true;
				effectScroll.start((-stepHeight*step),(-stepHeight*(step+1))).chain(function(){
					activeScrol	=	false;
				}); 
				
				
				step++;	
			}	else if (activeScroll == false){
					activeScrol	=	true;
				effectScroll.start((-stepHeight*step),0).chain(function(){
					activeScrol	=	false;
				});  
				step = 0; 
			}
		});
	
				
		forward.addEvent('click', function(){
			if ( step > 0) {		   
				
				effectScroll.start((-stepHeight*step),(-stepHeight*(step-1))); 
				step = step - 1;	
			}	else {
				effectScroll.start(0,(-stepHeight*(steps-1))); 				
				step = steps-1; 
			}			
		});	
	
	

	
}

/*
 *	SLIDEITEMS: Items in Whitepaperkasten durchschalten
 */

function slideItems() {
	
	container	=	$('featurebox');
	contElems	=	$('Whitepaper').getElements('div[class=item]');
	conHeight	=	$('Whitepaper').getStyle('height').toInt();
	firstElement=	$('Whitepaper').getElement('div[class=item]');
	
	// Höhe setzen
	container.setStyle('height','250px');
	
	/** 	ausrechnen wie weit denn eigtl nach unten gescrollt werden kann
	 *
	 * 		Gesamthöhe Content ist "conHeight"	
	 * 		Höhe des Viewports ist "250 px"
	 *
	**/
	
	
	var	steps		=	(conHeight/250).round(0);
		stepHeight	=	(conHeight/steps);
		step		=	0;
		
	    control	=	$('sidebar').getElement('div[class=scroll-whiterpaper]');
		
        forward	=	control.getElements('a')[0];
       	back	=	control.getElements('a')[1];
		
	var	effectScroll	=	firstElement.effect('margin-top', {duration: 500, transition: Fx.Transitions.Quad.easeInOut});

		activeScroll	=	false;
		back.addEvent('click', function(){
			if ( step < steps-1 && activeScroll == false) {	
				activeScrol	=	true;
				effectScroll.start((-stepHeight*step),(-stepHeight*(step+1))).chain(function(){
					activeScrol	=	false;
				}); 
				
				
				step++;	
			}	else if (activeScroll == false){
					activeScrol	=	true;
				effectScroll.start((-stepHeight*step),0).chain(function(){
					activeScrol	=	false;
				});  
				step = 0; 
			}
		});
	
				
		forward.addEvent('click', function(){
			if ( step > 0) {		   
				
				effectScroll.start((-stepHeight*step),(-stepHeight*(step-1))); 
				step = step - 1;	
			}	else {
				effectScroll.start(0,(-stepHeight*(steps-1))); 				
				step = steps-1; 
			}			
		});	
	
}

/*
 * ADDBOOKMARK: Browserübergreifendes JS-Bookmarking
 */

function addBookmark(title,url) {
    if( document.all ) {
	window.external.AddFavorite( url, title);
    }
    else if (window.sidebar) { 
	window.sidebar.addPanel(title, url,""); 
    } 
    else if( window.opera && window.print ) {
	return true;
    }
}


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful.

			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}

	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;

	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?');
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  document.write(str);
}

function AC_FL_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();

    switch (currArg){
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":

      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace":
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

//
//	END FLASH GEDÖNS
///////////////////////////////////////////////////////////////////////////////////////////////////////////



/*
 * CREATECLIPBOARD: Kopiert Quelltextinhalte in die Zwischenablage
 */

function createClipboard()
	{
			listings	=	$('corpus').getElements('input[id^=code_]');			
			lsitingsOl	=	$('corpus').getElements('ol[class=code]');
			
			listings.each(function(item, index)
				{
					new Element('a', {
									'events': {
										'click': function(e){
											e = new Event(e).stop();
											document.clipper.SetVariable("txt",listings[index].getProperty('value'));
											this.addClass('success');
											this.setText('Quelltext kopiert. Erneut kopieren?');
										}
									},
									'href':	'#',
									'class': 'clipboard',
									'styles': { 'color':'#666'}
								}).setText('Quelltext in die Zwischenablage kopieren').injectAfter(lsitingsOl[index]);
				});
	}


/*
 * CREATECURRENTMAGS: Erzeugt Sidebarelement mit neusten Magazinen
 */

function createCurrentMags() {
	containerMags	= 	$('in-store');
	linksMags		= 	containerMags.getElements('a');
	linksMagsCount	= 	linksMags.length;
	containerMags.setStyles({	'position':'relative'
							});
	linksMags.each(function(item, index){
		item.setStyles({	'position':'absolute',
					   		'top':'20px',
							'left':'30px',
							'visibility':'hidden'
					   });	
	});
			var show = function(el){				
				var div = $(el).setStyles({	display:'block',opacity: 0});
				new Fx.Style(div, 'opacity', {duration: 1000} ).start(1);
			};
			
			var hide = function(el){
				var div = $(el).setStyles({	display:'block',opacity: 1.0});
				new Fx.Style(div, 'opacity', {duration: 1000} ).start(0.0);				
			};	
	initTeaser();
	function initTeaser() {
			show(linksMags[0]);	
			teaserNumber = 1;	
			timer 			=	control.periodical(4000);
	}
	function control() {
				if (linksMagsCount != teaserNumber) 
					{
						show(linksMags[teaserNumber]);
						hide(linksMags[teaserNumber-1]);
						teaserNumber	=	teaserNumber+1;
					} 
				else
					{
						show(linksMags[0]);	
						hide(linksMags[linksMagsCount-1]);
						teaserNumber = 1;
					}
	}
}	


/*
 * BASE64, E-Mail Codierung 
 */

var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;

        input = Base64._utf8_encode(input);

        while (i < input.length) {

            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);

            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;

            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            }

            output = output +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

        }

        return output;
    },

    // public method for decoding
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;

        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

        while (i < input.length) {

            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));

            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;

            output = output + String.fromCharCode(chr1);

            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }

        }

        output = Base64._utf8_decode(output);

        return output;

    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}

var EmailEncode = new Class({
  initialize: function(element){
    this.mail = Base64.decode(element.get('text'));
    element.set('text', this.mail);
    element.set('href', 'mailto:'+this.mail);
  }
});


/*
 *  MAKESCROLLBAR: Erzeugt den Mediapool
 	!DEFEKT!
 
function makeScrollbar(content,scrollbar,handle,horizontal,ignoreMouse){
      
	  			var dir=1;
				var steps = (horizontal?(content.getSize().scrollSize.x - content.getSize().size.x):(content.getSize().scrollSize.y - content.getSize().size.y))
                                 var fx = function() {
                                     	 var step = slider.step + dir;
					 slider.set(step);

				}
				var slider = new Slider(scrollbar, handle, {
					steps: steps,
					mode: (horizontal?'horizontal':'vertical'),
					onChange: function(step){
					// Scrolls the content element in x or y direction.
					var x = (horizontal?step:0);
					var y = (horizontal?0:step);
					content.scrollTo(x,y);
					}
				}).set(0);
				if( !(ignoreMouse) ){
					// Scroll the content element when the mousewheel is used within the
					// content or the scrollbar element.
					$$(content, scrollbar).addEvent('mousewheel', function(e){
						e = new Event(e).stop();
						var step = slider.step - e.wheel * 30;
						slider.set(step);
					});
					$(content).addEvent('mouseenter', function(e){
						e = new Event(e).stop();
                                                 if(e.client.x>420) dir=(e.client.x-420)/6;
                                                 else{
                                                    if(e.client.x<165) dir = (e.client.x-165)/6;
                                                    else dir = 0;
                                                 }
                                                 fx();
						periodical = fx.periodical(10);
					});
					$(content).addEvent('mouseover', function(e){
						e = new Event(e).stop();
                                                 if(e.client.x>420) dir=(e.client.x-420)/6;
                                                 else{
                                                    if(e.client.x<165) dir = (e.client.x-165)/6;
                                                    else dir = 0;
                                                 }
					});
					$(content).addEvent('mouseleave', function(e){
                                               try{
						$clear(periodical);
                                               } catch(e){}
					});
				}
}

*/

//////////////////////////////////////////////////////////////////////////////////////////////
//	BEGIN DOM-READY PART																	//
//////////////////////////////////////////////////////////////////////////////////////////////

window.addEvent('domready', function() {
		
	if($$('.ep_kontakt a').length > 0) {
		new EmailEncode($$('.ep_kontakt a')[0]);
		new EmailEncode($$('.ep_kontakt a')[1]);
		new EmailEncode($$('.ep_kontakt a')[2]);
		new EmailEncode($$('.ep_kontakt a')[3]);
		new EmailEncode($$('.ep_kontakt a')[4]);
	}
	
	// Navigation erzeugen, wenn ID existiert
	if($('itrhover')) {
		
		elmHover = $('navmenu').getElements('li[class$=itr]');
		elmAppear = $('itrmap');
		
		// MouseOver
			elmHover.addEvent('mouseover', function() {
			elmHover.setStyle('opacity', '0.8');	
			elmAppear.setStyle('display', 'block');
		});
		
		// MouseOut
		elmAppear.addEvent('mouseleave', function() {
			elmHover.setStyle('opacity', '1.0');	
			elmAppear.setStyle('display', 'none');
		}); 
	}
	if($('itr-1')) {
		// MouseOver
		$('itr-1').addEvent('mouseover', function() {
 		   $('itrmap-buecher').setStyle('display', 'none');
//		   $('itrmap-dl').setStyle('display', 'none');
		});
	}
	if($('itr-2')) {
		// MouseOver
		$('itr-2').addEvent('mouseover', function() {
  		   $('itrmap').setStyle('display', 'none');
 		   $('itrmap-buecher').setStyle('display', 'none');
//		   $('itrmap-dl').setStyle('display', 'none');
		});
	}
	if($('itr-3')) {
		// MouseOver
		$('itr-3').addEvent('mouseover', function() {
  		   $('itrmap').setStyle('display', 'none');
 		   $('itrmap-buecher').setStyle('display', 'none');
//		   $('itrmap-dl').setStyle('display', 'none');
		});
	}
	if($('itr-4')) {
		// MouseOver
		$('itr-4').addEvent('mouseover', function() {
  		   $('itrmap').setStyle('display', 'none');
 		   $('itrmap-buecher').setStyle('display', 'none');
//		   $('itrmap-dl').setStyle('display', 'none');
		});
	}
	if($('itr-5')) {
		// MouseOver
		$('itr-5').addEvent('mouseover', function() {
  		   $('itrmap').setStyle('display', 'none');
//		   $('itrmap-dl').setStyle('display', 'none');
		});
	}
	if($('itr-6')) {
		// MouseOver
		$('itr-6').addEvent('mouseover', function() {
  		   $('itrmap').setStyle('display', 'none');
 		   $('itrmap-buecher').setStyle('display', 'none');
		});
	}
	if($('itr-7')) {
		// MouseOver
		$('itr-7').addEvent('mouseover', function() {
  		   $('itrmap').setStyle('display', 'none');
 		   $('itrmap-buecher').setStyle('display', 'none');
//		   $('itrmap-dl').setStyle('display', 'none');
		});
	}
	if($('header')) {
		// MouseOver
		$('header').addEvent('mouseover', function() {
  		   $('itrmap').setStyle('display', 'none');
 		   $('itrmap-buecher').setStyle('display', 'none');
//		   $('itrmap-dl').setStyle('display', 'none');
		});
	} 
       // Buecher
	if($('epmenu_buecher')) {
		
		// MouseOver
		$('epmenu_buecher').addEvent('mouseover', function() {
		      $('epmenu_buecher').setStyle('opacity', '0.8');	
		      $('itrmap-buecher').setStyle('display', 'block');
		});
		 
		// MouseOut
		$('itrmap-buecher').addEvent('mouseleave', function() {
		      $('epmenu_buecher').setStyle('opacity', '1.0');	
		      $('itrmap-buecher').setStyle('display', 'none');
		}); 
	}


       // Downloads
//	if($('epmenu_dl')) {
		
		// MouseOver
//		$('epmenu_dl').addEvent('mouseover', function() {
//		   $('epmenu_dl').setStyle('opacity', '0.8');	
//		   $('itrmap-dl').setStyle('display', 'block');
//		});
		 
		// MouseOut
//		$('itrmap-dl').addEvent('mouseleave', function() {
//		   $('epmenu_dl').setStyle('opacity', '1.0');	
//		   $('itrmap-dl').setStyle('display', 'none');
//		}); 
//	}



	
	// Mediapool Scrollbar machen !DEFEKT!
	// makeScrollbar( $('media-bilder'), $('scrollbar2'), $('handle2'), true );
	
	// Ausgaben Index
	if (	$('ausgaben-index-php')	)
		{
			
			sources	=	$('ausgaben-index').getElements('ul[class=issue-archive-source-content]');	
			heads	=	$('ausgaben-index').getElements('div[class=issue-archive-source-title]');	
			
			sources.each(function(item, index)
				{
   					item.setStyle('display','none');

					
					heads[index].setStyle('cursor','pointer');
					heads[index].setStyle('text-decoration','underline');
					
					heads[index].addEvent('click', function() 
						{ 
							sources[index].setStyle('display','block');					
						});
				});
			
			
			}
			
	// Falls Quelltexte vorhanden sind, kopiermöglichkeit anhängen	
	if($('corpus').getElement('input[id^=code_]'))
			{
					createClipboard();
			}
	
	if(window.webkit)
			{
				var werbepause	=	$('sidebar-box').getElements('div[class=brandheiss-content]')[0];
					werbepause.setStyle('padding-left','7px');
			}
	
		
	// überprüfen ob wp_jaxenter existiert. Id gibt es nur auf alter Sidebar, dann kein JS!
	if($('wp_jaxenter')) { } else {
			
			if($('Whitepaper')) {
				scrollWhitepaper();
			}
			if($('in-store')) {
				createCurrentMags()
			}
	}



	/*
	 * TOOLTIPS
	 */
	 
	var ttip = new Tips($$('.ttip'), {
				initialize:function(){
//					this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0);
                                   this.fx = new Fx.Tween(this.toolTip, 'opacity', {duration: 500, wait: false});
				},
					onShow: function(toolTip) {
					this.fx.start(1);
				},
					onHide: function(toolTip) {
					this.fx.start(0);
				},
				showDelay: 400			
	});

	/*
	 * POPUP: Erzeugt ein Popup mittels onclick-Angabe im Link
	 */
	 
	var pop = null;
	
	function popdown() {
	  if (pop && !pop.closed) pop.close();
	}
	

	function popup(obj,w,h) {
	  var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
	  if (!url) return true;
	  w = (w) ? w += 20 : 150;  // 150px*150px is the default size
	  h = (h) ? h += 25 : 150;
	  var args = 'width='+w+',height='+h+',resizable,'+'scrollbars=yes';
	  popdown();
	  pop = window.open(url,'',args);
	  return (pop) ? false : true;
	}

});

//////////////////////////////////////////////////////////////////////////////////////////////
//	END DOM-READY PART																		//
//////////////////////////////////////////////////////////////////////////////////////////////


function getCart(action,val) {
       JsHttpRequest.query(
            '/it/ext_scripts/content/getCart.php', // backend
            {
                'action': action,
                'val': val
            },
            // Function is called when an answer arrives.
            function(result, errors) {
                // Write the answer.
                if (result) {
  	           document.getElementById("wkorb").innerHTML=result["res"];
                }
            },
            true   // do not disable caching
        );

}

function getECart(action,val) {
       JsHttpRequest.query(
            '/it/ext_scripts/content/getECart.php', // backend
            {
                'action': action,
                'val': val
            },
            // Function is called when an answer arrives.
            function(result, errors) {
                // Write the answer.
                if (result) {
  	           document.getElementById("ewkorb").innerHTML=result["res"];
                }
            },
            true   // do not disable caching
        );

}




                        window.addEvent('domready', function() {


                                var email_list=document.getElementsByTagName('a');
                                for (var i=0; i<email_list.length; i++) {
                                   var ref=email_list[i].getAttribute('href');
                                   if (!ref) { continue; }

                                   if (ref.indexOf('protect:')==0) {
                                            ajax_email(email_list[i],ref);
				       } else {
				               if (ref.indexOf('protectvoll:')==0) {
			       		      ajax_email_voll(email_list[i],ref)
				               }
                                   }

                                }

                        });

                        function ajax_email(item,ref) {
				var req = new Request({
                      		method: 'post',
                      		url: '/it/ext_scripts/mail_protect/emailDecode.php',
		                     data: { 'email' : ref.substr(8) },
		                     onRequest: function() {
              		        },
	                     	onComplete: function(response) {
	                      		item.setAttribute('href','mailto:'+response);
       	               	}
                  	   	}).send();
                        }

                        function ajax_email_voll(item,ref) {
				var req = new Request({
                      		method: 'post',
                      		url: '/it/ext_scripts/mail_protect/emailDecode.php',
		                     data: { 'email' : ref.substr(12) },
		                     onRequest: function() {
              		        },
	                     	onComplete: function(response) {
	                      		item.setAttribute('href','mailto:'+response);
						item.set('text',response);
       	               	}
                  	   	}).send();
                        }
