	
	function isFront(){
		return (document.location.href.toString().indexOf('wba') == -1);
	}
	
	if(isFront()){
		window.addEvent('domready',function(){
			initHeader();
			initMenu();
			fixFooterHeight();
			initContact();
			initLogin();			
		});
		
		window.addEvent('resize',function(){
			fixFooterHeight();
		});
		
		function initLogin(){
		
			var frm = $('xLoginFrm');
			
			if(null !== frm){
				frm.set({
					events: {
						submit: function(){
							
							var user = $('gebruikersnaam');
							var pass = $('wachtwoord2');	
							
							var nbURL = '../wba/index.php';
							
							var mr = new Request({
								url:nbURL,
								method:'post',
								evalScripts:true,
								data: {
									'txtGebruikersnaam': user.value,
									'txtWachtwoord': pass.value,
									'modus': 'inloggen',
									'new_modus': 'inloggen'
								},
								onRequest: function(){
									$('gebruikersnaam').focus();
									$('wachtwoord2').value = '';
									$('wachtwoord2').setStyle('display','none');
									$('wachtwoord1').value = '';
									$('wachtwoord1').setStyle('display','inline');
									$('xfrmLoading').setStyle('display','block');
								},
								onSuccess: function(){
									// evalScripts!
								},
								onComplete: function(){
									$('xfrmLoading').setStyle('display','none');
									document.location = nbURL;
								},
								onFailure: function(a){
									document.location = nbURL;
								}
							}).send();
							
						}
					}
				});
				
				frm.getElements('input').each(function(inp){
					switch(inp.id){
						case 'gebruikersnaam':
							inp.set({events: {
								focus: function(){
									this.value = '';},
								blur: function(){
									if(!this.value) this.value = 'gebruikersnaam';}
							}});
						break;
						case 'wachtwoord1':
							inp.set({events: {
								focus: function(){
									var ww2 = $('wachtwoord2');
									this.setStyle('display','none');
									ww2.setStyle('display','inline');
									ww2.focus();
								}
							}});
						break;
						case 'wachtwoord2':
							inp.set({events: {
								blur: function(){
									if(!this.value){
										var ww1 = $('wachtwoord1');
										this.setStyle('display','none');
										ww1.setStyle('display','inline');
									}
								},
								/*
								keydown: function(evt){
									if(evt.key == 'enter'){
										$('xLoginFrm').fireEvent('submit');
									}
								},
								*/
								focus: function(){
									this.value = '';}
							}});
						break;
					}
				});
				
				$('submit').set({ events: {
					click: function(){frm.fireEvent('submit');}
				}});
			
			}
		}
		
		
		function initContact(){
			if(null === $('frmContact')) return;
			$('frmContact').set({
				events: {
					submit: function(){
						var errors = 11; // vergeet submit niet ;)
						var msg = '';
						this.getElements('input,textarea').each(function(el){
							el.set('value',el.get('value').trim().clean().stripTags());
							switch(el.name){
								case 'contact[bedrijfsnaam]':
									if(el.get('value').length <5){
										msg += '\n - Bedrijfsnaam is nog niet ingevuld.';
									} else errors--; break;
								case 'contact[emailadres]':
									if(el.get('value').length <5 || !el.get('value').test(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){
										msg += '\n - E-mail adres is niet geldig of niet ingevuld.';
									} else errors--; break;
								case 'contact[contactpersoon]':
									if(el.get('value').length <5){
										msg += '\n - Contactpersoon is nog niet ingevuld.';
									} else errors--; break;
								case 'contact[telefoon]':
									if(el.get('value').length <10){
										msg += '\n - Telefoonnummer is nog niet ingevuld.';
									} else errors--; break;
								case 'contact[bedrijfsnaam]':
								case 'contact[AMP1]':
								case 'contact[AMP2]':
								case 'contact[AMP3]':
								case 'contact[vraag]':
								case 'contact[actiecode]':
								case 'contact[emailkopie]':
								case 'contact[demoaanvraag]':errors--;break;
							}
						});
						if(errors>0){
							alert(((msg)?'De volgende punten waren niet in orde:'+msg:'Onbekende fout'));
							return false;
						} else {
							this.getElements('input').each(function(el){
								el.set('value',el.get('value').trim().clean().stripTags());
								switch(el.name){
									case 'contact[AMP3]':	
										el.set('value',$('frmContact').getElement('input[name="contact[AMP2]"]').get('value'));
										break;
									case 'contact[AMP2]':
										el.set('value',$('frmContact').getElement('input[name="contact[AMP1]"]').get('value'));
										break;
									case 'contact[AMP1]':
										el.set('value',$('frmContact').getElement('input[name="contact[AMP3]"]').get('value'));
										$('frmContact').getElement('input[name="contact[AMP3]"]').set('value','');
										break;
								}
							});
							
							this.action = document.location.href;
							this.method = 'post';
						}
					}
				}
			});
		}
		
		var headerSlide = new Class({
			Implements: Options,
			options: {
				
				/* start image no */
				startNo:0,
				
				/* image className */
				className:'h-img',
				
				/* Timer */
				speed: 5000,
				
				/* Fx */
				duration: 2100,
				transition: Fx.Transitions.Cubic.easeOut
			},
			
			images: [],		
			effects: [],
			workID:0, /* auto by setting */
			
			initialize: function(options){
				this.setOptions(options);
				this.workID = this.options.startNo;
				
				this.setFields();
				
				if(this.images.length>1)
					this.move();
			},
			
			setFields: function(className){
				$$('.'+this.options.className).each(function(img){
					var c = this.images.length;
					this.images[c] = img;
				}.bind(this));
				
				this.images.each(function(img,i){
					
					switch(i){
						case 0:  img.setStyle('z-index',3); break;
						case 1:  img.setStyle('z-index',2); break;
						default: img.setStyle('z-index',1); break;
					}
					
					this.effects[i] = new Fx.Morph(img,{
						duration: this.options.duration,
						transition: this.options.transition
					}).addEvent('complete',function(){
						this.done();
					}.bind(this));
					
				}.bind(this));
			},
			
			move: function(){
				setTimeout(function(){
					this.effects[this.workID].start({
						'opacity':0
					});
				}.bind(this),this.options.speed);
			},
			
			done: function(){
				// old to back and reset
				this.images[this.workID].setStyle('z-index',1);
				
				// ++
				this.workID = this.workID + 1;
				
				// reset
				if(this.workID >= this.images.length){
					this.reset();
					return;
				}
				
				// current
				this.images[this.workID].setStyle('z-index',3);
				
				var nextID = this.workID + 1;
				if(nextID >= this.images.length)
					nextID = 0;
				// next
				this.images[nextID].setStyle('z-index',2);
				this.images[nextID].setStyle('opacity',1);
				
				// move
				this.move();
			},
			
			reset: function(){
				this.workID = 0;
				
				this.images.each(function(img,i){
					switch(i){
						case 0:  img.setStyle('z-index',3); break;
						case 1:  img.setStyle('z-index',2); break;
						default: img.setStyle('z-index',1); break;
					}
					img.setStyle('opacity',1);
				});
				
				this.move();
			}
		});
	}
	
	function initHeader(){
		
		window.headerSlide = new headerSlide();
	}
	
	function initMenu(){
		$$('ul#menu li').each(function(li){
			li.set({
				events: {
					mouseover: function(){
						this.addClass('hover');
					},
					mouseout: function(){
						this.removeClass('hover');
					}
				}
			});			
		});
	}
	
	function fixFooterHeight(){
		var fc = $('footer-container');
		
		if(null !== fc){
			var offsetTop = fc.offsetTop;
			var offsetHeight = fc.offsetHeight;
			var offsetPageHeight = window.getHeight();
			
			var diff = offsetPageHeight - (offsetTop + offsetHeight);
			
			var oldHeight = fc.getStyle('height');
			oldHeight = toInt(oldHeight.toString().replace('px',''));
			
			diff = toInt(oldHeight+diff);
			
			if(diff < oldHeight)
				diff = oldHeight;
			
			fc.setStyle('height',diff+'px');
		}
	}
