var PreviewsNStuff2 = new Class({
	Implements: [Options, Events, Log],
	options : {
		box_frame: '.boxelement',
		box_mo_element: '.box_img',
		box_mo_link: '.preview_link',
		offset_x: 10,
		offset_y: 0,
		preview_class: '.prev_frame',
		preview_enter: 'mouseover',
		preview_out: 'mouseout'
	},
	initialize: function(options){
		this.setOptions(options);
		this.enableLog();
		this.attachEvents();
		return this;
	},
	attachEvents: function(){
		$$(this.options.box_mo_element).each(function(elem){			
			this.elem_parent = elem.getParent(this.options.box_frame);
			this.elem_link = elem.getFirst(this.options.box_mo_link);		
			this.elem_parent.getFirst(this.options.box_mo_element).addEvent(this.options.preview_enter,this._showPreview);
			this.elem_parent.getFirst(this.options.box_mo_element).addEvent(this.options.preview_out,this._hidePreview);
		}.bind(this));
	},
	_showPreview: function(){

		var setX = 'right';
		var setY = 'down';
		
		if(this.getParent().getPosition().x + this.getParent().getFirst('.prev_frame').getStyle('width').toInt() + 120 > window.getSize().x - 30 ){ setX = 'left'; }
		if(this.getParent().getPosition().y + this.getParent().getFirst('.prev_frame').getStyle('height').toInt()  > window.getSize().y - 30 + window.getScroll().y){ setY = 'up'; }									
		
		if(setX === 'right') {
			if(setY === 'down') {
				relPos = 'upperRight'; relEdge = 'upperLeft'; xoffset = 2; yoffset = -8;
			}	else {
				relPos = 'bottomRight'; relEdge = 'bottomLeft'; xoffset = 2; yoffset = 8;
			}
		} else {
			if(setY === 'down') {				
				relPos = 'upperLeft'; relEdge = 'upperRight'; xoffset = -2; yoffset = -8;
			}	else {
				relPos = 'bottomLeft'; relEdge = 'bottomRight'; xoffset = -2; yoffset = 8;
			}
		}
		conditionmet = 'nein';
		if(setY === 'down' && this.getParent().getCoordinates().top - window.getScroll().y < 0) {
			if(this.getParent().getCoordinates().top - window.getScroll().y < 0) {
		 		yoffset = yoffset + (this.getParent().getCoordinates().top - window.getScroll().y) * -1;
		 	}		
		}
		if(setY === 'up') {
			if(this.getParent().getFirst('.prev_frame').getStyle('height').toInt() > (this.getParent().getPosition().y - window.getScroll().y) + 120 + yoffset) {
				yoffset = yoffset + this.getParent().getFirst('.prev_frame').getStyle('height').toInt() - this.getParent().getPosition().y - 120 + window.getScroll().y; 
			}
			if(this.getParent().getPosition().y + 120 > window.getSize().y + window.getScroll().y) {
				yoffset = window.getSize().y - (this.getPosition().y - window.getScroll().y) - 120 - yoffset ;
			}
		}
		this.getParent().getFirst('.prev_frame').position({relativeTo: this, position: relPos, edge: relEdge, offset: {x:xoffset, y:yoffset}});
		this.getParent().getFirst('.prev_frame').setStyle('display','block');
		var largepreviewimg = this.getParent().getFirst('.prev_frame').getFirst('.innerbox').getFirst('.prev_img').getFirst();
		if(largepreviewimg.hasClass('empty')) {
			largepreviewimg.removeClass('empty');
			new Request({
					url: '/ajax/img/'+largepreviewimg.getProperty('rel'), 
					onSuccess: function(responseText, responseXML) {
    				largepreviewimg.setProperty('src','/images/'+responseText);
					}
			}).get();
		}
	},
	_hidePreview: function(){
		this.getParent().getFirst('.prev_frame').setStyle('display','none');
	}
});

window.addEvent('domready', function() {
	window.addEvent('resize', function() {
		
	});

var getgoing = new PreviewsNStuff2();


$$('.kundenmore').each(function(el){
	el.addEvent('click', function(ev){
		$('Kundendetails').setStyle('display','block');
	});
});

$('sum').addEvent('mouseover', function(ev){
	$('sum').removeEvents();
	new Request.HTML({
		url: '/ajax/req/getml', 
		update: $('sum')
	}).get();
});

if($('uaa')){
	$('uaa').addEvent('mouseover', function(ev){
		$('uaa').removeEvents();
		new Request.HTML({
			url: '/ajax/req/getaa', 
			update: $('uaa')
		}).get();
	});
}

if($('usb')){
	$('usb').addEvent('mouseover', function(ev){
		$('usb').removeEvents();
		new Request.HTML({
			url: '/ajax/req/getsb', 
			update: $('usb')
		}).get();
	});
}
}); // end DOMREADY
