// JavaScript Document

var numbers = new Array('нула','едно','две','три','четири','пет','шест','седем','осем','девет');
var bg = 'абвгдежзиклмнопрстуфхц';
var Bg = 'АБВГДЕЖЗИКЛМНОПРСТУФХЦ';
var en = 'abwgdevziklmnoprstufhc';
var En = 'ABWGDEVZIKLMNOPRSTUFHC';

Event.observe(document, "dom:loaded", type_events);


function type_events() {
	$$('.numbers').each ( function (n) { 
		Event.observe(n,'keyup', num_onkeyup.bindAsEventListener(n));
		Event.observe(n,'keypress', num_onkeypress.bindAsEventListener(n));
		var num = parseInt(n.value);
		n.next('div.input_text_under').update(numbers[num]);
	});
	$$('.series').each 	( function (n) { 
		Event.observe(n,'keypress', ser_onkeypress.bindAsEventListener(n));
	});
	
	$$('.ticket_form').each ( function (n) { 
		Event.observe(n,'submit', form_onsubmit.bindAsEventListener(n));
	});
	
	
	
}

function num_onkeyup(event) {
	var num = parseInt(this.value);
	this.next('div.input_text_under').update(numbers[num]);
	var key = event.which || event.keyCode;
	if (key < 32) return true;
	Event.stop(event);
	if (key < 48 || key > 57) return false;
	if( this.up(1).next() && this.up(1).next().down('input') ) this.up(1).next().down('input').select();
	
}



function num_onkeypress(event) {
	var key = event.which || event.keyCode;
	if (key > 31 && (key < 48 || key > 57)) {
		Event.stop(event);
	}
}


function ser_onkeypress(event) {
	var key = event.which || event.keyCode;
	if (key < 32) return true;
	var check = false;
	Event.stop( event );
	
	for ( var i = 0; i < this.form.series.value.length; i++ ) {
		
		if ( this.form.series.value.charCodeAt(i) == key ) {
			check = true;
		} else if ( Bg.charCodeAt(bg.indexOf( this.form.series.value.substr(i,1) ) ) == key ) {
			check = true;				   
		} else if ( en.charCodeAt(bg.indexOf( this.form.series.value.substr(i,1) ) ) == key ) {
			check = true;
		} else if ( En.charCodeAt(bg.indexOf( this.form.series.value.substr(i,1) ) ) == key ) {
			check = true;
		}
		if (check) {
			check = false;
			letter = Bg.substr(bg.indexOf(this.form.series.value.substr(i,1)),1);
			this.value = letter;
			this.up('form').down('input').select();
		}
	}
}


function form_onsubmit( event ) {
	var res = true;
	//alert(this.down('.numbers').length);
	this.select('.numbers').each ( function (n) { res = res && ( !isNaN(parseInt(n.value) ) ); }) ;
	this.select('.series').each ( function (n) { res = res && n.value; }) ;
	if (!res) { 
		alert ('Неправилно попълнени данни!');
		Event.stop( event );	
	}
	
}
