// JavaScript Document
var globalWBMemForm;


function apriMappaWB(filtro,tipoFiltro, objLink,indirizzo)
{
    objLink.href='WB_creaMappa.asp?filtro=' + filtro + '&tipofiltro=' + tipoFiltro + '&indirizzo=' + indirizzo;
    return hs.htmlExpand(objLink, {objectType: 'iframe', objectWidth: 700, objectHeight: 500,cacheAjax:false,preserveContent:false} );
}

function calcolaTotaleTariffa(idhotel, adt, chd, chkCongruenza)
{
	try
	{
		var m, qta, numGiorni, uPP, uG, mioTot, prezzo,nPax,mioTotNpax,nTipoVoce,bVociConMax,nFlagAllotment,percentuale ;
		var qtaNW,sValutaNW,sValuta,nPaxNW,prezzoNW,P,z;
		m=document.getElementById('moduloHotel' + idhotel);
		//se la textbox totale non esiste esco dalla funzione
		try
		{	m.totale.value="";	}
		catch(ee)
		{ 	return false; }
		
		numGiorni=m.numgiorni.value;
		mioTotNpax=0;
		mioTot=0;
		bVociConMax=false;
		for (i=1;i<=m.numvoci.value -1;i++)   //cancello gli span
		 {       
		        for (nz=0;nz<=12;nz++) //max 12 giorni
				    {
				        try
				        { objSpan=document.getElementById(idhotel + 'prezzovero' + i + 'giorno' + nz ); objSpan.innerHTML='';}
                        catch(e)
                        {}				    
				    }
		}		    

		for (nz=0;nz<=numGiorni -1;nz++)      //scorro tutti i giorni e calcolo i prezzi veri....
			{		      
		      for (i=1;i<=m.numvoci.value -1;i++)   // scorro tutte le voci e elaboro quelle espresse in % 
		        {
					qta=eval('m.qta' + i +'.value');
				    nPax=eval('m.npax' + i + '.value');
				    sValuta=eval('m.valuta' + i + '.value');
				    nTipoVoce=eval('m.tipovoce' + i + '.value');
				    percentuale=eval('m.prezzo' + i + 'giorno' + 0 + '.value');
			        percentuale=percentuale.replace(",",".")
    		        percentuale = parseFloat(percentuale);    //--la percentuale di riduzione/supplemento--

				    if (sValuta=='%' && qta > 0 && ! isNaN(qta))        // ----se la riga è espressa in percentuale calcolo il suo prezzovero -----  
				      {
                        P=0;
                        for (z=1;z<=m.numvoci.value -1;z++)   // scorro tutte le voci e elaboro quelle con qta >0, nPax >0 e non espresse in % 
		                  {		      
                            qtaNW=eval('m.qta' + z +'.value');
                            nPaxNW=eval('m.npax' + z + '.value');
                            sValutaNW=eval('m.valuta' + z + '.value');
    				        uPP=eval('m.upp' + z + 'giorno' + nz + '.value');
							uG=eval('m.ug' + z + 'giorno' + nz + '.value');
							prezzoNW=eval('m.prezzo' + z + 'giorno' + nz + '.value');  prezzoNW=prezzoNW.replace(",",".");  prezzoNW = parseFloat(prezzoNW);
				            if (isNaN(prezzoNW)) prezzoNW=0;
				            // ricavo il prezzo per persona della tripla
				            if (nPaxNW>2 && qtaNW>0 && sValutaNW !='%' && ! isNaN(qta))
    				            {
    				                if (uPP.toUpperCase() == "U" && nPaxNW > 0)
    				                    {P = P + (parseFloat(prezzoNW) / parseFloat(nPaxNW));}
    				                else
    				                    {P = P + parseFloat(prezzoNW);}
    				            }                            
                          }
                          P=(parseFloat(percentuale) * parseFloat(P)) / 100  // applico la percentuale
                          eval('m.prezzovero' + i + 'giorno' + nz + '.value="' + P + '"');                           
                          objSpan=document.getElementById(idhotel + 'prezzovero' + i + 'giorno' + nz );
				          objSpan.innerHTML='<br>(' + P + '€)';
                        
				      }
				    else    // ----se la riga non è espressa in percentuale prezzovero=0
				      {
						eval('m.prezzovero' + i + 'giorno' + nz + '.value="' + 0 + '"');
				      }		        
		        }
            }
		
		//calcolo il totale 
		for (i=1;i<=m.numvoci.value -1;i++)
			{	
				qta=eval('m.qta' + i +'.value');
				nPax=eval('m.npax' + i + '.value');
				nTipoVoce=eval('m.tipovoce' + i + '.value');
				eval('m.qta' + i +'.className="InputQtaTariffa"; ');
				if (qta>0 && ! isNaN(qta) && nTipoVoce !=20 && nTipoVoce !=21)
					{						    
					    eval('m.qta' + i +'.className="InputQtaTariffaInserita"; ');
						mioTotNpax += qta * nPax
						salta=1;
						nFlagAllotment=eval('m.flagallotment' + i + '.value');				
						if (nFlagAllotment==2) { bVociConMax=true; };

						for (nz=0;nz<=numGiorni -1;nz++)
							{
								try
								{
									uPP=eval('m.upp' + i + 'giorno' + nz + '.value');
									uG=eval('m.ug' + i + 'giorno' + nz + '.value');
									prezzo=eval('m.prezzo' + i + 'giorno' + nz + '.value');
									prezzo=prezzo.replace(",",".") ;
									
									prezzoNW=eval('m.prezzovero' + i + 'giorno' + nz + '.value');
									prezzoNW=prezzoNW.replace(",",".") ;									
									if (prezzoNW !=0) prezzo=prezzoNW ;
									
									if (uPP.toUpperCase()=="P" && nPax >0) {prezzo=prezzo * nPax};
									prezzo=prezzo * salta;
									if (uG.toUpperCase()=="U") {salta=0};
									mioTot += prezzo * qta ;
								}	
								catch(ee)
								{
								}
							}
					}
				
			}
		//////////////////////// opzioni per ora ritiro e rilascio auto ////////////////////		
		var oraRit,oraRil,prezzoExtra,objRigaTotale;
		var nGiorni;
		nGiorni=m.numgiorni.value;
		nGiorni=nGiorni -1;
		for (i=1;i<=m.numvoci.value -1;i++)
		{	
				nTipoVoce=eval('m.tipovoce' + i + '.value');				
				if (nTipoVoce==20)
				{  oraRit=eval('m.qta' + i +'.value'); 		}
				
				if (nTipoVoce==21)
				{
					oraRil=eval('m.qta' + i +'.value');
					prezzoExtra=eval('m.prezzo' + i + 'giorno0.value');
					objSpan=document.getElementById(idhotel + 'prezzovero' + i + 'giorno' + nGiorni );
					objRigaTotale=document.getElementById('CellaTotaleRiga' + idhotel + '_' + i);
				}
		}		
		if (parseFloat(oraRil) > parseFloat(oraRit))
		{
			mioTot += parseFloat(prezzoExtra);	
			objSpan.innerHTML='More ' + MoneyFormat(prezzoExtra);
			if (objRigaTotale) {objRigaTotale.innerHTML=MoneyFormat(prezzoExtra);};
		}
		/////////////////////// fine opzioni auto ///////////////////////////////////////
		
		
		var decimale;
		decimale="00";
		if (mioTot - Math.floor(mioTot) >0) {decimale=Math.round((mioTot - Math.floor(mioTot))*100) };
		decimale=decimale.toString();
		if (decimale.length == 1) {decimale="0" + decimale};
		m.totale.value=Math.floor(mioTot) + "," + decimale   ;//MoneyFormat(mioTot);
		
		if (mioTot <=0) {return false;}
		if (  ((chkCongruenza==1) && (bVociConMax==true && (mioTotNpax < (adt + chd))) ) ) {return false;}
		if (  ((chkCongruenza==1) && (bVociConMax==false && (mioTotNpax != (adt + chd))) ) ) {return false;}
		
		return true;
	}
	
	catch(ex)
	{
		alert(ex.message);
		return false;
	}
}



