
// läßt nur Zahleneingaben in einem Formularfeld zu 
function nurZahlen(el)
{
  var val = el.value.replace(/[^\.^,\d]/g, '');
  el.value = val;
}

// formatiert Fließkommawerte zu Preisangaben
function tFix(wert,ds){
       var wert=(wert.toFixed)?wert.toFixed(ds):
        Math.floor(wert)+"."+
(Math.pow(10,ds)+Math.round((wert-Math.floor(wert))*
           Math.pow(10,ds))+"").substr(1,ds);
return wert;
                   }

// ersetzt den Klassennamen des Elements, dessen Id an erster Stelle angegeben wird
function changeClass(elementId, newClassName) {
	if (document.getElementById(elementId)){
		document.getElementById(elementId).className = newClassName;
	}
}


function getElementsByClassName(classname) {
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = document.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}


 ///////////////////////////////////////////////////////////////////////////////
// Used for pattern-specific demos.
///////////////////////////////////////////////////////////////////////////////

var DELAY = 1000;
var steps = 0;
function andThen(action) {
  var delayTime = (++steps * DELAY);
  setTimeout(action, delayTime);
}

function log(message) {
  $("log").innerHTML += message + "<br/>";
}

function createXMLHttpRequest() {
  try { return new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
  try { return new XMLHttpRequest();                   } catch(e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

window.addEvent('load', function updateSiteState() {
												 
// get information about the current state of the site:
// shop: user is currently shopping
// order: user is processing the order
	
	var settings = {
	siteState : 'shopInit'
	}
	
	// get the current state of the site 										   
	var HashCookie = new Hash.Cookie('SiteState');
	
	// if cookie exists
	if (HashCookie.get('siteState')) {
		settings['siteState'] = HashCookie.get('siteState');
	}
	
	if (settings['siteState']=="shop") {
		$("appnavigation").style.display = "block";
		$("slideshow_wrap").style.display = "none";
		
	} else  {
		if (window.ie6) {
			$("appnavigation").style.display = "block";
		}
		else {
			$("appnavigation").style.display = "none";
		}
		$("slideshow_wrap").style.display = "block";	
	};
			
	
	$('clearCart').addEvent('click', 
			function() {
				HashCookie.empty();;
				$("appnavigation").style.display = "none";	
			});

	$('items').getElements('button').addEvent('click', 
			function() {
				settings['siteState'] = 'shop';
				HashCookie.extend(settings);
				$("appnavigation").style.display = "block";	
				$("slideshow_wrap").style.display = "none";	
			});

	$('submitter').addEvent('click', 
			function() {
				HashCookie.empty();
			});
	
});		
	
window.addEvent('load', function navsubstitute(){
											  		   
	

			var scrolly = new Scroller('cartContent', {area: 50, velocity: 1});
			
			$('cartContent').addEvent('mouseover', scrolly.start.bind(scrolly));
			$('cartContent').addEvent('mouseout', scrolly.stop.bind(scrolly));	
			
			
			
	Element.Events.extend({
	'wheelup': {
		type: Element.Events.mousewheel.type,
		map: function(event){
			event = new Event(event);
			if (event.wheel >= 0) this.fireEvent('wheelup', event)
		}
	},
 
	'wheeldown': {
		type: Element.Events.mousewheel.type,
		map: function(event){
			event = new Event(event);
			if (event.wheel <= 0) this.fireEvent('wheeldown', event)
		}
	}
});
 

$$('.framework').addEvents({
	'wheelup': function(e) {
		e = new Event(e).stop();
		
		var ycord = $('content_panel').scrollTop;
	
		$('content_panel').scrollTo(0,ycord-40);
		
		
	},
 
	'wheeldown': function(e) {
		e = new Event(e).stop();
		 var ycord = $('content_panel').scrollTop;
	
		$('content_panel').scrollTo(0,ycord+40);
	}
});		
			
				
	});
	


