/*
*************************************************************************************************************

	Filename:		main.inc.js.php
	
	Copyright:		StudiosDigital - © Austria, Vienna 2006 - All Rights Reserved
					
*************************************************************************************************************
*/
function $(element){
	var tmp = document.getElementById(element);
	if(tmp == null){
		return false;
	}
	else if(tmp == undefined){
		return false;
	}
	else{
		return tmp;
	}
}function validateEmail(email) {
    
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if (!email.match(re)) {
        return (false);
    }
    return(true);
}var xmlPath = 'http://www.apo-wiesen.at/modules/Shop/services/';// class AJAX constructor

function AJAX(){
	if(!this.init()){
		return false;
	}
	
}

// class AJAX
AJAX.prototype = {
	
	init : function(){
		this._dhtml = (document.getElementById || document.all || document.layers);
		if(!this._dhtml){
			return false;
		}
		return true;
	}
	,
	initAjax : function(){
		var xHttp;
		try{
			xHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try{
				xHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				xHttp = false;
			}
		}
		if(!xHttp && typeof XMLHttpRequest != 'undefined'){
			xHttp= new XMLHttpRequest();
		}
		this.xHttp = xHttp;
		return xHttp;
	}
	,
	getXML : function(xmlPath){
		//alert('getXML: '+xmlPath);
		try{
			this.xHttp.open('GET',xmlPath, true);
			//alert('opened');
		}
		catch(e){
			alert(e);
		}
		try{
			this.xHttp.send('');
			//alert('sended');
		}
		catch(e){
			alert(e);
		}
	}
	,
	handleResponse : function(){
		//alert('handleResponse');
		arguments.callee._referrer.responseXML = arguments.callee._referrer._xHttp.responseXML;
		arguments.callee._referrer.parseXML(arguments.callee._referrer);
	}
	
};var shop = new Object();
shop.xmlPath = xmlPath;
shop.data = new Array();
shop.categories = new Array();


function initShop(){
	
	

	shop._container = $('shopContainer');
	if(!shop._container){
		return false;
	}
	
	if(!shop.checkCookiesEnabled()){
		return false;
	}
	
	shop._container.innerHTML = '';
	shop.resetButtons();
	
	shop.start();
	shop.service = 'showCategories';
	shop.getService('q=showCategories');
	return true;
}

shop.checkCookiesEnabled = function(){
	shop.createCookie('jsEnabled','true','2');
	if(!shop.readCookie('jsEnabled')){
		shop._container.innerHTML = '<br/><h2>Ihr Browser l&auml;sst keine Cookies zu!</h2><br/>Unser Shop setzt voraus, dass Ihr Browser <strong>Javascript</strong> unterst&uuml;tzt und <strong>Cookies</strong> zugelassen sind.<br/><br/>Ihr Browser unterst&uuml;tzt keine Cookies oder Sie haben Cookies deaktiviert. Bitte aktivieren Sie Cookies oder verwenden Sie einen Browser, der Cookies unterst&uuml;tzt.';
		return false;
	}
	return true;
}

shop.setValidationCookie = function(){
	shop.createCookie('jsValidate',location.href,'2');
}

shop.createCookie = function(name,value,seconds){
	var thistime = new Date();
	var lifetime = thistime.getTime() + (seconds * 1000);
	thistime.setTime(lifetime);
	document.cookie = name+"="+value+"; expires=" + thistime.toGMTString();
}

shop.readCookie = function(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return false;
}

shop.start = function(){
	shop.ajax = new AJAX();
	if(!shop.ajax){
		alert('no ajax support');
		return false;
	}
	shop._xHttp = shop.ajax.initAjax();
	shop.ajax.handleResponse._referrer = shop;
	try{
		shop._xHttp.onload = shop.ajax.handleResponse;
	}
	catch(e){
		shop._xHttp.onreadystatechange = function(){
			if(shop._xHttp.readyState==4){
				shop.ajax.handleResponse();
			}
		}
	}
	return true;
}