function suggerisciRiduzioni(idhotel, adt, chd)
{
    try
	{
	    var m, qta, nPax,mioTotNpax,nTipoVoce,bContieneRidChd,nFlagAllotment ;
		m=document.getElementById('moduloHotel' + idhotel);
		mioTotNpax=0;
		bContieneRidChd=false;
		var iNdoppie, iNsingole, iNtriple,iNquadruple,iPaxRestanti,iTotPax
		iNdoppie=0; iNsingole=0; iNtriple=0; iNquadruple=0;
		iTotPax=parseInt(adt) + parseInt(chd);
		
		// vedo quante sono le singole, doppie, triple e quadruple selezionate //
		for (i=1;i<=m.numvoci.value -1;i++)
			{	
				
				nPax=eval('m.npax' + i + '.value');
				nTipoVoce=eval('m.tipovoce' + i + '.value');
			    qta=eval('m.qta' + i + '.value');
			    if (parseInt(nTipoVoce)==11) bContieneRidChd=true;
				switch (parseInt(nPax))
			        {
			            case 1:
			                if (qta != '' && qta>0) iNsingole = parseInt(iNsingole) + parseInt(qta);
			                break;
			            case 2:
			                if (qta != '' && qta>0) iNdoppie = parseInt(iNdoppie) + parseInt(qta);
                            break;
                        case 3:
			                if (qta != '' && qta>0) iNtriple = parseInt(iNtriple) + parseInt(qta);
			                break;
			            case 4:
			                if (qta != '' && qta>0) iNquadruple = parseInt(iNquadruple) + parseInt(qta);
			                break;
			        }    
			    			    
			}
			
			
			//  calcolo il numero di riduzioni necessarie   //		     
		    var adtFatto, chdFatto, iNridADT, iNridCHD;
			adtFatto=0; chdFatto=0; iNridADT=0; iNridCHD=0; 
			     
		    if(iNtriple + (2 * iNquadruple) > 0 && chd >0) iNridCHD = chd ;
		    if(iNtriple + (2 * iNquadruple) < iNridCHD ) iNridCHD=iNtriple + (2 * iNquadruple);
		    if(iNtriple + (2 * iNquadruple) - iNridCHD  >0) iNridADT = iNtriple + (2 * iNquadruple) - iNridCHD  ;
			if (bContieneRidChd==false) {iNridADT=iNridADT + iNridCHD ; iNridCHD=0};
			for (i=1;i<=m.numvoci.value -1;i++)
			{					
		        nPax=eval('m.npax' + i + '.value');
				nTipoVoce=eval('m.tipovoce' + i + '.value');
			    switch (parseInt(nTipoVoce))
		           {
		               case 10:  // 3°/4° letto ADT
		                   if (adtFatto==0) { eval('m.qta' + i + '.value=' + iNridADT); adtFatto=1; if (iNridADT>0) {document.getElementById('rigaPrezzo' + idhotel + '_' + i).style.display='';} }
		                   break;
		               case 11:   // 3°/4° letto CHD
		                   if (chdFatto==0) { eval('m.qta' + i + '.value=' + iNridCHD); chdFatto=1;if (iNridCHD>0) {document.getElementById('rigaPrezzo' + idhotel + '_' + i).style.display='';} }
                           break;
                       case 12:  // 3°/4° letto CHD Free
					   	   break;
					}
		    }	
		return true;
	}
	
	catch(ex)
	{
		return false;
	}
}


