// File JScript
function getParameter ( queryString, parameterName ) {  
	 // Add "=" to the parameter name (i.e. parameterName=value)   
	var parameterName = parameterName + "=";   
	if ( queryString.length > 0 ) {      // Find the beginning of the string      
		begin = queryString.indexOf ( parameterName );      
		// If the parameter name is not found, skip it, otherwise return the value      
		if ( begin != -1 ) {         
			// Add the length (integer) to the beginning         
			begin += parameterName.length;         
			// Multiple parameters are separated by the "&" sign         
			end = queryString.indexOf ( "&" , begin );      
			if ( end == -1 ) {         
				end = queryString.length      
			}      // Return the string      
		return unescape ( queryString.substring ( begin, end ) );   
	}   // Return "null" if no parameter has been found   
	return null;   
	}
}

function visualizzadata(elemento, data1, data2){
        var testo2_html = '<form id="validadata" name="validadata" method="get"><div id="dispoperdata"><p>'+strdisponibilita+'</p><br /><ul>';
        testo2_html += '<li>' + datesoggiorno + '</li>';
        if (elemento != null){
            testo2_html += '<li>'+elemento+'</li>';
        }
        var destin = document.getElementById("dest");
        testo2_html += '<li><div id="checkin"></div><div id="checkout"></div></li>';
        testo2_html += '<li><input style="font-size:small; visibility:hidden; height:1px;" id="dest" name="dest" value="' + destin.value + '" /><input type="submit" style="font-size:small; width:300px" name="" value="' + varcontrolladisponibilita +'" /></li>';
        testo2_html += '</ul></div></form>';
        var disponi2 = document.getElementById("dispohotel");
        disponi2.innerHTML = testo2_html;
        var checkin = document.getElementById("checkin");
        var checkout = document.getElementById("checkout");
        //var today = new Date("12/31/2008"); //prevista la forma DD/mm/yyyy
        if ((data1 == null) && (data2 == null)){
            var today = new Date();
            creaselect(checkin, today, 1);
            today.setDate(parseInt(today.getDate()) + 1); //aggiunge un giorno alla data
            creaselect(checkout, today, 2);
        }
        else{
            var tdata1 = new Date(data1);
            var tdata2 = new Date(data2);
            creaselect(checkin, tdata1, 1);
            creaselect(checkout, tdata2, 2);
        }
}

function getMonthLen(theYear, theMonth) {
    var oneDay = 1000 * 60 * 60 * 24;
    var thisMonth = new Date(theYear, theMonth, 1);
    var nextMonth = new Date(theYear, theMonth + 1, 1);
    var len = Math.ceil((nextMonth.getTime() - thisMonth.getTime())/oneDay);
    return len
}

function riempimese(mese, mesecorrente, idnum) {
     for (var k=1; k < 13;k++){
        var app = String(k);
        if (app.length == 1){
            app = "0" + app;
        }
        var newElem = document.createElement("option");
        var valoreapp = document.createTextNode(app);
        newElem.setAttribute =("value", k);
        newElem.appendChild(valoreapp);
        mese.appendChild(newElem);
    }
    mese.selectedIndex = mesecorrente;
    if (idnum > 0){
        mese.setAttribute("id","slctmese"+idnum);
        mese.setAttribute("name","mese"+idnum);
    }
    return mese
}

function riempianno(anno, annocorrente, idnum) {
     for (var k=annocorrente; k < (annocorrente+2);k++){
        var newElem = document.createElement("option");
        var valore = document.createTextNode(k);
        newElem.setAttribute =("value", k);
        newElem.appendChild(valore);
        anno.appendChild(newElem);
    }
    if (idnum > 0){
        anno.setAttribute("id","slctanno"+idnum);
        anno.setAttribute("name","anno"+idnum);
    }
    return anno
}