shop.resetButtons = function(){
	var a = document.getElementsByTagName('a');
	for(var i=0;i < a.length;i++){
		if(a[i].className == 'showOverview'){
			a[i].onclick = function(){
				shop.start();
				shop.service = 'showOverview';
				var cat = this.href.substring(this.href.indexOf('#')+1);
				shop.getService('q=showOverview&cat='+cat);
				return false;
			}
		}
		else if(a[i].className == 'showBasket'){
			a[i].onclick = function(){
				shop.start();
				shop.service = 'showBasket';
				shop.getService('q=showBasket');
				return false;
			}
		}
		else if(a[i].className == 'emptyBasket'){
			a[i].onclick = function(){
				shop.start();
				shop.service = 'emptyBasket';
				shop.getService('q=emptyBasket');
				return false;
			}
		}
		else if(a[i].className == 'orderCart'){
			a[i].onclick = function(){
				shop.disableCartButtons();
				shop.start();
				shop.service = 'orderCart';
				shop.getService('q=orderCart');
				return false;
			}
		}
		else if(a[i].className == 'showDetail'){
			a[i].onclick = function(){
				var tmp = this.href;
				var pos = tmp.indexOf('#');
				var id = tmp.substring(pos+1);
				shop.start();
				shop.service = 'showDetail';
				shop.getService('q=showDetail&id='+id);
				this.className = 'hideDetail';
				this.innerHTML = 'Details ausblenden';
				shop.resetButtons();
				return false;
			}
		}
		else if(a[i].className == 'hideDetail'){
			a[i].onclick = function(){
				var tmp = this.href;
				var pos = tmp.indexOf('#');
				var id = tmp.substring(pos+1);
				var _container = document.getElementById('detail_'+id);
				this.innerHTML = 'Details anzeigen';
				_container.innerHTML = '&nbsp;';
				this.className = 'showDetail';
				shop.resetButtons();
				return false;
			}
		}
		else if(a[i].className == 'recommendArticle'){
			a[i].onclick = function(){
				shop.recommendArticle('recipient');
				return false;
			}
		}
	}
}

shop.recommendArticle = function(mode){
	if(mode=='recipient'){
		var recipient_email = shop.checkEmail("Geben Sie hier die Emailadresse der Person ein, der Sie diesen Artikel empfehlen wollen:","Sie haben keine Emailadresse angegeben! Wollen Sie erneut eine Emailadresse eingeben?",'recipient');
		if(!recipient_email){
			return false;
		}
	}
	
	var sender_email = shop.checkEmail("Geben Sie hier Ihre Emailadresse ein:","Sie haben keine Emailadresse angegeben! Wollen Sie erneut eine Emailadresse eingeben?",'sender');
	if(!sender_email){
		return false;
	}
	alert('Ihre Artikelempfehlung wurde erfolgreich an '+recipient_email+' gesendet!');
	
	shop.start();
	shop.service = 'recommendArticle';
	shop.getService('q=recommendArticle&sender='+sender_email+'&recipient='+recipient_email+'&id=6');
	return true;
}


shop.checkEmail = function(first,second,mode){
	var answer = prompt (first,"");
	if(answer==''){
		answer = confirm(second);
		if(!answer){
			return false;
		}
		else{
			shop.recommendArticle('recipient');
			return false;
		}
	}
	else if(answer==null){
		return false;
	}
	else{
		if(!validateEmail(answer)){
			alert('Die von Ihnen eingegebene Emailadresse ist nicht korrekt!');
			shop.recommendArticle(mode);
			return false;
		}
		return answer;
	}
}

shop.getService = function(service){
	if(!shop.checkCookiesEnabled()){
		return false;
	}
	var today = new Date();
	var thisdate = Math.round(Math.random()*100)*(today.getSeconds()+today.getMinutes()+today.getHours());
	shop.setValidationCookie();
	shop.ajax.getXML(shop.xmlPath+'?'+service+'&r='+thisdate);
	return true;
}

shop.parseXML = function(referrer){
	
	switch(referrer.service){
		case 'showCategories':
			shop.showCategories();
			break;
			
		case 'showOverview':
			shop.showOverview();
			break;
			
		case 'showDetail':
			shop.showDetail();
			break;
			
		case 'showBasket':
			shop.showBasket();
			break;
			
		case 'emptyBasket':
			shop.emptyBasket();
			break;
			
		case 'addItem':
			shop.addItem();
			break;
			
		case 'orderCart':
			shop.orderCart();
			break;
			
		case 'sendCart':
			shop.sendCart();
			break;
			
		default:
		
			break;
	}
	
}

