function getNewHttpObject() {
    var objType = false;
    try {
        objType = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
        try {
            objType = new ActiveXObject('Microsoft.XMLHTTP');
        } catch(e) {
            objType = new XMLHttpRequest();
        }
    }
    return objType;
}


function animate(objekt,eigenschaft,pref,von,bis,dauer,beschl,offset,komma){
	if(offset>0){
		window.setTimeout(function(objekt,eigenschaft,pref,von,bis,dauer,beschl,offset,komma) { return function() { animate(objekt,eigenschaft,pref,von,bis,dauer,beschl,offset,komma) } } (objekt,eigenschaft,pref,von,bis,dauer,beschl,0,komma), offset*1000);
		return true;
	}
	steps = Math.round(dauer*15);
	speed=((bis-von)/steps)-(((bis-von)/steps)*(beschl/100));
	rechwert = von;
	if(!objekt.anitimeout){
		objekt.anitimeout = new Array();
	}
	if(objekt.anitimeout[eigenschaft]){
		for(anizi=0;anizi<objekt.anitimeout[eigenschaft].length;anizi++){		
			window.clearTimeout(objekt.anitimeout[eigenschaft][anizi]);
		}
	}
	objekt.anitimeout[eigenschaft] = new Array();
	for(step=0;step<steps;step++){
		rechwert+=speed;
		speed+=((((bis-von)/steps)+(((bis-von)/steps)*(beschl/100)))-(((bis-von)/steps)-(((bis-von)/steps)*(beschl/100))))/(steps-1);
		wert=rechwert;
		if(step==steps-1){wert=bis;}
		if(!komma){wert=Math.round(wert);}
		objekt.anitimeout[eigenschaft][step] = window.setTimeout(function(objekt,eigenschaft,pref,wert) { return function() { eval('objekt.'+eigenschaft+' = "' + wert + pref + '";'); } } (objekt,eigenschaft,pref,wert), ((1000/15)*step));
	}
}

function getElementsByClassName(object, cname){
	getElementsByClassName(object,cname,false);
}
function getElementsByClassName(object, cname, tag){
	if(tag){
		objects = object.getElementsByTagName(tag);
	}
	else{
		objects = (object.all)? object.all : object.getElementsByTagName("*");
	}
	retobj = new Array();
	for(z=0;z<objects.length;z++){
		if(objects[z].className == cname || objects[z].className.indexOf(cname + " ")!=-1 || objects[z].className.indexOf(" " + cname)!=-1){
			retobj.push(objects[z]);
		}
	}
	return retobj;
}



/*/////////////////////////////////////////////////////////////////////////////////
                                    JS Kalender
	Beispiel:
		kalender = new Calender(document.getElementById('jscalender'), 'de');
		kalender.callBackFunction = function(tag,monat,jahr){
			document.forms[0].vdd.value = tag;
			document.forms[0].vmm.value = monat;
			document.forms[0].vyy.value = jahr;
			kalender.hide();
		}
	callBackFunction wird aufgerufen wenn auf ein Datum geklickt wird
	setMarkedDays(array)
		setzt makierte Tage, Array ist so aufgebaut: {'dd.mm.yyyy':'className'}
		zum className wird das prefix "jsc_" hinzugefügt
	setValidation(vdd,vmm,vyy,bdd,bmm,byy)
		setzt den validen Zeitraum, alle nich validen bekommen die Klasse 
		"jsc_invalid", von und bis- Tag werden eingeschlossen.
/////////////////////////////////////////////////////////////////////////////////*/
/**
 * @projectDescription JS Kalender, callBackFunction wird aufgerufen wenn auf ein Item geklickt wird
 * @param {String} obref
 * @param {String} lang
 */
