var SB = {
	pageType: null,
	view:     null,
	
	init: function() {
		//d.debug(this);
		Behaviour.register(SB.navEvents);
		Behaviour.register(SB.footEvents);
		Behaviour.register(SB.basketEvent);
		
	},

	navEvents: {
		'#nav td': function(elmt) {
			Event.observe(elmt,'mouseover',function(e) {
				//d.debug(e);
				elmt.style.textDecoration = 'underline';
			});
			Event.observe(elmt,'mouseout',function(e) {
				elmt.style.textDecoration = 'none';
			});
			Event.observe(elmt,'click',function(e) {
				//d.debug(elmt.innerHTML);
				SB.loadView(elmt.innerHTML);
			});
		}
	},
	
	footEvents: {
		'#footer div': function(elmt) {
			Event.observe(elmt,'mouseover',function(e) {
				//d.debug(e);
				elmt.style.textDecoration = 'underline';
			});
			Event.observe(elmt,'mouseout',function(e) {
				elmt.style.textDecoration = 'none';
			});
			Event.observe(elmt,'click',function(e) {
				//d.debug(elmt.innerHTML);
				SB.loadView(elmt.innerHTML);
			});
		}
	},
	
	basketEvent: {
		'#basket': function(elmt) {
			Event.observe(elmt,'mouseover',function(e) {
				elmt.style.textDecoration = 'underline';
				elmt.style.cursor = 'pointer';
			});
			Event.observe(elmt,'mouseout',function(e) {
				elmt.style.textDecoration = 'none';
			});
			Event.observe(elmt,'click',function(e) {
				//d.debug(elmt.innerHTML);
				SB.loadView('Warenkorb');
			});
		}
	},
	
	
	
	loadView: function(view) {
		view = view.replace(/:/g,''); 
		var url = '/View/'+view+'?call=ajax';
		
		if (typeof(document.all) == 'object') {
			$('contentFieldset').getElementsByTagName('div')[0].innerHTML = '';
		} else {
			$('contentFieldset').firstChild.nextSibling.next().innerHTML = '';
		}
		
		new Ajax.Request(url, {
  			onSuccess: function(t) {
  				if (typeof(document.all) == 'object') {
  					$('contentFieldset').firstChild.innerHTML=view;
  					$('contentFieldset').getElementsByTagName('div')[0].style.scrollTop = '0px';
  					$('contentFieldset').getElementsByTagName('div')[0].innerHTML = t.responseText;
  				} else {
	  				$('contentFieldset').firstChild.nextSibling.innerHTML=view;
					$('contentFieldset').firstChild.nextSibling.next().innerHTML = t.responseText;
					$('contentFieldset').firstChild.nextSibling.next().scrollTop(0,0);
 				}
  			}
		});
		
	},
	
	sendQuestion: function() {
		if (this.checkQuestionForm()) {
			$('contact').request({
			  	onComplete: function(t) {
			  		if (t.responseText == 'OK') {
			  			alert('Vielen Dank fuer Ihre Anfrage!');
			  			$('contact').reset();
			  		} else {
			  			alert('Ihre Anfrage konnte nicht gesendet werde!');
			  		}
			  	}
			});
		}
	},
	
	checkQuestionForm: function() {
		var myForm = document.actionForm;
		if (myForm.name.value == '') {
			alert('Bitte geben Sie ihren Namen an!');
			return false;
		}
		if (myForm.email.value == '') {
			alert('Bitte geben Sie ihre E-Mail Adresse an!');
			return false;
		}
		if (myForm.text.value == '') {
			alert('Bitte geben Sie ihre E-Mail Adresse an!');
			return false;
		}
		return true;
	},
	
	addToBasket: function(productId) {
		new Ajax.Request('/?p=Action&formAction=addToBasket&productId='+productId, {
  			onSuccess: function(t) {
  				//var basketCnt = t.responseText;
  				$('basketView').innerHTML = t.responseText;
  				//alert('Der Artikel wurde erfogreich in den Warenkorb gelegt.');
  			}
		});
	},
	
	removefromBasket: function(productId) {
		new Ajax.Request('/?p=Action&formAction=removeFromBasket&productId='+productId, {
  			onSuccess: function(t) {
  				//var basketCnt = t.responseText;
  				$('basketView').innerHTML = t.responseText;
  				//alert('Der Artikel wurde erfogreich in den Warenkorb gelegt.');
  			}
		});
	},
	
	sendBasket: function() {
		if (this.checkBasketForm()) {
			//if (confirm("Bitte beachten Sie das Ihre Ware wegen verlängerter Lieferzeiten erst ab dem 28.09.2009 Versand werden kann!\n\nMit der Bestellung fortfahren?")) {
				$('basketForm').request({
					onComplete: function(t) {
						if (t.responseText == 'order_error') {
							alert('Es ist ein Fehler aufetretten, Ihr Bestellung konnet nicht durchgefuehrt werden.\n Versuchen Sie es ernuet!');
						} 
						else if (t.responseText == 'no_products') {
							if (confirm('Es befindet sich kein Produkt im Warenkorb, wolle Sie zu unseren Produkten wechseln?')) {
								//top.location='/View/Shop';
								history.back();
							}
						}
						else if (t.responseText == 'OK') {
							alert('Vielen Dank fuer Ihre Bestellung. Sie erhalten in kurze eine Auftragsbestaetigung per E-Mail.');
							//$('basketCount').innerHTML = 0;
							top.location='/';
						} else {
							alert('Ihre Anfrage konnte nicht gesendet werde!');
						}
					}
				});
			//} else {
			//	top.location = 'http://www.skyballoons.org/?p=Shop';
			//}
		}
	},
	
	checkBasketForm: function() {
		var myForm = document.actionForm;
		
		if (myForm.fname.value == '') {
			alert('Bitte geben Sie ihren Vornamen an!');
			return false;
		}
		if (myForm.lname.value == '') {
			alert('Bitte geben Sie ihren Nachnamen an!');
			return false;
		}
		if (myForm.street.value == '') {
			alert('Bitte geben Sie ihre Strasse an!');
			return false;
		}
		if (myForm.housenumber.value == '') {
			alert('Bitte geben Sie ihre Hausnummer an!');
			return false;
		}
		if (myForm.plz.value == '') {
			alert('Bitte geben Sie ihre Postleitzahl an!');
			return false;
		}
		if (myForm.city.value == '') {
			alert('Bitte geben Sie ihre Stadt an!');
			return false;
		}
		if (myForm.email.value == '') {
			alert('Bitte geben Sie ihre E-Mail Adresse an!');
			return false;
		}
		if (myForm.phone.value == '') {
			alert('Bitte geben Sie ihre Telefonnummer an!');
			return false;
		}
		if (myForm.abgaccepted.checked == false) {
			alert('Bitte bestaetigen Sie unsere AGBs!');
			return false;
		}
		return true;
	}
	
	
};

var Behaviour={
	register:function(rules){
		this.rules=rules;
		for(rule in this.rules){
			this.reload(rule);}
		},
		reload:function(rule){
			elements=$$(rule);
			for(y=0;y<elements.length;y++){
			this.rules[rule](elements[y]);
		}
	}
};


var d = window.console;
	
