var strddlJourReservationArrivee = '<%= ddlJourReservationArrivee.clientID %>';
var strddlMoisReservationArrivee = '<%= ddlMoisReservationArrivee.clientID %>';
var strddlJourReservationDepart = '<%= ddlJourReservationDepart.clientID %>';
var strddlMoisReservationDepart = '<%= ddlMoisReservationDepart.clientID %>';
var strddlNbAdultes = '<%= ddlNbAdultes.clientID %>';
var strddlNbEnfants = '<%= ddlNbEnfants.clientID %>';
var strddlNbChambres = '<%= ddlNbChambres.clientID %>';


function soumettreFormulaire() {
    if (DonneesReserver_Validator()) {
        var ddlJourReservationArrivee = document.getElementById(strddlJourReservationArrivee);
        var ddlMoisReservationArrivee = document.getElementById(strddlMoisReservationArrivee);
        var ddlJourReservationDepart = document.getElementById(strddlJourReservationDepart);
        var ddlMoisReservationDepart = document.getElementById(strddlMoisReservationDepart);
        var indexArrivee = ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0) + 1;
        var anneeArrivee = ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(indexArrivee, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.length);

        var ddlNbAdultes = document.getElementById(strddlNbAdultes);
        var ddlNbEnfants = document.getElementById(strddlNbEnfants);
        var ddlNbChambres = document.getElementById(strddlNbChambres);

        var lang = "EN";
        var hotelid = "13193";
        var curcode = "CAD";
        var fday = ddlJourReservationArrivee[ddlJourReservationArrivee.selectedIndex].value;
        var fmonth = ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(0, indexArrivee - 1);
        var fyear = anneeArrivee;
        var nbnights = getNbNight(ddlJourReservationArrivee[ddlJourReservationArrivee.selectedIndex].value, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(0, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0)), ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0) + 1, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.length), ddlJourReservationDepart[ddlJourReservationDepart.selectedIndex].value, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(0, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0)), ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0) + 1, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.length));
        var nbadt = ddlNbAdultes[ddlNbAdultes.selectedIndex].value;
        var nbroom = ddlNbChambres[ddlNbChambres.selectedIndex].value;

        var strurl = "http://softbooker.reservit.com/reservit/reserhotel.php?lang=" + lang + "&hotelid=" + hotelid + "&curcode=" + curcode + "&fday=" + fday + "&fmonth=" + fmonth + "&fyear=" + fyear + "&nbnights=" + nbnights + "&nbadt=" + nbadt + "&nbroom=" + nbroom;

        _gaq.push(['_link', strurl]); return false;
    }
}

function DonneesReserver_Validator() {
    var ddlJourReservationArrivee = document.getElementById(strddlJourReservationArrivee);
    var ddlMoisReservationArrivee = document.getElementById(strddlMoisReservationArrivee);
    var ddlJourReservationDepart = document.getElementById(strddlJourReservationDepart);
    var ddlMoisReservationDepart = document.getElementById(strddlMoisReservationDepart);
    var ddlNbAdultes = document.getElementById(strddlNbAdultes);
    var ddlNbEnfants = document.getElementById(strddlNbEnfants);
    var ddlNbChambres = document.getElementById(strddlNbChambres);

    var blnValide = true;
    var nbnights = getNbNight(ddlJourReservationArrivee[ddlJourReservationArrivee.selectedIndex].value, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(0, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0)), ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0) + 1, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.length), ddlJourReservationDepart[ddlJourReservationDepart.selectedIndex].value, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(0, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0)), ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0) + 1, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.length));

    if (nbnights <= 0) {
        alert("Les dates d'arrivée et de départ ne sont pas valides.");
        blnValide = false;
    }

    if (ddlNbAdultes[ddlNbAdultes.selectedIndex].value == 0) {
        alert("Il doit y avoir un mininum d'un adulte.");
        blnValide = false;
    }

    return (blnValide);
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function getNbNight(day1, month1, year1, day2, month2, year2) {
    var nbnights = 0;

    date1 = new Date(year1, month1 - 1, day1);
    date2 = new Date(year2, month2 - 1, day2);

    var difference = Date.UTC(y2k(date2.getYear()), date2.getMonth(), date2.getDate(), 0, 0, 0) - Date.UTC(y2k(date1.getYear()), date1.getMonth(), date1.getDate(), 0, 0, 0);

    nbnights = difference / 1000 / 60 / 60 / 24;

    return nbnights;
}



function DateArriveeChange() {
    var ddlJourReservationArrivee = document.getElementById(strddlJourReservationArrivee);
    var ddlMoisReservationArrivee = document.getElementById(strddlMoisReservationArrivee);
    var indexArrivee = ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0) + 1;
    var anneeArrivee = ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(indexArrivee, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.length);

    PopulerJours(ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(0, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0)), ddlJourReservationArrivee, anneeArrivee);
    MAJDateDepart();
    
}

function DateDepartChange() {
    var ddlJourReservationDepart = document.getElementById(strddlJourReservationDepart);
    var ddlMoisReservationDepart = document.getElementById(strddlMoisReservationDepart);
    var indexDepart = ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0) + 1;
    var anneeDepart = ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(indexDepart, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.length);

    PopulerJours(ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(0, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0)), ddlJourReservationDepart, anneeDepart);
}