shop.showCategories = function(){
	var items = shop.responseXML.getElementsByTagName('item');
	var categories = new Array();
	
	for(var i=0; i < items.length;i++){
		shop.categories[i] = new Array();	
		shop.categories[i]['id'] = items[i].getElementsByTagName('id').item(0).firstChild.data;
		shop.categories[i]['urlname'] = items[i].getElementsByTagName('urlname').item(0).firstChild.data;
		shop.categories[i]['htmlname'] = items[i].getElementsByTagName('htmlname').item(0).firstChild.data;
		shop.categories[i]['jsname'] = items[i].getElementsByTagName('jsname').item(0).firstChild.data;
	}
	
	
	shop.start();
	shop.service = 'showOverview';
	shop.getService('q=showOverview');
	
}

shop.showOverview = function(){
	var items = shop.responseXML.getElementsByTagName('item');
	var category = shop.responseXML.getElementsByTagName('cat').item(0).firstChild.data;
	var html = '';
	
	html += '<select id="cat">';
	html += '<option value="alle">Alle Kategorien</option>';
	
	
	for(var j=0;j < shop.categories.length;j++){
		var selected = '';
		if(category ==shop.categories[j]['urlname']){
			selected = ' selected="selected"';
		}
		html += '<option value="'+shop.categories[j]['urlname']+selected+'">'+shop.categories[j]['htmlname']+'</option>';

	}
	
	html += '</select>';
	html += '<div id="warenkorb_link"><a href="#" class="showBasket" title=" Klicken Sie hier, um Ihren Warenkorb anzusehen ">zum Warenkorb</a></div>';
	html += '<br/>';
	html += '<br/>';
	
	for(var i=0;i < items.length;i++){

		html += '<div class="item_container">';
			html += '<div class="shop_item">';
				//html += '<div class="shop_top"><a href="#" class="showBasket" title=" Klicken Sie hier, um Ihren Warenkorb anzusehen ">Warenkorb</a> | <a href="#'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" class="recommendArticle" title=" Klicken Sie hier, um diesen Artikel Freunden weiterzuempfehlen ">Freunden empfehlen</a></div>';
				html += '<div class="shop_header">';
				html += '<h2>'+items[i].getElementsByTagName('name').item(0).firstChild.data+'<span>Kategorie: <a class="showOverview" title=" Nur Artikel der Kategorie '+items[i].getElementsByTagName('cat_name').item(0).firstChild.data+' anzeigen " href="#'+shop.convertCategory('id','urlname',items[i].getElementsByTagName('cat').item(0).firstChild.data)+'">'+items[i].getElementsByTagName('cat_name').item(0).firstChild.data+'</a></span></h2>';
				html += '</div>';
				
				html += '<div class="shop_content">';
					html += '<div class="shop_one">';
			
						html += '<div class="img_container">';
							var path = 'http://www.apo-wiesen.at/img/shop/'+items[i].getElementsByTagName('thumb_img').item(0).firstChild.data;
							html += '<img src="'+path+'" width="94" height="94" alt="Voransicht: '+items[i].getElementsByTagName('name').item(0).firstChild.data+'" title="Voransicht: '+items[i].getElementsByTagName('name').item(0).firstChild.data+'" />';html += '<div class="showDetail_container"><a class="showDetail" href="#'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" title=" Klicken Sie hier um die Details zu diesem Artikel anzuzeigen ">Details anzeigen</a></div>';
						html += '</div>';
						html += '<div class="description">';
							html += '<strong>'+items[i].getElementsByTagName('name').item(0).firstChild.data+'</strong>';
							html += '<br/>';
							html += items[i].getElementsByTagName('short_desc').item(0).firstChild.data;
							html += '<br/>';
							html += 'Preis: '+items[i].getElementsByTagName('preis').item(0).firstChild.data+' &euro;, je '+items[i].getElementsByTagName('einheit').item(0).firstChild.data;
						html += '</div>';
					
						html += '<div style="clear: both;">&nbsp;</div>';
						//html += '<div class="showDetail_container"><a class="showDetail" href="#'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" title=" Klicken Sie hier um die Details zu diesem Artikel anzuzeigen ">Details anzeigen</a></div>';
						
						
						
						html += '<div class="addItem_container">';
							html += '<form name="shop_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'"><span>';
							html += '<input type="text" name="anzahl" class="anzahl" size="3" maxlength="3" value="1" />';
							html += '<input type="hidden" name="jsName" value="'+items[i].getElementsByTagName('name').item(0).firstChild.data+'" />';
							html += 'St&uuml;ck zur Bestellung';
							html += '<input type="submit" class="submit" action="javascript: void(0);" value="hinzuf&uuml;gen" name="submit_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" />';
							html += '</span></form>';
							html += '<div class="shop_top"><a href="#" class="showBasket" title=" Klicken Sie hier, um Ihren Warenkorb anzusehen ">Warenkorb</a> | <a href="#'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" class="recommendArticle" title=" Klicken Sie hier, um diesen Artikel Freunden weiterzuempfehlen ">Freunden empfehlen</a></div>';
						html += '</div>';
						
						html += '<div style="clear: both;" id="detail_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'">&nbsp;</div>';
					html += '</div>';
				html += '</div>';
			html += '</div>';
		html += '</div>';
	
	
	}
	
	
	
	shop._container.innerHTML = '<h2>Produkt&uuml;bersicht</h2>';
	shop._container.innerHTML += '<br/>';
	shop._container.innerHTML += 'Bestellen Sie in unserem Online-Shop bequem beliebig viele Artikel Ihrer Wahl. Diese Artikel k&ouml;nnen Sie entweder <strong>pers&ouml;nlich bei uns abholen</strong> oder <strong>per Post-Versand</strong> erhalten.<br/><br/>'+html+'';
	
	var cat_select = document.getElementById('cat');
	cat_select.onchange = function(){
				shop.start();
				shop.service = 'showOverview';
				shop.getService('q=showOverview&cat='+this.value);
	}
	
	shop.resetButtons();
	var inputs = document.getElementsByTagName('input');
	for(var j=0;j < inputs.length;j++){
		if(inputs[j].className == 'anzahl'){
			inputs[j].onchange = function(){
				if(isNaN(this.value)){
					alert('Bitte als Wert für die Stückzahl nur Zahlen eingeben!');
				}
			}
		}
		if(inputs[j].className == 'submit'){
			inputs[j].onclick = function(){
				var id = this.name;
				id = Number(id.substring(7));
				var anzahl = document['shop_'+id].anzahl.value;
				var jsName = document['shop_'+id].jsName.value;
				shop.start();
				shop.service = 'addItem';
				shop.getService('q=addItem&id='+id+'&n='+anzahl);
				alert('Es wurde(n) "' + anzahl + '" Stück "'+jsName+'" dem Warenkorb hinzugefügt!');
				return false;
			}
		}
	}
	
	
}