function suggerisciSistemazione(idhotel, adt, chd,iControllaPax)
{
	if (iControllaPax=='1' || iControllaPax=='-1') {return true;}
	
	try
	{
		var m, qta, numGiorni, uPP, uG, mioTot, prezzo,nPax,mioTotNpax,nTipoVoce,bVociConMax,nFlagAllotment ;
		m=document.getElementById('moduloHotel' + idhotel);
		m.totale.value="";
		numGiorni=m.numgiorni.value;
		mioTotNpax=0;
		mioTot=0;
		bVociConMax=false;
		var MaxNpax, okSingola, okDoppia, okTripla, okQuadrupla;
		var iNdoppie, iNsingole, iNtriple,iNquadruple,iPaxRestanti,iTotPax
		iNdoppie=0; iNsingole=0; iNtriple=0; iNquadruple=0;
		MaxNpax=0; okSingola=0 ; okDoppia=0;  okTripla=0;  okQuadrupla=0;
		iTotPax=parseInt(adt) + parseInt(chd);
		iPaxRestanti=iTotPax;
		for (i=1;i<=m.numvoci.value -1;i++)
			{	
				nPax=eval('m.npax' + i + '.value');
				nTipoVoce=eval('m.tipovoce' + i + '.value');
			    if (nPax > MaxNpax) { MaxNpax = nPax} ;
			    if (nPax==1) {okSingola=1};
			    if (nPax==2) {okDoppia=1};
			    if (nPax==3) {okTripla=1};
			    if (nPax==4) {okQuadrupla=1};			    
			}
		if (okQuadrupla==1)
		    {
		        iNquadruple=0;
		        if (iTotPax >= 4) {iNquadruple=Math.floor(iTotPax / 4)} ;
		        iPaxRestanti=iTotPax - (4 * iNquadruple) ;
		    }
		if (okTripla==1)
		    {
		        if (iPaxRestanti >= 3) {iNtriple=Math.floor(iPaxRestanti / 3)} ;
		        iPaxRestanti=iPaxRestanti - (3 * iNtriple) ;
		    }
		if (okDoppia==1)
		    {
		        if (iPaxRestanti >= 2) {iNdoppie=Math.floor(iPaxRestanti / 2)} ;
		        iPaxRestanti=iPaxRestanti - (2 * iNdoppie) ;
		    }
		if (okSingola==1)
		    {
		        if (iPaxRestanti >= 1) {iNsingole=Math.floor(iPaxRestanti)} ;
		        iPaxRestanti=0;
		    }
		
		var sOK, dOK, tOK,qOK;
		sOK=0;  dOK=0; tOK=0; qOK=0;
		for (i=1;i<=m.numvoci.value -1;i++)
			{	
				nPax=eval('m.npax' + i + '.value');
				nTipoVoce=eval('m.tipovoce' + i + '.value');
				if (GLOBAL_SoloVociSistemazioneEconomica=='1') {
				    if(i==1) MostraNascondiRigheTabella(document.getElementById('rigaPrezzo' + idhotel + '_' + i),'none');
				}
				switch (parseInt(nPax))
			        {
			            case 1:
			                if (sOK==0) {eval('m.qta' + i + '.value=' + iNsingole); sOK=1; if (iNsingole>0) {document.getElementById('rigaPrezzo' + idhotel + '_' + i).style.display='';}}
			                break;
			            case 2:
			                if (dOK==0) {eval('m.qta' + i + '.value=' + iNdoppie); dOK=1; if (iNdoppie>0) {document.getElementById('rigaPrezzo' + idhotel + '_' + i).style.display='';}}
                            break;
                        case 3:
			                if (tOK==0) {eval('m.qta' + i + '.value=' + iNtriple); tOK=1; if(iNtriple>0) {document.getElementById('rigaPrezzo' + idhotel + '_' + i).style.display='';}}
			                break;
			            case 4:
			                if (qOK==0) {eval('m.qta' + i + '.value=' + iNquadruple); qOK=1;if (iNquadruple>0) {document.getElementById('rigaPrezzo' + idhotel + '_' + i).style.display='';}}
			                break;
			        } 
			}		
		suggerisciRiduzioni(idhotel, adt, chd);
		return true;
	}
	catch(ex)
	{
		return false;
	}
}


