
	var page2 = Class.create(abstractOrderPage, {
		
		initialize: function($super, container, controller){
			$super(container, controller);
			this.instID = 'page2.' + parseInt(Math.random()*1000000);
		},

		start: function(){
			var wpsRPC = new wps.rpc;
			wpsRPC.debug=true;
			wpsRPC.createCall('order', this.setValues.bind(this));
			wpsRPC.call('getOrderJSON', 'orderID='+this.controller.orderID);
		},
		
		setValues: function(req){
			var order = req.responseJSON;
			this.errorDiv = new Element('div', {className:'error'});
			$('aanvullendeVragen').insert(this.errorDiv);
			$$('input').each(
					(function(input){
						if (order[input.name]){
							input.value = order[input.name] ;
						}
					}).bind(this)
				)
				$$('select').each(
					(function(input){
						input.select('option').each(
							function(elem){
								if (elem.value == order[input.name]){
									elem.selected = true;
									elem.setAttribute('selected', 'true');
								}
							}
						)
					}).bind(this)
				)
				$$('textarea').each(
					(function(input){
						if (order[input.name]){
							input.value = order[input.name];
						}
					}).bind(this)
				)			
		},
		
		validate : function(){
			var ok = true;
			// loop through input/select/nodes;
			$$('input').each(
				(function(input){
					if (!this.isValid(input)) {
						ok = false;
					}
				}).bind(this)
			)
			$$('select').each(
				(function(input){
					if (!this.isValid(input)) {
						ok = false;
					}
				}).bind(this)
			)
			$$('textarea').each(
				(function(input){
					if (!this.isValid(input)) {
						ok = false;
					}
				}).bind(this)
			)
			
			if ( 
					($('ORDER_jongen').getValue() == '' || $('ORDER_jongen').getValue() == '0') 
					&& 
					($('ORDER_meisje').getValue() == '' || $('ORDER_meisje').getValue() == '0') 
				) {
				ok =false;
				var err = $('geslacht_error');
				err.show();
				err.update("Vul in of je kindje een jongen of een meisje is, <br/> als je een tweeling (of nog meer) hebt gekregen, vul dan het aantal in, <br/>anders gewoon 1");
			}else{
				var err = $('geslacht_error');
				err.show();
				err.update("");
			}
			if (!ok){
				this.errorDiv.show();
				this.errorDiv.update("Je hebt niet alle velden correct ingevuld.");
				return false;
			}
			this.errorDiv.update("");
			return true;
		},
		
		isValid : function(input){
			if (input.getAttribute('mandatory') == 'true'){
				var name = input.name;
				var err = $(name + '_error');
				err.hide();
				err.update('');
				var value = input.getValue();
				value = value.toString().replace(" ", "");
				if (value == ''){
					err.update('Dit veld is verplicht');
					err.show();
					return false;
				}
			}
			return true;
		},
		
		save : function(callBack){
			var wpsRPC = new wps.rpc;
			wpsRPC.debug=true;
			wpsRPC.createCall('order', callBack);
			try{
				$$('input').each(
					(function(input){
						wpsRPC.addArgument( input.id, this.safeValue(input.getValue()) );
					}).bind(this)
				)
				$$('select').each(
					(function(input){
						wpsRPC.addArgument( input.id, this.safeValue(input.getValue()) );
					}).bind(this)
				)
				$$('textarea').each(
					(function(input){
						wpsRPC.addArgument( input.id, this.safeValue(input.getValue()) );
					}).bind(this)
				)
			}catch(e){
				if (window.console) console.log(e);
			}
			wpsRPC.addArgument('orderID', this.controller.orderID);
			wpsRPC.addArgument('ORDER_page_index', this.controller.pageIdx);
			wpsRPC.call('updateOrder');
		}
	})
