/**
 * @author thomas
 */
MooTools.lang.set('de-AT', 'FormValidator', {

	required:'Dieses Feld wird benötigt.',
	minLength:'Please enter at least {minLength} characters (you entered {length} characters).',
	maxLength:'Please enter no more than {maxLength} characters (you entered {length} characters).',
	integer:'Please enter an integer in this field. Numbers with decimals (e.g. 1.25) are not permitted.',
	numeric:'Please enter only numeric values in this field (i.e. "1" or "1.1" or "-1" or "-1.1").',
	digits:'Please use numbers and punctuation only in this field (for example, a phone number with dashes or dots is permitted).',
	alpha:'Please use letters only (a-z) with in this field. No spaces or other characters are allowed.',
	alphanum:'Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.',
	dateSuchAs:'Please enter a valid date such as {date}',
	dateInFormatMDY:'Please enter a valid date such as MM/DD/YYYY (i.e. "12/31/1999")',
	email:'Ungültige E-Mail Adresse!',
	url:'Please enter a valid URL such as http://www.google.com.',
	currencyDollar:'Please enter a valid $ amount. For example $100.00 .',
	oneRequired:'Please enter something for at least one of these inputs.',
	errorPrefix: 'Fehler: ',
	warningPrefix: 'Warning: ',

	//FormValidator.Extras

	noSpace: 'There can be no spaces in this input.',
	reqChkByNode: 'No items are selected.',
	requiredChk: 'This field is required.',
	reqChkByName: 'Please select a {label}.',
	match: 'This field needs to match the {matchName} field',
	startDate: 'the start date',
	endDate: 'the end date',
	currendDate: 'the current date',
	afterDate: 'The date should be the same or after {label}.',
	beforeDate: 'The date should be the same or before {label}.',
	startMonth: 'Please select a start month',
	sameMonth: 'These two dates must be in the same month - you must change one or the other.'

});
MooTools.lang.setLanguage('de-AT');

window.addEvent('domready', function(){
	if($('breadcrumb-container')){
		var tabs = $$('.tab');
		var breadcrumbs = $$('#form-bread a');
		
		var formValidator = new FormValidator($('form-order'), {
			onElementPass: function(el){
			},
			onElementFail: function(el, rules){
			},
			onFormValidate: function(valid, form, e){
				if(valid){
				}
				else{
				}
			},
			serial: false
		});

		var formCheck = function(container){
			var fields = $(container).getElements('input, textarea, select');
			var valid = true;
			for(var i=0,l=fields.length;i<l;i++){
				if(!formValidator.validateField(fields[i])){
					valid = false;
				}
			}
			$(container).store('formcheck', valid);
			return valid;
		}
		
		var switchTab = function(id){
			tabs.setStyle('display', 'none').removeClass('active');
			$(id).setStyle('display', 'block').addClass('active').set('rel', $('item-' + id).get('href'));
			breadcrumbs.removeClass('active');
			$('item-' + id).addClass('active');
		};
		
		switchTab('kundendaten', false);
		
		breadcrumbs.addEvent('click', function(e){
			e.stop();
			var activeTab = $(document.getElement('.tab.active'));
			var linkedTab = $(this.get('rel'));
			if((activeTab.retrieve('formcheck')) && (linkedTab.retrieve('formcheck') || formCheck(linkedTab))){
				switchTab(this.get('rel'));
			}
		});
		

		$$('.bt-weiter').addEvent('click', function(e){
			e.stop();
			if(formCheck(this.getParent('.tab'))){
				switchTab(this.get('rel'), false);
			}
			else{
				document.getElement('.validation-failed').focus();				
			}
		});
		
	}
});