function MostraNascondiRigheTabella(TR,display)
{
    //------ nasconde le righe della tabella prezzi tranne quelle con attributo VisualizzaSempre=1 -------
    var M;
    M=TR.parentNode
    if (M.nodeName.toLowerCase()=='tbody' || M.nodeName.toLowerCase()=='table' )
    {
        for (var ii=0;ii<M.childNodes.length;ii++)
        {
            if (M.childNodes[ii].nodeName.toLowerCase()=='tr')
            {
                var vSempre;
                vSempre=M.childNodes[ii].getAttribute('VisualizzaSempre');
                if (vSempre !='1' && M.childNodes[ii].className.toLowerCase() !='rigatotalitariffa' && M.childNodes[ii].className.toLowerCase() !='rigaintestazionetariffa') {M.childNodes[ii].style.display=display;}
            }
        }
    }
}

function WBDisplayDatiFattura(obj)
{
	if(obj.checked)
		{document.getElementById('bloccoDatiFatturazione').style.display='block';}
	else
		{document.getElementById('bloccoDatiFatturazione').style.display='none';}
}

function prenotaHotel(azione,idhotel, adt, chd,DisableCheckPax,objSubmit)
{
	try
	{
		if (calcolaTotaleTariffa(idhotel, adt, chd, 1))
			{
				var oForm;
				oForm=document.getElementById('moduloHotel' + idhotel);
				
				for (i=1;i<=oForm.numvoci.value -1 && azione !='variahotel';i++)   //controllo se ci sono valori selezionati e non consentiti
	             {       
            		try
		             {  var objSpan;
    		            objSpan=document.getElementById('qta' + i);
	                    if (objSpan.tagName.toUpperCase().indexOf("SELECT")>=0) {
	                        var vNonOK;
	                        vNonOK=objSpan.options[objSpan.selectedIndex].getAttribute('NonConsentito');
	                        if (vNonOK==1 || vNonOK==-1) { alert('Il valore selezionato non è consentito.');objSpan.focus();return false };
	                    };		    
		             }
                    catch(e)
                     {}				    
	             }
				displayPopup("<center><b>Elaborazione in corso...</b><br>Attendere........<br></center>");
				oForm.azione.value=azione;
				if(objSubmit) objSubmit.disabled=true;
				oForm.submit();
				
			}
			else
			{
				if (DisableCheckPax==1 || DisableCheckPax==-1)
				{
				var oForm;
				oForm=document.getElementById('moduloHotel' + idhotel);
				oForm.azione.value=azione;
				oForm.submit();
				return;
				}				
				alert("Dati non completi o incongruenza nella sistemazione.");
			}			
	}
	catch(ex)
	{		
	}
}

function aggiungiHotel(idhotel, adt, chd,objSubmit)
{
	var oForm;
	displayPopup("<center><b>Elaborazione in corso...</b><br>Attendere........<br></center>");
	oForm=document.getElementById('moduloHotel' + idhotel);
	oForm.azione.value='aggiungihotel';
	if(objSubmit) objSubmit.disabled=true;
	oForm.submit();
}


function checkNomi()
{
	try
	{
		var elenco, matT, i, obj, obj2;
		elenco=document.getElementById("elencoTextboxNomi").value;
		matT=elenco.split(";");
		i=0
		while (i < matT.length)
 			{				 
				if (matT[i].length >0) 
				{
				obj=document.getElementById('txtCognome' + matT[i])
				obj2=document.getElementById('txtNome' + matT[i])
				 if (obj.value.length < 3 || obj2.value.length < 3) 
				 	{
						alert('I nomi degli occupanti devono essere inseriti tutti.');
						obj.focus();
						return false;
					}				
				}
			  i+=1;
			}
		return true;
	}
	catch (ex)
	{
		alert(ex.message)
		return false;
	}
}

function WB_CheckValoriCombo(idHotel,SkipCheck,objSubmit)
{
	var k,n,i,obj,objD;
	n=objSubmit.form.numvoci.value;
	i=1;
	while (i < n)
 		{
			obj=eval('objSubmit.form.qta' + i);
			objD=eval('objSubmit.form.desQta' + i);
			if(obj.type.toLowerCase().indexOf('select') >=0)
				{
					for (k=0;k<obj.options.length;k++)
					{
						if (obj.selectedIndex==k) {objD.value=obj.options[k].text;};
						if (obj.options[k].getAttribute('NonConsentito') !=0 && obj.selectedIndex==k)
						{	alert('Opzione non consentita.'); obj.focus(); return false;}
					}
				}			
			i+=1;
		}
return true;
}

function memorizzaHotel(idHotel,SkipCheck,objSubmit)
{
	if (SkipCheck !=1 && SkipCheck !=-1) { if (!checkNomi()) {return false;} }
	if (WB_CheckValoriCombo(idHotel,SkipCheck,objSubmit) == false) {return false;}
	if (confirm('Aggiungere alla prenotazione?'))
		{
			displayPopup("<center><b>Elaborazione in corso...</b><br>Attendere........<br></center>");
	        if(objSubmit) objSubmit.disabled=true;
			document.getElementById('moduloHotel' + idHotel).azione.value='memorizzahotel';
			document.getElementById('moduloHotel' + idHotel).submit();
		}
}

