
function noInvio(e){
	var keynum;

	if(window.event){
		keynum = e.keyCode;
	}else if(e.which){
		keynum = e.which;
	}
	
	if(keynum == 13 || keynum==32)
		return false;
	else
		return true;
}

function ajTransferDropOff(){
	var cbpu = $('cb_pickup');
	var cbdo = $('cb_dropoff');

	var url = 'index_ajax.php?do=trdrop&pickup='+cbpu.getValue();
	
	var request = new Json.Remote(url, {
		
		onComplete: function(objval){
			
			//alert('asdasdasd');//alert(cbdo.options); //.length = new Array();
			
			/*arrinput.forEach(function(input,j){
				if(input.name == 'step2[valuta]' && input.id != 'cbvaluta'){
					arrinput[j].value = v;
					
					if(v == '$') numconv = $('val'+input.id).value =  objval.USD;
						
					if(v == '£') numconv = $('val'+input.id).value =  objval.GBP;
					
				}
			}); //*/
			//alert(objval[0].id);
			
		}
	}).send(); //*/
}

function inviaEmailRiassuntiva(op,mezzo){
	
	/*var url = 'index_ajax.php?do=emailriass&email='+$('text_email_'+mezzo).value;
	
	var request = new Json.Remote(url, {
		
		onComplete: function(objval){
			alert('oooooooook');
			/*$('div_email_'+mezzo).setHTML("<em>Grazie per aver effettuato la richiesta di preventivo!</em><br />"+
				"L'email riassuntiva è stata inviata all'indirizzo: <strong>"+$('text_email_'+mezzo)+"</strong><br />"+
				"Fra qualche istante sarà recapitata nella sua casella."); //*//*
			
		},
		
		onFailure: function(objval){
			alert('NNNNNNNNnnooooooooo');
			
			
		}
		
	}).send(); //*/
	
//	$('div_email_'+mezzo).setStyle('display','block'); //*/

	var email = $('text_email_'+mezzo).value;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if(!reg.test(email)){
		alert('Invalid e-mail address!'); //alert('E-mail non valida !');
		return;
	}
	
	$('bott_inviamail_'+mezzo).setProperties({
		//value: 'Invio in corso.',
		value: 'Sending',
		disabled: 'disabled'
	});
	
	var strpar = 'do=emailriass&sez='+op+'&email='+email+'&mezzo='+mezzo+'&extra=';
	var objects = $$('input');
	
	objects.forEach(function(obj,o){
		if(obj.getProperty('type')=='checkbox' && obj.getProperty('checked')){
			
			e = obj.name.match(/\[(\d+)\]/);
			
			em = obj.id.match(/cbextra(\d+)/);
			
			if(em[1]==mezzo){
				if(!e){
					e = obj.id.match(/(\d+)/);
					ore = $('oreagg'+e[1]).value;
					strpar += 'h'+(ore?ore:'0');
				}else{
					strpar += e[1]+',';
				}
			}
		}
	});
	
	framemail = new Element('iframe'); //document.createElement('iframe');
	framemail.setProperty('name','framemail');
	framemail.setProperty('id','framemail');
	
	//
	framemail.setProperty('frameborder','0');
	framemail.setProperty('width','0');
	framemail.setProperty('height','0');
	framemail.setStyles('height:0;width:0;'); //*/
	
	framemail.setProperty('src','index_ajax.php?'+strpar);
	framemail.injectAfter($('content'));
	framemail.addEvent('load',function(){
		
		$('div_email_'+mezzo).setHTML(STR_JS_EMAILSENT); //setHTML('E-mail inviata con successo!');
									   
	});
}


function creaTappe(solotappe){
	
	var tappe_pick  = $('blocco_es_tappe_pick'),
		tappe_drop  = $('blocco_es_tappe_drop'),
		tappe_tappe = $('blocco_es_tappe');
	
	if(!solotappe){
		tappe_pick.empty();
		tappe_drop.empty();	
	}
	
	tappe_tappe.empty();
			
	tappe.forEach(function(tappa,t){

		var div = new Element('div');
		
		var ajax = new Ajax('index_ajax.php?do=gentappa&id='+tappa.pd+'&comune='+tappa.comune+'&cap='+tappa.cap+'&pd='+tappa.pd+'&indirizzo='+tappa.indirizzo+'&permanenza='+tappa.permanenza+'&mappa='+tappa.mappa, {
			method: 'get',
			update: div,
			evalScripts: true
		}).request();
		
		switch(tappa.pd){
			
			case 'p':
				if(!solotappe)
					tappe_pick.adopt(div);
			break;
			
			case 'd':
				if(!solotappe)
					tappe_drop.adopt(div);
			break;
			
			default:
				 tappe_tappe.adopt(div);
			break;
		}
		
		
	});
	
}

function aggiungiTappa(tappe){
	
	var div = new Element('div');

	var ajax = new Ajax('index_ajax.php?do=gentappa&id='+(tappe.length-1), {
		method: 'get',
		evalScripts: true,
		update: div
	}).request();
	
	var idrop = tappe.length-1,
		drop = tappe[idrop];
	
	tappe[idrop] = {'pd': idrop, 'comune':'', 'cap':'', 'indirizzo':'', 'permanenza':''};
	tappe[idrop+1] = drop;
	
	$('blocco_es_tappe').adopt(div);
}

