Object.extend(Prototype.Browser, {
    IE6: (Prototype.Browser.IE && (/MSIE 6./).test(navigator.userAgent))
});

function sk_slider(nr){	
			
			this.nr=nr;		
			this.init=init;
			this.tsep=tsep;
			this.aniRight=aniRight;		
			this.aniLeft=aniLeft;
			this.stopAni=stopAni;
			this.sliderwidth=544;
			this.bannerwidth=584;
			this.bannerheight=120;	
			this.defaultheight=120;
			this.handleheight=51;
			this.currency='&euro;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
			this.target_window='_blank';
			
			this.leftWidth=0;
			this.midWidth=0;
			this.rightWidth=0;
		
			function init() {
				
				if (Prototype.Browser.IE6) {
					
					this.slider_background= this.slider_background.replace(".png",".gif");
					this.slider_slider=this.slider_slider.replace(".png",".gif");
					this.slider_handle=this.slider_handle.replace(".png",".gif");
					this.linkimage=this.linkimage.replace(".png",".gif");
					
				}
				
				if(this.bannerwidth<584){
				// SMALL-BANNER
					this.defaultheight=this.bannerheight;
				}
				if(this.bannerheight<this.defaultheight){
				// 85er-BANNER
					this.defaultheight=this.bannerheight;
					this.handleheight=38;
				}
				
				$('slider_container_'+this.nr).insert(	
					this.headline=new Element(
						"div",{id:"slider_headline_"+this.nr, 'class': "slider_left"}
					).setStyle(
						{float:"left",fontSize:"10pt",fontFamily:"Arial",color:"#666666",backgroundColor:"transparent",height:"44px",lineHeight:"1.6em",position:"relative"}
					).insert(
			
						this.headlinebottom=new Element(
							"div",{}
						).setStyle(
							{position:"absolute",bottom:"0px",left:"0px"}
						).update(this.headline)
					
					)
					
				).insert(
					
					this.mformcontainer=new Element(
						"div",{id:"slider_form_container_"+this.nr, 'class': "slider_right"}
					).setStyle(
						{float:"right",width:"160px",height:"41px",backgroundColor:"transparent",textAlign:"right",position:"relative"}
					).insert(this.mform = new Element('form', {
							id: "slider_form_"+this.nr,
							name: "slider_form_"+this.nr,
	            action: this.target_url,
	            method: "post",
	            target: this.target_window
	            }).insert(
										this.field = new Element('input', { id: "slider_value_"+this.nr, name: "slider_value_"+this.nr, value: "", type: "hidden" })
							)
						).insert(
										this.a = new Element('a', { id:"anchor_"+this.nr, 'class':"slideranchor", href: '#', onclick: "document.slider_form_"+this.nr+".submit();return false;"}).setStyle({position:"absolute",bottom:"0px",right:"0px",display:"block", fontSize:"10pt", textDecoration:"none", color:"#f00000", height:"20px",paddingRight:"26px",backgroundImage:"url("+this.linkimage+")",backgroundRepeat:"no-repeat",backgroundPosition:"right"}).update(this.linktext)
							)
				
				).insert(
					
					this.amountcontainer=new Element(
						"div",{ id:"amountcontainer_"+this.nr, 'class': "slider_mid"}
					).setStyle(
						{float:"right",textAlign:"right",fontWeight:"bold",fontSize:"22pt",fontFamily:"Arial",color:"#f00000",width:"1px",height:"44px",backgroundColor:"transparent",position:"relative"}
					).insert(
			
						this.amount=new Element(
							"div",{id:"amount_"+this.nr}
						).setStyle(
							{position:"absolute",bottom:"3px",right:"0px",paddingTop:"10px"}
						)
					
					)
				
				).insert(
				
				this.sliderx=new Element(
						"div",{id:"sliderx_"+this.nr}
					).setStyle(
						{clear:"left",position:"absolute",top:(60+(this.bannerheight-this.defaultheight))+"px"}
					).insert(
						
							(this.bannerwidth>=584)?this.minvalue=new Element(
								"div",{id:"minvalue_"+this.nr}
							).setStyle(
								{zIndex:1,position:"absolute",top:-55+this.handleheight+"px",width:"100px",textAlign:"left",fontSize:"8pt",fontFamily:"Arial",color:"#666666"}
							).update(this.tsep(this.min_value)+ " "+this.currency):''
				
					).insert(
					
							(this.bannerwidth>=584)?this.maxvalue=new Element(
								"div",{id:"maxvalue_"+this.nr}
							).setStyle(
								{zIndex:1,position:"absolute",top:-55+this.handleheight+"px",width:"100px",textAlign:"right",fontSize:"8pt",fontFamily:"Arial",color:"#666666"}
							).update(this.tsep(this.max_value)+ " "+this.currency):''
				
					).insert(
			
						this.slider=new Element(
							"div",{id:"slider_"+this.nr}
						).setStyle(
							{clear:"left",width:this.sliderwidth+"px",height:"8px",backgroundImage:"url("+this.slider_slider+")",position:"absolute",bottom:"28px",backgroundRepeat:"no-repeat"}
						)
					
					).insert(				
							this.handle=new Element(
								"div",{id:"handle_"+this.nr}
							).setStyle(
								{zIndex:100,width:"35px",height:this.handleheight+"px",top:-52+this.handleheight+"px",backgroundImage:'url('+this.slider_handle+')',display:"block",cursor:"pointer",backgroundRepeat:"no-repeat"}
							)		
					)
				);						
								headlinewidth=$('slider_'+this.nr).getWidth();
								if(headlinewidth==0) headlinewidth = this.sliderwidth;
								$('slider_container_'+this.nr).setStyle({paddingTop:(this.bannerheight-this.defaultheight)/2+"px",backgroundImage:'url('+this.slider_background+')',width: (this.bannerwidth-(this.bannerwidth-this.sliderwidth))+"px",height:this.bannerheight-(this.bannerheight-this.defaultheight)/2+"px",border:"1px", position:"relative", paddingLeft:(this.bannerwidth-this.sliderwidth)/2+"px", paddingRight:(this.bannerwidth-this.sliderwidth)/2+"px" });
								
								if (Prototype.Browser.IE6) {$('slider_'+this.nr).setStyle({backgroundPosition:"left 7px"})};	
								if(this.bannerwidth>=584) $('maxvalue_'+this.nr).setStyle({width:headlinewidth+"px"});
								
								if(this.leftWidth>0) $('slider_headline_'+this.nr).setStyle({width: this.leftWidth+"px"}); else $('slider_headline_'+this.nr).setStyle({width: (headlinewidth*4/10)+"px"});					
								if(this.midWidth>0) $('amountcontainer_'+this.nr).setStyle({width: this.midWidth-10+"px",marginLeft:"10px"}); else $('amountcontainer_'+this.nr).setStyle({width: (headlinewidth*3.5/10)-10+"px",marginLeft:"10px"});
								if(this.rightWidth>0) $('slider_form_container_'+this.nr).setStyle({width: this.rightWidth-10+"px",marginLeft:"10px"}); else $('slider_form_container_'+this.nr).setStyle({width: (headlinewidth*2.5/10)-10+"px",marginLeft:"10px"});
								
								
								if(this.bannerwidth<584){
									// SMALL-BANNER
									$('slider_form_container_'+this.nr).setStyle({textAlign:"left",width:this.sliderwidth+"px",marginLeft:"0px",height:this.bannerheight-25+"px"});
									$('slider_headline_'+this.nr).setStyle({fontWeight:"bold",fontSize:"9pt",bottom:"3px",height: 25+"px",width:"120px"});
									$('anchor_'+this.nr).setStyle({fontSize:"8pt",position: "absolute", bottom:"0px", right:"0px",zIndex:"9999",paddingRight:"20px"});
									
									$('amountcontainer_'+this.nr).setStyle({fontSize:"12pt",width:"80px",position: "absolute", top:"-19px", right:"6px"});
									$('sliderx_'+this.nr).setStyle({top:"24px"});
									$('slider_'+this.nr).setStyle(
										{clear:"left",width:this.sliderwidth+"px",height:"8px",backgroundImage:"url("+this.slider_slider+")",position:"absolute",bottom:"12px",backgroundRepeat:"no-repeat"}
									)
									$('handle_'+this.nr).setStyle(
										{zIndex:100,width:"20px",height:"27px",top:"-1px",backgroundImage:'url('+this.slider_handle+')',display:"block",cursor:"pointer"}
									)
								}
								
								this.slider = new Control.Slider('handle_'+this.nr, 'slider_'+this.nr, {
									range: $R(this.min_value,this.max_value+(this.steps-1)),				
									onSlide: function(v) {
										val=Math.floor(v/this.steps)*this.steps;
										$('amount_'+this.nr).innerHTML = this.tsep(val)+' '+this.currency; 
										$('slider_value_'+this.nr).value = val;
									}.bind(this),
									onChange: function(v){
										val=Math.floor(v/this.steps)*this.steps;
										$('amount_'+this.nr).innerHTML = this.tsep(val)+' '+this.currency;
										$('slider_value_'+this.nr).value = val; 
									}.bind(this)
								});			
								// Initialisierung		
								this.slider.setValue(this.default_value);
								$('slider_value_'+this.nr).value=this.default_value;
								$('slider_value_'+this.nr).name=this.parameter_name;
								
								if(this.animation) {
									this.aniRight(this,this.slider);
									Event.observe($('slider_container_'+this.nr), 'mouseover', this.stopAni.bind(this));
								}	
			}
			
			function stopAni(){
					this.Ani.cancel();
			}
			
			function aniRight(obj,slider){
				obj.Ani=new Effect.Tween('foo', obj.min_value, obj.max_value+(obj.steps-1), {duration: 3, afterFinish: function() { aniLeft(obj,slider); } }, function(p) { slider.setValue(p); });		 
			}
			
			function aniLeft(obj,slider){
				obj.Ani=new Effect.Tween('foo', obj.max_value+(obj.steps-1), obj.min_value, {duration: 3, afterFinish: function() { aniRight(obj,slider); } }, function(p) { slider.setValue(p); }); 
				
			}
			
			function tsep(n) {
				var ts=".", ds=",";
				var ns = String(n),ps=ns,ss="";
				var i = ns.indexOf(".");
				if (i!=-1) {
				ps = ns.substring(0,i);
				ss = ds+ns.substring(i+1);
				}
				return ps.replace(/(\d)(?=(\d{3})+([.]|$))/g,"$1"+ts)+ss;
			}
	
}
