// Dokument-Höhe ermitteln
Event.observe(
	window, 
	'load', 
	function() {
//		Bei Wallpaperkampagnen Kommentare entfernen 
/*
		if($('adframe')) {
			ad_height = $('adframe').getHeight();
			
			if($('nl')) {
				nl_height = $('nl').getHeight();
			
				if(ad_height > nl_height)
					$('nl').style.height = (ad_height-90) +'px';
				else
					$('adframe').style.height = nl_height +'px';
			}
		}
		*/
		// Label Observer
		if($('picarea')) {
			Event.observe(
				'picarea', 
				'mousemove', 
				labelObs
			);
		}
		
		// Member
		if($('connection')) {
			new Ajax.Updater(
				'connection', 
				'nightloop/beta/ajax/member_connection.php'
			)				
		}
	}
);

function labelObs(e) {
	if($('Xpos')) {
		pos = getPosition($('picarea'));
		$('Xpos').value = parseInt(Event.pointerX(e)) - pos.x;
		$('Ypos').value = parseInt(Event.pointerY(e)) - pos.y - 30;
	}
}

function getPosition(obj) {
	var left = 0;
	var top  = 0;

	while(obj.offsetParent) {
		left += obj.offsetLeft;
		top  += obj.offsetTop;
		obj   = obj.offsetParent;
	}
	left += obj.offsetLeft;
	top  += obj.offsetTop;

	return {
		x : left, 
		y : top
	};
}

// Reiter
function TabList(Att) {
	this.Tabs 	= $A(Att.Tabs);
	this.Start 	=	Att.Start;
	if(isNaN(this.Start) || this.Start > this.Tabs.length)
		this.Start = 0;
	$(Att.Parent).style.position = 'relative';
	this.init = false;
	this.Switch = function(ToShow) {
		for(t = 0; t < this.Tabs.length; t++) {
			T = this.Tabs[t]
			$(T).style.position = 'absolute';
			if(T == ToShow) {
				$(T).style.left = 0;
				$('spacer').style.height = $(T).offsetHeight +'px';
			}
			else
				$(T).style.left = '-5000px';
		}
		if(this.init == true) {
			ads.reload();
			$('ivwpixel').src = "http://nwz.ivwbox.de/cgi-bin/ivw/CP/156leute?r="+escape(document.referrer)+"&d="+(Math.random()*100000);
		}
		this.init = true;
	}
	this.Switch(this.Tabs[this.Start]);
}


// MouseWheel Object
var elm;
function MouseWheelArea(opt) {
	
	var elm 			= opt.CssID;
	var scrolling = null;
	
	var options = Object.extend({
		ScrollUp 		:	'wup',
		ScrollDown	:	'wdown',
		ScrollSpeed	:	3
	}, arguments[0] || {});

	Event.observe(
		options.ScrollUp, 
		'mousedown', 
		function() {
			scrolling = window.setInterval(
				"MouseWheelSlide('up', '"+elm+"')", 
				100
			);
		}
	);

	Event.observe(
		options.ScrollUp, 
		'mouseup', 
		function() {
			window.clearInterval(scrolling);
		}
	);

	Event.observe(
		options.ScrollUp, 
		'mouseout', 
		function() {
			window.clearInterval(scrolling);
		}
	);

	Event.observe(
		options.ScrollDown, 
		'mousedown', 
		function() {
			scrolling = window.setInterval(
				"MouseWheelSlide('down', '"+elm+"')", 
				100
			);
		}
	);
	
	Event.observe(
		options.ScrollDown, 
		'mouseup', 
		function() {
			window.clearInterval(scrolling);
		}
	);
	
	Event.observe(
		options.ScrollDown, 
		'mouseout', 
		function() {
			window.clearInterval(scrolling);
		}
	);
	
	if(window.addEventListener) {
		$(elm).addEventListener(
			'DOMMouseScroll', 
			function(e) { 
				MouseWheel(e, elm, options); 
			}, 
			false
		);
	}
	
	Event.observe(
		elm, 
		'mousewheel', 
		function(e) { 
			MouseWheel(e, elm, options);
		}
	);
}

function MouseWheelHandle(delta, elm) {
	if (delta < 0)
		MouseWheelSlide('down', elm);
	else
		MouseWheelSlide('up', elm);
}
function MouseWheel(event, elm, options){
	var delta = 0;
	
	if(!event)
		event = window.event;
		
	if(event.wheelDelta) {
		delta = event.wheelDelta / 120; 
		if(window.opera) 
			delta = -delta;
	} else if (event.detail) {
		delta = -event.detail / options.ScrollSpeed;
	}
	
	if(delta)
		MouseWheelHandle(delta, elm);
		
	if(event.preventDefault)
		event.preventDefault();
		
	event.returnValue = false;
}

