/**************************************************************
~		Author : Rosa Foglia , 	Date   : 27/03/2006 
/**************************************************************/
var DivPrezzoVecchio;
var CountSettore;
var Count;
var PrezzoTot= new Number(0.00);

function prenota(prodotto, countSettori, servizio, argomento, oraCodMaster, istanzaMaster, maxPostiAcquistabili){
	titolo= document.getElementById("titolo").value;
	document.prenotaBiglietti.tipoRitiro.value=getRadioSelected(document.prenotaBiglietti.spedizione);
	document.prenotaBiglietti.prezzoParziale.value=document.getElementById("sommaPrezzi").innerHTML;

	var numBigliettiPrenotati=document.getElementById('numBigliettiPrenotati');
	
	var checkExist = false;
	var totTicket = parseInt(0);
	var totTicketUnici = parseInt(0);
	var totTicketNum = parseInt(0);
	indexRadioSel = getRadioSelected(document.prenotaBiglietti.radioOrario);
	if (indexRadioSel==0 ) indexRadioSel=1;
	productId = document.getElementById("prod"+indexRadioSel).value;

	var modalitaPA = 0;
	var modalitaPU = 0;
	cont = parseInt(countSettori);
	for(i=1; i<=cont; i++){
		if (document.getElementById("flagPlanimetria_"+i).value=='no' && document.getElementById("checkSettore_"+i)!=null) {
	    	if(document.getElementById("checkSettore_"+i).checked){
		    	countPosti = "countPosti_"+i;
		    	countPostiXTip = parseInt(document.getElementById(countPosti).value);
		    	for(j=1;j<=countPostiXTip;j++){
		    		numPostiUnici = parseInt(document.getElementById("sel_"+i+"_"+j).value);
		    		totTicketUnici += numPostiUnici;
		    		totTicket += numPostiUnici;
		    	}
		    	//effettuo i controlli sulle check relative ai settori senza planimetria
				if (parseInt(totTicketUnici) > 0 ){  
					istanzaId = document.getElementById("ist_"+i).value;
					oracodId = document.getElementById("ora_cod_"+i).value;	        
					checkExist = true;
					modalitaPA = 1;
				}
			}
		}
		if(document.getElementById("countPostiNum_"+i)!=null && document.getElementById("flagPlanimetria_"+i).value=='si'){
			numPostiNum = parseInt(document.getElementById("countPostiNum_"+i).value);
			for(j=1;j<=numPostiNum;j++){
	    		tipologia = document.getElementById("comboTipoTit_"+i+"_"+j).value;
	    		if(tipologia==""){
	    			alert("Bisogna selezionare la tipologia del biglietto per tutti i posti selezionati!");
	    			return false;
	    		}
	    		var prezzo = document.getElementById("divPrezzo_"+i+"_"+j).innerHTML;
	    		if (new Number(prezzo) == 0)
	    		{
	    			document.getElementById("comboTipoTit_"+i+"_"+j).value = "";
	    			alert("Il prezzo di alcuni biglietti non è aggiornato si prega di riselezionare la tipologia!");
	    			return false;
	    		}
	    	}
			totTicketNum += numPostiNum;  
			istanzaId = document.getElementById("ist_"+i).value;
			oracodId = document.getElementById("ora_cod_"+i).value;	        
			modalitaPU = 1;
			checkExist = true;
		}
	}
	totTicket += totTicketNum;
	//verifica la selezione di PU/PA - da eliminare a seguito di implementazione carrello
	if (modalitaPU==1 && modalitaPA==1){
		alert('Attenzione!!! E\' possibile acquistare in maniera esclusiva titoli a posto unico oppure titoli a posto assegnato. Aggiornare le selezioni effettuate.');
		return false;
	}
	if(!checkExist){
		alert('Effettuare almeno una selezione!!!');
		return false;
	}
	if(totTicket > maxPostiAcquistabili){
		alert('Attenzione!!! E\' possibile acquistare al massimo '+maxPostiAcquistabili+' biglietti.');
		return false;
	}
	if (!controlloRadio(document.prenotaBiglietti.spedizione,'Indicare la modalità di ritiro') ) return false;
	document.prenotaBiglietti.action = 'EventiController?az=AcquistoManager&subaz=acquista&numBigliettiPrenotati='+numBigliettiPrenotati+'&prod='+productId+'&arg='+argomento+'&serv='+servizio+'&oracodMaster='+oracodId+'&titolo='+escape(titolo)+'&ist='+istanzaId;
	document.prenotaBiglietti.submit(); 
}