function riempigiorno(giorno, giornocorrente, lunghezzamese, idnum) {
     for (var k=1; k < (lunghezzamese+1);k++){
        var newElem = document.createElement("option");
        var valore = document.createTextNode(k);
        newElem.setAttribute =("value", k);
        newElem.appendChild(valore);
        giorno.appendChild(newElem);
    }
    giorno.selectedIndex = giornocorrente-1;
    if (idnum > 0){
        giorno.setAttribute("id","slctgiorno"+idnum);
        giorno.setAttribute("name","giorno"+idnum);
    }
    return giorno
}

function cambiacheckout(datemes,dateday,datean,selectxx){
   var datanuova = new Date(datemes+"/"+dateday+"/"+datean);
   var checkout = document.getElementById(selectxx);
   datanuova.setDate(parseInt(datanuova.getDate()) + 1); //aggiunge un giorno alla data
  creaselect(checkout, datanuova, 2);
}

function controlladi(mese,giorno,anno,idnum,selectxx){
    var slctgiorno = document.getElementById(selectxx);
    var lngdi = getMonthLen(anno, mese-1);
    var lunghezza = slctgiorno.options.length
    while(slctgiorno.options.length > 0) slctgiorno.removeChild(slctgiorno.options[0]);
    riempigiorno(slctgiorno, giorno, lngdi, idnum);
}

function selezionacheckout(mese,giorno,anno,selectxgiorno,selectxmese,selectxanno){
   var oggi = new Date(mese+"/"+giorno+"/"+anno);
   oggi.setDate(parseInt(oggi.getDate()) + 1); //aggiunge un giorno alla data
   var lngdi = getMonthLen(oggi.getFullYear(),oggi.getMonth());
   while(selectxmese.options.length > 0) selectxmese.removeChild(selectxmese.options[0]);
   while(selectxanno.options.length > 0) selectxanno.removeChild(selectxanno.options[0]);
   while(selectxgiorno.options.length > 0) selectxgiorno.removeChild(selectxgiorno.options[0]);
   riempimese(selectxmese,oggi.getMonth(),0);
   riempianno(selectxanno,oggi.getFullYear(),0);
   riempigiorno(selectxgiorno, oggi.getDate(), lngdi,0);
}

function creaselect(documento, data, idnum){
    if (idnum == 1){
    documento.innerHTML = "<p>check-in</p>";}
    else if (idnum == 2){
    documento.innerHTML = "<p>check-out</p>";}
    else {
    documento.innerHTML = "";
    }
    var selectGiorno = document.createElement("select");
    var lngdi = getMonthLen(data.getFullYear(),data.getMonth());
    selectGiorno = riempigiorno(selectGiorno, data.getDate(), lngdi,idnum);
    documento.appendChild(selectGiorno);
    var selectMese = document.createElement("select");
    selectMese = riempimese(selectMese, data.getMonth(),idnum);
    documento.appendChild(selectMese);  
    var selectAnno = document.createElement("select");
    selectAnno = riempianno(selectAnno, data.getFullYear(),idnum);
    documento.appendChild(selectAnno);
    //selectMese.onchange = new Function(cambiacheckout((slctmese1.selectedIndex+1) + "/" + (slctgiorno1.selectedIndex+1) + "/" + slctanno1.options[slctanno1.selectedIndex].text));
    var dividi = ",";
    var stringa = "document.validadata.slctmese1.selectedIndex+1" + dividi + "document.validadata.slctgiorno1.selectedIndex+1" + dividi + "document.validadata.slctanno1.options[document.validadata.slctanno1.selectedIndex].text"+ dividi + "'checkout'";
    var stringa1 = "document.validadata.slctmese1.selectedIndex+1" + dividi + "document.validadata.slctgiorno1.selectedIndex+1" + dividi + "document.validadata.slctanno1.options[document.validadata.slctanno1.selectedIndex].text" + dividi + "1" + dividi + "'slctgiorno1'";
    var stringa2 = "document.validadata.slctmese2.selectedIndex+1" + dividi + "document.validadata.slctgiorno2.selectedIndex+1" + dividi + "document.validadata.slctanno2.options[document.validadata.slctanno2.selectedIndex].text" + dividi + "2" + dividi + "'slctgiorno2'";
    var stringa3 = "document.validadata.slctmese1.selectedIndex";
    if (idnum == 1){
        var cambiacheck = "cambiacheckout("+stringa+");controlladi("+stringa1+")"; 
        selectGiorno.onchange = new Function(cambiacheck);
        selectMese.onchange = new Function(cambiacheck);
        selectAnno.onchange = new Function(cambiacheck);
    } else if (idnum == 2){
        var cambiacheck2 = "controlladi("+stringa2+")"; 
        selectGiorno.onchange = new Function(cambiacheck2);
        selectMese.onchange = new Function(cambiacheck2);
        selectAnno.onchange = new Function(cambiacheck2);
    }
}

