	function slideObj(id, options) {
		this.id=id;
		this.slide_width=options['width'];
		this.panel_count=options['panels'];
		this.dot_count=options['dots'];
		this.active_panel=0;
		this.options=options;

		this.set_buttons();

	}

	slideObj.prototype.refresh = function (options) {
		this.active_panel=0;
		if(this.options['dots']!=null) this.dot_count=options['dots'];
		if(this.options['panels']!=null) this.panel_count=options['panels'];
		if(this.options['active_panel']!=null) this.active_panel=options['active_panel'];

		this.set_buttons();

	}


	slideObj.prototype.set_buttons = function () {
		for (var i=0;i<this.dot_count;i++) {

			var panel_obj=$(this.id+'-dot'+i);
			if(panel_obj!=null) {
				panel_obj.title='';
				if(i>this.panel_count-1) {
					panel_obj.src=this.options['dot_null'];
					panel_obj.style.cursor='default';

				} else
				if(this.active_panel==i) {
					panel_obj.src=this.options['dot_active'];
					panel_obj.style.cursor='default';

				} else
				{
					panel_obj.src=this.options['dot_inactive'];
					panel_obj.style.cursor='pointer';
					var self=this;
					panel_obj.rel=i;
					panel_obj.onclick=function(){ self.swap_panel(this);};
				}
				//alert(panel_obj);
			}
		}
		var btn_obj=$(this.id+'-prev');
		if(btn_obj!=null) {
			btn_obj.title='';
			if (this.active_panel==0) {
				btn_obj.src=this.options['prev_inactive'];
				btn_obj.style.cursor='default';
			} else {
				btn_obj.src=this.options['prev_active'];
				btn_obj.style.cursor='pointer';

				btn_obj.rel=this.active_panel-1;
				btn_obj.onclick=function(){ self.swap_panel(this);};
			}
		}
		var btn_obj=$(this.id+'-next');
		if(btn_obj!=null) {
			btn_obj.title='';
			if (this.active_panel>=this.panel_count-1) {
				btn_obj.src=this.options['next_inactive'];
				btn_obj.style.cursor='default';
			} else {
				btn_obj.src=this.options['next_active'];
				btn_obj.style.cursor='pointer';

				btn_obj.rel=this.active_panel+1;
				btn_obj.onclick=function(){ self.swap_panel(this);};
			}
		}

	}

	slideObj.prototype.swap_panel = function (panel) {
		this.active_panel=panel.rel;
		var myFx = new Fx.Tween(this.id);
		myFx.start('left',  '-'+(this.active_panel*this.slide_width)+'px');
		this.set_buttons();

	}


//******************** slide function *****************************//
function dsd_slide(options) {
  // slide_toggle({toggle:['signupID','loginID']});
  // slide_toggle({slidein:['signupID','loginID'], slideout:[], outfirst:true, infirst:true});

  	var elements_slide=[];
    var mode='vertical';
    var elements=['toggle','slidein','slideout'];

	if(typeof options=='object') {
	    for(var j=0;j<elements.length;j++) {
	   		elements_slide[elements[j]]=[];
			if (options[elements[j]]!=null && typeof options[elements[j]]=='object') {
	      	for(var i=0;i<options[elements[j]].length;i++){
	      		if(typeof options[elements[j]][i]=='string'){
					var id=options[elements[j]][i];
		            var myFx = new Fx.Slide(id);
					if($(id).style!=null && $(id).style.display=='none') {
	                 // moet dus dicht zijn in het begin!
	                 	$(id).style.display='block';
						myFx.hide(); // 1e keer
	               }
				   elements_slide[elements[j]].push(id);
	      		}
	      	}
	      }else
		  if(options[elements[j]]!=null && typeof options[elements[j]]=='string') {
		  	var id=options[elements[j]];
            var myFx = new Fx.Slide(id);
			if($(id)!=null && $(id).style!=null && $(id).style.display=='none') {
		    	$(id).style.display='block';
				myFx.hide(); // 1e keer
		    }
		  	elements_slide[elements[j]].push(id);

		  }

		}
	}else if(typeof options=='string') {
            var id=options;
		    var myFx = new Fx.Slide(id);

			if($(id).style.display=='none') {
		    	$(id).style.display='block';
				myFx.hide(); // 1e keer
		    }
		  	elements_slide['toggle'].push(id);
    }

    if(elements_slide['toggle'].length>0) {
        for(var i=0;i<elements_slide['toggle'].length;i++){
			var myFx = new Fx.Slide(elements_slide['toggle'][i]);
			if (myFx.wrapper.offsetHeight == 0 || myFx.wrapper.offsetWidth == 0)
	            elements_slide['slidein'].push(elements_slide['toggle'][i]); else
	            elements_slide['slideout'].push(elements_slide['toggle'][i]);

			}
    }

	var par_options=options;
	func_slide_in=function(options){
        for(var i=0;i<elements_slide['slidein'].length;i++){
            var extra=null;
			if (par_options.Extra!=null) extra= par_options.Extra;
			if (par_options.inExtra!=null) extra= par_options.inExtra;

	   		var myFx = new Fx.Slide(elements_slide['slidein'][i],extra);
            if (options!=null){
            	if(i==0 && options.call!=null)
	                myFx.chain(options.call);
            }
			if(par_options.onComplete!=null) myFx.onComplete=par_options.onComplete;
			myFx.slideIn(mode);
		}
	}

	var par_options=options;
	func_slide_out=function(options){
        for(var i=0;i<elements_slide['slideout'].length;i++){
            var extra=null
			if (par_options.Extra!=null) extra= par_options.Extra;			;
			if (par_options.outExtra!=null) extra=par_options.outExtra;
	   		var myFx = new Fx.Slide(elements_slide['slideout'][i], extra);
            if (options!=null){
            	if(i==0 && options.call!=null)
                myFx.chain(options.call);
            }
			if(par_options.onComplete!=null) myFx.onComplete=par_options.onComplete;
			myFx.slideOut(mode);
		}
	}

    if(options.outfirst==true && elements_slide['slideout'].length>0) {
      options=[];
	  options.call=func_slide_in;
      func_slide_out(options);
    } else
    if(options.infirst==true && elements_slide['slidein'].length>0) {
      options=[];
	  options.call=func_slide_out;
      func_slide_in(options);
    } else
    {
	    func_slide_out();
	    func_slide_in();
    }
}
