var scrollingInProgress = false;
var puffer = new Array();
var activeX = CheckActiveX();
var actuallyImg = "";
var textElementInFocus=false;
var playingArtikelNr = 0;

/**
 * Abfangen der Tastendrucke zur Realisierung der Navigation
 * über die Pfeiltasten
 * @see tastendruck()
 */
if (window.captureEvents) {
  window.captureEvents(Event.KEYPRESS);
  window.onkeypress=tastendruck;
} else {
  document.onkeydown=tastendruck;
}

window.onerror = errorhandling;

/**
 * Abfangen von änderungen der Fenstergröße zur Skalierung
 * @see resizer()
 */
Event.observe(window, 'resize', timedResizer);
function timedResizer(){
	setTimeout(resizer,0);
}
 
/**
 * Abfangen von änderungen des Content
 * @see validateUserSession()
 */
//Event.observe(document.body, 'click', validateUserSession);
//Event.observe(document.body, 'onkeydown', validateUserSession);

/**
 * Ruft nach Tastendruck die Sub-Klasse Eventhandler auf
 * siehe auch Effect.eventhandler()
 * @see eventhandler()
 * @param e ausgelöster Event, kommt vom Browser
 */
function tastendruck(e)	{
	try	{
		new Effect.eventhandler(e);
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

/**
 * Skalieren der Seitenelemente nach einer änderung der Fenstergröße
 * @see titelContainerResizer()
 * @param init true, falls die resizer-Funktion benutzt werden soll,
 *				ohne das tatsächlich eine änderung der Fenstergröße
 *				stattgefunden hat. Wir beim Initialisieren benutzt,
 *				um die Elemente schon vor der Anzeige an die gefundene
 *				Auflösung anzupassen
 */
 
function resizer()	{
	try {
		//Positionierung der Basis-Elemente - PS
		//Contentbereich - PS
		scrollBar.parent.setStyle({
			top: '' + (scrollBar.minY + 10) + 'px'
		});
		scrollBar.parent.setStyle({
			bottom: '' + ($('body').getHeight() - (Position.page($('navi'))[1] - 50)) + 'px'
		});
		
		var hoehe = parseInt(scrollBar.parent.getStyle('bottom').replace(/px/, ""));
		hoehe = hoehe + parseInt(scrollBar.parent.getStyle('top').replace(/px/, ""));
		hoehe = parseInt($('body').getHeight()) - hoehe;
		scrollBar.parent.setStyle({
			lineHeight: '' + hoehe + 'px'
		});
		scrollBar.parent.setStyle({
			height: '' + hoehe + 'px'
		});

		
		//Detailbereich - PS
		if ($('detailbox').getHeight() > 14) {
			if ($('trailer')) {
				return false;
			}
				breite = ($('body').getWidth() - 320);
				breite = (breite / $('body').getWidth()) * 100;
				$('detailbox').setStyle({
					width: '' + breite + '%'
				});
				$('detailcontent').setStyle({
					width: '' + breite + '%'
				});
				if ($('detailtable')) 
					$('detailtable').setStyle({
						width: '100%'
					});
				if ($('detailsubtable')) 
					$('detailsubtable').setStyle({
						width: '' + ($('detailtable').getWidth() - 160) + 'px'
					});
				
				var detailheight = Position.page($('navi'))[1] - 20;
				$('detailbox').setStyle({
					height: '' + detailheight + 'px'
				});
				$('detailcontent').setStyle({
					height: '' + detailheight + 'px'
				});
				if ($('detailtable')) {
					var corrector = 100;
					if ($('detailmenubartable')) {
						if ($('detailmenubartable').getHeight() > 0) {
							corrector += $('detailmenubartable').getHeight();
						//alert(detailheight - corrector);
						}
					}
					$('detailtable').setStyle({
						height: '' + (detailheight - corrector) + 'px'
					});
				}
		}
		//Navigation - PS
		var naviX = $('body').getWidth();
		naviX = (naviX / 2);
		naviX = naviX + ((Position.page($('leftPane'))[0] + $('leftPane').getWidth()) / 2);
		naviX = naviX - ($('navi').getWidth() / 2);
		$('navi').setStyle({
			left: '' + naviX + 'px'
		});
//		alert('naviXStyleSet');
		
		///Positionierung der Basis-Elemente
//		alert('after titelContainerResizer');
		
		dur = 0.5;
		new Effect.slider(0, dur);
		titelContainerResizer(hoehe);
	} 
	catch (e) {
		errorhandling(e, e.number, e.message);
	}
}

/**
 * Skalieren des Titelcontainers nach einer änderung der Fenstergröße
 * @param hoehe 
 */
 
function titelContainerResizer(h){

		titelX = Position.page($('leftPane'))[0]+$('leftPane').getWidth()+10;

		tC_breite = ($('body').getWidth() - 0);

// max: 16px min: 10px
		fSize = Math.ceil(h/20-1);
			if(fSize < 10) {
				fSize = 10;
			}else if(fSize>16){
				fSize = 16;
			}
		$('titelcontainer').setStyle({left: ''+titelX+'px'});
		$('titelcontainer').setStyle({top:''+(Position.page($('navi'))[1]-65)+'px'});
		$('titelcontainer').setStyle({width:''+(tC_breite-titelX-10)+'px'});	
		$('titelcontainer').setStyle({fontSize:''+fSize+'px'});	
/*
	alert('left: '+$('titelcontainer').getStyle('left')+'\n'
		+'top: '+$('titelcontainer').getStyle('top')+'\n'
		+'width: '+$('titelcontainer').getStyle('width')+'\n');

*/		

}

/**
 * Erweiterung der Effect-Klasse um die Methode eventhandler
 * <br>wertet die Tastendrücke aus, erkennt für die Navigation relevante
 * und setzt die Variable für nachzuladende und zu scrollende Schritte hoch
 * @param e ausgelöstes Event, kommt vom Browser
 */
Effect.eventhandler = function(e){
	if (!textElementInFocus) {
		try {
			e = !e ? event : e;
			tastenCode = e.keyCode ? e.keyCode : e.which;
//			alert(tastenCode);
			var react = false;
			
			if (tastenCode == 37) {
				react = true;
				if (e.currentTarget) 
					e.preventDefault();
				value = -1;
			}
			if (tastenCode == 38) {
				react = true;
				if (e.currentTarget) 
					e.preventDefault();
				value = 5;
			}
			if (tastenCode == 39) {
				react = true;
				if (e.currentTarget) 
					e.preventDefault();
				value = 1;
			}
			if (tastenCode == 40) {
				react = true;
				if (e.currentTarget) 
					e.preventDefault();
				value = -5;
			}
			if (tastenCode == 33) {
				react = false;
				if (!/MSIE/.test(navigator.userAgent)) {
					e.preventDefault();
				}
				if ($('detailsubtable')) {
					if($('detailbox').getHeight()<14){
						Effect.showDetails(false, false, false);
					}
				}
				else {
					Effect.showDetails(false, false, false);
				}
			}
			if (tastenCode == 34) {
				react = false;
				if (!/MSIE/.test(navigator.userAgent)) {
					e.preventDefault();
				}
				if (!$('detailsubtable') || $('detailbox').getHeight()<14) {
					return;
				}
				else {
					Effect.showDetails(false, false, false);
				}
			}
			
			/**
		 *	falls eine relevante taste gedrückt wurde das aktive Element zoomen
		 */
			if (react) {
				react = false;
				arrowclick(value);
			}
		} 
		catch (e) {
			errorhandling(e, e.number, e.message);
		}
	}
}

/**
 * Initialisierung des scrollBar-Objekts
 * muss aufgerufen werden, nachdem das Elternobjekt geladen wurde
 * siehe auch scrollBarClass
 * @see scrollBarClass
 * @param element ID des Elternobjekts als String
 * @param startAtFirst 	Boolean - Falls TRUE wird zum ersten Element gescrollt,
 * 						falls FALSE zum Objekt in der Mitte
 */
function init(element,startAtFirst,ref)	{
	try	{
		scrollBar = new scrollBarClass(element,startAtFirst);
		parentEl = element;
			
		if(startAtFirst)	{
			scrollBar.aim = scrollBar.children.first();
		}	else	{
			scrollBar.changeActive(ref);
			//alert(Position.page(scrollBar.activeImage)[0]);
			scrollBar.aim = scrollBar.activeImage;
		}
		new Effect.slider(0,"",ref);
//		alert(scrollBar.aim);
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function doNothing(){
	return true;
}

function switchMenu(template,img)	{
	try	{
		$('actually').src="/templates/"+template+"/images/Icons/54x54/"+img;
		actuallyImg=img;
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

/**
 * Abfangen und Verarbeiten der Mausklicks auf die Navigation
 * @param value Anzahl der zu laufenden Schritte
 */
function arrowclick(value,ref)	{
	try	{
		if(value<0)	steps=value*-1;	else	steps=value;
		for(i=0;i<steps;i++)	{
			if(value<0)	{
				puffer.push(-1);
			}	else	{
				puffer.push(1);
			}
		}
		dur = 0.5/puffer.size();
	
		if(!scrollingInProgress)	{
			value = puffer.first();
			puffer.shift();
			activePosition = scrollBar.activePosition;
			if(value>0)	{
				for(i=activePosition;i<(activePosition+value);i++)	{
					scrollBar.aim=scrollBar.children[i+1];
					new Effect.slider(value,dur,ref);
				}
			}	else if(value<0)	{
				for(i=activePosition;i>(activePosition+value);i--)	{
					scrollBar.aim=scrollBar.children[i-1];
					new Effect.slider(value,dur,ref);
				}	
			}
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function initTrailer(katalogNr) {
	try	{
		breite = $('detailsubtable').getWidth() - 80;
		new Ajax.Updater($('detailsubtable'),'/ajax/php/trailer.php?katalogNr='+katalogNr+'&b='+breite,{
			onSuccess: function(){
//				$('trailer').settings.autoStart = true;
			}
		});
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

/**
 * Deklaration der scrollBar-Klasse ansich und Erweiterung als
 * Subklasse von Prototype
 * @see init()
 * @see titelContainerResizer()
 * @param element ID des Elternobjekts als String
 * @param startAtFirst 	Boolean - Falls TRUE wird zum ersten Element gescrollt,
 * 						falls FALSE zum Objekt in der Mitte
 * @return object scrollBar-Objekt
 */
var scrollBarClass = Class.create();
try	{
	Object.extend(Object.extend(scrollBarClass.prototype), {
	  initialize: function(element,startAtFirst) {
		this.parent = $(element);
	  	this.children = $(element).immediateDescendants();
		this.children.shift();
	
		breite = $('body').getWidth();
	
	  	//Positionierung der Basis-Elemente - PS
	  	//Contentbereich - PS
	  	this.minY = $('headerPane').getHeight();
	  	this.parent.setStyle({top:''+(this.minY+10)+'px'});
	  	this.parent.setStyle({bottom:''+($('body').getHeight()-(Position.page($('navi'))[1]-50))+'px'});
	
		var hoehe = parseInt(this.parent.getStyle('bottom').replace(/px/,""));
		hoehe = hoehe+parseInt(this.parent.getStyle('top').replace(/px/,""));
		hoehe = parseInt($('body').getHeight())-hoehe;
		this.parent.setStyle({lineHeight:''+hoehe+'px'});
		this.parent.setStyle({height:''+hoehe+'px'});
	
	  	//Menü - PS
		$('leftPane').setStyle({top:''+(this.minY+10)+'px'});
		$('leftPane').setStyle({height:'840px'});
		var extY = ((this.minY+10)+840);
		$('leftPane_extension').setStyle({top:''+extY+'px'});
	
		//Navigation - PS
		var naviX = breite;
		naviX = (naviX/2);
		breiteLeft = Position.page($('leftPane'))[0]+$('leftPane').getWidth();
		naviX = naviX+(breiteLeft/2);
		naviX = naviX-($('navi').getWidth()/2);
		$('navi').setStyle({left:''+naviX+'px'});
	
		titelContainerResizer(hoehe);
/*
		//Titelbox - PS
		titelX = breiteLeft+10;
		$('titelcontainer').setStyle({left: ''+titelX+'px'});
		$('titelcontainer').setStyle({top:''+(Position.page($('navi'))[1]-70)+'px'});
		$('titelcontainer').setStyle({width:''+(breite-titelX-10)+'px'});

*/		///Positionierung der Basis-Elemente
	
		this.aim=null;
		this.movingInProgress=false;
		this.zoomingInProgress=false;
	
	//	Work-Around, weil der Internet Explorer keine prozentualen
	//	Positions-Angaben annimmt - PS
		var leftPos = $('body').getWidth()+1;
		this.parent.setStyle({left:''+leftPos+'px'});
	
		return this;
	  },
	  changeActive: function(id)	{
	  	if(id>0)	{
		  	this.activeImage = $(id+'image');
			this.activeID = id;
			this.activePosition=this.children.indexOf(this.activeImage);
		}
	  }
	});
}	catch(e)	{
	errorhandling(e,e.number,e.message);	
}

/**
 * Scrollvorgang auslösen
 * @param aim Optional. Zielobjekt, zu dem gescrollt werden soll. Wird
 * zum Beispiel genutzt, um nach Klick auf eine Box direkt dorthin zu scrollen
 */
Effect.slider = function(value,dur,ref)	{
	try	{
		if($('titelcontainer') && $('titelcontainer').visible())	$('titelcontainer').toggle();

		if(!scrollBar.aim)	scrollBar.aim=scrollBar.activeImage;

		from = Position.page(scrollBar.aim)[0];
		to = Position.page($('navi'))[0];
		stopX = to-from;

		breite = scrollBar.aim.getWidth()*2;
		if(breite==0 || /MSIE 7/.test(navigator.userAgent))	{
			ratio = 0.633633634;
			breite = (scrollBar.aim.getHeight()*ratio)*2;
		}
		stopX = stopX+(($('navi').getWidth()-breite)/2);

		if(!dur)	dur=3;
		var scrollAim = scrollBar.aim;
		
		var options = Object.extend({
	  		duration: dur,
			beforeStart: function()	{
		//Navi-Button : switch of
//		alert('Navi-Button : switch of');
				if($$('img[id=navi_button]')){
					$$('img[id=navi_button]').each(function(e){
						e.setOpacity(0.95);
/*
						e.setStyle({
							filter: 'alpha(opacity=50);-moz-opacity: 0.50;opacity: 0.50;'
						});
*/
					});
				}
				scrollingInProgress = true;		
			},
			afterFinish: function()	{
				checkPlayButton();
				scrollingInProgress = false;
				scrollBar.changeActive(scrollBar.aim.id.replace(/image/,''));
				if(value>0)	{
					new Effect.loadContent(value,true,{
						onSuccess: function()	{
							if(puffer.size()>0)	{
								value = puffer.first();
								puffer.shift();
								arrowclick(value,ref);
							}	else	{
								showArtTitle();
								if($('detailbox').getHeight()>14)	{
									new Effect.showDetails(false,true);
								}	else	{
									if(ref!="" && ref)	{
										if (scrollBar.aim == scrollAim) {
											new Effect.showDetails(false, false);
										}
									}
								}
							}
						}
					});
				}	else	{
					if(puffer.size()>0)	{
						value = puffer.first();
						puffer.shift();
						arrowclick(value,ref);
					}	else	{
						showArtTitle();
						if($('detailbox').getHeight()>14)	{
							new Effect.showDetails(false,true);
						}	else	{
							if(ref!="" && ref)	{
								new Effect.showDetails(false,false);
							}
						}			
					}			
				}
//		alert('Navi-Button : switch on');
		//Navi-Button : switch-on
				if($$('img[id=navi_button]')){
					$$('img[id=navi_button]').each(function(e){
						e.setOpacity(1);
					});
				}
				
			}
			
		}, arguments[3] || {});
	
		var effectQueue = new Array();
	
		if(scrollBar.activeImage)	{
			if(scrollBar.aim!=scrollBar.activeImage || (ref!="" && ref))	{
				if(value<0)	{
				}	else	{
					if(value>0 || !ref)	{
						stopX = stopX+scrollBar.aim.getWidth();	
					}
				}
	
				effectQueue.push(
					new Effect.Morph(scrollBar.activeImage,{
						sync: true,
						style:{
							height: '50%'
						}
					})
				);
				effectQueue.push(
					new Effect.Opacity(scrollBar.activeImage,{
						sync:true,
						to: 0.5,
						from: scrollBar.activeImage.getStyle('opacity')
					})
				);			
			}	else	{
				stopX = to-from;
				breite = breite/2;
				stopX = stopX+(($('navi').getWidth()-breite)/2);
			}
		}
	
		if(scrollBar.aim!=scrollBar.activeImage || (ref!="" && ref))	{
			effectQueue.push(
				new Effect.Morph(scrollBar.aim,{
					sync: true,
					style:{
						height: '100%'
					}
				})
			);
		}
	
		effectQueue.push(
			new Effect.Opacity(scrollBar.aim,{
				sync:true,
				to: 1,
				from: scrollBar.aim.getStyle('opacity')
			})
		);
	
		effectQueue.push(
			new Effect.Move(scrollBar.parent,{
				x:stopX,
				y:0,
				mode:'relative',
				sync: true	
			})
		);
	
		new Effect.Parallel(effectQueue,
			Object.extend(options)
		);
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

/**
 * Detailinfos zum aktiven Titel einblenden
 */
Effect.showDetails = function(kasse,noani,trailer)	{
	try	{
		document.body.style.cursor = "wait;"
		$(scrollBar.activeImage).setStyle({cursor: 'wait'});
		$('playbutton').setStyle({cursor: 'wait'});
	
		var myqueue = new Array();
		var element = $('detailbox');
		var child = $('detailcontent');
	
		var bottom = Position.page($('navi'))[1]-10;
		bottom = $('body').getHeight()-bottom;
	//	var bottom = Position.page(scrollBar.activeImage)[1];
	//	bottom = ($('body').getHeight()-(bottom + scrollBar.activeImage.getHeight())-2);
	
		urlArr = window.location.href.split("/");
		var url = "/";
		for(i=3;i<urlArr.length;i++)	{
			if(urlArr[i]!="")	{
				url += urlArr[i]+"/";
			}
		}
	
		if(!noani)	{
			element.setStyle({bottom: ''+bottom+'px'});
			child.setStyle({bottom: ''+bottom+'px'});
			breite = ($('body').getWidth()-320);
			breite = (breite/$('body').getWidth())*100;
			element.setStyle({width: ''+breite+'%'});
			child.setStyle({width: ''+breite+'%'});
		}
	
		var detailheight = ($('body').getHeight()/100)*75;
		if(element.getHeight()<=14 || noani)	{
			var options = Object.extend({
				onException:	function(a,e)	{
					alert(e);
					if(!activeX)	{
						errorhandling(null,"00009","Deine Browser-Einstellungen lassen die Ausführung von ActiveX-Objekten nicht zu.");								
					}	else	{
						errorhandling(e,e.number,e.message);
					}
				},
				onComplete: function()	{
					myqueue.push(
						new Effect.Morph(element,{
							sync: true,
							duration: 0.5,
							style:{
								height: detailheight+'px'
							}
						})
					);
					myqueue.push(
						new Effect.Morph(child,{
							sync: true,
							duration: 0.5,
							style:{
								height: detailheight+'px'
							},
							afterFinish: function()	{
								prozent = 78;
								if(/MSIE/.test(navigator.userAgent))	prozent=75;
								var height = (element.getHeight()/100)*prozent;
								$('detailtable').setStyle({height: '' + Math.floor(height) + 'px'});
								$('detailtable').setStyle({
									overflowY: 'auto'
								});
								$('detailtable').setStyle({
									width: '100%'
								});
								if ($('detailtable').getWidth()>160) {
									if ($('detailsubtable')) {
										$('detailsubtable').setStyle({
											width: '' + ($('detailtable').getWidth() - 160) + 'px'
										});
									}
								}	else	{
									//alert(puffer.size());
								}
							}
						})
					);
					new Effect.Parallel(myqueue,{
						beforeStart: function()	{
							if(!noani)	{
								element.toggle();
								child.toggle();
								border.render($('detailbox'));
							}						
						},
						afterFinish:	function()	{
							if (kasse) {
								$('detailsubtable').update("Systemvoraussetzungen werden überprüft.");
								if (/MSIE/.test(navigator.userAgent)) {
									artikelNr = scrollBar.activeImage.id.replace(/image/, '');
									new Ajax.Updater($('detailsubtable'), '/ajax/php/kasse.php?art=' + artikelNr, {
										onSuccess: function(transport){
											if (transport.responseText == "startPlayer") {
												startPlayer(artikelNr);
												new Effect.showDetails(false, true);
											}
											else {
												setEventHandler();
											}
										}
									});
								}
								else {
									errorhandling(null,"00001", "Leider ist die Nutzung unseres VoD-Angebots mit anderen Browsern als dem Internet Explorer unter Windows derzeit nicht möglich.");
									new Effect.showDetails(false, true);
								}
							}
							else {
								setEventHandler();
							}
							if(trailer)	initTrailer();
							document.body.style.cursor = "auto";
							$(scrollBar.activeImage).setStyle({cursor: 'pointer'});
							$('playbutton').setStyle({cursor: 'pointer'});
						}
					});
				}
			}, arguments[3] || {});
//			alert(url+'details.php?art='+scrollBar.activeImage.id+'&kasse='+kasse);
			new Ajax.Updater(child, url+'details.php?art='+scrollBar.activeImage.id+'&kasse='+kasse,
				Object.extend(options)
			);
		} else	{
			if($('trailer'))			$('trailer').remove();
			if($('vPlayer'))			$('vPlayer').remove();
			if($('player'))				$('player').remove();
			if($('playercontainer'))	$('playercontainer').remove();
			myqueue.push(
				new Effect.Morph(element,{
					sync: true,
					duration: 0.5,
					style:{
						height: '0px'
					}
				})
			);
			myqueue.push(
				new Effect.Morph(child,{
					sync: true,
					duration: 0.5,
					style:{
						height: '0px'
					}
				})
			);
			new Effect.Parallel(myqueue,{
				beforeStart: function()	{
					$('detailtable').setStyle({overflow:'hidden'});
				},
				afterFinish: function()	{
					element.toggle();
					child.toggle();
					document.body.style.cursor = "auto";
					$(scrollBar.activeImage).setStyle({cursor: 'pointer'});
					$('playbutton').setStyle({cursor: 'pointer'});
				}
			});
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

/**
 *	Anzeige des Kassenformulars
 */
function getCheckoutForm(kundenkonto){
	try{
//		blockall(true);
		if(activeX){
			if($('detailbox').getHeight()<=14){
				if(kundenkonto){
					new Effect.showDetails(false,false);
				}else{
					new Effect.showDetails(true,false);
				}
			}else{
				if($('trailer'))$('trailer').remove();
				if($('vPlayer'))$('vPlayer').remove();
				if($('player'))$('player').remove();
				if($('playercontainer'))$('playercontainer').remove();

				if(kundenkonto){
					new Ajax.Updater($('profil_kundenkonto'),'/ajax/php/kasse.php?profil=1');			
				}else{
					if(/MSIE/.test(navigator.userAgent)){
						var artikelNr = null;
						artikelNr = $(scrollBar.activeImage).id.replace(/image/, '');
							new Ajax.Updater($('detailsubtable'), '/ajax/php/kasse.php?art=' + artikelNr, {
								onSuccess: function(transport){
									if (transport.responseText == "startPlayer"){
										startPlayer(artikelNr);
										new Effect.showDetails(false, true);
									}
								}
							});
					}else{
						errorhandling(null,"00001","Leider ist die Nutzung unseres VoD-Angebots mit anderen Browsern als dem Internet Explorer unter Windows derzeit nicht möglich.");
//						new Effect.showDetails(false,true);
					}
				}	
			}
		}else{
//			alert(kundenkonto);
			if(kundenkonto == 'profil_kundenkonto'){	
				if($('detailbox').getHeight()>=14)	{
					//new Effect.showDetails(false,true);
					new Ajax.Updater('profil_kundenkonto','/ajax/php/kasse.php?profil=1',{
						onSuccess: function(transport){
						}
					});
				}	
			}else{
				if(/MSIE/.test(navigator.userAgent))	{
					errorhandling(null,"00009","Deine Browser-Einstellungen lassen die Ausführung von ActiveX-Objekten nicht zu.");								
				}	else	{
					errorhandling(null,"00001","Leider ist die Nutzung unseres VoD-Angebots mit anderen Browsern als dem Internet Explorer unter Windows derzeit nicht möglich.");
				}
			}	
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function checkCheckoutGutschein(betrag){
		if ($$('input[type="radio"]')) {
			$$('input[type="radio"]').each(function(s){
				s.checked=false;
			});			
		}
//		alert('cCoGutschein');
		checkCheckoutForm(betrag);
}

/**
 *	Prüfung des Kassenformulars
 */
function checkCheckoutForm(betrag)	{
//	if ($F('paypal')){
//		testhandler();
//		return;
//	}
	
	try	{
//		alert('cCoForm');
		var complete=false;
		if ($F('geldkarte')) {
			complete = true;
			$('gutscheincode').value = '';
		}
		if ($F('paypal')) {
			complete = true;
			$('gutscheincode').value = '';
		}
		if ($F('kundenkonto')) {
			complete = true;
			$('gutscheincode').value = '';
		}			
		if($('vtkonto')&&$('gutscheincode').value==''){
//		alert('cCoGutschein->vtkonto');
			complete = true;
			$('gutscheincode').value = '';
			var vtkonto = $('vtkonto_test').getElementsByClassName('zahlmethode');
			if(vtkonto){
				vtkonto.each(function(child)	{
	//				alert('each: '+child.getValue()+' oder '+$F(child));
					if($F(child))	{
						vtkonto = $F(child);
						throw $break;
					}
				});
			}
/*
			alert($F('vtkonto'));
			var vtkonto = $F('vtkonto').id;
*/
		}
		if($('gutscheincode').value!=''){
//			alert('cCoGutschein: '+$('gutscheincode').value);
			complete=true;
		}
		
		if(!complete)	{
			errorhandling(null,"00012","Bitte wähle eine Bezahlart aus.");
		}else if(1==0){
			errorhandling(null,"00012","Der Bezahlvorgang funktioniert zur Zeit leider nicht. Wir bitten um Entschuldigung für die Unannehmlichkeiten und arbeiten an einer Lösung des Problems");
		}	else	{
			if($('gutscheincode').value!=''){
//				errorhandling(null,"00003","Der von dir eingegebene Gutscheincode ist ungültig");
				new Ajax.Updater($('detailsubtable'),'/ajax/php/gutschein.php?gCode='+$('gutscheincode').value,{
					onCreate: function()	{
						$('detailsubtable').update('Der Film wird abgerufen');
					},
					onSuccess: function(transport)	{
						if (transport.responseText.match(/Fehler/))	{
							$('detailsubtable').update('Fehler');
							errorhandling(null,"00004","Beim Einlösen des Gutscheins ist ein Fehler aufgetreten, Bitte wende dich an den <a href=/home/10>Support</a>");
						}
					}
				});
			}	else	{
				if($F('geldkarte'))	{
//					alert(betrag);
					new Ajax.Updater($('detailsubtable'),'/ajax/php/geldkarte.php?b='+betrag,{
						onCreate: function()	{
							$('detailsubtable').update('Verbindung zur Geldkarte wird hergestellt');
						},
						onSuccess: function(transport)	{
							if (transport.responseText.match(/Fehler/))	{
								$('detailsubtable').update('Fehler');
								errorhandling(null, "00004", "Bei der Bezahlmethode 'Geldkarte' ist ein Fehler aufgetreten. Bitte wende dich gegebenenfalls an den <a href=/home/16>Support</a>");
							}
						}
					});
				}
				else if($F('paypal'))	{
					new Ajax.Updater($('detailsubtable'),'/ajax/php/paypal.php?source=1&b='+betrag,{
						onCreate: function()	{
							$('detailsubtable').update('Verbindung zu PayPal wird hergestellt');
						},
						onSuccess: function(transport)	{
							if (transport.responseText.match(/Fehler:/))	{
								$('detailsubtable').update('Fehler');
								if(transport.responseText.match(/Anmeldung/)){
									errorhandling(null,"00005","Für diesen Vorgang musst Du eingeloggt sein");									
								}else if(transport.responseText.match(/FSK18/)){
									errorhandling(null,"00005","Für diesen Vorgang benötigst Du eine FSK18-Freischaltung");
								}
							}
						}
					});
				}
				else if($F('kundenkonto'))	{
					new Ajax.Updater($('detailsubtable'),'/ajax/php/kundenkonto.php',{
						onCreate: function()	{
							$('detailsubtable').update('Verbindung zu Kundenkonto wird hergestellt');
						},
						onSuccess: function(transport)	{
							if (transport.responseText.match(/Fehler/))	{
								$('detailsubtable').update('Fehler');
							}
						}
					});
				}
				else if($F('vtkonto'))	{
					new Ajax.Updater($('detailsubtable'),'/ajax/php/vtkonto.php?b='+betrag+'&k=vtkonto'+vtkonto,{
						onCreate: function()	{
							$('detailsubtable').update('Verbindung zu VTKonto wird hergestellt');
						},
						onSuccess: function(transport)	{
							if (transport.responseText.match(/Fehler/))	{
								$('detailsubtable').update('Fehler');
							}
						}
					});
				}
			}
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function initGeldkarteAVS(url,s)	{
	try	{
		if(arguments.length<2){
			s=arguments[0];
			$(s).update('Die Prüfung wird gestartet.');
			new Ajax.Updater($(s),'/ajax/php/geldkarte.php?source=2&avs=0',{
				onCreate: function(){
					$(s).update('Verbindung zur Geldkarte wird hergestellt');
				},
				onSuccess: function(transport){
//					alert('Parameter: '+transport);
					if (transport.responseText.match(/Fehler/))	{
						$(s).update('Fehler');
						errorhandling(null, "00004", "Bei der Prüfung ist ein Fehler aufgetreten. Bitte wende dich gegebenenfalls an den <a href=/home/16>Support</a>");
					}else{
						$(s).update('Die Prüfung wird gestartet.');
					}
				}
			});
		}else{
			writeStats('insert');
			var gkfenster = window.open(url,'geldkarte','width=400,height=280,status=0,scrollbars=1');
			tid = url.split("tid=");
			tid = tid[1];
			$(s).update('<center>Bitte folge den Anweisungen im Geldkarten-Fenster</center>');
			new PeriodicalExecuter(function(pe) {
				if(gkfenster.closed)	{
					pe.stop();
					new Ajax.Request('/ajax/php/geldkarte.php?check='+tid,{
						onSuccess: function(transport)	{
							if(transport.responseText==200)	{
//								if(s=='profil_einstellungen'){
//									$(s).update('Die Altersverifikation wurde erfolgreich abgeschlossen');
//								}else{
									new Ajax.Updater($(s),'/ajax/php/geldkarte.php?avs=1&return',{
										onCreate: function()	{
											$(s).update('Verbindung zur Geldkarte wird hergestellt');
										},
										onSuccess: function(transport)	{
											if (transport.responseText.match(/Fehler/))	{
												$(s).update('Fehler');
											}else{
												$(s).update('Die Prüfung auf Volljährigkeit ist abgeschlossen.');
											}
										}
									});							
//								}
							}else{
								$(s).update("<center>Altersverifikation fehlgeschlagen <a href=/home/10>zurück zu den <u>Profil-Einstellungen</u></a></center>");
								if(s == 'profil_kundenkonto' || s == 'profil_einstellungen'){
									errorhandling(null,"00004","Der Vorgang ist fehlgeschlagen. Bitte wende dich an den <a href=/home/16>Support</a>");
								} else {
									errorhandling(null,"00004","Um diesen Film zu schauen musst Du die Altersverifikation abschliessen oder dich einloggen und für den fsk18-Bereich freigeschaltet sein.");	
								}
							}
						}
					});	
				}
			}, 1);
		}
		
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function initGeldkarte(url,s)	{
	try	{
		writeStats('insert');
		var gkfenster = window.open(url,'geldkarte','width=400,height=280,status=0,scrollbars=1');
		tid = url.split("tid=");
		tid = tid[1];
		new PeriodicalExecuter(function(pe) {
			if(gkfenster.closed){
				new Ajax.Request('/ajax/php/geldkarte.php?check='+tid,{
					onSuccess: function(transport){
						pe.stop();
						if(transport.responseText==200){
							var jetzt = new Date();
							time = jetzt.getTime();
							licObjekt = "<object classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062'"
	         					+"height='0' width='0' id='LicenseObj'></object>";
							$(s).update(licObjekt);
							var clientInfo = submitClientInfo(time,1);
							var si = LicenseObj.GetSystemInfo();
							if(!clientInfo.match(/Fehler/)){
								if (s == 'detailsubtable') {
									artikelNr = scrollBar.activeImage.id.replace(/image/,'');
									new Ajax.Request('/ajax/php/tiscali.php?save=' + clientInfo + '&kauf=1&artikelNr=' + artikelNr, {
										onSuccess: function(transport){
											if (transport.responseText > 0) {
												getLicense(artikelNr, transport.responseText, "");
											}
											else {
												errorhandling(null, "00004", "Beim Speichern der Lizenzinformationen ist ein Fehler aufgetreten.\n\n" + transport.responseText);
											}
										}
									});
								}else{
									new Ajax.Request('/ajax/php/kontoaufladen.php', {
										onSuccess: function(transport){
											if (transport.responseText == 500) {
												errorhandling(null, "00004", "Fehler beim Aufladen des Kontos.\n\n" + transport.responseText);
												getCheckoutForm(s);
											}else{
												getCheckoutForm(s);
											}
										}
									});
								}	
							}else{
								errorhandling(null,"00011","Beim Sammeln der benötigten Informationen für die Erstellung der Lizenz ist ein Fehler aufgetreten.");
							}				
						}else{
							if (s == 'detailsubtable') {
								getCheckoutForm();
								errorhandling(null, "00004", "Der Bezahlvorgang per Geldkarte ist fehlgeschlagen.");
							}else{
								getCheckoutForm(s);
								errorhandling(null, "00004", "Der Aufladevorgang per Geldkarte ist fehlgeschlagen.");
							}
						}
					}
				});	
			}
		}, 1);
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function testhandler()	{
	alert("diese Bezahlmöglichkeit wird zur Zeit überarbeitet und ist von daher nicht zu benutzen!\nDanke für Euer Verständnis.");
}

function initPayPal(s){
	try	{
		writeStats('insert');
		var jetzt = new Date();
		time = jetzt.getTime();

		var parameter = "width=800,"
			+"height=600,"
			+"location=1,"
			+"menubar=0,"
			+"toolbar=0,"
			+"status=0,"
			+"scrollbars=1";

		var ppfenster = window.open('about:blank','ppFenster',parameter);
//		setTimeout(function() {
//    		ppfenster.onunload = function() {
//				alert("Unload");
//	    	}
//		  }, 0);
/*		temptext = "<iframe name=ppFenster id=ppFenster src='about:blank' style='"
			+"position:absolute;"
			+"top:0px;"
			+"left:0px;"
			+"width:100%;"
			+"height:200px;"
			+"z-Index:1000;"
		+"'></iframe>";
		new Insertion.Top($('body'),temptext);
		var ppfenster = $('ppFenster'); */
		ppForm.submit();
				
		licObjekt = "<object classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062'"
	         		+"height='0' width='0' id='LicenseObj'></object>";
		$(s).update(licObjekt);
		var clientInfo = submitClientInfo(time,1);
		var si = LicenseObj.GetSystemInfo();	
		
		var error = false;
		var success = false;
		
		new PeriodicalExecuter(function(pe){
			try{
				if(ppfenster.location.href.match(/error/)){
					error=true;
					ppfenster.close();
					if (s == 'profil_kundenkonto'){
						errorhandling(null,"00005","Der Aufladevorgang wurde abgebrochen");
						getCheckoutForm('profil_kundenkonto');
					}else{
						errorhandling(null,"00005","Bezahlvorgang wurde abgebrochen");
						getCheckoutForm();
					}
					pe.stop();
				}
				if(ppfenster.location.href.match(/success/))	{
					success = true;
					var text = 	ppfenster.location.href;
					arrDatei = text.split("/");				
					tempDatei = arrDatei[arrDatei.length-1];
					tempDatei = tempDatei.split("?");
					tempDatei = tempDatei[0];			
					new Ajax.Request('/ajax/php/paypal.php?var=ppfenster.location.href&check=1&temp='+tempDatei,{
						onComplete: function(transport)	{
							if(transport.responseText>0)	{
								artikelNr = scrollBar.activeID;
								if(s=='detailsubtable'){
									new Ajax.Request('/ajax/php/tiscali.php?save='+clientInfo+'&kauf=1&payment=pp&artikelNr='+artikelNr,{
										onSuccess: function(transport)	{
											if(transport.responseText>0)	{
												getLicense(artikelNr,transport.responseText);									
											}else{
												errorhandling(null,"00004","Beim Speichern der Lizenzinformationen ist ein Fehler aufgetreten.\n\n"+transport.responseText);				
											}
										}
									});
								}else{
									new Ajax.Updater($(s),'/ajax/php/kontoaufladen.php',{						
										onSuccess: function(transport){
											if(transport.responseText==500){
												errorhandling(null,"00004","Fehler beim Aufladen des Kontos.\n\n"+transport.responseText);									
											}
										}
									});
								}								
							}else{
								errorhandling(null,"00006","Ungültige Transaktionsnummer.");		
							}
						}
					});			
					ppfenster.close();
					pe.stop();
				}			
			}	catch(e)	{
	//			alert(e.message);
//				errorhandling(e,e.number,e.message);	
			}
			if(ppfenster.closed && !error && !success)	{
				if (s == 'profil_kundenkonto') {
					errorhandling(null,"00005","Der Aufladevorgang wurde abgebrochen");
					getCheckoutForm('profil_kundenkonto');
				}else{
					errorhandling(null,"00005","Bezahlvorgang wurde abgebrochen");
					getCheckoutForm();
				}
				pe.stop();
			}
		}, 1);
	}	catch(e)	{
		if(ppfenster)	ppfenster.close();
		errorhandling(e,e.number,e.message);	
	}
}

function initGutschein(){
	try	{
		writeStats('insert');
		var jetzt = new Date();
		time = jetzt.getTime();
			
		licObjekt = "<object classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062'"
	         		+"height='0' width='0' id='LicenseObj'></object>";
		$('detailsubtable').update(licObjekt);
		
		var clientInfo = submitClientInfo(time,1);;
		var si = LicenseObj.GetSystemInfo();
																		
		if(!clientInfo.match(/Fehler/))	{
			artikelNr = scrollBar.activeID;
			new Ajax.Request('/ajax/php/tiscali.php?save='+clientInfo+'&kauf=1&artikelNr='+artikelNr,{
				onSuccess: function(transport)	{
					if(transport.responseText>0)	{
						getLicense(artikelNr,transport.responseText,"gutschein");									
					}	else	{
						errorhandling(null,"00004","Beim Speichern der Lizenzinformationen ist ein Fehler aufgetreten.\n\n"+transport.responseText);	
					}
				}
			});	
		}	else	{
			errorhandling(null,"00011","Beim Sammeln der benötigten Informationen für die Erstellung der Lizenz ist ein Fehler aufgetreten.");
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function initKundenkonto(){
	try	{
		writeStats('insert');
		var jetzt = new Date();
		time = jetzt.getTime();
			
		licObjekt = "<object classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062'"
	         		+"height='0' width='0' id='LicenseObj'></object>";
		$('detailsubtable').update(licObjekt);
		
		var clientInfo = submitClientInfo(time,1);;
		var si = LicenseObj.GetSystemInfo();
						
		if(!clientInfo.match(/Fehler/))	{
			artikelNr = scrollBar.activeID;
//			alert(clientInfo);
			new Ajax.Request('/ajax/php/tiscali.php?save='+clientInfo+'&kauf=1&artikelNr='+artikelNr,{
				onSuccess: function(transport)	{
					if(transport.responseText>0)	{
						getLicense(artikelNr,transport.responseText,"kundenkonto");									
					}	else	{
						errorhandling(null,"00004","Beim Speichern der Lizenzinformationen ist ein Fehler aufgetreten.\n\n"+transport.responseText);	
					}
				}
			});	
		}	else	{
			errorhandling(null,"00011","Beim Sammeln der benötigten Informationen für die Erstellung der Lizenz ist ein Fehler aufgetreten.");
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function initvtkonto(){
	try	{
		writeStats('insert');
		var jetzt = new Date();
		time = jetzt.getTime();
							
		licObjekt = "<object classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062'"
	         		+"height='0' width='0' id='LicenseObj'></object>";
		$('detailsubtable').update(licObjekt);
		var clientInfo = submitClientInfo(time,1);
		var si = LicenseObj.GetSystemInfo();	
		//Auftrag schreiben 
		new Ajax.Request('/ajax/php/vtkonto.php?status=1',{																
			onSuccess: function(transport)	{
//				alert('transport: '+transport.responseText);		
				if(transport.responseText=="200"){
					if(!clientInfo.match(/Fehler/))	{
						artikelNr = scrollBar.activeID;
						new Ajax.Request('/ajax/php/tiscali.php?save='+clientInfo+'&kauf=1&artikelNr='+artikelNr,{
							onSuccess: function(transport)	{
								if(transport.responseText>0)	{
//									alert(artikelNr+" : "+transport.responseText+" : vtkonto");
									getLicense(artikelNr,transport.responseText,"vtkonto");									
								}	else	{
									errorhandling(null,"00004","Beim Speichern der Lizenzinformationen ist ein Fehler aufgetreten.\n\n"+transport.responseText);	
								}
							}
						});	
					}	else	{
						errorhandling(null,"00011","Beim Sammeln der benÃ¶tigten Informationen fÃ¼r die Erstellung der Lizenz ist ein Fehler aufgetreten.");
					}
				}	else {
//					alert(transport.responseText);
					errorhandling(null,"00011","Auftrag konnte nicht geschrieben werden. "+transport.responseText);
				}
			}
		});
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function kundenKontoBelastung(betrag){
	try	{
		writeStats('insert');
		new Ajax.Updater($('detailsubtable'),'/ajax/php/kundenkonto.php?b='+betrag,{
			onCreate: function()	{
				$('detailsubtable').update('Verbindung zu Kundenkonto wird hergestellt');
			},
			onSuccess: function(transport)	{
				if (transport.responseText.match(/Fehler/))	{
					$('detailsubtable').update('Fehler');
				}
			}
		});
	}catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function getLicense(artikelNr,id,kundenkonto)	{
	try	{
//		blockall(true);
		if ($('blockcontrol') && 1==0) {
			$('blockcontrol').update("Lizenz wird erstellt");
		}
		else {
			$('detailsubtable').update("Lizenz wird erstellt");
		}
		new PeriodicalExecuter(function(pe2) {
			new Ajax.Request('/ajax/php/tiscali.php?get='+id,{
				onSuccess: function(transport)	{
					if(transport.responseText!="waiting")	{
						if($('blockcontrol') && 1==0){
							$('blockcontrol').update("Lizenz wird abgerufen");
						}else{
							$('detailsubtable').update("Lizenz wird abgerufen");
						}
						temptext = "<iframe name=licFrame id=licFrame src="+transport.responseText+" width=0 height=0></iframe>";
						new Insertion.Top($('body'),temptext);
						new PeriodicalExecuter(function(pe3) {
							if(window.licFrame.errnum!="undefined")	{
//									alert('Fehler: '+window.licFrame.errnum);
								if(window.licFrame.errnum>0)	{
									errorhandling(null,window.licFrame.errnum,window.licFrame.error);	
									pe3.stop();
									temptext = "<b>Fehlernummer: "+window.licFrame.errnum+"</b><br>"
										+window.licFrame.error;
									$('detailsubtable').update(temptext);
									$('licFrame').remove();
								}else if(window.licFrame.errnum==0)	{
									$('licFrame').remove();
									writeStats();														
									pe3.stop();														
								}
							}
						},1);
						pe2.stop();
					}
				}
			});
		},2);
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function writeStats(setentry){
	//Film in die Stats eintragen
	if (arguments.length > 0){
		if(setentry=='insert'){
			new Ajax.Request('/ajax/php/writeStats.php?setentry='+setentry,{
				onSuccess: function(transport)	{
					if(transport.responseText=="200")	{
//						alert('stats writen');
					}	else	{
						errorhandling(null,"00007","Fehler beim Schreiben der Logs.\n"+transport.responseText);
					}
				}
			});
		}
	}else{
		new Ajax.Request('/ajax/php/writeStats.php?setentry=update',{
			onSuccess: function(transport)	{
				if(transport.responseText=="200")	{
//						alert('stats updated ');
					if(!$('profil_kundenkonto')){
						$('detailsubtable').update("");
						startPlayer(artikelNr);
					}else{
						$('profil_kundenkonto').update("");
					}
					//new Effect.showDetails(false,false);	
				}	else	{
					errorhandling(null,"00007","Fehler beim Schreiben der Statistik<br />Bitte wende dich an den <a href=/home/16>Support</a>.\n");
				}
			}
		});	
	}
}

function playerConfirmStop(){
//	alert($('vPlayer').currentMedia.name);
	if(confirm('Den Player wirklich beenden?')){
		playerStop();
		return true;
	}
	else return false;
}
function playerStop(){
	if ($('vPlayer')) {
//	alert('playingArtikelNr: '+playingArtikelNr);
		text = "CLOSE_THIS_PLAYER\r\n";
		text += "WMP-Version: " + vPlayer.versionInfo + "\r\n";
		text += "RURL: " + vPlayer.URL + "\r\n";
		text += "Bandbreite: " + vPlayer.network.bandWidth + "\r\n";
		text += "Bitrate: " + vPlayer.network.bitRate + "\r\n";
		text += "Download-Fortschritt: " + vPlayer.network.downloadProgress + "%\r\n";
		text += "Uebersprungene Frames: " + vPlayer.network.framesSkipped + "\r\n";
		text += "Maximale Bandbreite: " + vPlayer.network.maxBandwidth + "\r\n";
		text += "Maximale Bitrate: " + vPlayer.network.maxBitRate + "\r\n";
		new Ajax.Request('/ajax/php/savePlayerStats.php?art=' + playingArtikelNr + '&info=' + base64_encode(text), {
			onSuccess: function(transport){
				if(transport.responseText == 200){
					$('vPlayer').stop;
					$('playercontainer').toggle();
					$('vPlayer').remove();
					$('player').remove();
					$('playercontainer').remove();
					playingArtikelNr = 0;
				}else{
					if(confirm('Fehler beim schliessen des Players \r\nDen Player trotzdem beenden?')){
						$('vPlayer').stop;
						$('playercontainer').toggle();
						$('vPlayer').remove();
						$('player').remove();
						$('playercontainer').remove();
						playingArtikelNr = 0;
					}
				}
			}
		});
	}
	else {
		alert('no more Player');
	}
//	blockall(false);
}
function playerFullscreen(){
//	alert('Status: '+$('vPlayer').playState);
	if($('vPlayer')){
		if($('vPlayer').playState == 1 || $('vPlayer').playState == 2 ||  $('vPlayer').playState == 3 || $('vPlayer').playState == 6){
			$('vPlayer').fullScreen=true;
			//return true;
		}
		else alert('Bitte abwarten bis der Player bereit ist');
	}
	else return false;
}
function startPlayer(artikelNr)	{
	try	{
		text ="<div id=playercontainer class=playercontainer "
			+">\n"
			+"<div id=shadow>"
				+"<!--[if !IE]>"
				+"-->"
					+"<img src='http://vod.videotaxi.de/images/1500x1500-shadow.png' style='"
						+"border: 0;"
						+"position:absolute;"
						+"left:0px;"
						+"top:0px;"
						+"width: 100%;"
						+"height: 100%;'"
					+"/>"
				+"<![endif]-->"			
			+"</div>"
			+"<div id=player>\n"
			+"</div>"			
		+"</div>";
		if($('body'))	{
			new Insertion.Bottom($('body'),text);
			breite = $('player').getWidth();
			new Ajax.Updater($('player'),'/ajax/php/player.php?a='+artikelNr+'&stream=false&b='+breite,{
				insertion: Insertion.Top,												
				onComplete: function()	{
					new Event.observe(window,'unload',savePlayerStats);
//					vPlayer.network.bufferingTime = 50000;
//					actState = vPlayer.playState;
					playingArtikelNr = artikelNr;
					vPlayer.attachEvent("StatusChange", savePlayerStats);
//					vPlayer.StatusChange();
/*					new PeriodicalExecuter(function(playerCheck) {
						if(actState!=vPlayer.playState)	{
//							new Ajax.Request('/ajax/php/savePlayerStats.php?art='+artikelNr+'&status='+vPlayer.playState);
							switch(vPlayer.playState)	{
								case 0:
//									playerState[artikelNr] = vPlayer.playState;
//									alert("Status geändert.\nNeuer Status: Unbekannt");
									break;
								case 1:
//									alert("Status geändert.\nNeuer Status: Film angehalten");
									break;
								case 2:
//									alert("Status geändert.\nNeuer Status: Film pausiert");
									break;
								case 3:
//									alert("Status geändert.\nNeuer Status: Film gestartet");
									break;
								case 4:
//									alert("Status geändert.\nNeuer Status: Film spult vor");
									break;
								case 5:
//									alert("Status geändert.\nNeuer Status: Film spult zurück");
									break;
								case 6:
//									alert("Status geändert.\nNeuer Status: Film puffert");
									break;
								case 7:
//									alert("Status geändert.\nNeuer Status: Warte auf Medium");
									break;
								case 8:
//									alert("Status geändert.\nNeuer Status: Film komplett abgespielt");
									break;
								case 9:
//									alert("Status geändert.\nNeuer Status: Neuer Film wird vorbereitet");
									break;
								case 10:
//									alert("Status geändert.\nNeuer Status: Film kann gestartet werden");
									break;
								case 11:
//									alert("Status geändert.\nNeuer Status: Verbindungswiederherstellung");
									break;																																																																																								
							}
							actState=vPlayer.playState;
						}
					},1);*/

	/*				var x=0;
					new PeriodicalExecuter(function(playerCheck) {
						if(x==0)	{
							new Ajax.Updater($('guthabeninfo'),'/ajax/php/minutenabrechnung.php');
						}	else if(x==1)	{
							new Ajax.Updater($('guthabeninfo'),'/ajax/php/minutenabrechnung.php',{
								onFailure: function(transport)	{
									alert("Fehler");
								},
								onSuccess: function(transport)	{
									$('detailsubtable').update("netter Versuch");
								},
								onUninitialized: function(transport)	{
									alert("Nicht initialisiert");
								}
							});
							savePlayerState();
							playerCheck.stop();
						}
						x++;
					},20);*/
				}
			});
		}	else	{
			document.write(text);
		}
	
	/*	$('detailsubtable').update("");
		breite = $('detailsubtable').getWidth();
									
		new Ajax.Updater($('detailsubtable'),'/ajax/php/player.php?a='+artikelNr+'&stream=true&b='+breite,{
			insertion: Insertion.Top,												
			onSuccess: function()	{
				heimkino_init();
				var x=0;*/
	/*			new PeriodicalExecuter(function(playerCheck) {
					if(x==0)	{
						new Ajax.Updater($('guthabeninfo'),'/ajax/php/minutenabrechnung.php');
					}	else if(x==1)	{
						new Ajax.Updater($('guthabeninfo'),'/ajax/php/minutenabrechnung.php',{
							onFailure: function(transport)	{
								alert("Fehler");
							},
							onSuccess: function(transport)	{
								$('detailsubtable').update("netter Versuch");
							},
							onUninitialized: function(transport)	{
								alert("Nicht initialisiert");
							}
						});
						savePlayerState();
						playerCheck.stop();
					}
					x++;
				},20);*/
	/*		}
		});*/
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function savePlayerStats()	{
	if ($('vPlayer')) {
		new Ajax.Request('/ajax/php/savePlayerStats.php?art=' + playingArtikelNr + '&status=' + escape(vPlayer.playState + " - " + vPlayer.status));
		if (vPlayer.playState == 1 || vPlayer.playState == 2 || vPlayer.playState == 6) {
			text = "WMP-Version: " + vPlayer.versionInfo + "\r\n";
			text += "URL: " + vPlayer.URL + "\r\n";
			text += "Bandbreite: " + vPlayer.network.bandWidth + "\r\n";
			text += "Bitrate: " + vPlayer.network.bitRate + "\r\n";
			text += "Download-Fortschritt: " + vPlayer.network.downloadProgress + "%\r\n";
			text += "Uebersprungene Frames: " + vPlayer.network.framesSkipped + "\r\n";
			text += "Maximale Bandbreite: " + vPlayer.network.maxBandwidth + "\r\n";
			text += "Maximale Bitrate: " + vPlayer.network.maxBitRate + "\r\n";
//			text += "Empfangsqualitaet: " + vPlayer.network.receptionQuality + "\r\n";
			new Ajax.Request('/ajax/php/savePlayerStats.php?art=' + playingArtikelNr + '&info=' + base64_encode(text));
		}
	}
}

function blockall(chArgument){
	if(arguments.length>0){
		if (chArgument == true){
			text = "<div id='blockcontrolcontainer' onClick=\"blockall(false);\" style='cursor:wait;z-Index:666;width:100%;height:100%;position:absolute;background-color:#000;opacity:0.3;' title='Lizenz wird abgerufen'>\n"
				+"<!--img src='http://vod.videotaxi.de/images/2x2px-black-halbtransparent.png' style='"
					+"border: 0;"
					+"position:absolute;"
					+"left:0px;"
					+"top:0px;"
					+"width: 100%;"
					+"height: 100%;'"
				+"/-->"
				+"&nbsp;<!--div id='blockcontrol' style='text-align:center;display:none;font-size:20;opacity:0.70;background-color:red;border:1px solid #00f;color:white;'><B>Lizenz wird erstellt</B> <br />bitte einen Moment Geduld</div-->&nbsp;</div>";
			new Insertion.Top($('body'),text);
			Effect.Grow('blockcontrolcontainer');
//			alert('didit');
		}else if(chArgument == false){
			if($('blockcontrol')||$('blockcontrolcontainer')){
//				$('blockcontrol').hide();
//				$('blockcontrol').remove();
				$('blockcontrolcontainer').hide();
				$('blockcontrolcontainer').remove();
			}
			if($$('blockcontrol')||$('blockcontrolcontainer')){
//					$$('blockcontrol').each(function(e){
//						e.hide();
//						e.remove();
//					});
					$$('blockcontrolcontainer').each(function(e){
						e.hide();
						e.remove();
					});
				}
		}
	}
}

function errorhandling(errobject,errnum,error)	{
	var errorborder = RUZEE.ShadedBorder.create({corner:10, edges:'tlbr', border:2});
	
	var callingFunc = errorhandling.caller;
	var callingFuncName = '';
	if (callingFunc) {
		var callingFuncName = callingFunc.toString().split('(')[0].replace('function', 'Funktion');
	}
	if($('vPlayer')){
		playerStop();
	}
	if(!errnum)	error=errobject;
	i=0;
while($('errorhandling'+i)) {
	i++;
//	alert('erneuter Fehler: '+(i));
}
	text = "<div id=errorhandling"+i+" class=errcontainer onClick=\"$('errorhandling"+i+"').remove();\" style='cursor:pointer;' title='click to close'>\n";
		text+="<div id=shadow>"
			+"<!--[if !IE]>"
			+"-->"
//			+"<object data='/images/100x100-shadow.svg' width='100%' height='100%' style='background-color:green;'></object>"
				+"<img src='http://vod.videotaxi.de/images/1500x1500-shadow.png' style='"
					+"border: 0;"
					+"position:absolute;"
					+"left:0px;"
					+"top:0px;"
					+"width: 100%;"
					+"height: 100%;'"
				+"/>"
			+"<![endif]-->"			
		+"</div>"
		+"<div id=errbody class='errbody-partial sb'>\n"
			+"<span><b>Während der Ausführung ist ein Fehler in "+callingFuncName+" aufgetreten.</b><br><br>\n"
			+"<b>Fehlernummer:</b> "+errnum+"<br>"
			+"<b>Beschreibung:</b> "+error+"<br>\n"		
			+"</span><br>\n"
		+"</div>"			
	+"</div>";

	if($('body'))	{
		new Insertion.Bottom($('body'),text);
		new Ajax.Request('/ajax/php/contexthilfe.php?e='+errnum+'&desc='+error,{
			onException: function()	{
				if(errnum=="00009")	{
					text = "<br><p><b>Zusätzliche Informationen:</b><br>";
					text += "Um VoD benutzen zu können, musst du in deinem Browser die "
					+"ActiveX-Unterstützung einschalten.<br>"
					+"Das verwendete ActiveX-Objekt prüft, ob die Version deines "
					+"Windows Media Players mit dem VoD-System kompatibel ist.<br>"
					+"Es werden dabei keine persönlichen Daten ausgelesen oder übermittelt. "
					+"Zum Einschalten der ActiveX-Unterstützung klicke im Menü des "
					+"Internet Explorer auf `Extras`->`Internetoptionen`->`Sicherheit`"
					+"->`Stufe anpassen`. Dort ändere bitte die Eigenschaften unter "
					+"`ActiveX-Steuerlement und Plugins` auf `Aktivieren` oder "
					+"`Eingabeaufforderung`, wenn du vor der Nutzung eines "
					+"ActiveX-Elements gefragt werden möchtest.<br><br>"
					+"Danach aktualisiere bitte diese Seite, damit die Änderungen "
					+"übernommen werden.</p>"
					new Insertion.Bottom($('errbody'),text);
				}	else	{
					errorhandling(null,errnum,error);
				}				
				errorborder.render($('errbody'));
			},
			onSuccess: function(transport)	{
				new Insertion.Bottom($('errbody'),transport.responseText);
				errorborder.render($('errbody'));
			}
		});
	}else{
		document.write(text);
	}
}

function startSlideShow(artikelNr,screenID)	{
	try	{
		if ($('trailer')){
		 	$('trailer').remove();
		}
		var slideshowborder = RUZEE.ShadedBorder.create({corner:10, edges:'tl', border:2});
		var clickbarborder = RUZEE.ShadedBorder.create({corner:10, edges:'br', border:2});
		
		text = "<div id=slideshow class=errcontainer onClick=\""
	//				+"$('slideshowContent').remove();"
	//				+"$('slideshow').remove();"
				+"\">\n"
			+"<div id=shadow>"
				+"<!--[if !IE]>"
				+"-->"
	//			+"<object data='/images/100x100-shadow.svg' width='100%' height='100%' style='background-color:green;'></object>"
					+"<img src='http://vod.videotaxi.de/images/1500x1500-shadow.png' style='"
						+"border: 0;"
						+"position:absolute;"
						+"left:0px;"
						+"top:0px;"
						+"width: 100%;"
						+"height: 100%;'"
					+"/>"
				+"<![endif]-->\n"						
			+"</div>"
			+"<div id=slideshowContent class='slideshow-partial sb' onClick=\""
				+"$('slideshowContent').remove();"
				+"$('slideshow').remove();\""
				+"style='overflow:hidden;white-space:nowrap;cursor:pointer;'>\n"
			+"</div>"
			+"<div id=clickBar class='clickBar-partial sb' "
				+"style='overflow:hidden;white-space:nowrap;'>\n"
					+"<div id=screenshots></div>"
			+"</div>"			
		+"</div>";	
		if($('body'))	{
			new Insertion.Bottom($('body'),text);
			
			new PeriodicalExecuter(function(checkWindows)	{
				if($('slideshowContent'))	{
					new Ajax.Updater($('slideshowContent'),"/ajax/php/slideshow.php?artikelNr="+artikelNr+"&screenID="+screenID,{
						insertion: Insertion.Top,
						onSuccess:	function()	{
							new PeriodicalExecuter(function(pe)	{
								if($('cover'))	{
									alte_hoehe = $('cover').getHeight();
									neue_hoehe = $('slideshowContent').getHeight();
									ratio = neue_hoehe/alte_hoehe;
									
									if((($('cover').getWidth()*ratio)*2)>$('slideshowContent').getWidth())	{
										ratio = (($('slideshowContent').getWidth()/2)-5)/$('cover').getWidth();
									}
									
									$('cover').setStyle({height:''+($('cover').getHeight()*ratio)+'px'});
									$('backcover').setStyle({height:''+($('backcover').getHeight()*ratio)+'px'});
									
									if($('cover').getHeight()<$('slideshowContent').getHeight())	{
										marginTop = (($('slideshowContent').getHeight()-$('cover').getHeight())/2)
										$('cover').setStyle({marginTop:''+marginTop+'px'});
										$('backcover').setStyle({marginTop:''+marginTop+'px'});						
									}
									
									marginLeft = (($('slideshowContent').getWidth()-($('cover').getWidth()*2))/2)
									$('cover').setStyle({marginLeft:''+marginLeft+'px'});						
									pe.stop();
								}
								if($('screenshot'))	{
									$('screenshot').setStyle({marginTop:'2.5%'});
									$('screenshots').setStyle({height: ''+($('clickBar').getHeight()-4)+'px'});
									
									centerScreenshot();
									
									new Ajax.Updater($('screenshots'),"/ajax/php/slideshow.php?artikelNr="+artikelNr+"&screenID="+screenID+"&all=true",{													
										insertion: Insertion.Top,
										onSuccess: function()	{
											new PeriodicalExecuter(function(pe2)	{
												marginLeft = (($('clickBar').getWidth()-$('screenshots').getWidth())/2);
												$('screenshots').setStyle({left:''+marginLeft+'px'});
												pe2.stop();
											},1);
										}
									});
									slideshowborder.render($('slideshowContent'));
									clickbarborder.render($('clickBar'));								
									pe.stop();
								}					
							},0.5);
						}
					});
					checkWindows.stop();
				}
			},1);
		}	else	{
			document.write(text);
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function centerScreenshot()	{
	try	{
		marginLeft = (($('slideshowContent').getWidth()-$('screenshot').getWidth())/2);
		$('screenshot').setStyle({marginLeft:''+marginLeft+'px'});
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function swapScreenshot(value)	{
	try	{
		$('screenshot').src=value;
		centerScreenshot();
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

/**
 * Nachladen des Contents
 */
Effect.loadContent = function(value,menu)	{
	try	{
		var myqueue = new Array();
		var steps = value;
	
		urlArr = window.location.href.split("/");
		var url = "/";
		for(i=3;i<urlArr.length;i++)	{
			if(urlArr[i]!="")	{
				url += urlArr[i]+"/";
			}
		}
	
		if(steps>0)	{
			insertAt='Bottom';
			var options = Object.extend({
				insertion: Insertion.Bottom,
				onComplete:	function() {
					arrayLength = scrollBar.children.size();
					rel_object = scrollBar.children.last();
					if(scrollBar.activeImage==rel_object)	{
						rel_object = scrollBar.children.first();
					}
					scrollBar.children = scrollBar.parent.immediateDescendants();
					scrollBar.children.shift();
	/*				for(i=arrayLength;i<scrollBar.children.size();i++)	{
						resizeNew(scrollBar.children[i]);
					} */
				}
			}, arguments[2] || {});
			new Ajax.Updater(scrollBar.parent, url+'nachladen.php?dir='+insertAt+'&steps='+steps+'&art='+scrollBar.children.last().id+'&active='+scrollBar.activeID,
				Object.extend(options)
			);
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
};

/**
 * Scrolleffekt für das Menü
 * @param orientation Die Richtung in die gescrollt wird
 * @param template 	Name des verwendeten Layout-Templates zum austauschen der
 * 					Pfeilgrafiken
 */
function scrollMenu(orientation,template)	{
	try	{
		menuChildren = $('menuParent').immediateDescendants();
		
		srcOben = $('pfeil_oben').src;
		srcUnten = $('pfeil_unten').src;
		
		if(orientation=="up")	{
			if(srcOben.indexOf('_Dis.gif')<=0)	{
				menuChildren.each(function(child)	{
					child.toggle();
				});
				srcOben = srcOben.replace(/Up/,"Up_Dis");
				srcUnten = srcUnten.replace(/_Dis/,"");
				$('pfeil_oben').src = srcOben;
				$('pfeil_oben').setStyle({cursor:'auto'});
				$('pfeil_unten').setStyle({cursor:'pointer'});
				$('pfeil_unten').src = srcUnten;
			}	
		}	else if(orientation=="down")	{
			if(srcUnten.indexOf('_Dis.gif')<=0)	{
				menuChildren.each(function(child)	{
					child.toggle();
				});
				srcOben = srcOben.replace(/_Dis/,"");
				srcUnten = srcUnten.replace(/Down/,"Down_Dis");
				$('pfeil_oben').src = srcOben;
				$('pfeil_unten').src = srcUnten;
				$('pfeil_unten').setStyle({cursor:'auto'});
				$('pfeil_oben').setStyle({cursor:'pointer'});
			}
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function getpass(container,field)	{
	try	{
		container = $(container);
		field = $(field);
		oldContent = container.innerHTML;
	
		/**
		 * TODO: In der Passwort-Datei muss die E-Mail-Funktionalität noch nachgerüstet werden
		 */
	
		container.update('Passwort wird gesucht...');
		new Ajax.Request("/ajax/php/passwort.php?mailadd="+field.value, {
		  method: 'get',
		  onSuccess: function(transport) {
		  	if(transport.responseText.substr(0,3)=="404")	{
		  		container.update(oldContent+"<br>`"+field.value+"` wurde nicht gefunden");
		  	}	else if(transport.responseText.substr(0,3)=="200")	{
		  		container.update("Eine E-Mail mit deinen Zugangsdaten wurde an `"
					+field.value+"` geschickt.");
		  	}	else	{
				if (transport.responseText.substr(0, 3) == "500") {
					container.update(transport.responseText.replace("500 ", ""));
				}	else	{
		  			container.update("Eine E-Mail mit deinen Zugangsdaten wurde an `"
						+field.value+"` geschickt.");
				}
		  	}
		  }
		});
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function showArtTitle()	{
	try	{
		$('titelcontainer').update('');
		new Ajax.Updater($('titelcontainer'),"/ajax/php/artikelinfos.php?art="+scrollBar.activeID,{
			insertion: Insertion.Top,
			onComplete: function()	{
				if($('titel').innerHTML!="" && !scrollingInProgress)	{
					$('titelcontainer').toggle();
					return true;
				}
			}
		});
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function sendMessage(container,usermail,message)	{
	try	{
		message = $F(message);
		usermail= $F(usermail);
		container = $(container);
		oldContent = container.innerHTML;
		if (usermail == 'Deine E-Mail-Adresse') {
			alert('Ohne deine korrekte E-mail-Adresse fällt es uns schwer Deine Anfrage nachvollziehen zu können.\nBitte gib Deine korrekte E-Mail-Adresse an.');
		}else if (message == '') {
				alert('Du hast keine Nachricht in das Nachrichtenfeld eingefügt.\nBitte füge eine Nachricht ein die Du uns zusenden möchtest.');
		}else{	
			if(oldContent.search(/Deine Nachricht konnte nicht.+/)!=-1)
			{
				oldContent=oldContent.substr(86,oldContent.length);
			}
			if(oldContent.search(/Vielen Dank für deine Nachricht.+/)!=-1)
			{
				oldContent=oldContent.substr(47,oldContent.length);
			}
		
			container.update('Nachricht wird gesendet...');
			new Ajax.Request("/ajax/php/faqmessage.php?mailadd="+usermail+"&message="+message, {
			  method: 'get',
			  onSuccess: function(transport) {
			  	if(transport.responseText=="404")	{
			  		container.update("<b>Deine Nachricht konnte nicht gesendet werden, bitte versuch es erneut.</b><br><br>"+oldContent);
			  	}	else if(transport.responseText=="200")	{
			  		container.update("<b>Vielen Dank für deine Nachricht.</b><br><br>"+oldContent);
			  	}
			  }
			});
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function tabClicked(parent,el)	{
	try	{
		parent = $(parent);
		clicked = $(el);
		
		tabChildren = parent.immediateDescendants();
		tabChildren.each(function(element)	{
			element.setStyle({display:'none'});
		});
		clicked.toggle();
		switch(el){
			case 'profil_kundenkonto':
				new getCheckoutForm('profil_kundenkonto');
				break;
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function logout(req)	{
	try	{
		request='/home';
		if (arguments.length > 0) {
			request = req;
		}
//		alert(request);
		new Ajax.Request('/ajax/php/logout.php',{
			onSuccess: function(transport)	{
				$('loginPane').update(transport.responseText);
				window.location.href=request;
	//			alert($('loginPane').innerHTML);
			}
		});
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}
function validateUserSession(){
	if (isset($_SESSION['kunde'])) {
		alert('true');
	}
	else {
		alert('flase');
	}
}
/*
function setLoginPane(content){
	content = '<a onClick=logout(); style=cursor:pointer;><u>Ausloggen</u></a>';
	if (content != '') {
		alert(content);
		$('loginPane').innerHTML = $content;
	}
}

*/
function register(fskcheck)	{
	try	{
		if(arguments[0])	{
		}else{
			if (trim($('regemail').value) == '' || trim($('regpassword').value) == '') {
				errorhandling(null, "00008", "F&uuml;r den Registriervorgang m&uuml;ssen die Felder E-mail und PIN/Passwort ausgefällt sein");
			}
			else {
				var pintext = "&pin=";
				if ($('regpin')) 
					pintext = pintext + $('regpin').value;
				
				new Ajax.Request('/ajax/php/register.php?email=' + $('regemail').value + '&pass=' + $('regpassword').value + pintext, {
					onSuccess: function(transport){
						if (transport.responseText == 500) {
							text = "<br>Die angegebene E-Mail-Adresse ist bereits im Videotaxi-VoD-Portal registriert.<br>" +
							"Falls du dein Passwort vergessen hast, benutze bitte die " +
							"blinkende \"Passwort vergessen\"-Funktion.<br><br>";
							errorhandling(null, "00002", text);
							new PeriodicalExecuter(function(pe){
								if (!$('errorhandling')) {
									if ($('passContainer').getStyle('display') == "none") {
										$('passContainer').toggle();
									}
									new Effect.Pulsate($('passContainer'), {
										duration: 3,
										pulses: 4
									});
									pe.stop();
								}
							}, 2);
						}
						else 
							if (transport.responseText == 501) {
								text = "<br>Beim Versenden der Bestätigungs-E-Mail an " +
								$('regemail').value +
								" ist ein Fehler aufgetreten. " +
								"Versuche die Registrierung noch einmal. Solltest du " +
								"weiterhin Probleme bei der Registrierung haben, " +
								"schicke bitte eine E-Mail an: " +
								"<a href='mailto:vod@videotaxi.de'>vod@videotaxi.de</a>" +
								"<br><br>";
								errorhandling(null, "00013", text);
							}
							else {
								alert("Es wurde eine E-Mail mit einem Aktivierungslink an " +
								$('regemail').value +
								" verschickt.\nKlicke den Link " +
								"um die Registrierung abzuschließen.");
							//window.location.href="/home/3";
							//					new Insertion.Bottom($('registertable'),transport.responseText);
							//					$('registertable').update(transport.responseText);
							}
					}
				});
			}
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}

}

function jumpto(id)	{
	try	{
		//alert(id+' - '+scrollBar.activeID);
		if(id!=scrollBar.activeID)	{
			temp = scrollBar.children.indexOf(scrollBar.activeImage);
			tempid = scrollBar.activeID;
			scrollBar.changeActive(id);
			temp2 = scrollBar.children.indexOf(scrollBar.activeImage);
			tempid2 = scrollBar.activeID;
			scrollBar.changeActive(tempid);
			arrowclick(temp2-temp,tempid2);
		}	else	{
			if($('detailbox').getHeight()<=14)	{
				new Effect.showDetails(false,false);
			}	
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function checkPlayButton()	{
	try	{
		new Ajax.Request("/ajax/php/checkLizenzen.php",{
			onSuccess: function(transport)	{
				lizenzArr = transport.responseText.split(",");
				if(lizenzArr)	{
					found=false;
					srcString=$('playbutton').readAttribute('src');
					lizenzArr.each(function(lizenzArtikelNr)	{
						if(scrollBar.activeID==lizenzArtikelNr)	{
							found=true;
							srcString = srcString.replace(/SCart/,"Play");
							$('playbutton').src=srcString;
						}
					});
					if(!found)	{
						srcString = srcString.replace(/Play/,"SCart");
						$('playbutton').src=srcString;				
					}	
				}
			}
		});
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function startSearch(template,fsk18frei,suchseite)	{
	switchback=false;
	if($('suche').src.substr(($('suche').src.length-10),10)!="Search.gif")	switchback=true;
	
	if(switchback)	{
		tempimg = $('suche').src.split("/");
		tempimg = tempimg[tempimg.length-1];
	}
	
	if(suchseite)	{
		tempimg="42x42-Icon-Home.gif";
	}
	
	if(actuallyImg!="")	{
		$('suche').src="/templates/"+template+"/images/Icons/42x42/"+actuallyImg.replace(/54x54/,"42x42");
	}	else	{
		$('suche').src="/templates/"+template+"/images/Icons/42x42/42x42-Icon-Home.gif";
	}

	if(!switchback)	{
		initSearchBox(template,fsk18frei);
		switchMenu(template,'54x54-Icon-Search.gif');
		$('searchbox').toggle();
	}	else	{
		switchMenu(template,tempimg.replace(/42x42/,"54x54"));
		if($('searchbox').getStyle('display')!="none")	$('searchbox').toggle();
		if($('searchresult').getStyle('display')!="none")	$('searchresult').toggle();		
	}
	$('menubox').toggle();
}

function initSearchBox(template,fsk18frei)	{
	defaultSearchBox = "<form id=schnellsuche method=POST "
	+"action='/ajax/php/quicksearch.php' onsubmit='return quicksearch();'>\n"
	+"Suchbegriff:<br>"
	+"<input id=suchbegriff name=q style='width:135px;' type=text><br><br>"
	+"Filteroptionen:<br>"
	+"<input id=fsk name=fsk type=checkbox value='true'> Keine FSK18-Artikel<br>";
	if(fsk18frei)	{
		defaultSearchBox += "<input id=hc name=hc type=checkbox value='true'> Keine Hardcore-Artikel<br>"
	}	else	{
		defaultSearchBox += "<input id=hc name=hc type=checkbox value='true' checked disabled> <strike>Keine Hardcore-Artikel</strike><br>"	
	}
	defaultSearchBox += "<input type=submit class='detailbutton' style='width:135px;' value=SUCHEN>"
	+"</form>";
	$('searchbox').update(defaultSearchBox);
}

function quicksearch()	{
	$('body').setStyle({cursor:'wait'});
	q=$('suchbegriff').value;
	fsk=$('fsk').getValue();
	hc=$('hc').getValue();

	$('searchbox').toggle();
	$('searchresult').toggle();

	new Ajax.Request('/ajax/php/quicksearch.php?q='+q+'&fsk='+fsk+'&hc='+hc,{
		onSuccess: function(transport)	{
			text = "<br><a onClick='newSearch()' style='cursor:pointer;'><u>"
				+"neue Suche starten</u></a>";
			$('searchresult').update(transport.responseText+text);
			$('body').setStyle({cursor:'auto'});
		}
	});

	return false;
}

function newSearch()	{
	$('searchbox').toggle();
	$('searchresult').toggle();
}

function CheckActiveX()	{
    try	{
        a = new ActiveXObject("Shell.UIHelper");
    }	catch(e)	{
        return false;
    }
    return true;
}

function sendKontoaufladung()	{
//	if ($F('paypal')){
//		testhandler();
//		return;
//	}

	betrag = document.form1.account.value;
    try	{
		var complete=false;
		if($F('geldkarte')) complete=true;
		if($F('paypal')) complete=true;
		if(!complete)	{
			errorhandling(null,"00012","Bitte wähle einen Bezahl-Anbieter aus.");
		}	else if(!betrag){
			errorhandling(null,"00012","Bitte gib einen Betrag an.");	
    	}	else	{
			if($F('geldkarte'))	{
				new Ajax.Updater('profil_kundenkonto','/ajax/php/geldkarte.php?source=2&b='+betrag,{
					onCreate: function()	{
						$('profil_kundenkonto').update('Verbindung zur Geldkarte wird hergestellt');
					},
					onSuccess: function(transport)	{
						if (transport.responseText.match(/Fehler/))	{
							$('profil_kundenkonto').update('Fehler');
						}
//						alert(transport.responseText);
					}
				});
			}
			else if($F('paypal'))	{
				new Ajax.Updater('profil_kundenkonto','/ajax/php/paypal.php?source=2&b='+betrag,{
					onCreate: function()	{
//						alert('start_paypal_Updater');
						$('profil_kundenkonto').update('Verbindung zu PayPal wird hergestellt');
					},
					onSuccess: function(transport)	{
//						alert('start_paypal_Updater : onSuccess'+transport.responseText);
						if (transport.responseText.match(/Fehler/))	{
							$('profil_kundenkonto').update('Fehler');
						}
					}
				});
			}
		}
	}	catch(e)	{
		errorhandling(e,e.number,e.message);	
	}
}

function setSelectedRadio(option, betrag, profil){
	if ($(option)) {
        $(option).checked = true;
    	if(profil==1){
			sendKontoaufladung();		
		}else{
			checkCheckoutForm(betrag);
		}
    }
}

function setSelectedItem(){
	if ($$('option')) {
		$$('option').each(function(element){
				if(element.readAttribute('selected')){
					targetValue = element.readAttribute('value');
					$('vtkonto').setAttribute("value", targetValue);
					targetID = "vtkonto"+targetValue;
					$('vtkonto').setAttribute('name', targetID);
//					alert($('vtkonto').readAttribute('name')+"->"+targetID);	
//					alert('input: '+$('vtkonto').readAttribute('value'));	
				}
				
				
			});
//		alert($('vtkonto').checked);
		$('vtkonto').checked=true;
	}
}

function setFsk18Frei(container){
	if(container!=''){
		new Ajax.Request('/ajax/php/setfsk.php',{
			onSuccess: function(transport)	{
//				alert(transport.responseText);
				if(transport.responseText.match(/200/)){
					$(container).update('<center>Die FSK18-Freischaltung wurde in Ihren VoD-KundenAccount übernommen.<br />Um die Änderung wirksam zu machen <a href=/home/10><u>laden Sie die Seite erneut</u></a>.')
				}else{
					$(container).update(transport.responseText);
					errorhandling(null,"00111","<br />Fehler bei der FSK18-Freischaltung<br />Bitte wende dich an den <a href=/home/16>Support</a>.\n<br />");
				}
			}
		});
	}
}

function sendComForm(feldStr,choice){
	var kommentarFeld_b64 = base64_encode(feldStr);
	var url='/ajax/php/bewertung.php?choice='+choice+'&kommentarFeld='+kommentarFeld_b64;
	new Ajax.Updater('kommentarForm', url);
	$('kommentarToggle').hide();
}

function checkSendComForm(formularID,choice){
	if ($(formularID).value != ""){
		var feldStr = $(formularID).value;
		sendComForm(feldStr,choice);
	}else{
		var confirmNoText = confirm('Du haben keinen Text eingegeben. Trotzdem speichern ?');
		if(confirmNoText){
			var feldStr = "kein Bewertungs-Text verfasst";
			$(formularID).update(feldStr);
			sendComForm(feldStr,choice);
		}
	}
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
/*
 * 
function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}
*/


function setEventHandler(){
	
	if ($$('input').size() > 0) {
		$$('input[type="text"]','input[type="password"]').each(function(s){
			new Event.observe(s, 'focus', function(){
				textElementInFocus = true;
			});
			new Event.observe(s, 'blur', function(){
				textElementInFocus = false;
			});
		});
	}
	if ($$('textarea').size() > 0) {
		$$('textarea').each(function(s){
			new Event.observe(s, 'focus', function(){
				textElementInFocus = true;
			});
			new Event.observe(s, 'blur', function(){
				textElementInFocus = false;
			});
		});
	}
}

function showIcon(img)	{
	new Effect.Pulsate($(img),{duration:3,pulses:4});
}

var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

function base64_encode(decStr)
{
 var bits;
 var dual;
 var i = 0;
 var encOut = '';
 while(decStr.length >= i + 3)
 {
  bits = (decStr.charCodeAt(i++) & 0xff) <<16 |
         (decStr.charCodeAt(i++) & 0xff) <<8  |
          decStr.charCodeAt(i++) & 0xff;
  encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
            base64s.charAt((bits & 0x0003f000) >>12) +
            base64s.charAt((bits & 0x00000fc0) >> 6) +
            base64s.charAt((bits & 0x0000003f));
 }
 if(decStr.length -i > 0 && decStr.length -i < 3)
 {
  dual = Boolean(decStr.length -i -1);
  bits = ((decStr.charCodeAt(i++) & 0xff) <<16) |
         (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);
  encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
            base64s.charAt((bits & 0x0003f000) >>12) +
            (dual ? base64s.charAt((bits & 0x00000fc0) 
            >>6) : '=') +
            '=';
 }
 return(encOut);
}

function base64_decode(encStr)
{
 var bits;
 var decOut = '';
 var i = 0;
 for(; i<encStr.length; i += 4)
 {
  bits = (base64s.indexOf(encStr.charAt(i))    & 0xff) <<18 |
         (base64s.indexOf(encStr.charAt(i +1)) & 0xff) <<12 |
         (base64s.indexOf(encStr.charAt(i +2)) & 0xff) << 6 |
          base64s.indexOf(encStr.charAt(i +3)) & 0xff;
  decOut += String.fromCharCode((bits & 0xff0000) >>16, 
(bits & 0xff00) >>8, bits & 0xff);
 }
 if(encStr.charCodeAt(i -2) == 61)
 {
  return(decOut.substring(0, decOut.length -2));
 }
 else if(encStr.charCodeAt(i -1) == 61)
 {
  return(decOut.substring(0, decOut.length -1));
 }
 else {return(decOut)};
}

function systemcheck()	{
	var jetzt = new Date();
	time = jetzt.getTime();

	if (/MSIE/.test(navigator.userAgent)) {
		licObjekt = "<object classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062'" +
		"height='100' width='100' id='LicenseObj'></object>";
		$('systemcheck').update(licObjekt);
	}
	var clientInfo = submitClientInfo(time,1);
	//alert("Clientinfo:\n"+clientInfo);	
}
