var session; var new_session; var xmlHttp; var postiHttp; var sessionHttp; var touroperator; var tourHttp; function handleResponse(msg) { if (msg!=session) { session = msg; pagamento(session); alert(msg); } } function GetXmlHttpObject() { var objXMLHttp=null; if (window.XMLHttpRequest) { objXMLHttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP"); } return objXMLHttp; } function ajaxFunction() { var ajaxRequest; try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ //browsers all not support, rare case alert("Your browser broke!"); return false; } } } return ajaxRequest; } function toggleVisibility(me,spettacolo,cod) { if (me.style.visibility=="hidden"){ me.style.visibility="visible"; } document.getElementById('posti').innerHTML=''; document.getElementById('divPosti').innerHTML=''; postiDisponibili(cod,spettacolo); } function postiDisponibili(cod,spettacolo) { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Browser does not support HTTP Request"); return; } var url='functions.php?f=postiDisponibili&c='+cod+"&s="+spettacolo; xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); //window.open(url); } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { xmlDoc=xmlHttp.responseText; document.getElementById('settore').innerHTML = xmlDoc; } } function mappaPosti(settore,spettacolo) { postiHttp=GetXmlHttpObject(); if (postiHttp==null) { alert ("Browser does not support HTTP Request"); return; } var url='functions.php?f=mappaPosti&s='+settore+'&c='+spettacolo; postiHttp.onreadystatechange=updateMappaPosti; postiHttp.open("GET",url,true); postiHttp.send(null); } function updateMappaPosti() { if (postiHttp.readyState==4 || postiHttp.readyState=="complete") { postiDoc=postiHttp.responseText; document.getElementById('posti').innerHTML = postiDoc; } } function tourOperator(anagrafica) { tourHttp=GetXmlHttpObject(); if (tourHttp==null) { alert ("Browser does not support HTTP Request"); return; } var url='functions.php?f=tourOperator&c='+anagrafica; //alert(url); tourHttp.onreadystatechange=updateTourValue; tourHttp.open("GET",url,true); tourHttp.send(null); } function updateTourValue () { if (tourHttp.readyState==4 || tourHttp.readyState=="complete") { var tourDoc=tourHttp.responseText; touroperator = tourDoc; } } function checkall(Indice) { with (document.forms["frmPosti"]) { for (var i=0; i < elements.length; i++) { if (elements[i].type == 'checkbox' && elements[i].name == 'POSTO['+Indice+'][]') if (elements[i].checked == true) { elements[i].checked = false; } else { elements[i].checked = true; } } } } function controllocheckbox() { var control = false; with (document.forms["frmPosti"]) { for (var i=0; i < elements.length; i++) { if (elements[i].type == 'checkbox' && elements[i].name == 'POSTO['+Indice+'][]') { if (elements[i].checked == true) { control = true; } } } } return control; } function SelezionaRiga (Indice) { checkall(Indice); CalcolaPosti(Indice); } function CalcolaPosti () { var Contatore=0; for (var i = 0; iConfirm selection and go to the cart"; } function conferma() { document.frmPosti.submit(); } function calcolaImporto (dtfinesconto,time,id,anagrafica) { //definizione variabili var postiinteri; var postiridotti; var postiminori; var postigratuiti=0; var selIndex; var frmRidotti; var frmMinori; var frmGratuiti; var frmAnagrafica; var posti=0; var totaleposti=0; var totale=0; document.getElementById('divTotale').innerHTML = ""; for (var count=0; count <= document.frmTariffe.prenotazioni.value; count++) { with (document.forms["frmTariffe"]) { for (var i=0; i < elements.length; i++) { if (elements[i].type == 'select-one') { selIndex = elements[i].selectedIndex; if (elements[i].name == 'ridotti['+count+']') { postiridotti = elements[i].options[selIndex].value; frmRidotti=elements[i];} if (elements[i].name == 'minori['+count+']') { postiminori = elements[i].options[selIndex].value; frmMinori=elements[i];} if (elements[i].name == 'gratuiti['+count+']') { postigratuiti = elements[i].options[selIndex].value; frmGratuiti=elements[i];} if (elements[i].name == 'codanagrafica['+count+']') { codanagrafica = elements[i].options[selIndex].value; frmAnagrafica=elements[i];} } if (elements[i].name == 'intero['+count+']') { tariffaintero = elements[i].value; } if (elements[i].name == 'ridotto['+count+']') { tariffaridotto = elements[i].value; } if (elements[i].name == 'posti['+count+']') { posti = Math.ceil(elements[i].value); } } } totaleposti = Math.ceil (totaleposti + posti); //alert(anagrafica); // if (anagrafica > 0) { // tourOperator(anagrafica); // } else { // if (codanagrafica) { // tourOperator(codanagrafica); // } // } //alert(touroperator); if (touroperator > 0) { var sconto = 20; } else { var sconto = 10; } totale = Math.ceil(totale + importoParziale(posti,postiridotti,postiminori,postigratuiti,count,tariffaintero,tariffaridotto,dtfinesconto,time,id,sconto,touroperator)); //alert(totaleposti+" "+totale+" "+sconto); document.getElementById('divTotale').innerHTML = "

Total Amount: "+totale+" €