function cancellaelementi(slctgiorno){
   while(slctgiorno.options.length > 0) slctgiorno.removeChild(slctgiorno.options[0]);
}

function addzero(valore){
   if (valore.length == 1){
        valore = "0"+valore
   }   
   return valore
}


function riempiselect(){
//   var destinazzz = document.getElementById("dest");
//   destinazzz.autocomplete = "off";
 var queryString = window.top.location.search.substring(1);
   var oggi = new Date();
   var domani = new Date();
   domani.setDate(parseInt(domani.getDate()) + 1); 
   if ((getParameter(queryString, "giorno1")!=null) && (getParameter(queryString, "giorno2")!=null) && (getParameter(queryString, "mese1")!=null) && (getParameter(queryString, "mese2")!=null) && (getParameter(queryString, "anno1")!=null) && (getParameter(queryString, "anno2")!=null) ){
        var oggiapp = getParameter(queryString,"mese1") +"/" + addzero(getParameter(queryString,"giorno1")) +"/"+addzero(getParameter(queryString,"anno1"));
        var domaniapp = getParameter(queryString,"mese2") +"/" + addzero(getParameter(queryString,"giorno2")) +"/"+addzero(getParameter(queryString,"anno2"));
        var oggi = new Date(oggiapp);
        var domani = new Date(domaniapp);
   }
//   if (getParameter(queryString, "dest")!=null) {
//      var destin = document.getElementById("dest");
//      destin.value = getParameter(queryString, "dest");
//   }
    if (oggi.getMonth() == 9) { //ottobre mette un giorno in piu'
        var lngdi = 31;
    }else{
        var lngdi = getMonthLen(oggi.getFullYear(),oggi.getMonth());
   }
   var selectq1 = document.getElementById("Selectric1");
   var selectq2 = document.getElementById("Selectric2");
   var selectq3 = document.getElementById("Selectric3");
   var selectq4 = document.getElementById("Selectric4");
   var selectq5 = document.getElementById("Selectric5");
   var selectq6 = document.getElementById("Selectric6");
   cancellaelementi(selectq1);
   cancellaelementi(selectq2);
   cancellaelementi(selectq3);
   cancellaelementi(selectq4);
   cancellaelementi(selectq5);
   cancellaelementi(selectq6);
   riempimese(selectq3,oggi.getMonth(),0);
   riempimese(selectq4,domani.getMonth(),0);
   riempianno(selectq5,oggi.getFullYear(),0);
   riempianno(selectq6,domani.getFullYear(),0);
   riempigiorno(selectq1, oggi.getDate(), lngdi,0);
   riempigiorno(selectq2, domani.getDate(), lngdi,0); 
   var dividi = ",";
   var stringa1 = "document.formricerca.Selectric3.selectedIndex+1"+dividi+"document.formricerca.Selectric1.selectedIndex+1"+dividi+"document.formricerca.Selectric5.options[document.formricerca.Selectric5.selectedIndex].text"+dividi+"0"+dividi+'"Selectric1"';
   var stringa2 = "document.formricerca.Selectric4.selectedIndex+1"+dividi+"document.formricerca.Selectric2.selectedIndex+1"+dividi+"document.formricerca.Selectric6.options[document.formricerca.Selectric6.selectedIndex].text"+dividi+"0"+dividi+'"Selectric2"';
   var stringa3 = "document.formricerca.Selectric3.selectedIndex+1"+dividi+"document.formricerca.Selectric1.selectedIndex+1"+dividi+"document.formricerca.Selectric5.options[document.formricerca.Selectric5.selectedIndex].text"+dividi+"document.formricerca.Selectric2"+dividi+"document.formricerca.Selectric4"+dividi+"document.formricerca.Selectric6";
   var stringaanno = "document.formricerca.checkin_year_month"+dividi+"document.formricerca.checkout_year_month"+dividi+"document.formricerca.Selectric5.options[document.formricerca.Selectric5.selectedIndex].text"+dividi+"document.formricerca.Selectric3.options[document.formricerca.Selectric3.selectedIndex].text"+dividi+"document.formricerca.Selectric6.options[document.formricerca.Selectric6.selectedIndex].text"+dividi+"document.formricerca.Selectric4.options[document.formricerca.Selectric4.selectedIndex].text";   
   var cambiacheck = "selezionacheckout("+stringa3+");controlladi("+stringa1+");aggiornameseanno("+stringaanno+")";
   var cambiacheck2 = "controlladi("+stringa2+");aggiornameseanno("+stringaanno+")";
   var cambiacheck3 = "selezionacheckout("+stringa3+")";
   selectq1.onchange = new Function(cambiacheck3);
   selectq3.onchange = new Function(cambiacheck);
   selectq5.onchange = new Function(cambiacheck);
   selectq4.onchange = new Function(cambiacheck2);
   selectq6.onchange = new Function(cambiacheck2);
}

