function preismoduldisplays( reiter, feldid, displayid )
{
	var tabs = reiter.parentNode;
	var finder = false;
	var count = 0;
	while( !finder && count < 200 )
	{
		var searchEl = tabs.getElementsByTagName('div')[count];
		if( searchEl.className == 'zimmer_reiter_act' ){
			searchEl.className = 'zimmer_reiter';
			finder = true;
		}
		count++;
	}
	reiter.className = 'zimmer_reiter_act';
	var displayel = document.getElementById(displayid);
	finder = false;
	var newcount = 0;
	var findcount = 0;

	while( !finder && findcount < 4)
	{
		searchEl = displayel.getElementsByTagName('div')[newcount];
		if( searchEl.className == 'zimmer_text' ){
			searchEl.style.display= 'none';
			findcount++;
		}
		newcount++;
	}
	document.getElementById(feldid).style.display= 'block';	
}
/*
function toogletip( el )
{
	var elem, vis;
	elem = document.getElementById(el );
	if( elem != null )	
	{
	  vis = elem.style;
	  // if the style.display value is blank we try to figure it out here
	  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
		vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
	  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
	}
}*/

function getStyle(el, cssprop){
 if (el.currentStyle) //IE
  return el.currentStyle[cssprop]
 else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox
  return document.defaultView.getComputedStyle(el, "")[cssprop]
 else //try and get inline style
  return el.style[cssprop]
}

function getMargins(el){
	var left = parseInt(getStyle(el,'marginLeft'));
	var right = parseInt(getStyle(el,'marginRight'));
	// For IE :(
	if( ''+left == 'NaN' ){
		left = 0;
	}
	if( ''+right == 'NaN' ){
		right = 0;
	}
	return right+left;
}

var changeState = true;

function ContentSlider( params )
{
	this.config['id'] = params['id']; 
	this.config['duration'] = params['duration'] || '1500'; 
	this.config['transition'] = params['transition'] || 'circ:out';
	this.slide_count = params['jumps'] || 4;
	this.getElements();
}

ContentSlider.prototype.config = new Array(); 
ContentSlider.prototype.element_count = 0;
ContentSlider.prototype.slide_count = 4;
ContentSlider.prototype.slide_pos = 0;
ContentSlider.prototype.slide_width = 0;
ContentSlider.prototype.slide_element = '';
ContentSlider.prototype.slide_max = 0;

ContentSlider.prototype.getElements = function()
{
	this.slide_element = document.getElementById( this.config['id'] );
	if( this.slide_element == null ){
		alert( 'Kein Silderelement mit der ID '+this.config['id']+' gefunden.' );
		return;
	}
	var sliderWidth = 0;
	var hasNext = true;
	var count = 0;
	while( hasNext )
	{
		var el = this.slide_element.getElementsByTagName('div')[count];
		if( el != null ){
			count++;
			//if( el.parentNode.id == this.config['id'] )
			if( el.className == "zimmer_preise_preisbox" )
			{
				//alert( el.parentNode.id);
				this.element_count++;
				//var margin = getMargins(el);
				sliderWidth += el.offsetWidth;// + margin;
			}
			
		}else{
			hasNext = false;
		}
	}
// || sliderWidth == 0
/*	if( this.element_count == 0  ){
		alert( 'Keine Elemente im Silderelement mit der ID '+this.config['id']+' gefunden.\n\rOder die Elemente haben keine Breite.' );
		return;
	}
*/
	this.slide_width = parseInt(this.slide_element.style.width, 10);
	//this.slide_element.style.width = sliderWidth+'px';
	this.slide_max = (-1) * (this.slide_width - this.slide_width/this.element_count*this.slide_count);
	//alert('sliderwidth: '+this.slide_element.style.width+'\n\relementcount: '+this.element_count);
}

ContentSlider.prototype.next = function()
{
	var slideX = this.slide_pos - this.slide_width/this.element_count*this.slide_count;
	if( this.slide_max > slideX ){
		slideX = this.slide_max;
	}
	this.slide(	slideX );
}

ContentSlider.prototype.prev = function()
{

	var slideX = this.slide_pos + this.slide_width/this.element_count*this.slide_count;
	if( this.slide_pos == 0 ){
		return;
	}else if( slideX > 0 ){
		slideX = 0;
	}
	this.slide( slideX );
}

ContentSlider.prototype.slide = function(x )
{
	if(changeState != true){
		return;
	}else{
		changeState = false;
	}
	var myEffect = new Fx.Morph( this.slide_element, {duration: this.config['duration'], transition: this.config['transition'], onComplete: setState});
		myEffect.start({
			'left':[this.slide_pos, x]
		});	
	this.slide_pos = x;
}

function setState()
{
	changeState = true;
}