// Calcola i costi parziali come (num biglietti x prezzo unitario) per ogni selezione effettuata dall'utente
function calcolaPrezzo(countsettore, count, countsettori){
	var prenotaButton=document.getElementById("prenotaButton");
	prenotaButton.style.visibility="hidden";

	var elem = null;
	CountSettore = countsettore;
	Count = count;
 	DivPrezzoVecchio = document.getElementById("divPrezzo_"+countsettore+"_"+count).innerHTML;
 	

	postisel=document.getElementById("sel_"+countsettore+"_"+count).value;
	prezzo = document.getElementById("prezzo_"+countsettore+"_"+count).innerHTML;
	prezzo = prezzo.replace(',','.');
	document.getElementById("divPrezzo_"+countsettore+"_"+count).innerHTML= round_decimals(prezzo*postisel,2);
	aggiornaPrezzoParziale();

	prenotaButton.style.visibility="visible";
}

/***** Su check abilita/disabilita la combo della selezione del num. di biglietti da acquistare ***/
function abilitaSelezione(indice, countsettori){
	document.getElementById("divAggiornamento_"+indice).style.display = "inline";
	servizio  = document.getElementById("servizio").value;
	argomento = document.getElementById("argomento").value;
	oracod = document.getElementById("ora_cod_"+indice).value;
	if (document.getElementById("checkSettore_"+indice).checked){
		var url='EventiController?az=EventiManager&subaz=viewTipoPrezzoPostoUnico&arg='+argomento+'&serv='+servizio+'&oracod='+oracod+'&indice='+indice+"&countsettori="+countsettori;
		div="divAggiornamento_"+indice;
		getAjaxWithFunction(url,div, "", "");
	}
	else
	{		
		name= "countPosti_"+indice;
		num = new Number(document.getElementById(name).value);
		for(i=1;i<=num;i++){
			prezzo = document.getElementById("divPrezzo_"+indice+"_"+i).innerHTML;
			PrezzoTot =+ round_decimals(new Number(PrezzoTot)-new Number(prezzo),2);
			
		}
		document.getElementById("sommaPrezzi").innerHTML=round_decimals(PrezzoTot,2);
		document.getElementById("divAggiornamento_"+indice).style.display = "none";	
	}
}

// 0 = Corriere espresso, 1= ritiro c/o luogo dell'evento, 2= ritiro c/o sede come on web
function calcolaPrezzoRitiro(scelta){
	if (scelta==0)
		document.getElementById("prezzoritiro").innerHTML='0.00';
	else if (scelta==1)
		document.getElementById("prezzoritiro").innerHTML='4.00';	
	else document.getElementById("prezzoritiro").innerHTML='0.00';		
	aggiornaPrezzoTotale();
}

function aggiornaPrezzoTotale(){
 var sommaPrezzi = new Number(0.00);
 var prezzoRitiro = new Number(0.00);
 if (document.getElementById("sommaPrezzi").innerHTML!='0.00')
 	sommaPrezzi = document.getElementById("sommaPrezzi").innerHTML;

 if (document.getElementById("prezzoritiro").innerHTML!='0.00' && sommaPrezzi!=0.00)
 	prezzoRitiro = document.getElementById("prezzoritiro").innerHTML;

 document.getElementById("totaleComplessivo").innerHTML = round_decimals(new Number(sommaPrezzi)+new Number(prezzoRitiro),2);
}