function WB_MemorizzaPrenotazione(msg,oForm)
{
	var sCF,sPIVA      //P.IVA o Cod. Fisc.     
	//-----------verifica dei valori immessi-------------------------
 	if (! validaValoreCampo(oForm.RagSoc,3,60,'','Ragione sociale') ) {return false;}
 	if (! validaValoreCampo(oForm.Via,3,60,'','Indirizzo') ) {return false;}
 	if (! validaValoreCampo(oForm.Comune,2,30,'','Comune') ) {return false;}
 	if (! validaValoreCampo(oForm.Provincia,2,30,'','Provincia') ) {return false;} 	
	if (! validaValoreCampo(oForm.email,5,30,'','Email') ) {return false;} 	
	
	sCF=oForm.CF.value; sPIVA=oForm.PIVA.value;
	if (sCF != '') {if (sCF.length != 16) {alert('Inserire il Codice Fiscale corretto.');return false; } }	
	if (sCF =='' || sPIVA != '') { if (! validaValoreCampo(oForm.PIVA,11,16,'','Partita Iva') ) {return false;}  }
		
	if(oForm.RichiestaFattura.checked==true)
	{
		// --------- Dati per la fatturazione -------------------------------------------- s//
		if (! validaValoreCampo(oForm.RagSocFatturazione,3,60,'','Ragione sociale Fatturazione') ) {return false;}
		if (! validaValoreCampo(oForm.ViaFatturazione,3,60,'','Indirizzo Fatturazione') ) {return false;}
		if (! validaValoreCampo(oForm.ComuneFatturazione,2,30,'','Comune Fatturazione') ) {return false;}
		if (! validaValoreCampo(oForm.ProvinciaFatturazione,2,30,'','Provincia Fatturazione') ) {return false;} 	
		sCF=oForm.CFFatturazione.value; sPIVA=oForm.PIVAFatturazione.value;
		if (sCF != '') {if (sCF.length != 16) {alert('Inserire il Codice Fiscale Fatturazione corretto.');return false; } }	
		if (sCF =='' || sPIVA != '') { if (! validaValoreCampo(oForm.PIVAFatturazione,11,16,'','Partita Iva Fatturazione') ) {return false;}  }			
	}
	
	
	// ----- dati per prodotti in prenotazione -------------  //
	var sElencoID,aryID,n,sIdElemento,oElemento;
	var lMin,lMax,tipoDati,sNomeCampo,bObbligatorio;
	sElencoID=document.getElementById('ElencoIdCampiRichiesti').value;
	aryID=sElencoID.split(';');
	for (n=0;n<aryID.length;n++)
	{
		sIdElemento=aryID[n];
		if (sIdElemento.length >0)
		{
			oElemento=document.getElementById(sIdElemento);
			try
			{
			lMin=oElemento.getAttribute('lMin');
			lMax=oElemento.getAttribute('lMax');
			tipoDati=oElemento.getAttribute('tipoDati');
			bObbligatorio=oElemento.getAttribute('obbligatorio');
			if (bObbligatorio=='1' || bObbligatorio=='-1') {bObbligatorio=true;} else {bObbligatorio=false;}
			sNomeCampo=oElemento.getAttribute('nomeCampo');		
			
			if (! validaValoreCampo(oElemento,lMin,lMax,tipoDati,sNomeCampo,bObbligatorio) ) {return false;}
			}
			catch(ss)
			{}
		}
	}
	
	if(confirm(msg))
        {
            oForm.memorizza.disabled=true;
			displayPopup("<center><b>Memorizzazione in corso...</b><br>Attendere........<br></center>");
			globalWBMemForm=oForm;
			setTimeout('submitFormWB()',600);
        }
}

function submitFormWB()
{globalWBMemForm.submit();}

function WB_MostraSchedaProdotto(idProdotto)
{
    var i;
    i=0;
	while (i < 30)
 		{
 		  try
 		    {
 		        document.getElementById('divWBProdotto' + i).style.display='none';
 		        document.getElementById('CellaTabPulsantiAltriProdotti' + i).className='CellaTabPulsantiAltriProdotti';
 		    }
 		   catch(ex)
 		    {
 		    }
		  i+=1;
		}
		document.getElementById('divWBProdotto' + idProdotto).style.display='block';
		document.getElementById('CellaTabPulsantiAltriProdotti' + idProdotto).className='CellaTabPulsantiAltriProdottiAttiva';
}