shop.showDetail = function(){

	var items = shop.responseXML.getElementsByTagName('item');
	var id = items[0].getElementsByTagName('id').item(0).firstChild.data;
	var _container = document.getElementById('detail_'+id);
	_container.innerHTML += '<div class="detailBox">'+items[0].getElementsByTagName('long_desc').item(0).firstChild.data;
	_container.innerHTML += '</div>';
	return true;
}

shop.addItem = function(){
	var status = shop.responseXML.getElementsByTagName('status').item(0).firstChild.data;
	var msg = shop.responseXML.getElementsByTagName('msg').item(0).firstChild.data;
	if(status=='false'){
		alert(msg);
		return false;
	}
	
	var id = shop.responseXML.getElementsByTagName('id').item(0).firstChild.data;
	var n = shop.responseXML.getElementsByTagName('n').item(0).firstChild.data;
	var name = shop.responseXML.getElementsByTagName('name').item(0).firstChild.data;
	
	//alert('Es wurde(n) "' + n + '" Stück "'+name+'" dem Warenkorb hinzugefügt!');
	return true;
}

shop.emptyBasket = function(){
	shop.start();
	shop.service = 'showOverview';
	shop.getService('q=showOverview');
}


shop.showBasket = function(){

	var html = '';
	var status = shop.responseXML.getElementsByTagName('status').item(0).firstChild.data;
	var msg = shop.responseXML.getElementsByTagName('msg').item(0).firstChild.data;
	
	if(status=='false'){
		if(msg=='emptycart'){
			alert('Ihr Warenkorb ist leer!');
			return false;
		}
		else{
			alert(msg);
			return false;
		}
	}
	html += '<div class="shop_a"><a href="#alle" class="showOverview">zur&uuml;ck zur Produkt&uuml;bersicht</a></div>';
	html += '<div id="cart">';
	var items = shop.responseXML.getElementsByTagName('item');
	if(!items){
		alert('no items');
	}
	else{
	
		html += '';
		html += '<table><caption>Ihr Warenkorb:</caption><colgroup><col id="erste" /><col span="3" /><col id="summen" /></colgroup><thead><tr><th><strong>Artikel:</strong></th><th><strong>Menge:</strong></th><th><strong>Preis pro St&uuml;ck:</strong></th><th><strong>Gesamtpreis:</strong></th></tr></thead><tbody>';
		var line = 0;
		var total = 0;
		
		for(i=0;i< items.length;i++){
			line = Number(items[i].getElementsByTagName('n').item(0).firstChild.data)*Number(items[i].getElementsByTagName('preis').item(0).firstChild.data);
			total += line;
			
			html += '<tr>';
			
			html += '<th>'+items[i].getElementsByTagName('name').item(0).firstChild.data+'</th>';
			
			html += '<td>';
			html += '<input class="input_plus" type="submit" title=" Klicken Sie hier um die Menge zu erh&ouml;hen " value="+" name="plus_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" />';
			html += '<input class="input_minus" type="submit" title=" Klicken Sie hier um die Menge zu verringern " value="-" name="minus_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" />';
			html += '<input class="input_text" title=" &Auml;ndern Sie hier die Menge dieses Artikels " type="text" value="'+items[i].getElementsByTagName('n').item(0).firstChild.data+'" id="anzahl_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" size="2" maxlength="3" /></td>';
			
			html += '<td><input class="input_hidden" type="text" id="pPrice_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" value="'+items[i].getElementsByTagName('preis').item(0).firstChild.data+'" size="5" maxlength="7" readonly="readonly"/><span class="euro">&euro;</span></td>';
			
			html += '<td><input class="input_hidden" type="text" id="tPrice_'+items[i].getElementsByTagName('id').item(0).firstChild.data+'" value="'+(Math.floor(line*10))/10+'" size="5" maxlength="7" readonly="readonly"/><span class="euro">&euro;</span></td>';
			
			html += '</tr>';

		}

		html += '<tr class="total"><th>Gesamtpreis Ihrer Bestellung</th><td colspan="3" class="total_linie"><input class="input_hidden" size="5" maxlength="7"  type="text" id="totalAmount" value="'+(Math.floor(total*10))/10+'" /><span class="euro">&euro;</span></td></tr></tbody>';
		html += '<tfoot><tr><th>Hinweis:</th><td colspan="4">Alle Posten inkl. 20&#37; Mehrwertsteuer</td></tr></tfoot></table>';
		html += '</div>';
		html += '<br/>';
		shop._container.innerHTML = '<h2>Ihr Warenkorb</h2>';
		html += '<div id="emptyBasket_container" class="emptyBasket_container"><a href="#uebersicht" class="emptyBasket" id="emptyBasket">gesamten Warenkorb leeren</a></div>';
		html += '<div id="orderCart_container" class="orderCart_container"><a href="#kasse" class="orderCart" id="orderCart">zur Kasse gehen</a></div>';
		html += '<div class="clearer">&nbsp;</div>';
		html += '<div class="formContainer" id="formContainer">&nbsp;</div>';
		shop._container.innerHTML += html;
		
		shop.resetCartButtons();
		
		shop.resetButtons();
	}
	return true;
}

