function myParseDate(str) { strMonth = str.substr(3, 2); strDay = str.substr(0, 2); strYear = str.substr(6); if (strYear.length == 2) strYear = '20' + strYear; var intday = parseInt(strDay, 10); var intMonth = parseInt(strMonth, 10); var intYear = parseInt(strYear, 10); var res = new Date(intYear, intMonth-1, intday); return res; } function compareDates(d1, d2) { if(d1.valueOf() < d2.valueOf()) return -1; if(d1.valueOf() > d2.valueOf()) return 1; return 0; } function areValidDates(input_dal, input_al) { if(input_dal.value == '' || input_al.value == '') return false; var dal = myParseDate(input_dal.value); var al = myParseDate(input_al.value); if(compareDates(dal, al) < 0 && compareDates(dal, new Date()) > 0) return true; else return false; } function checkCamera(n_cam) { var el_adt = document.getElementById('adt_'+n_cam); var el_chd = document.getElementById('chd_'+n_cam); var adt = parseInt(el_adt[el_adt.selectedIndex].text); var chd = parseInt(el_chd[el_chd.selectedIndex].text); if(adt+chd > 6) msg += "\n - la camera "+n_cam+" ospita al massimo 6 persone"; if(adt+chd == 0) msg += "\n - non hai specificato il numero di ospiti nella camera "+n_cam; } var msg = ''; function mySubmit() { msg = ''; var thisform = document.form1; if(thisform.dal.value == '' || thisform.al.value == '') msg += "\n - seleziona le date di arrivo e partenza"; else if(!areValidDates(thisform.dal, thisform.al)) msg += "\n - le date inserite non sono valide"; var n_camere = parseInt(thisform.n_camere[thisform.n_camere.selectedIndex].text); var i=1; for(i=1; i<=n_camere; i++) { checkCamera(i, msg); } if(document.getElementById('tc_3').checked) { thisform.struttura.value = 'licolaborgo'; } if(msg == '') thisform.submit(); else { alert("Si sono verificati i seguenti errori:\n"+msg+"\n\nPer favore ricontrolla."); } }