// Program: QuickReserve.js
// Author:	Franco Dallera (Vortal Consulting S.r.l.)
// Version: 2.2      XML file rel. 1.0
var sLang=["eng","ita","fra","deu","esp","rus"],cLang=0,oHotels={},oLoc={},oMonth={},nMonthDays=[0,31,28,31,30,31,30,31,31,30,31,30,31],sMsgOldDate="",sMsgWrongDate="",sMsgNumAdult="",sMsgNumNights="",sMsgChildAge="",sMsgOccRoom="",sBookNow="",sHotel="",sAllHotels="",sArrival="",sNights="",sAdults="",sChild="",sRooms="",sCodCli="",sImageUrl="",sPromo="",sButton="",sAllLocations="",sDelMod="",nIdStile="",nNightMax="",nAdultMax="",nChildMax="",nRoomMax="",nNightSel="",nAdultSel="",nChildSel="",nRoomSel="",sPromoSel="",sCodCliSel="",nIdCanale="",nIdGruppo="",nMostraCat="",nMostraLoc="",nMostraZone="",nIdCatProd="",nIdProdSel="",bGAAsync=false,bGATrack=false,bGAEvent=false,sGAEventCat="",sGAEventSubCat="",sGAEventDesc="",bTestPrn=false,data=new Date,gg1=data.getDate(),mm1=data.getMonth(),aa1=data.getFullYear(),aaaa=aa1,now=new Date(data.getFullYear(),data.getMonth(),data.getDate()-1);function InitData(g,c){var e=false,d="";try{var a=xml2array(caricaXMLSync(g)),b=a.Contents.Parameter;if(a){oLoc={};oHotels={};i=0;if(a.Contents.Hotel){for(var f in a.Contents.Hotel){oLoc[a.Contents.Hotel[f].location]=1;oHotels[f]=a.Contents.Hotel[f];i++}if(a.Contents.Hotel[0])nHotelsInList=i;else nHotelsInList=1}else nHotelsInList=0;oMonth=a.Contents.Translation[c].month;sMsgOldDate=a.Contents.Translation[c].sMsgOldDate;sMsgWrongDate=a.Contents.Translation[c].sMsgWrongDate;sMsgNumAdult=a.Contents.Translation[c].sMsgNumAdult;sMsgNumNights=a.Contents.Translation[c].sMsgNumNights;sMsgChildAge=a.Contents.Translation[c].sMsgChildAge;sMsgOccRoom=a.Contents.Translation[c].sMsgOccRoom;sBookNow=a.Contents.Translation[c].sBookNow;sHotel=a.Contents.Translation[c].sHotel;sAllHotels=a.Contents.Translation[c].sAllHotels;sArrival=a.Contents.Translation[c].sArrival;sNights=a.Contents.Translation[c].sNights;sAdults=a.Contents.Translation[c].sAdults;sChild=a.Contents.Translation[c].sChild;sRooms=a.Contents.Translation[c].sRooms;sCodCli=a.Contents.Translation[c].sCodCli;sImageUrl=a.Contents.Translation[c].sImageUrl;sPromo=a.Contents.Translation[c].sPromo;sButton=a.Contents.Translation[c].sButton;sAllLocations=a.Contents.Translation[c].sAllLocations;sLocLabel=a.Contents.Translation[c].sLocLabel;sDelMod=a.Contents.Translation[c].sDelMod;nIdStile=getParam(b,"nIdStile",d);nNightMax=getParam(b,"nNightMax",4);nAdultMax=getParam(b,"nAdultMax",4);nChildMax=getParam(b,"nChildMax",0);nRoomMax=getParam(b,"nRoomMax",4);nNightSel=getParam(b,"nNightSel",1);nAdultSel=getParam(b,"nAdultSel",1);nChildSel=getParam(b,"nChildSel",0);nRoomSel=getParam(b,"nRoomSel",1);sCodCliSel=getParam(b,"sCodCliSel",d);sPromoSel=getParam(b,"sPromoSel",d);nIdGruppo=getParam(b,"nIdGruppo",d);nIdCanale=getParam(b,"nIdCanale",d);nMostraCat=getParam(b,"nMostraCat",d);nMostraLoc=getParam(b,"nMostraLoc",d);nMostraZone=getParam(b,"nMostraZone",d);nIdCatProd=getParam(b,"nIdCatProd",d);nIdProdSel=getParam(b,"nIdProdSel",d);bGAAsync=getParam(b,"bGAAsync",e);bGATrack=getParam(b,"bGATrack",e);bGAEvent=getParam(b,"bGAEvent",e);sGAEventCat=getParam(b,"sGAEventCat",d);sGAEventSubCat=getParam(b,"sGAEventSubCat",d);sGAEventDesc=getParam(b,"sGAEventDesc",d);bTestPrn=getParam(b,"bTestPrn",e)}}catch(h){alert("Init Data error: "+h.message)}}function getParam(d,c,b){var a=d[c];try{if(a)switch(typeof b){case"number":return Number(a)!=NaN?Number(a):b;case"boolean":return a.toLowerCase()=="false"?false:Boolean(a);case"string":default:return a}return b}catch(e){return b}}function frmcheck(a){var b=false;if(parseInt(a.aa.value)<aaaa){alert(sMsgOldDate);a.aa.focus();return b}else if(parseInt(a.aa.value)==aaaa)if(parseInt(a.mm.value)<mm1+1){alert(sMsgOldDate);a.mm.focus();return b}else if(parseInt(a.mm.value)==mm1+1)if(parseInt(a.gg.value)<gg1){alert(sMsgOldDate);a.gg.focus();return b}if(parseInt(a.gg.value)==31)switch(parseInt(a.mm.value)){case 2:case 4:case 6:case 9:case 11:alert(sMsgWrongDate);return b}if(parseInt(a.mm.value)==2&&parseInt(a.gg.value)>28)if((parseInt(a.aa.value)%4!=0||parseInt(a.aa.value)%100==0)&&parseInt(a.aa.value)%400!=0){alert(sMsgWrongDate);return b}var c=0,d=0;if(parseInt(a.tot_adulti.value)<1){alert(sMsgNumAdult);a.tot_adulti.focus();return b}if(!(parseInt(a.notti_1.value)>0)){alert(sMsgNumNights);a.notti_1.focus();return b}if(parseInt(a.tot_bambini.value)>0&&parseInt(a.tot_camere.value)==1){tutto_ok=1;for(i=1;i<=parseInt(a.tot_bambini.value);i++){myvar="st1bamb"+i;eta=parseInt(document.getElementById(myvar).value);if(eta<0)tutto_ok=0}if(tutto_ok==0){alert(sMsgChildAge);a.st1bamb1.focus();return b}}c=parseInt(a.tot_adulti.value);d=parseInt(a.tot_camere.value);tot_bambini_pren=parseInt(a.tot_bambini.value);tot_occupanti_pren=c+tot_bambini_pren;if(tot_occupanti_pren<d||isNaN(tot_occupanti_pren)){alert(sMsgOccRoom);a.tot_adulti.focus();return b}}function getDateString(d,c,b){var f=d.options[d.selectedIndex].value,e=c.options[c.selectedIndex].value,a=b.options[b.selectedIndex].value;if(f==""||e=="")return null;if(a=="")a=1;return str=f+"-"+e+"-"+a}function populateData(c){nIndex=c.options.selectedIndex;var d=c.options[nIndex].value,a=document.QRForm.tappa_1_id_albergo;count=1;a.options.length=count;for(var b in oHotels)if(oHotels[b].location==d||nIndex==0)a.options[count++]=new Option(oHotels[b].name,oHotels[b].code);a.options.selectedIndex=0}function updateCanHref(){try{obj=document.getElementById("ModCancLinkText");obj.href="https://www.aec-internet.it/booking_engine/prenota.htm?id_stile="+nIdStile+"&id_albergo="+document.QRForm.tappa_1_id_albergo.value+"&id_canale="+nIdCanale+"&id_gruppo="+nIdGruppo+"&dc=&lingua_int="+sLang[cLang]+"&tst_prntz="+(bTestPrn?"si":"")+"&headvar=ok&cancel=pren";if(bGATrack){var a=function(){pageTracker._linkByPost(this);return false};if(bGAEvent)a=function(){pageTracker._linkByPost(this);pageTracker._trackEvent(sGAEventCat,sGAEventSubCat,"CANC"+sGAEventDesc,0);return false};obj.onclick=a}}catch(b){}}function updateQRForm(){var d="_linkByPost",c="_trackEvent",b=true;try{AddContent("bookNow",sBookNow);obj=document.QRForm.loc_tappa_1;if(nHotelsInList>1){i=1;obj.options[0]=new Option(sAllLocations,"");for(var e in oLoc){obj.options[i]=new Option(e);i++}if(i>1){AddContent("LocListLabel",sLocLabel);obj.onchange=function(){populateData(this)}}}obj=document.QRForm.tappa_1_id_albergo;if(nHotelsInList>1){AddContent("HotelsListLabel",sHotel);i=1;obj.options[0]=new Option(sAllHotels,"");for(var e in oHotels){obj.options[i]=new Option(oHotels[e].name,oHotels[e].code);i++}obj.onchange=function(){updateCanHref(this)}}else if(obj.tagName=="SELECT")obj.options[0]=new Option(oHotels.name,oHotels.code,b,b);else{obj.value=oHotels.code;obj.type="hidden"}AddContent("ArrivalDateLabel",sArrival);obj=document.QRForm.aa;obj.name="aa";obj.id="yearList";obj.size=1;obj.onchange=function(){setDayOfTheMonth()};obj.options[0]=new Option(aaaa.toString().substr(2),aaaa,b,b);obj.options[1]=new Option((aaaa+1).toString().substr(2),aaaa+1);obj=document.QRForm.mm;obj.size=1;obj.onchange=function(){setDayOfTheMonth()};for(i=0;i<12;i++)obj.options[i]=new Option(oMonth[i],i+1,mm1==i,mm1==i);setDayOfTheMonth(b);AddContent("NightsLabel",sNights);obj=document.QRForm.notti_1;obj.options[0]=new Option("",0);for(i=1;i<=nNightMax;i++)obj.options[i]=new Option(i,i,nNightSel==i,nNightSel==i);AddContent("AdultsLabel",sAdults);obj=document.QRForm.tot_adulti;obj.options[0]=new Option("",0);for(i=1;i<=nAdultMax;i++)obj.options[i]=new Option(i,i,nAdultSel==i,nAdultSel==i);AddContent("ChildLabel",sChild);obj=document.QRForm.tot_bambini;obj.options[0]=new Option("",0);for(i=1;i<=nChildMax;i++)obj.options[i]=new Option([i],i,nChildSel==i,nChildSel==i);AddContent("RoomLabel",sRooms);obj=document.QRForm.tot_camere;obj.options[0]=new Option("",0);for(i=1;i<=nRoomMax;i++)obj.options[i]=new Option([i],i,nRoomSel==i,nRoomSel==i);AddContent("CodeCliLabel",sCodCli);obj=document.QRForm.codice_cli;obj.value=sCodCliSel;AddContent("PromoLabel",sPromo);obj=document.QRForm.sconto;obj.value=sPromoSel;obj=document.QRForm.confirm;obj.value=sButton;updateCanHref();AddContent("ModCancLinkText",sDelMod);document.QRForm.lingua_int.value=sLang[cLang];document.QRForm.id_stile.value=nIdStile;document.QRForm.id_canale.value=nIdCanale;document.QRForm.id_gruppo.value=nIdGruppo;document.QRForm.id_prodotto_sel.value=nIdProdSel;document.QRForm.mostra_loc.value=nMostraLoc;document.QRForm.mostra_zone.value=nMostraZone;document.QRForm.mostra_cat.value=nMostraCat;document.QRForm.id_cat_prod.value=nIdCatProd;document.QRForm.tst_prntz.value=bTestPrn;var a=function(){};if(bGATrack&&bGAEvent)if(bGAAsync)a=function(){_gaq.push([c,sGAEventCat,sGAEventSubCat,sGAEventDesc,0]);_gaq.push([d,this])};else a=function(){pageTracker._trackEvent(sGAEventCat,sGAEventSubCat,sGAEventDesc,0);pageTracker._linkByPost(this)};else if(bGATrack)if(bGAAsync)a=function(){_gaq.push([d,this])};else a=function(){pageTracker._linkByPost(this)};else if(bGAEvent)if(bGAAsync)a=function(){_gaq.push([c,sGAEventCat,sGAEventSubCat,sGAEventDesc,0])};else a=function(){pageTracker._trackEvent(sGAEventCat,sGAEventSubCat,sGAEventDesc,0)};document.QRForm.onsubmit=a}catch(f){alert("Data update error: "+f.message)}}function AddContent(c,b){var a;if(typeof c=="string"){a=document.getElementById(c);if(a){switch(typeof b){case"number":case"string":case"boolean":b=document.createTextNode(b)}if(a.hasChildNodes())a.replaceChild(b,a.firstChild);else a.appendChild(b)}}}function setDayOfTheMonth(f){var c=document.QRForm.gg,e=document.QRForm.mm.value,d=document.QRForm.aa.value,b=c.selectedIndex,a=nMonthDays[e];if(f)b=gg1-1;if(parseInt(e)==2)if(parseInt(d)%4==0&&parseInt(d)%100!=0||parseInt(d)%400==0)a++;c.length=a;for(i=0;i<a;i++)c.options[i]=new Option(i+1,i+1,b==i,b==i);if(b+1>a)c.selectedIndex=a-1};