shop.resetCartButtons = function(){
	
	var cart = document.getElementById('cart');
	var inputs = cart.getElementsByTagName('input');
	
	for(var i=0;i<inputs.length;i++){
		if(inputs[i].className == 'input_text'){
			
			inputs[i].onfocus = function(){
				this.original = this.value;
			}
		
			inputs[i].onchange = function(){
				if(isNaN(this.value)){
					alert('Bitte als Wert für die Stückzahl nur Zahlen eingeben!');
					this.value = this.original;
					this.focus();
					return false;
				}
				var id = this.id.substring(7);
				var pPrice = document.getElementById('pPrice_'+id).value;
				var totalAmount = document.getElementById('totalAmount');
				var newPrice = pPrice*this.value;
				document.getElementById('tPrice_'+id).value = (Math.floor(newPrice*10))/10;
				var totalPrice = shop.getTotalPrice();
				totalAmount.value = totalPrice;
				return false;
			}
			
			inputs[i].onblur = function(){
				if(this.value != this.original){
					var id = this.id.substring(7);
					var diff = this.value - this.original;
					shop.start();
					shop.service = 'addItem';
					shop.getService('q=addItem&id='+id+'&n='+diff);
					return false;
				}
			}
		}
		else if(inputs[i].className == 'input_plus'){
			inputs[i].onclick = function(){
				var id = this.name.substring(5);
				var pPrice = document.getElementById('pPrice_'+id).value;
				var totalAmount = document.getElementById('totalAmount');
				var oldVal = document.getElementById('tPrice_'+id).value;
				var newPrice = ( (Math.round(Number(oldVal)*100)) + (Math.round(Number(pPrice)*100)) )/100;
				document.getElementById('tPrice_'+id).value = newPrice;
				
				var input_anzahl = document.getElementById('anzahl_'+id).value;
				
				document.getElementById('anzahl_'+id).value = Number(input_anzahl) + 1;
				var totalPrice = shop.getTotalPrice();
				totalAmount.value = totalPrice;
			
				shop.start();
				shop.service = 'addItem';
				shop.getService('q=addItem&id='+id+'&n=1');
				return false;
			}
		}
		else if(inputs[i].className == 'input_minus'){
			inputs[i].onclick = function(){
				var id = this.name.substring(6);
				var input_anzahl = document.getElementById('anzahl_'+id).value;
				if(input_anzahl<=0){
					alert('Die Menge dieses Artikels ist bereits 0!');
					return false;
				}
				
				var pPrice = document.getElementById('pPrice_'+id).value;
				var totalAmount = document.getElementById('totalAmount');
				var oldVal = document.getElementById('tPrice_'+id).value;
				
				var newPrice = ( (Math.round(Number(oldVal)*100)) - (Math.round(Number(pPrice)*100)) )/100;
				document.getElementById('tPrice_'+id).value = newPrice;
				
				document.getElementById('anzahl_'+id).value = Number(input_anzahl) - 1;
				var totalPrice = shop.getTotalPrice();
				totalAmount.value = totalPrice;
				
				shop.start();
				shop.service = 'addItem';
				shop.getService('q=addItem&id='+id+'&n=-1');
				return false;
			}
		}
	}
	return true;
}

