
function geto(id) {var d=document;if(d.getElementById)return d.getElementById(id);else if(d.all)return d.all.item(id);else return 0;}
var remail=/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@[a-zA-Z0-9]([a-zA-Z0-9_-])*(\.[a-zA-Z0-9_-]+)+$/;
function chkemail(fld) {
	var str; if (fld==null || (str=fld.value)==null) return false;
	str=trim(str);
	if (remail.test(str)) return true;
	alert(lang.email);fld.focus();return false;
}
var rtel=/^(\+|00)\d{9,}$/;
function chktel(fld) {
	var str; if (fld==null || (str=fld.value)==null) return false;
	str=str.replace(/\s/g,"");
	if (fld.value!=str) fld.value=str;
	if (rtel.test(str)) return true;
	alert(lang.telefono);fld.focus();return false;
}
var rcap=/^\d{5}$/;
function chkcap(fld) {
	var str; if (fld==null || (str=fld.value)==null) return false;
	str=str.replace(/\s/g,"");
	if (fld.value!=str) fld.value=str;
	if (rcap.test(str)) return true;
	alert(lang.cap);fld.focus();return false;
}
var steps=5, gfwd=false;
var form, prrp, prrpp, maxrp, maxrpp;
function numfromid(id,def,chk){
	var ret, frm=false;
	if (typeof(id)=="string") { var obj=geto(id); if(obj==null)return def; ret=obj.innerHTML; }
	else { if (id==null || (ret=id.value)==null) return def; frm=true; }
	ret=ret.replace(/,/g,'.')-0; if(isNaN(ret)||ret==null) { if (frm) id.value=def; return def; }
	if (chk) { var ret2=chk(ret); if (frm && ret2!=ret) id.value=ret2; ret=ret2; }
	return ret;
}
function init(){
	form=document.forms["aq"];
	prrp=numfromid("prrp",20);
	prrpp=numfromid("prrpp",25);
	maxrp=numfromid("maxrp",10);
	maxrpp=numfromid("maxrpp",10);
}
function initcards(){
	var obj;
	obj=geto('ptotrp'); if (obj) obj.style.display='';
	obj=geto('ptotrpp'); if (obj) obj.style.display='';
	setpr();
}
function initr(me) {
	if (me && me.length) { 
		for (var i=0;i<me.length;i++) { 
			var obj=me[i]; if (obj && obj.checked) { chksup(obj,obj.value); break; } 
		} 
	}
}
function setmoney(id,val) { 
	var obj=geto(id); 
	if(obj) {
		var c=''+(Math.round(val*100)/100); var off=c.indexOf('.'); 
		if(off<0) c+='.00';
		else if (off==c.length-2) c+='0';
		obj.innerHTML=c;
	}
}
function setval(id,val) { var obj=geto(id); if(obj) obj.innerHTML=val; }
function chknr(m){ return function(ret){ if (ret<0){alert(lang.cardnegative);ret=-ret;} ret=Math.floor(ret); if (ret>m){alert(lang.cardmax);ret=m;} return ret; } }
function setpr(){
	var nrrp=numfromid(form.nrrp,0,chknr(maxrp));
	var nrrpp=numfromid(form.nrrpp,0,chknr(maxrpp));
	var totrp=prrp*nrrp;
	var totrpp=prrpp*nrrpp;
	setmoney("totrp",totrp);
	setmoney("totrpp",totrpp);
}
function trim(str){return str.replace(/^\s+|\s+$/g,'');}
function chk(me,n){
	if (gfwd) {
		switch(n) {
			case 1:
				var n1=me.nrrp.value-0; if (isNaN(n1)) n1=0;
				var n2=me.nrrpp.value-0; if (isNaN(n2)) n2=0;
				if (!(n1>0||n2>0)) { alert(lang.nocard); me.nrrp.focus(); return false; }
				break;
			case 3:
				var ok=false; idritiro=0;
				var obj=me.ritiro;
				if (obj==null) return false;
				if (obj.length) { for (var i=0;i<obj.length;i++) { var obj2=obj[i]; if (obj2 && obj2.checked) { idritiro=obj2.value; ok=true; break; }} }
				else if (obj.checked) { idritiro=obj.value; ok=true; }
				if (!ok) { alert(lang.ritiro); if (obj.focus) obj.focus(); else obj[0].focus(); return false; }
				if (obj=me["selsup_"+idritiro]) { var obj2=obj.options[obj.selectedIndex]; var val; if (!obj2||isNaN(val=obj2.value-0)||val<=0) { alert(lang.sup); obj.focus(); return false; }}
				if (obj=me["txtsup_"+idritiro]) { if (trim(obj.value).length==0) { alert(lang.supnote); obj.focus(); return false; }}
				return true;
				break;
			case 4:
				var obj;
				var n=["nome","cognome","nazione","email","email2"];
				for (var i in n) { obj=me[n[i]]; if (obj==null) return false; if (trim(obj.value).length==0) { alert(lang.obbligatori); obj.focus(); return false; } }
				//if (!chkcap(me.cap)) return false;
				//obj=me["provincia"]; if (obj==null) return false; if (obj.selectedIndex==0) { alert(lang.provincia); obj.focus(); return false; }
				//if (!chktel(ne.telefono)) return false;
				if ((obj=me.telefono)!=null && obj.value!=null && obj.value.length>0 && !chktel(obj)) return false;
				//if ((obj=me.fax)!=null && obj.value!=null && obj.value.length>0 && !chktel(obj)) return false;
				//if ((obj=me.cellulare)!=null && obj.value!=null && obj.value.length>0 && !chktel(obj)) return false;
				if (!chkemail(me.email) || !chkemail(me.email2)) return false;
				if (me.email.value!=me.email2.value) { alert(lang.emailconferma); me.email2.focus(); return false; }
				obj=me.trattdati; if (obj==null) return false; if (!obj[0].checked) { alert(lang.trattdati); obj[0].focus(); return false; }
				break;
			case 5:
				obj=me.condizioni; if (obj==null) return false; if (!obj[0].checked) { alert(lang.condizioni); obj[0].focus(); return false; }
				break;
		}
		gfwd=false;
	}
	return true;
}
function chkdataritiro(me,mind,maxd) {
	var r=/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
	var ok=false;
	var d, yy, mm, dd;
	var rv=me.value.match(r);
	if (rv!=null && rv.length==4) {
		yy=rv[3]-0; mm=rv[2]-1; dd=rv[1]-0;
		d=new Date(yy,mm,dd);
		var dt;
		if (d.getFullYear()==yy && d.getMonth()==mm && d.getDate()==dd && (dt=d.getTime())>=mind && dt<=maxd) ok=true;
	}
	if (!ok) { d=new Date(mind); }
	yy=d.getFullYear(); mm=d.getMonth()+1; if (mm<10) mm="0"+mm; dd=d.getDate(); if (dd<10) dd="0"+dd;
	me.value=dd+"/"+mm+"/"+yy;
	if (!ok) { alert(lang.dataritiro); me.focus(); }
}
var currsup=0;
function chksup(me,n){
	var obj;
	if (me.checked) {
		if (currsup!=n && currsup>0) { obj=geto("sup_"+currsup); if (obj) obj.style.display="none"; }
		obj=geto("sup_"+n); if (obj) obj.style.display="";
		currsup=n;
	} else {
		if (currsup==n) {	obj=geto("sup_"+n); if (obj) obj.style.display="none"; }
		currsup=0;
	}
}
//tour_operator
function chklogin(me){
	var v=["user","pwd"];
	for (var i in v) {
		var obj=me[v[i]];
		if (obj==null) return false;
		if (trim(obj.value).length<5) { alert(lang.chklogin); return false; }
	}
	return true;
}
function chkloginemail(me){
	return chkemail(me.email);
}
function faqhide(v) {
	var h;
	if ((h=document.location.hash.toLowerCase()).length==0 || h.indexOf('#faqq')!=0 || isNaN((h=(h.substring(5)-0)))) {
		h=0;
	}
	for (var i in v) {
		var j=v[i];
		if (h!=j) {
			var obj=geto('faqa'+j);
			if (obj && obj.style) obj.style.display='none';
		}
	}
}
function faqtoggle(id){
	var obj=geto('faqa'+id);
	if (obj && obj.style) {
		var dis=obj.style.display;
		obj.style.display=(dis.length==0?'none':'');
	}
}