"; document.frmTariffe.totale.value = totale; } } function importoParziale(posti,postiridotti,postiminori,postigratuiti,idprenotazione,tariffaintero,tariffaridotto,dtfinesconto,time,id,sconto,touroperator) { document.getElementById('divTotale').innerHTML = ""; document.getElementById('paymentMethod').style.visibility="hidden"; if (id == 0) { if (posti > 24) { if (posti == 25) { postiinteri = 0; postiridotti = Number(posti) - Number(postiminori); } else { postiinteri = 0; postigratuiti = Math.floor(posti / 26); postiridotti = Number(posti) - Number(postiminori) - Number(postigratuiti); if (postiridotti < 0) { alert("ERROR: you have selected a number of reduced ticket and 12 years underaged tickets greater than the total of seats booked.") frmRidotti.selectedIndex = 0; frmMinori.selectedIndex = 0; return false; } } totale = Math.ceil ( ( (Number(postiinteri) * Number(tariffaintero)) + (Number(postiridotti) * Number(tariffaridotto))) + ((Number(tariffaintero)/2) * Number(postiminori))); var totaleprevendita = Math.ceil(totale + posti); var totaleprenotazione = totaleprevendita; } else { postiinteri = Number(posti) - (Number(postiridotti) + Number(postiminori)); if (postiinteri < 0) { alert("ERROR: you have selected a number of reduced ticket and 12 years underaged tickets greater than the total of seats booked.") frmRidotti.selectedIndex = 0; frmMinori.selectedIndex = 0; return false; } totale = Number(postiinteri) * Number(tariffaintero); if (touroperator > 0) { var totalescontato=totale - ((totale*sconto)/100); } else { if (time < dtfinesconto) { var totalescontato=totale - ((totale*sconto)/100); } else { var totalescontato=totale; } } totale = ( Number(totalescontato) + (Number(postiridotti) * Number(tariffaridotto))) + ((Number(tariffaintero)/2) * Number(postiminori)); var totaleprevendita = Math.ceil(totale + posti); var totaleprenotazione = totaleprevendita; } } else { if (touroperator > 0) { postiinteri = Number(posti) - (Number(postiridotti) + Number(postiminori) + Number(postigratuiti)); if (postiinteri < 0) { alert("ERROR: you have selected a number of reduced ticket and 12 years underaged tickets greater than the total of seats booked.") frmRidotti.selectedIndex = 0; frmMinori.selectedIndex = 0; return false; } totale = Number(postiinteri) * Number(tariffaintero); var totalescontato=totale - ((totale*sconto)/100); totale = ( Number(totalescontato) + (Number(postiridotti) * Number(tariffaridotto))) + ((Number(tariffaintero)/2) * Number(postiminori)); var totaleprenotazione = Math.ceil(totale); } else { if (posti >= 25) { if (posti == 25) { postiinteri = 0; postiridotti = Number(posti) - Number(postiminori); if (postiridotti < 0) { alert("ERROR: you have selected a number of reduced ticket and 12 years underaged tickets greater than the total of seats booked.") frmRidotti.selectedIndex = 0; frmMinori.selectedIndex = 0; return false; } } else { postiinteri = 0; postiridotti = Number(posti) - Number(postiminori) - Number(postigratuiti); if (postiridotti < 0) { alert("ERROR: you have selected a number of reduced ticket and 12 years underaged tickets greater than the total of seats booked.") frmRidotti.selectedIndex = 0; frmMinori.selectedIndex = 0; return false; } } totale = Math.ceil ( ( (Number(postiinteri) * Number(tariffaintero)) + (Number(postiridotti) * Number(tariffaridotto))) + ((Number(tariffaintero)/2) * Number(postiminori))); var totaleprenotazione = totale; } else { postiinteri = Number(posti) - (Number(postiridotti) + Number(postiminori) + Number(postigratuiti)); if (postiinteri < 0) { alert("ERROR: you have selected a number of reduced ticket and 12 years underaged tickets greater than the total of seats booked.") frmRidotti.selectedIndex = 0; frmMinori.selectedIndex = 0; return false; } totale = Number(postiinteri) * Number(tariffaintero); if (time < dtfinesconto) { var totalescontato=totale - ((totale*sconto)/100); } else { var totalescontato=totale; } totale = ( Number(totalescontato) + (Number(postiridotti) * Number(tariffaridotto))) + ((Number(tariffaintero)/2) * Number(postiminori)); var totaleprenotazione = Math.ceil(totale); } } } document.getElementById('totale'+idprenotazione).innerHTML =totaleprenotazione+" €"; document.getElementById('paymentMethod').style.visibility="visible"; document.frmTariffe['parziale['+idprenotazione+']'].value = totaleprenotazione return totaleprenotazione; } function paymentMethod(payment) { document.frmTariffe.action="index.php"; document.frmTariffe.mode.value = "payment"; document.frmTariffe.payment.value=payment; document.frmTariffe.submit(); } function prenota(pagato) { var selected = true; for (var count=0; count <= document.frmTariffe.prenotazioni.value; count++) { with (document.forms["frmTariffe"]) { for (var i=0; i < elements.length; i++) { if (elements[i].type == 'select-one') { if (elements[i].name == 'codanagrafica['+count+']') { if (elements[i].selectedIndex == 0) { selected = false; } } } } } } if (!selected) { alert("Select every customer for each booking"); } else { document.frmTariffe.action="index.php"; document.frmTariffe.mode.value = "payment"; document.frmTariffe.payment.value='P'; document.frmTariffe.pagato.value=pagato; document.frmTariffe.submit(); } } function deletePrenotazione(idprenotazione) { document.frmTariffe.action="index.php?m=cart"; document.frmTariffe.mode.value = "delete"; document.frmTariffe.idprenotazione.value=idprenotazione; document.frmTariffe.submit(); }