function MAJDateDepart() {
    var ddlJourReservationArrivee = document.getElementById(strddlJourReservationArrivee);
    var ddlMoisReservationArrivee = document.getElementById(strddlMoisReservationArrivee);
    var ddlJourReservationDepart = document.getElementById(strddlJourReservationDepart);
    var ddlMoisReservationDepart = document.getElementById(strddlMoisReservationDepart);

    if (ddlJourReservationDepart.length - 1 > ddlJourReservationArrivee.selectedIndex) {
        ddlJourReservationDepart[ddlJourReservationArrivee.selectedIndex + 1].selected = true;
        ddlMoisReservationDepart[ddlMoisReservationArrivee.selectedIndex].selected = true;
    }
    else {
        ddlJourReservationDepart[0].selected = true;
        if (ddlMoisReservationDepart.length - 1 > ddlMoisReservationArrivee.selectedIndex) {
            ddlMoisReservationDepart[ddlMoisReservationArrivee.selectedIndex + 1].selected = true;
        }
        else {
            ddlMoisReservationDepart[0].selected = true;
        }
    }
}

function MAJDateCalendrier() {
    document.DonneesReserver.dateArrivee1Choix.value = document.DonneesReserver.jourDateArrivee1Choix[document.DonneesReserver.jourDateArrivee1Choix.selectedIndex].value + "-" + document.DonneesReserver.moisDateArrivee1Choix[document.DonneesReserver.moisDateArrivee1Choix.selectedIndex].value;
}

function PopulerJours(mois, jour, annee) {

    var vieuxJourSelectionne = jour.selectedIndex;
    nbOptions = jour.length;
    for (i = 0; i < nbOptions; i++) {
        jour[0] = null;
    }
    var nbJours = 0;
    switch (mois) {
        case "01":
            nbJours = 31;
            break;
        case "02":
            if ((annee % 4) == 0) {
                if ((annee % 100) == 0 && ((annee % 400) == 0)) {
                    nbJours = 29;
                } else if ((annee % 100) == 0) {
                    nbJours = 28;
                } else {
                    nbJours = 29;
                }
            } else {
                nbJours = 28;
            }
            break;
        case "03":
            nbJours = 31;
            break;
        case "04":
            nbJours = 30;
            break;
        case "05":
            nbJours = 31;
            break;
        case "06":
            nbJours = 30;
            break;
        case "07":
            nbJours = 31;
            break;
        case "08":
            nbJours = 31;
            break;
        case "09":
            nbJours = 30;
            break;
        case "10":
            nbJours = 31;
            break;
        case "11":
            nbJours = 30;
            break;
        case "12":
            nbJours = 31;
            break;
        default:
            nbJours = 31;
            break;
    }
    var i = 1;
    while (i <= nbJours) {
        if (i < 10) {
            nouvelleOption = new Option("0" + i, "0" + i);
        } else {
            nouvelleOption = new Option(i, i);
        }
        jour.options[(i - 1)] = nouvelleOption;
        i++;
    }
    if (vieuxJourSelectionne >= jour.length) {
        jour[(jour.length - 1)].selected = true;
    } else {
        jour[vieuxJourSelectionne].selected = true;
    }
}

function UpdateDateArrivee(id) {
    var ddlJourReservationArrivee = document.getElementById(strddlJourReservationArrivee);
    var ddlMoisReservationArrivee = document.getElementById(strddlMoisReservationArrivee);
    var indexArrivee = ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0) + 1;
    var anneeArrivee = ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(indexArrivee, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.length);

    var ddlJourReservationDepart = document.getElementById(strddlJourReservationDepart);
    var ddlMoisReservationDepart = document.getElementById(strddlMoisReservationDepart);
    var indexDepart = ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0) + 1;
    var anneeDepart = ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(indexDepart, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.length);

    var mydate = document.getElementById(id);
    
    updateMois(mydate.value, ddlMoisReservationArrivee);
    PopulerJours(ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.substr(0, ddlMoisReservationArrivee[ddlMoisReservationArrivee.selectedIndex].value.indexOf('-', 0)), ddlJourReservationArrivee, anneeArrivee);
    updateJour(mydate.value, ddlJourReservationArrivee);

    UpdateDateDepart(id);
    MAJDateDepart();
    PopulerJours(ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(0, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0)), ddlJourReservationDepart, anneeDepart);
}

function UpdateDateDepart(id) {
    var ddlJourReservationDepart = document.getElementById(strddlJourReservationDepart);
    var ddlMoisReservationDepart = document.getElementById(strddlMoisReservationDepart);
    var indexDepart = ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0) + 1;
    var anneeDepart = ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(indexDepart, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.length);

    var mydate = document.getElementById(id);

    updateMois(mydate.value, ddlMoisReservationDepart);    
    PopulerJours(ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.substr(0, ddlMoisReservationDepart[ddlMoisReservationDepart.selectedIndex].value.indexOf('-', 0)), ddlJourReservationDepart, anneeDepart);
    updateJour(mydate.value, ddlJourReservationDepart);
}


function updateMois(mydate, ddlMois) {
    var arrayDate = mydate.split('/');

    var selectedMonth = arrayDate[1] + "-" + arrayDate[2];

    var trouve = false;
    for (index = 0; index < ddlMois.length && !trouve; index++) {
        if (ddlMois[index].value == selectedMonth) {
            ddlMois.selectedIndex = index;
            trouve = true;
        }
    }
}

function updateJour(mydate, ddlJour) {
    var arrayDate = mydate.split('/');

    var selectedDay = arrayDate[0];
    
    var trouve = false;
    for (index = 0; index < ddlJour.length && !trouve; index++) {
        if (ddlJour[index].value == selectedDay) {
            ddlJour.selectedIndex = index;
            trouve = true;
        }
    }
}