function Calender(obref, lang){
	var self = this;
	this.obref = obref;
	this.day_names_l = new Array();
	this.month_names_l = new Array();
	this.day_names_l['de'] = new Array('Mo','Di','Mi','Do','Fr','Sa','So');
	this.month_names_l['de'] = new Array('Jänner','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
	this.day_names_l['en'] = new Array('Mo','Tu','We','Th','Fr','Sa','Su');
	this.month_names_l['en'] = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
	this.day_names_l['fr'] = new Array('Lu','Ma','Me','Je','Ve','Sa','Di');
	this.month_names_l['fr'] = new Array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
	this.day_names_l['it'] = new Array('Lun','Mar','Mer','Gio','Ven','Sab','Dom');
	this.month_names_l['it'] = new Array('gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');
	this.day_names = this.day_names_l[lang];
	this.month_names = this.month_names_l[lang];
	this.days = new Array();
	this.dayclasses = new Array();
	this.marked_days = new Array();
	/**
	 * @projectDescription initialisiert den Kalender und befüllt den Container mit HTML-Code
	 */
	this.init = function(){
		html_output = '<div class="jsc_head"><a class="jsc_back" href="javascript:void(0);">&laquo;</a><h2></h2><a class="jsc_next" href="javascript:void(0);">&raquo;</a></div>\n';
		html_output += '<div class="jsc_body">\n';
		for(i=0;i<7;i++){
			html_output += '<span>' + self.day_names[i] + '</span>\n';
		}
		zw=0;
		for(i=0;i<41;i++){
			zw++;
			if(zw==6 || zw==7){
				html_output += '<a href="javascript:void(0);" class="jsc_special"></a>\n';
			}
			else{
				html_output += '<a href="javascript:void(0);" class="jsc_normal"></a>\n';
			}
			if(zw==7){
				zw=0;
			}
		}
		html_output += '<a class="jsc_close" href="javascript:void(0);">x</a>\n';
		html_output += '</div>';
		self.obref.innerHTML = html_output;
		self.obref.getElementsByTagName('a')[self.obref.getElementsByTagName('a').length-1].onclick = function(){
			self.hide();
		};
		self.obref.getElementsByTagName('a')[0].onclick = function(){
			if(self.akt_month>1){
				self.setDate(self.akt_month-1, self.akt_year);
			}
			else{
				self.setDate(12, self.akt_year-1);
			}
		};
		self.obref.getElementsByTagName('a')[1].onclick = function(){
			if(self.akt_month<12){
				self.setDate(parseInt(self.akt_month)+1, self.akt_year);
			}
			else{
				self.setDate(1, self.akt_year+1);
			}
		};
		for(i=2;i<43;i++){
			self.obref.getElementsByTagName('a')[i].onclick = function(){
				self.itemOnClick(this);
			}
			self.obref.getElementsByTagName('a')[i].onmouseover = function(){
				self.itemOnHover(this);
			}			
		};
	};
	/**
	 * @projectDescription blendet den Kalender ein
	 */
	this.show = function(){
		self.obref.style.display = 'block';
	};
	/**
	 * @projectDescription blendet den Kalender aus
	 */
	this.hide = function(){
		self.obref.style.display = 'none';	
	};
	/**
	 * @projectDescription setzt Monat und Jahr
	 */
	this.setDate = function(month, year){
		self.akt_month = new Date(year,month-1,1).getMonth()+1;
		self.akt_year = new Date(year,month-1,1).getFullYear();
		month = self.akt_month;
		year = self.akt_year;
		blankdays = new Date(year,month-1,1).getDay();
		blankdays += -1;
		if(blankdays<0){
			blankdays=6;
		}
		for(i=27;month-1==new Date(year,month-1,i).getMonth();i++){
			maxdays = i;
		}
		for(i=0;i<blankdays+1;i++){
			self.days[i] = '';
			self.dayclasses[i] = 'jsc_blank';
		}
		for(i=i-1;i<maxdays+blankdays;i++){
			self.dayclasses[i] = false;
			self.days[i] = i-blankdays+1;
			if(self.marked_days[i-blankdays+1+"."+self.akt_month+"."+self.akt_year]){
				self.dayclasses[i] = 'jsc_'+self.marked_days[i-blankdays+1+"."+self.akt_month+"."+self.akt_year];
			}
			if(self.from_validation){
				if(self.from_validation.getTime()>new Date(self.akt_year,self.akt_month-1,i-blankdays+1).getTime()){
					self.dayclasses[i] = 'jsc_invalid';
				}
				else if(self.to_validation.getTime()<new Date(self.akt_year,self.akt_month-1,i-blankdays+1).getTime()){
					self.dayclasses[i] = 'jsc_invalid';
				}
			}
		}
		for(;i<41;i++){
			self.days[i] = '';
			self.dayclasses[i] = 'jsc_blank';
		}
		self.aktualHTML();
	};
	this.setActive = function(dateobj){

    this.setDate(parseInt(dateobj.getMonth())+1,dateobj.getFullYear());
		for(v=0;v<this.days.length;v++){
			if(this.days[v] == dateobj.getDate()){
				this.activeItem = self.obref.getElementsByTagName('a')[v+2];
				break;
			}
		}
		this.activeItem.className += " jsc_active";
	}
	/**
	 * @projectDescription aktualisiert den HTML-Code des Kalenders
	 */
	this.aktualHTML = function(){
	  self.obref.getElementsByTagName('h2')[0].innerHTML = self.month_names[self.akt_month-1] + ' ' + self.akt_year;
		for(i=0;i<self.days.length;i++){
			self.obref.getElementsByTagName('a')[i+2].innerHTML = self.days[i];
			self.obref.getElementsByTagName('a')[i+2].className = self.obref.getElementsByTagName('a')[i+2].className.replace(/jsc_blank/gi, '');
			if(self.dayclasses[i]){
				self.obref.getElementsByTagName('a')[i+2].className = self.obref.getElementsByTagName('a')[i+2].className.split(" ")[0];
				self.obref.getElementsByTagName('a')[i+2].className += " " + self.dayclasses[i];
			}
			else{
				self.obref.getElementsByTagName('a')[i+2].className = self.obref.getElementsByTagName('a')[i+2].className.split(" ")[0];
			}
			/*if(self.days[i]==""){
				self.obref.getElementsByTagName('a')[i+2].className += " jsc_blank";
			}*/
		}
	};
	/**
	 * @projectDescription wird aufgerufen wenn ein Item ausgewält wird
	 * @param {Object} obj
	 */
	this.itemOnClick = function(obj){
		if(obj.innerHTML!='' && self.callBackFunction){
			if(self.from_validation){
				if(self.from_validation.getTime()<=new Date(self.akt_year,self.akt_month-1,obj.innerHTML*1).getTime() && self.to_validation.getTime()>=new Date(self.akt_year,self.akt_month-1,obj.innerHTML*1).getTime()){
					self.callBackFunction(obj.innerHTML*1,self.akt_month,self.akt_year);
				}
			}
			else{
				self.callBackFunction(obj.innerHTML*1,self.akt_month,self.akt_year);
			}
		}
	};
	/**
	 * @projectDescription wird aufgerufen wenn der Cursor über ein Item bewegt wird
	 * @param {Object} obj
	 */
	this.itemOnHover = function(obj){
		if(obj.innerHTML!='' && self.callBackFunctionHover){
			if(self.from_validation){
				if(self.from_validation.getTime()<=new Date(self.akt_year,self.akt_month-1,obj.innerHTML*1).getTime() && self.to_validation.getTime()>=new Date(self.akt_year,self.akt_month-1,obj.innerHTML*1).getTime()){
					self.callBackFunctionHover(obj.innerHTML*1,self.akt_month,self.akt_year);
				}
			}
			else{
				self.callBackFunctionHover(obj.innerHTML*1,self.akt_month,self.akt_year);
			}
		}
	};
	/**
	 * @projectDescription setzt makierte Tage auf die jeweilige Klasse
	 * @param {Array} darr
	 */
	this.setMarkedDays = function(darr){
		for(mday in darr){
			self.marked_days[(mday.split(".")[0]*1)+"."+(mday.split(".")[1]*1)+"."+(mday.split(".")[2]*1)] = darr[mday];
		}
		//self.setDate(self.akt_month, self.akt_year);
	};
	/**
	 * @projectDescription löschet eine bestimmte Klasse der makierten Tage wieder weg.
	 * @param {String} mclass
	 */
	this.deleteMarkedDays = function(mclass){
		if(!mclass){
			self.marked_days = new Array();
		}
		else{
			for(i in self.marked_days){
				if(self.marked_days[i] == mclass){
					self.marked_days[i] = false;
				}
			}
		}
		self.setDate(self.akt_month, self.akt_year);
	}
	this.setValidation = function(vdd,vmm,vyy,bdd,bmm,byy){
		this.from_validation = new Date(vyy,vmm-1,vdd);
		this.to_validation = new Date(byy,bmm-1,bdd);3
		self.setDate(self.akt_month,self.akt_year);
	};
	this.hide();
	this.init();
	self.setDate(parseInt(new Date().getMonth())+1,new Date().getFullYear());
}











function priceList(wrapper, xmlpath, lang){
	var self = this;
	this.lang = lang;
	this.txtdetailsein = new Array();
	this.txtdetailsein['de'] = "Preise einblenden";
	this.txtdetailsein['en'] = "show prices";
	this.txtdetailsein['it'] = "Visualizza prezzi";
	this.txtdetailsein['fr'] = "afficher prix";
	this.txtdetailsein = this.txtdetailsein[this.lang];
	this.txtdetailsaus = new Array();
	this.txtdetailsaus['de'] = "Preise ausblenden";
	this.txtdetailsaus['en'] = "hide prices";
	this.txtdetailsaus['it'] = "Annulla prezzi";
	this.txtdetailsaus['fr'] = "masquer prix";
	this.txtdetailsaus = this.txtdetailsaus[this.lang];
	this.dispact = new Array();
	this.htmlobj = wrapper;
	this.xmlpath = xmlpath;
	this.aktpos = 0;
	// XML Load
	this.init = function(){
		this.xmlobj = getNewHttpObject();
		this.xmlobj.onreadystatechange = this.onXMLChange;
		this.xmlobj.open("GET", this.xmlpath);
		this.xmlobj.send(false);
		if(document.URL.indexOf('#')!=-1){
			this.startcat = document.URL.split('#')[1]*1;
		}
		else{
			this.startcat=0;
		}
	}
	this.onXMLChange = function(){
		if(self.xmlobj.readyState==4 && self.xmlobj.status == 200){
			self.loaded = true;
			self.show();
		}
		else if(self.xmlobj.readyState==4){
			// Error
		}
	}
	this.goOffset = function(offset){
		new_year = this.kalender1.akt_year*1;
		new_month = (this.kalender1.akt_month*1)+offset;
		if(new_month<1){
			new_month += 12;
			new_year -= 1;
		}
		this.kalender1.setDate(new_month, new_year);
		this.kalender2.setDate(parseInt(new_month)+1, new_year);
	}
	this.goDate = function(monat,jahr){
		new_year = jahr;
		new_month = monat;
		this.kalender1.setDate(new_month, new_year);
		this.kalender2.setDate(new_month+1, new_year);
	}
	this.show = function(){
		this.kalender1 = new Calender(document.getElementById('pricelist_jscalender1'), this.lang);
		this.kalender2 = new Calender(document.getElementById('pricelist_jscalender2'), this.lang);
		this.kalender1.callBackFunction = function(tag,monat,jahr){
			self.showDate(new Date(jahr,monat-1,tag));
		}
		this.kalender2.callBackFunction = function(tag,monat,jahr){
			self.showDate(new Date(jahr,monat-1,tag));
		}
		this.kalender1.show();
		this.kalender2.show();
		this.kalender1.setActive(new Date());
		this.kalender2.setActive(new Date());

		this.rooms=0;
		this.output = "";
		this.output += '<div class="pricelist"><a class="pricelist_back" href="#">&lt;</a><a class="pricelist_next" href="#">&gt;</a><div class="pricelist_head"><div class="pricelist_firstcol"></div><div class="pricelist_colrow"><div class="pricelist_colwrap">';
		this.dates = new Array();
		for(i=0;i<self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date').length;i++){
			
                        if(i/2==Math.floor(i/2)){
				classname = "even";
			}
			else{
				classname = "odd";
			}
			this.dates.push(new Array());
			zw1 = self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[i].attributes[1].nodeValue.split(".");
			zw2 = self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[i].attributes[2].nodeValue.split(".");
			
                        
                        /*if(zw1[2]<new Date().getFullYear() || (zw1[2]==new Date().getFullYear() && zw1[1] < new Date().getMonth())) {
                           continue;
                        }*/
                        
                        this.dates[this.dates.length-1][0] = new Date(zw1[2],zw1[1]-1,zw1[0]);
			this.dates[this.dates.length-1][1] = new Date(zw2[2],zw2[1]-1,zw2[0]);
			this.output += '<div class="pricelist_col pricelist_col_'+i+' ' + classname + '">'+self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[i].attributes[1].nodeValue+"<br />"+self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[i].attributes[2].nodeValue+"</div>";
			
			
			date_start = self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[i].attributes[1].nodeValue.split('.');
                        date_start = new Date(date_start[2]*1,date_start[1]-1,date_start[0]*1);
			date_end = self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[i].attributes[2].nodeValue.split('.');
			date_end = new Date(date_end[2]*1,date_end[1]-1,date_end[0]*1);
                        
			my_marked_days = new Array();
			for(j=new Date(date_start.getTime());j.getTime()<=date_end.getTime();j = new Date(j.getTime()+(1000*60*60*24))){
				my_marked_days[j.getDate()+'.'+(j.getMonth()+1)+'.'+j.getFullYear()] = 'price_list_'+i;
			}
			this.kalender1.setMarkedDays(my_marked_days);
			this.kalender2.setMarkedDays(my_marked_days);
		}
		this.datesCount = i;
		this.output += "</div></div></div>";
		for(i=0;i<self.xmlobj.responseXML.getElementsByTagName('pricelist')[0].getElementsByTagName('category').length;i++){
			aktcat = self.xmlobj.responseXML.getElementsByTagName('pricelist')[0].getElementsByTagName('category')[i];
			this.output += '<a href="#" rel="' + this.rooms + '" class="pricelist_catlink"><span>' + this.txtdetailsein + '</span>' + aktcat.getElementsByTagName('name_'+this.lang)[0].firstChild.nodeValue + '</a>';
			this.output += '<div class="pricelist_body" style="height:0px;">';
			for(j=0;j<aktcat.getElementsByTagName('room').length;j++){
				aktroom = aktcat.getElementsByTagName('room')[j];
				this.rooms++;
				var class_name = aktroom.getElementsByTagName('name_de')[0].firstChild.nodeValue == 'specialprice' ? 'specialprice' : '';
				this.output += '<div class="pricelist_row '+class_name+'"><div class="pricelist_firstcol">';
				if(aktroom.attributes[0]){
					this.output += '<a href="/images/zimmer/'+aktroom.attributes[0].nodeValue+'.jpg" name="/images/zimmer/'+aktroom.attributes[0].nodeValue+'.jpg" rel="lightbox[xx]" class="pricelist_img" title="' + aktroom.getElementsByTagName('name_'+this.lang)[0].firstChild.nodeValue + '"><img src="/nav/img.gif" border="0" alt="Zimmerbild"></a>';
				}
				if(class_name != 'specialprice'){   
          this.output += "<strong><a href=\"/"+lang+"-hotel-zimmer.shtml\">" + aktroom.getElementsByTagName('name_'+this.lang)[0].firstChild.nodeValue + "</a></strong>";
				}
        this.output += "<br />" + aktroom.getElementsByTagName('descreption_'+this.lang)[0].firstChild.nodeValue;
				this.output += '</div><div class="pricelist_colrow"><div class="pricelist_colwrap"><div class="pricelist_pricerow">';
				
				for(k=0;k<self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date').length;k++){
					if(k/2==Math.floor(k/2)){
						classname = "even";
					}
					else{
						classname = "odd";
					}
					aktdate = self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[k];
					for(l=0;l<aktroom.getElementsByTagName('price').length;l++){
						if(aktroom.getElementsByTagName('price')[l].attributes[1] && aktroom.getElementsByTagName('price')[l].attributes[0].nodeValue == aktdate.attributes[0].nodeValue){
							this.output += '<div class="pricelist_col ' + classname + '">' + aktroom.getElementsByTagName('price')[l].attributes[1].nodeValue + "</div>";
							break;
						}
						else if(l==aktroom.getElementsByTagName('price').length-1){
							this.output += '<div class="pricelist_col ' + classname + ' blank">-</div>';
						}
					}
				}
				this.output += '</div><div class="pricelist_pricerow special">';
				for(k=0;k<self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date').length;k++){
					if(k/2==Math.floor(k/2)){
						classname = "even";
					}
					else{
						classname = "odd";
					}
					aktdate = self.xmlobj.responseXML.getElementsByTagName('dates')[0].getElementsByTagName('date')[k];
					for(l=0;l<aktroom.getElementsByTagName('price').length;l++){
						if(aktroom.getElementsByTagName('price')[l].attributes[2] && aktroom.getElementsByTagName('price')[l].attributes[0].nodeValue == aktdate.attributes[0].nodeValue){
							this.output += '<div class="pricelist_col ' + classname + '">' + aktroom.getElementsByTagName('price')[l].attributes[2].nodeValue + "</div>";
							break;
						}
						else if(l==aktroom.getElementsByTagName('price').length-1){
							this.output += '<div class="pricelist_col ' + classname + ' blank">-</div>';
						}
					}
				}
				this.output += "</div></div></div></div>";			
			}
			this.output += "</div>";
		}
		this.htmlobj.innerHTML = this.output;
		/*document.getElementById('pricelist_callink').onclick = function(){
			self.kalender.show();
			return false;
		}*/
		getElementsByClassName(this.htmlobj, 'pricelist_next', 'a')[0].onclick = function(){
			self.showDate(+1);
			this.blur();
			return false;
		}
		getElementsByClassName(this.htmlobj, 'pricelist_back', 'a')[0].onclick = function(){
			self.showDate(-1);
			this.blur();
			return false;
		}
		for(i=0;i<getElementsByClassName(this.htmlobj, 'pricelist_catlink', 'a').length;i++){
			getElementsByClassName(this.htmlobj, 'pricelist_catlink', 'a')[i].number = i;
			getElementsByClassName(this.htmlobj, 'pricelist_catlink', 'a')[i].onclick = function(){
				self.showRow(this.number,this);
				this.blur();
				return false;
			}
			
		}
		for(x=0;x<getElementsByClassName(this.htmlobj, 'pricelist_catlink', 'a').length;x++){
			this.showRow(x, getElementsByClassName(this.htmlobj, 'pricelist_catlink', 'a')[x]);
		}
		//this.showRow(this.startcat, getElementsByClassName(this.htmlobj, 'pricelist_catlink', 'a')[this.startcat]);
		this.goOffset(0);
		this.showDate(start_preislites_date);
		this.goDate(start_preislites_date_month,start_preislites_date_year);
		//initLightbox();
	}
	this.showRow = function(number,obj){
		j=0;
		for(i=0;i<this.htmlobj.getElementsByTagName('div').length;i++){
			if(this.htmlobj.getElementsByTagName('div')[i].className.indexOf('pricelist_body')!=-1){
				j++;
				if(j-1==number){
					break;
				}
			}
		}
		if(j-1==number){
			if(this.htmlobj.getElementsByTagName('div')[i].style.height != "0px"){
				this.dispact[number] = false;
				obj.getElementsByTagName('span')[0].innerHTML = this.txtdetailsein;
				animate(this.htmlobj.getElementsByTagName('div')[i],'style.opacity','',1,0,0.3,0,0,true);
				animate(this.htmlobj.getElementsByTagName('div')[i],'style.height','px',getElementsByClassName(this.htmlobj.getElementsByTagName('div')[i], 'pricelist_firstcol', 'div').length*74,0,0.3,100,0,false);
			}
			else{
				obj.getElementsByTagName('span')[0].innerHTML = this.txtdetailsaus;
				animate(this.htmlobj.getElementsByTagName('div')[i],'style.opacity','',0,1,0.3,0,0,true);
				animate(this.htmlobj.getElementsByTagName('div')[i],'style.height','px',0,getElementsByClassName(this.htmlobj.getElementsByTagName('div')[i], 'pricelist_firstcol', 'div').length*74,0.3,100,0,false);
				this.dispact[number] = true;
			}
		}
	}
	this.showDate = function(offset){
		if(typeof(offset)=="object"){
			for(i=0;i<this.dates.length;i++){
				if(this.dates[i][1].getTime()>offset.getTime()){
					break;
				}
			}
			offset = ((this.aktpos*(-1))-(i-1))*(-1);
			zwelem = getElementsByClassName(this.htmlobj,'pricelist_col','div');
			for(k=0;k<this.dates.length;k++){
				zwelem[k].className = zwelem[k].className.split("pricelist_active").join("");
			}
			zwelem[i].className += " pricelist_active";
			//getElementsByClassName(this.htmlobj,'pricelist_col','div')[i].innerHTML = "<span class=\"pricelist_activepf\">test</span>" + getElementsByClassName(this.htmlobj,'pricelist_col','div')[i].innerHTML; 
		}
		this.aktpos -= offset;
		if(this.aktpos>0){
			offset += this.aktpos;
			this.aktpos=0;
		}
		else if(this.aktpos<this.datesCount*(-1)+3){
			offset -= (this.datesCount*(-1)+3)-this.aktpos;
			this.aktpos = this.datesCount*(-1)+3;
		}
		zwelem = getElementsByClassName(this.htmlobj,'pricelist_colwrap','div');
		for(shdi=0;shdi<zwelem.length;shdi++){
			animate(zwelem[shdi],'style.marginLeft','px',80*(this.aktpos+offset),80*this.aktpos,0.3,0,0.2,false);
			//getElementsByClassName(this.htmlobj,'pricelist_colwrap','div')[shdi].style.marginLeft = (70*offset)+'px';
		}
		if(this.aktpos>=0){
			getElementsByClassName(this.htmlobj, 'pricelist_back', 'a')[0].style.display = "none";
			getElementsByClassName(this.htmlobj, 'pricelist_next', 'a')[0].style.display = "block";
		}
		else if(this.aktpos<=this.datesCount*(-1)+3){
			getElementsByClassName(this.htmlobj, 'pricelist_next', 'a')[0].style.display = "none";
			getElementsByClassName(this.htmlobj, 'pricelist_back', 'a')[0].style.display = "block";
		}
		else{
			getElementsByClassName(this.htmlobj, 'pricelist_next', 'a')[0].style.display = "block";
			getElementsByClassName(this.htmlobj, 'pricelist_back', 'a')[0].style.display = "block";
		}
	}
}