function eliminaTappa(id){
	
	var tappa = $('div_tappa_'+id);
	
	tappa = tappa.getParent();
	
	tappa.remove();
	
	var found = 0;
	
	tappe.forEach(function(tp,t){
		
		if(tp.pd == id){
			found = t;
			return;
		}
		
		if(t > found && found && tp.pd != 'p' && tp.pd != 'd'){
			tappe[t].pd --;
		}
	});
	
	tappe.splice(found,1);
	
	creaTappe(true);
	calcolaEscursione();
}

function aggiornaTappa(tappa){
	
	tappe.forEach(function(tp,t){
		
		alert(t+': '+tp.pd);
						   
	});
	
}

function mappaCaricaIndirizzo(indirizzo,zoom,nomark){
	if(geocoder){
		geocoder.getLatLng(indirizzo,function(point){
			if (!point) {
				//alert('indirizzo non trovato');
			}else{
				map.setCenter(point, zoom);
				
				if(!nomark){
					var marker = new GMarker(point);
					map.addOverlay(marker);
				}
				//marker.openInfoWindowHtml(address);
			}
		});
	}	
}

function calcolaEscursione(){
	
	if (GBrowserIsCompatible()){
		
		GEvent.addListener(directions, 'load', function(){
			distanzatotale = directions.getDistance();
			duratatotale = directions.getDuration();
			
			GEvent.clearInstanceListeners(directions);
			
			var dist = Math.round(distanzatotale.meters/1000),
				durm = Math.round(duratatotale.seconds/60),
				durh = 0,
				durg = 0,
				soste = 0;

			tappe.forEach(function(tp){
				durh += Number(tp.permanenza);
				soste += Number(tp.permanenza);
			});
			
			while(durm > 59){
				durm -= 60;
				durh++;
			}
			
			/*while(durh > 23){
				durh -= 24;
				durg++;
			}*/
			
			$('box_calcoli').setText(STR_JS_E_DIST+' '+dist+' km | '+STR_JS_E_DUR+' '+(durh?durh+'h ':'')+durm+'m');
			$('h_durata').value = (parseInt(durh)*3600) + (parseInt(durm)*60);
			$('h_soste').value = soste;
			
			$('h_distanzau').value = dist;
			$('h_duratau').value = (parseInt(durh)*3600) + (parseInt(durm)*60);
		});
		
		var str = '';
		var fromok = false;
		var nok = 0;

		tappe.forEach(function(tp){
			//var txtm = tp.mappa.match(/[0-9]{3,}/); // ? tp.mappa : tp.cap+','+tp.comune;
			var txtm = String(tp.mappa);
			txtm = txtm.match(/[0-9]{3,}/) ? tp.mappa : tp.cap+','+tp.comune+' , Italy ';
			
			if(tp.pd == 'p' && tp.cap!=''){
				str += ' from: '+txtm;
				fromok = true;
				nok++;
			}else{
				
				if(!fromok && tp.cap!=''){
					str += ' from: '+txtm;
					fromok = true;
					nok++;
				}else{
					if(tp.cap != ''){
						str += ' to: '+txtm;
						nok++;
					}
				}
			}
		});
		
		
		
		map.clearOverlays();
		
		if(nok){
			if(nok==1){
				ind = str.match(/(from|to)\: (.*)/); 
				$('box_calcoli').setText('- - -');
				mappaCaricaIndirizzo(ind[2],9);
			}else{
//				alert(str);
				directions.load(str);
			}
		}
		
	}
	
	
	/* if (GBrowserIsCompatible()) {
		
		from = document.getElementById(from);
		to = document.getElementById(to);

		var str = from.options[from.selectedIndex].text+',Italy to '+to.options[to.selectedIndex].text+', Italy';
		
		dir.load(str);
		
		GEvent.addListener(dir,"load", function() {
			distanzatotale = dir.getDistance();
			duratatotale = dir.getDuration();
			
			percorso = {'distanza': distanzatotale.meters, 'durata': duratatotale.seconds};
			
			GEvent.clearInstanceListeners(dir);
			showPercorso();
		});
		
	} */
	
}


function escursioniSubmitPrimoStep(){

	var dir = new GDirections();
	var str = '';
	var str2 = '';
	
	GEvent.addListener(dir, 'load', function(){

		//basi[i]['distanza'] = directions.getDistance().meters;
		distanzatotale = dir.getDistance();
		duratatotale = dir.getDuration();
		
		$('h_durata').value = duratatotale.seconds;
		$('h_distanza').value = distanzatotale.meters;
		
		$('form_escursione_1').submit();
	});
	
	GEvent.addListener(dir, 'error', function(){
		dir.load(str);
	});
	
	tappe.forEach(function(t){
		str += ' to: '+t.cap+', Italy ';
		
		var txtm = String(t.mappa);
		txtm = txtm.match(/[0-9]{3,}/) ? t.mappa : t.cap+','+t.comune+' , Italy ';
		
		str2 += ' to: '+txtm+' ';
	});
	
	//str = 'from: '+tappe[0].cap+', Italy '+str+' to: '+tappe[0].cap+' , Italy'; //tappe[0].cap
	str = 'from: '+$('h_base').value+', Italy '+str+' to: '+$('h_base').value+' , Italy';
	str2 = 'from: '+$('h_base').value+', Italy '+str2+' to: '+$('h_base').value+' , Italy';
//	alert(str2);

	dir.load(str2);
	
	 //
	
}