shop.disableCartButtons = function(){
	
	var cart = document.getElementById('cart');
	var inputs = cart.getElementsByTagName('input');
	
	var emptyBasket = $('emptyBasket');
	var emptyBasket_container = $('emptyBasket_container');
	
	var orderCart_container = $('orderCart_container');
	
	emptyBasket.className = 'emptyBasket_hidden';
	emptyBasket_container.className = 'emptyBasket_container_hidden';
	
	emptyBasket.onclick = function(){
		return false;
	}
	
	orderCart_container.innerHTML = '<a href="#warenkorb" class="showBasket" id="showBasket">Warenkorb bearbeiten</a>';
	var showBasket = $('showBasket');
	
	showBasket.onclick = function(){
		shop.start();
		shop.service = 'showBasket';
		shop.getService('q=showBasket');
		return false;
	}
	
	for(var i=0;i<inputs.length;i++){
		if(inputs[i].className == 'input_text'){
			inputs[i].readOnly = 'readonly';
			inputs[i].className = 'input_texthidden';
		}
		else if(inputs[i].className == 'input_plus'){
			inputs[i].disabled = true;
			inputs[i].className = 'input_amounthidden';
		}
		else if(inputs[i].className == 'input_minus'){
			inputs[i].disabled = true;
			inputs[i].className = 'input_amounthidden';
		}
	}
	return true;
}