/*Creata il 19/11/07 - Visualizza la popup con la planimentria relativa al settore selezionato */
function viewPlanimetria(idIstanza, idArgomento, idProdotto, idServizio, oraCod, pathImage, ind, countSettori, idSettore, descSettore){
	var postiSelezionati = new String("");
	postiSelezionati = document.getElementById("postiSelezionati_"+ind).value;
	if(postiSelezionati!=null && postiSelezionati!=''){
		num = document.getElementById("countPostiNum_"+ind).value;
		for (i=1;i<=num;i++){
			prezzo = document.getElementById("divPrezzo_"+ind+"_"+i).innerHTML;
			PrezzoTot =+ round_decimals(new Number(PrezzoTot)-new Number(prezzo),2);
		}
		document.getElementById("sommaPrezzi").innerHTML=round_decimals(PrezzoTot,2);
	}
	var URL = 'EventiController?az=PlanimetriaManager&subaz=viewPlanimetria&idIstanza='+idIstanza+'&idArgomento='+idArgomento+'&idProdotto='+idProdotto+'&idServizio='+idServizio+'&oraCod='+oraCod+'&pathImage='+pathImage+'&postiSelezionati_'+ind+'='+postiSelezionati+'&ind='+ind;
	ReturnedValue = showModalDialog(URL,'', 'dialogWidth:600px; dialogHeight:620px; status:0; center:Yes; resizable:Yes; edge:sunken; Help:no;');
	document.getElementById("postiSelezionati_"+ind).value = new String("");
	if(typeof(ReturnedValue)!=undefined && typeof(ReturnedValue)!='undefined' && ReturnedValue!=null && ReturnedValue.length>0){
	    postiSelezionati = new String("");
	    for (i=0;i<ReturnedValue.length;i++){
			postiSelezionati += ReturnedValue[i]+";";
		}
		document.getElementById("postiSelezionati_"+ind).value = postiSelezionati;
		var url='EventiController?az=AcquistoManager&subaz=viewTipoTitolo&prod='+idProdotto+'&arg='+idArgomento+'&serv='+idServizio+'&ist='+idIstanza+"&ora_cod="+oraCod+"&postiSelezionati="+postiSelezionati+"&idSettore="+idSettore+"&descSettore="+descSettore+"&count="+ind;
		div="divAggiornamento_"+ind;
		getAjaxWithFunction(url,div, "", "");
	}
	else{	
		postiSelezionati = 0;
		var url='EventiController?az=AcquistoManager&subaz=viewTipoTitolo&prod='+idProdotto+'&arg='+idArgomento+'&serv='+idServizio+'&ist='+idIstanza+"&ora_cod="+oraCod+"&postiSelezionati="+postiSelezionati+"&idSettore="+idSettore+"&descSettore="+descSettore+"&count="+ind;
		div="divAggiornamento_"+ind;
		getAjaxWithFunction(url,div, "", "");
	}
}

function associaTipologiaPrezzo(oracod, countsettore, count){
	var prenotaButton=document.getElementById("prenotaButton");
	prenotaButton.style.visibility="hidden";

	CountSettore = countsettore;
	Count = count;
 	DivPrezzoVecchio = document.getElementById("divPrezzo_"+countsettore+"_"+count).innerHTML;
 	servizio  = document.getElementById("servizio").value;
	argomento = document.getElementById("argomento").value;
	combo = "comboTipoTit_"+countsettore+"_"+count;
	indice = document.getElementById(combo).options.selectedIndex;
	valore = document.getElementById(combo).options[indice].value;
	var url='EventiController?az=AcquistoManager&subaz=viewTipoPrezzo&arg='+argomento+'&serv='+servizio+'&oracod='+oracod+'&codTitolo='+valore;
	getAjaxWithFunction(url, "divPrezzo_"+countsettore+"_"+count, "aggiornaPrezzoParziale", "");
	
	prenotaButton.style.visibility="visible";
	
}
function aggiornaPrezzoParziale(){
	if (DivPrezzoVecchio != '0.00')
			PrezzoTot=round_decimals(new Number(PrezzoTot)-new Number(DivPrezzoVecchio), 2);
	prezzo = document.getElementById("divPrezzo_"+CountSettore+"_"+Count).innerHTML;
	PrezzoTot=round_decimals(new Number(prezzo)+new Number(PrezzoTot),2);
	document.getElementById("sommaPrezzi").innerHTML=round_decimals(PrezzoTot,2);
}