/*
function aggiungiTappa(str){
	
	var d = document.getElementById('blocco_es_tappe');
	var str = strForm.match('<div class="lcont" id="tappa%s">(.*)<\/div>');
	
	var n = document.createElement('div');
	
	n.setAttribute('id','tappa'+insTappa);
	n.setAttribute('class','lcont');
	n.className = 'lcont';
	
	n.innerHTML = sprintf(str[1],'Tappa intermedia #'+insTappa,insTappa,insTappa,insTappa,insTappa,insTappa,insTappa);

	arrTappe.push(insTappa);
	d.appendChild(n);
	
	aggAutocompleter('citta_tappa_'+insTappa,'cap_tappa_'+insTappa);
	
	rules.push('step1[percorso]['+insTappa+'][citta]:Città Tappa #'+insTappa+'|required');
	rules.push('step1[percorso]['+insTappa+'][cap]:CAP Tappa #'+insTappa+'|required');
	rules.push('step1[percorso]['+insTappa+'][cap]:CAP Tappa #'+insTappa+'|numeric');
	
	insTappa++;
}

function eliminaTappa(id){
	
	var reg = new RegExp(/\[\d+\]/); 
	arrTappe.splice(arrTappe.indexOf(id),1);

	for(i=0; i < rules.length; i++){
		if(reg.test(rules[i]) && rules[i].contains('['+id+']')){
			rules.splice(i,1);
			i = 0;

			try{
				$('blocco_es_tappe').removeChild($('tappa'+id));
			}catch(e){}
		}
	}

	var div = $('blocco_es_tappe');
	var str = strForm.match('<div class="lcont" id="tappa%s">(.*)<\/div>');

	arrTappe.forEach(function(tappa,i){
		if(tappa > id){

			var d = $('tappa'+tappa);

			rules.forEach(function(rul,r){
				if(reg.test(rul) && rul.contains('['+tappa+']')){
					rules[r] = rul.replace(reg,'['+(tappa-1)+']');
				}	
			});
			
			tappa--;
			arrTappe[i]--;
			
			n = document.createElement('div');
			n.setAttribute('id','tappa'+tappa);
			n.setAttribute('class','lcont');
			n.className = 'lcont';
			n.innerHTML = sprintf(str[1],'Tappa intermedia #'+tappa,tappa,tappa,tappa,tappa,tappa,tappa);
			
			try{
				//div.replaceChild(n,d);
				d.replaceWith(n);
			}catch(e){}
		}
	});

	insTappa = arrTappe.length <= 0 ? 1 : arrTappe[arrTappe.length-1] + 1;
}


function aggAutocompleter(idcitta,idcap){
	
	var el = $(idcitta);
	var cp = $(idcap);
	
	/*var completer = new Autocompleter.Local(el, tokens, {
			'delay': 100,
			'filterTokens': function() {
			var regex = new RegExp('^' + this.queryValue.escapeRegExp(), 'i');
			return this.tokens.filter(function(token){
			return (regex.test(token[0]) || regex.test(token[1]));
		});
		},
		'injectChoice': function(choice) {
			var el = new Element('li')
			.setHTML(this.markQueryValue(choice[0]))
			.adopt(new Element('span', {'class': 'example-info'}).setHTML(this.markQueryValue(choice[1])));
			el.inputValue = choice[0];
			cp.inputValue = choice[0];
			this.addChoiceEvents(el).injectInside(this.choices);
		}
	});*//*
	
	//var indicator2 = new Element('div', {'class': 'autocompleter-loading', 'styles': {'display': 'none'}}).setHTML('').injectAfter(el[1]);

	var completer2 = new Autocompleter.Ajax.Json(el, 'index_opt.php?operation=getcitta', {
		'onRequest': function(el) {
			//indicator2.setStyle('display', '');
		},
		'onComplete': function(el) {
			//indicator2.setStyle('display', 'none');
		}
	});
	
}

function calcolaPercorso(dir,from,to){
	return;
	if (GBrowserIsCompatible()) {
		
		from = document.getElementById(from);
		to = document.getElementById(to);

		var str = from.options[from.selectedIndex].text+',Italy to '+to.options[to.selectedIndex].text+', Italy';
		
		dir.load(str);
		
		GEvent.addListener(dir,"load", function() {
			distanzatotale = dir.getDistance();
			duratatotale = dir.getDuration();
			
			percorso = {'distanza': distanzatotale.meters, 'durata': duratatotale.seconds};
			
			GEvent.clearInstanceListeners(dir);
			showPercorso();
		});
		
	}
} */