shop.getTotalPrice = function(){
	var prices = document.getElementsByTagName('input');
	var total = 0;
	for(var i=0;i<prices.length;i++){
		if(prices[i].className=='input_hidden'){
			if((prices[i].id).substring(0,7)=='tPrice_'){
				total += Number(prices[i].value);
			}
		}
	}
	return Math.round(Number(total)*100)/100;
}

shop.convertCategory = function(inputmode,outputmode,data){
	for(var i=0;i< shop.categories.length;i++){
		if(shop.categories[i][inputmode]==data){
			return shop.categories[i][outputmode];
		}
	}
	return false;
}

shop.orderCart = function(){
	shop.formContainer = $('formContainer');
	var formularHTML = '';
	formularHTML += '<fieldset>';
	formularHTML += '	<legend></legend>';
	formularHTML += '	<p>F&uuml;llen Sie bitte das Formular aus, um Ihre Bestellung abzuschicken.<sub>(Felder mit * sind erforderliche Angaben)</sub></p>';
	formularHTML += '	<form id="userdata" method="post" class="formular">';
	formularHTML += '		<input type="hidden" name="action" value="validate" />';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_0">Anrede:</label>';
	formularHTML += '			<select name="field_0">';
	formularHTML += '				<option value="null" selected="selected" ></option>';
	formularHTML += '				<option value="0">Frau</option>';
	formularHTML += '				<option value="1">Herr</option>';
	formularHTML += '				<option value="2">Firma</option>';
	formularHTML += '			</select>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_1">Titel:</label>';
	formularHTML += '			<select name="field_1">';
	formularHTML += '				<option value="null" selected="selected" ></option>';
	formularHTML += '				<option value="0">Bachelor</option>';
	formularHTML += '				<option value="1">Dipl.Arch.</option>';
	formularHTML += '				<option value="2">Dipl.Ing.</option>';
	formularHTML += '				<option value="3">Dipl.Ing. FH</option>';
	formularHTML += '				<option value="4">Dipl.Ing. HTL</option>';
	formularHTML += '				<option value="5">Dipl.Ing.Dr.</option>';
	formularHTML += '				<option value="6">Dipl.Ing.Mag.</option>';
	formularHTML += '				<option value="7">Dir.</option>';
	formularHTML += '				<option value="8">Dkfm.</option>';
	formularHTML += '				<option value="9">Dkfm.Dr.</option>';
	formularHTML += '				<option value="10">Dkfm.Mag.</option>';
	formularHTML += '				<option value="11">Dr.</option>';
	formularHTML += '				<option value="12">Ing.</option>';
	formularHTML += '				<option value="13">Ing.Dr.</option>';
	formularHTML += '				<option value="14">Ing.Mag.</option>';
	formularHTML += '				<option value="15">Mag.</option>';
	formularHTML += '				<option value="16">Mag. FH</option>';
	formularHTML += '				<option value="17">Mag.Dr.</option>';
	formularHTML += '				<option value="18">MBA</option>';
	formularHTML += '				<option value="19">Prim.Univ.Prof.Dr.</option>';
	formularHTML += '				<option value="20">Primar Dr.</option>';
	formularHTML += '				<option value="21">Prof.</option>';
	formularHTML += '				<option value="22">Prof.Dr.</option>';
	formularHTML += '				<option value="23">Univ.Prof.Dr.</option>';
	formularHTML += '			</select>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_2">Familienname:<sup>*</sup></label>';
	formularHTML += '			<input type="text" name="field_2" class="required" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_3">Vorname:<sup>*</sup></label>';
	formularHTML += '			<input type="text" name="field_3" class="required" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_4">Firma:</label>';
	formularHTML += '			<input type="text" name="field_4" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_5">Adresse:<sup>*</sup></label>';
	formularHTML += '			<input type="text" name="field_5" class="required" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_6">Postleitzahl:<sup>*</sup></label>';
	formularHTML += '			<input type="text" name="field_6" class="required" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_7">Stadt / Ort:<sup>*</sup></label>';
	formularHTML += '			<input type="text" name="field_7" class="required" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_8">Email:</label>';
	formularHTML += '			<input type="text" name="field_8" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_9">Telefon:<sup>*</sup></label>';
	formularHTML += '			<input type="text" name="field_9" class="required" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_10">Fax:</label>';
	formularHTML += '			<input type="text" name="field_10" value=""/>';
	formularHTML += '		</div>';
	formularHTML += '		<div>';
	formularHTML += '			<label for="field_11">&nbsp;</label>';
	formularHTML += '			<input type="submit" name="field_11" class="input_submit" id="submit" value="Bestellung absenden" />';
	formularHTML += '		</div>';
	formularHTML += '	</form>';
	formularHTML += '</fieldset>';
	shop.formContainer.innerHTML = formularHTML;
	shop.autoFillForm();
	shop.resetUserDataButtons();
	
}