function WB_AggiungiServizioSingolo(strForm,data, idVoce,k)
{
    var oForm, tipoP, idP, dalCercato, alCercato, nVoci, nGiorni, tariffa, sVoce, sData,iQta;
    oForm=document.getElementById(strForm);
    tariffa=oForm.tariffa.value;
    tipoP=oForm.tipoProdotto.value;
    nVoci=oForm.numvoci.value;
    idP=oForm.idHotel.value;
    sVoce=document.getElementById('desVoce' + tipoP + '_' + k).innerHTML;
    //sVoce=TestoDaHtml(sVoce);  //--questa istruzione  incasina la funzione....
    sData=data.toString();
    sData=sData.substring(6,8) + '/' + sData.substring(4,6) + '/' + sData.substring(0,4);
    iQta=0;
	try
		{
			iQta=eval('oForm.qta' + k + '.value');
			if (iQta=='') iQta=0;
			if (iQta <=0) {alert('Inserire prima la quantità desiderata.'); return; }
		}
	catch(ee)
		{}
		
	if (confirm('Si desidera aggiungere anche il seguente servizio alla prenotazione?\n\nQuantità scelta: ' + iQta + '\nServizio: ' + sVoce + '\nData: ' + sData ))
    {
        oForm.azione.value='aggiungisingoloservizio';
		oForm.qtaScelta.value=iQta;
        oForm.dataScelta.value = data ;
        oForm.idVoceScelta.value = idVoce ;
        oForm.submit();        
    }
}

function WB_EliminaHotel(act)
{
    if (confirm('Cancellare l\'Hotel dalla prenotazione?'))
    {
        location.href=act;    
    }
}

function WB_CancellaServizio(act)
{
    if (confirm('Cancellare il seguente servizio?'))
    {
        location.href=act;    
    }
}

function WB_MostraDiv(blocco)
{ document.getElementById(blocco).style.display="block";}

function WB_NascondiDiv(blocco)
{ document.getElementById(blocco).style.display="none";}

function WB_MostraRicercaHotel(valoreProdotto,idBlocco,bSubmit)
{
	var matDiv,i;
	matDiv=WB_ElencoDivRicerca.split(',');
	for(i=0;i<matDiv.length;i++ ) 	{document.getElementById('WBPulsCerca' + matDiv[i]).className='CellaPulsantiBloccoRicerca'; 	}
	document.getElementById('WBPulsCerca' + idBlocco).className='CellaAttivaPulsantiBloccoRicerca';
	
	modu=document.getElementById('moduloWBMenuCercaHotel')
    modu.wbcurrentdivcerca.value=idBlocco;
	document.getElementById('BloccoMenuRicercaHotel').style.display="block";
    document.getElementById('BloccoMenuRicercaAltri').style.display="none";
    document.getElementById('BloccoMenuRicercaPacchetti').style.display="none";	
}

function WB_MostraRicercaPacchetti(valoreProdotto,idBlocco,bSubmit,testo)
{
    var matDiv,i;
	matDiv=WB_ElencoDivRicerca.split(',');
	for(i=0;i<matDiv.length;i++ ) 	{document.getElementById('WBPulsCerca' + matDiv[i]).className='CellaPulsantiBloccoRicerca'; 	}
	if (idBlocco=='') {return;}
	document.getElementById('WBPulsCerca' + idBlocco).className='CellaAttivaPulsantiBloccoRicerca';
	try {document.getElementById('WBIntestazioneCercaProdotto').innerHTML=ReplaceTags(document.getElementById('WBPulsCerca' + idBlocco).innerHTML);} catch(exc){};
	modu=document.getElementById('moduloWBMenuCercaPacchetti')
    modu.wbcurrentdivcerca.value=idBlocco;
    document.getElementById('BloccoMenuRicercaHotel').style.display="none";
    document.getElementById('BloccoMenuRicercaAltri').style.display="none";    
	document.getElementById('BloccoMenuRicercaPacchetti').style.display="block";
	if (valoreProdotto != -1)
	{		
		document.getElementById('WBCercaTipologiaPacchetto').value=valoreProdotto;
		document.getElementById('WBPulsCerca' + idBlocco).className='CellaAttivaPulsantiBloccoRicerca';	
	};
	if (bSubmit) {submitWBRicerca('nuovaricerca',document.getElementById('WBCercaTipologiaPacchetto').form);}
	if (bSubmit==false) {initComboWB(true,idBlocco)}
}

function WB_MostraRicercaAltri(valoreProdotto,idBlocco,bSubmit)
{
    var matDiv,i;
	matDiv=WB_ElencoDivRicerca.split(',');
	for(i=0;i<matDiv.length;i++ ) 	{document.getElementById('WBPulsCerca' + matDiv[i]).className='CellaPulsantiBloccoRicerca'; 	}
	document.getElementById('WBPulsCerca' + idBlocco).className='CellaAttivaPulsantiBloccoRicerca';
	
	modu=document.getElementById('moduloWBMenuCercaAltri')
    modu.wbcurrentdivcerca.value=idBlocco;
	document.getElementById('BloccoMenuRicercaHotel').style.display="none";
    document.getElementById('BloccoMenuRicercaPacchetti').style.display="none";	
    document.getElementById('BloccoMenuRicercaAltri').style.display="block";    
}

