// JavaScript Document

function validaStep1(){
	
	get('tipoVolo_err').style.display = 'none';
	get('luogoPartenza_err').style.display = 'none';
	get('dataAndata_err').style.display = 'none';
	get('luogoArrivo_err').style.display = 'none';
	get('dataArrivo_err').style.display = 'none';
	get('numPasseggeri_err').style.display = 'none';
	
	
	
	var tipoVolo = $('input:radio:checked[name=tipoVolo]').val();
	if(tipoVolo != 'a' && tipoVolo != 'ar'){
		get('tipoVolo_err').style.display = 'block';
		return false;
	}
	
	var luogoPartenza = get('luogoPartenza').value;
	if( trim(luogoPartenza) == ''){
		get('luogoPartenza_err').style.display = 'block';
		return false;
	}
	
	var dataPartenza = get('dataPartenza').value;
	if(trim(dataPartenza) == ''){
		get('dataAndata_err').style.display = 'block';
		return false;
	}else{
		var t = dataPartenza.split('/');
		if(t.length != 3){
			get('dataAndata_err').style.display = 'block';
			return false;	
		}else if(!dataValida(t[0],t[1],t[2])){
			get('dataAndata_err').style.display = 'block';
			return false;		
		}	
	}
	
	if(get('boxRitorno').style.display == 'block'){
		var luogoArrivo = get('luogoDestinazione').value;
		if( trim(luogoArrivo) == ''){
			get('luogoArrivo_err').style.display = 'block';
			return false;
		}
		
		var dataArrivo = get('dataArrivo').value;
		if(trim(dataArrivo) == ''){
			get('dataArrivo_err').style.display = 'block';
			return false;
		}else{
			var t = dataArrivo.split('/');
			if(t.length != 3){
				get('dataArrivo_err').style.display = 'block';
				return false;	
			}else if(!dataValida(t[0],t[1],t[2])){
				get('dataArrivo_err').style.display = 'block';
				return false;		
			}	
		}
	}
		
	
	var numPasseggeri = get('numPasseggeri').value;
	if( trim(numPasseggeri) == ''){
		get('numPasseggeri_err').style.display = 'block';
		return false;
	}
	
	if(!numPasseggeri.match(/^[0-9]+$/g) ){
		get('numPasseggeri_err').style.display = 'block';
		return false;
	}
	return true;
}



function validaStep2(){
	$('.errore').css('display','none');
	
	
	var cognome = get('cognome').value;
	if(trim(cognome) == ''){
		get('err_cognome').style.display = 'block';
		return false;
	}
	
	
	var email = get('email').value;
	if(trim(email) == '' || !validaMail(email)){
		get('err_email').style.display = 'block';
		return false;
	}
	
	
	
	return true;
}


function dataValida( g,m,a ){
	
	if(g[0] == '0')
		g = g[1];
	if(m[0] == '0')
		m = m[1];
	var g = parseInt(g);
	var m = parseInt(m);
	var a = parseInt(a);
	

	if(g < 1 || g > 31 || m < 1 || m > 12)
		return false;
	
	var bis = ((a%4 == 0 && a%100 !=0) || a%400 == 0) ? true : false;

	
	var maxDay;
	switch(m){
		case 4:
		case 6:
		case 9:
		case 11: maxDay = 30;
			break;
		case 2: maxDay = 28;
			break;
		default: maxDay = 31;
	}
	
	
	
	if(bis && m == 2)
		maxDay = 29;
	
	if(g > maxDay)
		return false;
	return true;
}

function aggiungiRiga(){
	
	var form = get('step1multi');
	
	var maschera = document.createElement('div');
	maschera.className = 'maschera';
	maschera.id = 'maschera_'+numRighe;
	var riga = document.createElement('div');
	riga.className = 'contRiga';

	maschera.appendChild(riga);
	
	var tasto = document.createElement('div');
	tasto.className = 'multiFloat';
	var p = document.createElement('p');
	p.className = 'multiElimina';
	p.id = 'eliminariga_'+numRighe;
	p.onclick = function (){
		var elem = this.parentNode.parentNode.parentNode;
		$('#'+elem.id).animate({'height': '0'}, 600, function(){
					get('step1multi').removeChild( elem );										  
				});
		
		
	}
	p.appendChild( document.createTextNode('elimina viaggio') );
	tasto.appendChild(p);
	riga.appendChild(tasto);
	
	var partenza = document.createElement('div');
	partenza.className = 'multiFloat';
	p = document.createElement('p');
	p.className = 'andText';
	p.appendChild( document.createTextNode('Partenza *') );
	partenza.appendChild(p);
	riga.appendChild(partenza);
	var inp = document.createElement('input');
	inp.name = 'luogoPartenza[]';
	inp.type = 'text';
	inp.id = 'luogoPartenza_'+numRighe;
	inp.size = '15';
	partenza.appendChild(inp);
	
	var destinazione = document.createElement('div');
	destinazione.className = 'multiFloat';
	p = document.createElement('p');
	p.className = 'andText';
	p.appendChild( document.createTextNode('Destinazione *') );
	destinazione.appendChild(p);
	riga.appendChild(destinazione);
	inp = document.createElement('input');
	inp.name = 'luogoDestinazione[]';
	inp.type = 'text';
	inp.id = 'luogoDestinazione_'+numRighe;
	inp.size = '15';
	destinazione.appendChild(inp);
	
	var data = document.createElement('div');
	data.className = 'multiFloat';
	p = document.createElement('p');
	p.className = 'andText';
	p.appendChild( document.createTextNode('Data *') );
	data.appendChild(p);
	inp = document.createElement('input');
	inp.name = 'data[]';
	inp.type = 'text';
	inp.id = 'data'+numRighe;
	inp.size = '12';
	data.appendChild(inp);
	var cal = document.createElement('img');
	cal.src = 'img/calendario.png';
	cal.style.width = '22px';
	cal.style.cursor = 'pointer';
	cal.onclick = function (){
		var inp = this.parentNode.getElementsByTagName('input')[0].id;
		return showCalendar(inp, '%d/%m/%Y');
	}
	data.appendChild(cal);
	riga.appendChild(data);
	
	
	var ora = document.createElement('div');
	ora.className = 'multiFloat';
	p = document.createElement('p');
	p.className = 'andText';
	p.appendChild( document.createTextNode('Ora *') );
	ora.appendChild(p);
	var sel = document.createElement('select');
	sel.name = 'ora[]';
	sel.id = 'ora_'+numRighe;
	sel.options[0] = new Option('qualsiasi','qualsiasi');
	for(var i=0; i<24; i++){
		var opt1 = new Option(''+i+':00');
		var opt2 = new Option(''+i+':30');
		var n = sel.options.length;
		sel.options[n] = opt1 ;
		sel.options[n] = opt2 ;
	}
	ora.appendChild( sel );
	riga.appendChild( ora );
	
	var clear = document.createElement('div');
	clear.className = 'clear';
	riga.appendChild( clear );
	
	
	var barra = form.removeChild( get('barraFondoSceltaMultipla') );
	
	
	
	form.appendChild( maschera );
	form.appendChild( barra );
	
	
	$('#maschera_'+numRighe).animate({'height': '55'}, 800);
	numRighe++;
}



function trim(arg){
	re=/\s+$|^\s+/g;
	return arg.replace(re,"");
}

function get( str ){
	return document.getElementById( str );	
}

function getTag( str ){
	return document.getElementsByTagName( str );
}

function validaMail( str ){
	 var filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	 return filtro.test(str);
}