shop.autoFillForm = function(){
	var formular = $('userdata');
	var inputs = formular.getElementsByTagName('input');
	var textInputs = new Array();
	
	var selects = formular.getElementsByTagName('select');
	for(var i=0;i<selects.length;i++){
		var tmpValue = shop.readCookie(selects[i].name);
		if(!tmpValue){
			//
		}
		else{
			selects[i].value = tmpValue;
		}
	}
	
	var textInputs = new Array();
	for(var i=0;i<inputs.length;i++){
		if(inputs[i].type=='text'){
			textInputs.push(inputs[i]);
			var tmpValue = shop.readCookie(inputs[i].name);
			if(!tmpValue){
				//
			}
			else{
				inputs[i].value = tmpValue;
			}
		}
	}

	//textInputs[textInputs.length-1].referrer = textInputs;
	//shop.checkFormular(textInputs);
	
	
	if(!shop.checkFormular(textInputs)){
		//alert('check not ok');
	}
	else{
		//alert('ok');
		var submitButton = $('submit');
		submitButton.className = 'input_active';
	}
}

shop.resetUserDataButtons = function(){
	var formular = $('userdata');
	
	var inputs = formular.getElementsByTagName('input');
	var selects = formular.getElementsByTagName('select');
	
	var textInputs = new Array();
	
	for(var i=0;i<selects.length;i++){
		selects[i].onchange = function(){
			shop.createCookie(this.name,this.value,1800);
		}
	}
	
	for(var i=0;i<inputs.length;i++){
		if(inputs[i].type=='text'){
			textInputs.push(inputs[i]);
			textInputs[textInputs.length-1].referrer = textInputs;
			textInputs[textInputs.length-1].onblur = function(){
				if(this.value!=''){
					shop.createCookie(this.name,this.value,1800);
				}
				if(!shop.checkFormular(this.referrer)){
					//alert('check not ok');
					var submitButton = $('submit');
					submitButton.className = 'input_submit';
				}
				else{
					//alert('ok');
					var submitButton = $('submit');
					submitButton.className = 'input_active';
				}
			}
		}
	}
	
	
	formular.textInputs = textInputs;
	
	
	
	formular.onsubmit = function(){
		if(!shop.checkFormular(this.textInputs)){
			// do nothing
		}
		else{
			shop.start();
			shop.service = 'sendCart';
			shop.getService('q=sendCart');
		}
		return false;
	}
	
	
}

shop.sendCart = function(){
	//alert('bestellung erfolgreich verschickt!');
	
	shop._container.innerHTML = '<h2>Ihr Bestellstatus:</h2>';
	shop._container.innerHTML += 'Ihre Bestellung wurde erfolgreich abgesendet!';
	shop._container.innerHTML += '<br/>';
	shop._container.innerHTML += '<br/>';
	shop._container.innerHTML += '<div class="shop_a"><a href="#alle" class="showOverview">zur&uuml;ck zur Produkt&uuml;bersicht</a></div>';
	shop._container.innerHTML += '<div class="shop_a"><a href="home" class="showOverview">oder zur Startseite</a></div>';
	shop.resetButtons();
}

shop.checkFormular = function(referrer){
	var check = true;
	for(i=0;i<referrer.length;i++){
		if(referrer[i].name == 'field_8'){
			if(referrer[i].value!=''){
				if(!validateEmail(referrer[i].value)){
					alert('Die von Ihnen eingegebene Emailadresse ist nicht korrekt!');
					referrer[i].focus();
					referrer[i].select();
					return false;
				}
			}
		}
		if(referrer[i].className=='required'){
			if(referrer[i].value == ''){
				check = false;
			}
		}
	}
	return check;
}