function submitWBRicerca(azione,modulo)
{ 
	var x;	
	if (azione == 'nuovaricerca') x=document.getElementById("localitaMenuCerca");
	if (azione == 'nuovaricercaaltri') 	x=document.getElementById("localitaMenuCercaAltri");	
	try {document.getElementById('desLocalitaCerca').value=x.options[x.selectedIndex].text; } catch(ee) { };
	modulo.azione.value='nuovaricerca';
	//verifica ricerca hotel
	if (modulo.id=='moduloWBMenuCercaHotel') {
	    if (document.getElementById('gruppolocalitaMenuCerca').selectedIndex==0 && document.getElementById('localitaMenuCerca').selectedIndex==0 && document.getElementById('WBCercaTipologiaHotel').selectedIndex==0) {
	        alert(Lang_JS01);	        
	        document.getElementById('gruppolocalitaMenuCerca').focus();
	        return false;
	        }
	}
	//verifica ricerca pacchetti
	if (modulo.id=='moduloWBMenuCercaPacchetti') {
	    if (document.getElementById('WBCercaTipologiaPacchetto').selectedIndex==0 && document.getElementById('gruppolocalitaMenuCerca').selectedIndex==0 && document.getElementById('localitaPacchettiMenuCerca').selectedIndex==0) {
	        alert(Lang_JS01);	        
	        document.getElementById('WBCercaTipologiaPacchetto').focus();
	        return false;
	        }
	}
	
	displayPopup("<center><b>Elaborazione in corso...</b><br>Attendere........<br></center>");
	setTimeout(function(){modulo.submit();},0);
}

function MostraHotelPerLocalita(link)
{
    var o;
    o=document.getElementById('gruppolocalitaMenuCerca');
    if(o.value=='0') {alert('Seleziona prima una località'); return false;}
    location.href=link + '&zona=' + o.value;
}

function WB_AggiornaData(idObjInizio,idObjFine)
{
    var data1=document.getElementById(idObjInizio).value;
    var data2=document.getElementById(idObjFine).value;
    if (data1=="") return true;
    var oggetto2,gg,mm,aaaa;
    var oggetto1=new Date(parseInt(data1.substr(6)) ,parseInt(data1.substr(3, 2)-1),parseInt(data1.substr(0, 2)));
    if (data2=="") {oggetto2=new Date(2007,0,1) } else { oggetto2=new Date(parseInt(data2.substr(6)), parseInt(data2.substr(3, 2)-1), parseInt(data2.substr(0, 2)));  } ;
    if (oggetto2-oggetto1<0) {        
        newdate=dateAdd("d",7,oggetto1);
        gg=datePart("d",newdate); if(gg<10) {gg='0'+gg};
        mm=datePart("m",newdate);if(mm<10) {mm='0'+mm};
        aaaa=datePart("yyyy",newdate);
        document.getElementById(idObjFine).value=gg + '/' + mm + '/' + aaaa;
	    }    
}

function chkComboCercaTipologiaPacchetti()
{
    var obj,vl;
    try
    {
        obj=document.getElementById('WBCercaTipologiaPacchetto');
        vl='0';
        if (obj) {vl=obj.value;}
        if(vl.indexOf('[')>=0 || vl=='0')
            {
                document.getElementById('rigaDatePartenze').style.display='none';
				document.getElementById('rigaCercaLocalitaPartenza').style.display='none';
                document.getElementById('localitaPartenzaMenuCerca').value='0';
            }
        else
            {   
				document.getElementById('rigaCercaLocalitaPartenza').style.display='';
				document.getElementById('rigaDatePartenze').style.display='';
			}    
    
        initComboWB(false);
    }
    catch(aa)
    {}

}


function chkAdult(o,valore)
{return chkPaxChange(o,valore)}

function chkChild(o,valore)
{return chkPaxChange(o,valore)}

function chkInfant(o,valore)
{return chkPaxChange(o,valore)}

function chkPaxChange(o,valoreSel)
{
 if (!o) {return false;}
 var adH, chH, adP, chP,totP,oCamP,oCamH;
 adH=document.getElementById('adultiHotel');
 chH=document.getElementById('childHotel');
 adP=document.getElementById('adultiPacchetto');
 chP=document.getElementById('childPacchetto');
 if(o.id.toLowerCase().indexOf('pacchetto') >0)
    {  adH.value=adP.value; chH.value=chP.value;   }
 else
    {  adP.value=adH.value; chP.value=chH.value;   } 
 
 totP=parseInt(adH.value) + parseInt(chH.value);
 oCamP=document.getElementById('numeroCamerePacchetti');
 oCamH=document.getElementById('numeroCamereHotel');
 var optDefault=document.createElement('option');
 var optDefaultH=document.createElement('option'); 
 optDefault=oCamP.options[0];
 optDefaultH=oCamH.options[0];
 oCamP.options.length=0;
 oCamH.options.length=0;
 //  --- creo numero massimo camere per Pacchetti ----
 try { oCamP.add(optDefault, null); }  catch(ex) {oCamP.add(optDefault);}
 
 for (iJ=1; iJ<=totP; iJ++)
 {
    optDefault=document.createElement('option');
    optDefault.text=iJ;
    optDefault.value=iJ;
    try
        { oCamP.add(optDefault, null);}
    catch(ex)
        {oCamP.add(optDefault);} 
  }

//  --- creo numero massimo camere per Hotel ----
 try { oCamH.add(optDefaultH, null); } catch(ex) {oCamH.add(optDefaultH);}
 
 for (iJ=1; iJ<=totP; iJ++)
 {
    optDefault=document.createElement('option');
    optDefault.text=iJ;
    optDefault.value=iJ;
    try
        { oCamH.add(optDefault, null);}
    catch(ex)
        {oCamH.add(optDefault);} 
  } 
 if(valoreSel=='') {valoreSel=0;}
 try {oCamP.selectedIndex=parseInt(valoreSel); oCamH.selectedIndex=parseInt(valoreSel);} catch(ex) {}
}