function MouseWheelSlide(d, elm) {
	cont = $(elm).getElementsByClassName('wContent')[0];	
	
	tp = parseInt($(cont).getStyle('top'));
	
	max = -1 * ($(cont).getHeight() - $(elm).getHeight());
	
	if(d == 'down') {
		if(tp > max) {
			tp -= 100;
			$(cont).setStyle({ top : tp +'px' });
		}
	}
	
	if(d == 'up') {
		if(tp < 0) {
			tp += 100;
			$(cont).setStyle({ top : tp +'px' });
		}
	}
}

var ads = {
	reload : function () {
		if($('topBanners'))
			$('topBanners').src 	= 'nightloop/ads/banner.php';
		if($('skyscraper'))
			$('skyscraper').src 	= 'nightloop/ads/sky.php';			
		if($('teaserad'))
			$('teaserad').src 		= 'nightloop/ads/teaser.php';
		if($('adframe'))
			$('adframe').src 			= 'nightloop/ads/realadframe.php';
		if($('testadframe'))
			$('testadframe').src 	= 'nightloop/ads/adframe.php';
		if($('rectangle'))
			$('rectangle').src 		= 'nightloop/ads/rectangle.php';
			
		/*if($('LoopsDiv')) {
			Loops = parseInt($('LoopsDiv').innerHTML);
			Loops++;
			$('LoopsDiv').innerHTML = Loops +' Loops';
		}*/
	}
}	

function mailto(id) {
	$A(document.getElementsByClassName('mailform')).each(function(div) { div.innerHTML='' });
	new Ajax.Updater(
		id, 
		'nightloop/beta/ajax/mailform.php', {
			parameters	: {
				Person 		: id
			}
		}
	);
}




// Alte nightloop Funktionen







// Dokubrowser auf Homepage
// erfordert Objekt db
function DokuBrowser(Amount, Width) {
	this.Amount = Amount;
	this.Width = Width;
	this.offsetWidth = 3*Width;
	this.disabled = this.loop = this.auto = 0;
	this.Slider = $('db_dokulist');
	this.getPosition = function() {
		return parseInt(this.Slider.style.left);
	}
	this.setPosition = function(value) {
		this.Slider.style.left = value +'px';
	}
	
	this.slide = function(bool) {
		if(this.auto == 1) {
			window.clearInterval(this.loop);
			this.auto = 0;
			window.setTimeout('', 1500);
		} else { 
			if(this.disabled == 0) {
				ads.reload();
				$('ivwpixel').src = "http://nwz.ivwbox.de/cgi-bin/ivw/CP/156leute?r="+escape(document.referrer)+"&d="+(Math.random()*100000);
				new Ajax.Request('nightloop/ajax/doku/addView.php', { parameters : { area : 'dokubrowser' }
				});
				this.disabled = 1;
				if(bool)
					new Effect.MoveBy('db_dokulist', 0, this.offsetWidth, { duration: 1.5});	
				else
					new Effect.MoveBy('db_dokulist', 0, -this.offsetWidth, { duration: 1.5});
				window.setTimeout('db.enable('+ bool +')', 1500);
			}
		}
	}
	this.enable = function(bool) {
		this.disabled = 0;				
		if(this.getPosition() == 5)
			this.setPosition((-this.Amount*this.Width)+5);
		else if(this.getPosition() == (-(this.Amount+3)*this.Width)+5)
			this.setPosition(-520);
	}
	this.init = function(pos) {
		this.setPosition(pos);
		this.loop = window.setInterval('db.looping()', 5000);
		this.auto = 1;		
	}
	this.looping = function() {
		if(this.getPosition() == 5)
			this.setPosition((-this.Amount*this.Width)+5);
		else if(this.getPosition() == (-(this.Amount+3)*this.Width)+5)
			this.setPosition(-520);
		new Effect.MoveBy('db_dokulist', 0, -this.offsetWidth, { duration: 1.5});
	}
}