function aggiornameseanno(checkin, checkout, valoreannoin, valoremesein, valoreannoout, valoremeseout){
    checkin.value = valoreannoin + "-" + valoremesein;
    checkout.value = valoreannoout + "-" + valoremeseout;
}

function vedidate(idhotel,linguaggio){
    var queryString = window.top.location.search.substring(1);
   riempiselect();
    if ((getParameter(queryString, "giorno1")!=null) && (getParameter(queryString, "giorno2")!=null) && (getParameter(queryString, "mese1")!=null) && (getParameter(queryString, "mese2")!=null) && (getParameter(queryString, "anno1")!=null) && (getParameter(queryString, "anno2")!=null) ){
            var arrgg = getParameter(queryString,"anno1") +"-" + addzero(getParameter(queryString,"mese1")) +"-"+addzero(getParameter(queryString,"giorno1"));
            var pargg = getParameter(queryString,"anno2") +"-" + addzero(getParameter(queryString,"mese2")) +"-"+addzero(getParameter(queryString,"giorno2"));
            var arrgg2 = getParameter(queryString,"giorno1") +"-" + addzero(getParameter(queryString,"mese1")) +"-"+addzero(getParameter(queryString,"anno1"));
            var pargg2 = getParameter(queryString,"giorno2") +"-" + addzero(getParameter(queryString,"mese2")) +"-"+addzero(getParameter(queryString,"anno2"));
            var arrgg3 = getParameter(queryString,"mese1") +"/" + addzero(getParameter(queryString,"giorno1")) +"/"+addzero(getParameter(queryString,"anno1"));
            var pargg3 = getParameter(queryString,"mese2") +"/" + addzero(getParameter(queryString,"giorno2")) +"/"+addzero(getParameter(queryString,"anno2"));
            var controlarr = getParameter(queryString,"anno1") + addzero(getParameter(queryString,"mese1")) + addzero(getParameter(queryString,"giorno1"));
            var controlpar = getParameter(queryString,"anno2") + addzero(getParameter(queryString,"mese2")) + addzero(getParameter(queryString,"giorno2"));
            if (controlarr < controlpar){
                disponi(arrgg,pargg,arrgg2,pargg2,arrgg3,pargg3,idhotel,linguaggio);
            }else{
                var elemento="ATTENTION: CHECK-OUT < CHECK-IN !!!!"
                visualizzadata(elemento, null ,null);                
            }
            
        }else{    
            var elemento = null;
            visualizzadata(elemento, null, null);
    }
}