function chkDestinazione(o)
{    
    document.getElementById('localitaMenuCerca').value=0;
    document.getElementById('localitaMenuCercaAltri').value=0;
    
    if(o.form.id.toLowerCase().indexOf('cercapacchetti')>0)
    {
        chkComboCercaTipologiaPacchetti();         
        riempiComboDinamiche(true,o.value,0);   
	    cercaDatePartenza();
	}
	else 
	{
	    cercaLocalita(o.value,o.form.id)	    
	}
}

function chkLocalitaPartenza(o)
{
	cercaDatePartenza();
}


function chkDatePartenze(obj)
{
	var v,d1,d2;
	v=obj.value;
	d1='' ; d2='';
	if(v.indexOf('*')>0) {
		d1=v.substr(0,v.indexOf('*')) ;
		d2=v.substr(v.indexOf('*')+1) ;
	}
	else {
		d1=v;
		d2=0;
	}
	if (d1=='0' || d1=='' ) {return false;}
	document.getElementById('WbTxtDalPkg').value=d1;
	if (d2 !=0) {	document.getElementById('WbTxtAlPkg').value=d2;}
	
}

function initComboWB(bControllaPacchetti,schedaAttiva)
{
    if (schedaAttiva=='') {return false; }
    if (schedaAttiva !='0' && schedaAttiva !='2') {
        var v1,v2;
        v1=document.getElementById('gruppolocalitaPacchettiMenuCerca').value;
        v2=document.getElementById('localitaMenuCerca').value;
        riempiComboDinamiche(false,v1,v2);
        setTimeout('cercaDatePartenza()',1300);
        if (bControllaPacchetti==true) {chkComboCercaTipologiaPacchetti();}
    }
    if (schedaAttiva=='0') { cercaLocalita(document.getElementById('gruppolocalitaMenuCerca').value,'moduloWBMenuCercaHotel'); }
    if (schedaAttiva=='2') { cercaLocalita(document.getElementById('gruppolocalitaAltriMenuCerca').value,'moduloWBMenuCercaAltri');}
	
}

function riempiComboDinamiche(azzeraValore,gruppoLocVal,partenzaVal)
{
    var tipoVal;
    tipoVal=document.getElementById('WBCercaTipologiaPacchetto').value;
    
    AJAX('wb_actionAjax.asp?azione=elencolocalita&WBCercaTipologiaPacchetto=' + tipoVal + '&gruppolocalita=' + gruppoLocVal ,aggiornaComboLocalita);
    AJAX('wb_actionAjax.asp?azione=elencolocalitapartenza&WBCercaTipologiaPacchetto=' + tipoVal + '&gruppolocalita=' + gruppoLocVal ,aggiornaComboLocalitaPartenza);
}

function cercaLocalita(valore,idForm)
{
    if (idForm.toLowerCase().indexOf('cercahotel')>0) { AJAX('wb_actionAjax.asp?azione=elencolocalitahotel&gruppolocalita=' + valore ,aggiornaComboLocalitaHotel);}
    if (idForm.toLowerCase().indexOf('cercaaltri')>0) { AJAX('wb_actionAjax.asp?azione=elencolocalitaaltri&gruppolocalita=' + valore ,aggiornaComboLocalitaAltri);}
}

function cercaDatePartenza()
{
	var tipoVal,gruppoVal,locPartVal;
    tipoVal=document.getElementById('WBCercaTipologiaPacchetto').value;
	if (tipoVal=='' || tipoVal=='0') {document.getElementById('WbDatePartenze').options.length=0; return false;}
    gruppoVal=document.getElementById('gruppolocalitaPacchettiMenuCerca').value;
    locPartVal=document.getElementById('localitaPartenzaMenuCerca').value;
    AJAX('wb_actionAjax.asp?azione=elencodatepartenze&WBCercaTipologiaPacchetto=' + tipoVal + '&gruppolocalita=' + gruppoVal + '&localitaPartenza=' + locPartVal ,aggiornaComboDatePartenza);
}

function aggiornaComboLocalita(w)
{    
    updateComboOptions(document.getElementById('localitaPacchettiMenuCerca'),w);
}
function aggiornaComboLocalitaHotel(w)
{    
    updateComboOptions(document.getElementById('localitaMenuCerca'),w);
}
function aggiornaComboLocalitaAltri(w)
{
    updateComboOptions(document.getElementById('localitaMenuCercaAltri'),w);
}

function aggiornaComboLocalitaPartenza(w)
{  
   updateComboOptions(document.getElementById('localitaPartenzaMenuCerca'),w);
}


function aggiornaComboDatePartenza(w)
{  
   updateComboOptions(document.getElementById('WbDatePartenze'),w);
   chkDatePartenze(document.getElementById('WbDatePartenze'));
}