/* Label */
function changeLabel ( status ) {
	if( status == 'ein' ){
		new_stat = 'aus';
		vis			 = 'hidden';
	}	else {
		new_stat = 'ein';
		vis			 = 'visible';
	}
	
	var el = document.getElementById( 'nl_show_labe' );
	var tn = document.createTextNode( status + 'blenden' );
	el.replaceChild(tn,el.firstChild);

	document.getElementsByTagName( 'div' )[ 'nl_show_label' ].onclick = function() {
		changeLabel( new_stat );
	};

	document.getElementById( 'nl_userlabel' ).style.visibility = vis;
	labelme();
}

function getCoords( Ereignis ) {
	if( !Ereignis )
		Ereignis = window.event;
	if( Ereignis.layerY ) {
		document.forms['labelCoords'].top.value = Ereignis.layerY;
		document.forms['labelCoords'].left.value = Ereignis.layerX;
	} else {
		document.forms['labelCoords'].top.value = Ereignis.offsetY;
		document.forms['labelCoords'].left.value = Ereignis.offsetX;
	}
	document.forms['labelCoords'].submit();
}
function labelme() {
  document.images["nightloop"].onclick = getCoords;
//	document.images[ "nightloop" ].oncontextmenu = getCoords;
}

/* Blog-Functions */
function blog_del_entry( link ){
	check = confirm( 'Möchtest Du diesen Eintrag inklusive aller comments endgültig löschen?\nLässt sich nicht wiederherstellen!' );
	if( check == false )
		return;
	else
		window.open( link,'_top' ) ;	
}
function blog_del_comment( link ){
	check = confirm( 'Möchtest Du diesen comment jetzt löschen?\nKann nicht wiederhergestellt werden!' );
	if( check == false )
		return;
	else
		window.open( link,'_top' ) ;	
}

/* Slideshow resizer */
function slideshow ( link ) {
  Slideshow = window.open( link, "Slideshow", "width=720,height=700,left=50%,top=50%" );
  Slideshow.focus();
}
/* Hilfe resizer */
function hilfe ( link ) {
  help = window.open( link, "Hilfe", "width=350,height=511,left=50%,top=50%,scrollbars=yes" );
  help.focus();
}

/* Scrollpopup */
// START scrollpopup-function              
// <a href="html-or.jpg" onclick="return scrollpopup(this,123,456)" title="..."
// or
// <a href="html-or.jpg" onclick="return scrollpopup(this)" title="..."
var scrollpop = null;
function scrollpopup(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();
  scrollpop = window.open(url,'',args);
  return (scrollpop) ? false : true;
}


// Neue Scripts (u.a. Popup für Verlosung)


function popup(params) {
	$('loading').show();
	if($('popup'))
		popup_reset();
	
	if(!$('popup')) {
		TheBlinder				= document.createElement('div');
		ThePopup 					= document.createElement('div');
		PopupMargin 			= document.createElement('div');
		PopupContent 			= document.createElement('div');

		TheBlinder.setAttribute('id', 'popup_blinder');
		TheBlinder.style.height = $('nl').getHeight() +'px';

		ThePopup.setAttribute('id', 'popup');
		PopupMargin.setAttribute('id', 'popup_margin');
		PopupContent.setAttribute('id', 'popup_cont');

		$('nl').appendChild(TheBlinder);
		$('nl').appendChild(ThePopup);
		$('popup').appendChild(PopupMargin);
		$('popup_margin').appendChild(PopupContent);
		toggleSelectTags('hidden');
		
		new Ajax.Updater(
				'popup_cont',
				'nightloop/ajax/verlosung_popup.php'
			);
	}
}
function popup_reset() {
	toggleSelectTags('visible');
	$('nl').removeChild(ThePopup);	
	$('nl').removeChild(TheBlinder);
}
function toggleSelectTags(status) {
	var status = status;
	$A(document.getElementsByTagName('select')).each(
		function(element) {
			element.style.visibility = status;
		}
	);
	
	$A(document.getElementsByTagName('embed')).each(
			function(element) {
				element.style.visibility = status;
			}
		);
	$A(document.getElementsByID('FlashDokuBrowser')).each(
			function(element) {
				element.style.visibility = status;
			}
		);
	
}

function lostPassword(form) {
	var f = form;
	new Ajax.Request(
		'/', {
			parameters : {
				'AJAX'				: true,
				'template'		: 'new.password',
				'name'				: f.name.value,
				'email'				: f.email.value
			},
			onComplete : function(r) {
				popup({
					'AJAX'			: true,
					'template'	: 'ok.password',
					'error'			: r.responseText
				});
			}
		}
	);
}
