﻿//RESERVAS ***********************************************************
function setReservationDates(sDate)
{
     var now = new Date();
     var strD = now.getDate();
     var strDD = (strD < 10) ? '0' + strD : strD;
     var strM = now.getMonth() + 1;
     var strMM = (strM < 10) ? '0' + strM : strM;
     var strYear = now.getYear();
     
     var vReservationDateD = sDate.substring(0,2);
     var vReservationDateM = sDate.substring(3,5);
     var vReservationDateY = sDate.substring(6,10);

     if ( parseFloat(vReservationDateY) == parseFloat(strYear))
     {
        if (parseFloat(vReservationDateM) > parseFloat(strMM))
        {
            //se  mes for no futuro a data é sempre maior e não precisamos de testar o dia
            return true;
        }//mes
        else
        {
            if (parseFloat(vReservationDateM) == parseFloat(strMM)) //mesmo mes que a data de hoje
            {
                if (parseFloat(vReservationDateD) >= parseFloat(strDD))//testar o dia
                {
                    return true;
                }
                else// mes inferior
                {
                    return false;
                }
            
            }else
            {
            //mes inferior
                return false;
            }
        }
     } //ano

     //maior que data corrente
     else if ( parseFloat(vReservationDateY) > parseFloat(strYear))
     {
        return true;
     } //ano
     else
     {
        return false;
     }  
}

function CompareCheckInCheckOut(sDateIn, sDateOut)
{
     var vReservationDateInD = sDateIn.substring(0,2);
     var vReservationDateInM = sDateIn.substring(3,5);
     var vReservationDateInY = sDateIn.substring(6,10);
     
     //Data check out a validar
     
     var vReservationDateOutD = sDateOut.substring(0,2);
     var vReservationDateOutM = sDateOut.substring(3,5);
     var vReservationDateOutY = sDateOut.substring(6,10);

     //maior que data corrente
     if ( parseFloat(vReservationDateOutY) == parseFloat(vReservationDateInY))
     {
        if (parseFloat(vReservationDateOutM) > parseFloat(vReservationDateInM))
        {
            //se  mes for no futuro a data é sempre maior e não precisamos de testar o dia
            return true;
        }//mes
        else
        {
            if (parseFloat(vReservationDateOutM) == parseFloat(vReservationDateInM)) //mesmo mes que a data de hoje
            {
                if (parseFloat(vReservationDateOutD) >= parseFloat(vReservationDateInD))//testar o dia
                {
                    return true;
                }
                else// mes inferior
                {
                    return false;
                }
            
            }else
            {
            //mes inferior
                return false;
            }
        }
     } //ano

     //maior que data corrente
     else if ( parseFloat(vReservationDateOutY) > parseFloat(vReservationDateInY))
     {
        return true;
     } //ano
     else
     {
        return false;
     }  
}


function openAvailability(secureHost,nChannel,typerooms,rooms,grownups,children,checkin,checkout,lang)
{  
     var now = new Date();
     
     var strD = now.getDate();
     var strDD = (strD < 10) ? '0' + strD : strD;
     var strM = now.getMonth() + 1;
     var strMM = (strM < 10) ? '0' + strM : strM;
     var strYear = now.getYear();
     
     var strDate = strDD + "/" + strMM + "/" + strYear;
     
    var msg = new String('');
    var lang = document.getElementById("auxLang").value;
    
    var maxPersonInRoom = 3;
    var auxRoomPessoa = 0;
    auxRoomPessoa = (parseFloat(grownups) + parseFloat(children)) / rooms;
    
    if ( auxRoomPessoa > maxPersonInRoom ) 
    {
	    if ( lang == 'PT' ) {
		    msg = msg + 'Cada quarto apenas permite uma ocupação máxima de 3 pessoas. \n';
        }		    
        else if ( lang == 'EN' ) {
		    msg = msg + 'Each room only allows a maximum occupancy of 3 persons. \n';
        }		    
        else if ( lang == 'SP' ) {
		    msg = msg + 'Todas las habitaciones sólo permite una ocupación máxima de 3 personas. \n';
        }		          
    }

    if ( checkin == "" ) {
        if (lang == 'PT') {
            msg = msg + 'A data de Check-in tem de estar preenchida.' + '\n'
        }
        else if (lang == 'EN') {
            msg = msg + 'The Check-in date should be filled.' + '\n'
        }
        else if (lang == 'SP') {
            msg = msg + 'La fecha de Check-in tien que ser digitada.' + '\n'
        }		    
    }

	if ( checkout == "" ) {
        if (lang == 'PT') {
            msg = msg + 'A data de Check-out tem de estar preenchida.' + '\n'
        }
        else if (lang == 'EN') {
            msg = msg + 'The Check-out date should be filled.' + '\n'
        }
        else if (lang == 'SP') {
            msg = msg + 'la fecha de Check-out tien que ser digitada.' + '\n'
        }		    
    }

    if ( checkin != ""  && checkout != "" ) {	    
        if (!setReservationDates(checkin)) {
            if (lang == 'PT') {
                msg = msg + 'A data de Check-in é inferior da data hoje.' + '\n'
            }
            else if (lang == 'EN') {
                msg = msg + 'The Check-in date is earlier than today.' + '\n'
            }
            else if (lang == 'SP') {
                msg = msg + 'La fecha de Check-in es mas baja que a fecha de hoy.' + '\n'
            }
        }
            // }
        // }
        //depois tens de compara a checkin e a checkout
        if (!setReservationDates(checkout)) {
	        if ( lang == 'PT' ) {
		        msg = msg + 'A data de Check-out é inferior da data hoje.' + '\n'
            }		    
            else if ( lang == 'EN' ) {
		        msg = msg + 'The Check-out date is earlier than today.' + '\n'
            }		    
            else if ( lang == 'SP' ) {
		        msg = msg + 'La fecha de Check-out es mas baja que a fecha de hoy.' + '\n'
            }		    
        }
        else if ( !CompareCheckInCheckOut(checkin,checkout) ) {
            if ( lang == 'PT' ) {
                msg = msg + 'A data de Check-out tem de ser maior que a data de Check-in.' + '\n'
            }		    
            else if ( lang == 'EN' ) {
                msg = msg + 'The Check-out date should be higher than the Check-in date.' + '\n'
            }		    
            else if ( lang == 'SP' ) {
                msg = msg + 'La fecha de Check-out tien que ser major que la fecha de Check-in.' + '\n'
            }		    
        }
        else if ( checkin == checkout ) {
            if (lang == 'PT') {
                msg = msg + 'A data de Check-out tem de ser superior à data de Check-in.' + '\n'
            }
            else if (lang == 'EN') {
                msg = msg + 'The Check-out date must be higher than the Check-in date.' + '\n'
            }
            else if (lang == 'SP') {
                msg = msg + 'La fecha de Check-out tien que ser major que la fecha de Check-in.' + '\n'
            }
        }
    }
	
    if (msg != '')	{
	    if ( lang == 'PT' ) {
		    alert('Por favor verificar:\n\n' + msg);
        }		    
        else if ( lang == 'EN' ) {
		    alert('Please check:\n\n' + msg);
        }		    
        else if ( lang == 'SP' ) {
		    alert('Por favor verifique:\n\n' + msg);		
        }		    
	    return;
	}
	else {
	    window.location.href = secureHost + "Reserva.aspx?pid=0&cid=" + nChannel + "&rooms=" + rooms + "&grownups=" + grownups + "&checkin=" + checkin + "&checkout=" + checkout + "&auxLang=" + lang;
        // window.location.href= secureHost + "ReservesForm.aspx?pid=0&cid=" + nChannel + "&typerooms=" + typerooms + "&rooms=" + rooms + "&grownups=" + grownups + "&children=" + children + "&checkin=" + checkin + "&checkout=" + checkout + "&auxLang=" + lang;
    }
}


function ValidFormsReservesDates()
{ 
    alert('START');
     var now = new Date();
     
     var strD = now.getDate();
     var strDD = (strD < 10) ? '0' + strD : strD;
     var strM = now.getMonth() + 1;
     var strMM = (strM < 10) ? '0' + strM : strM;
     var strYear = now.getYear();
     
     var strDate = strDD + "/" + strMM + "/" + strYear;
     
    var msg = new String('');
    var lang = "";
    lang = document.getElementById("hidLang").value;

    checkin = document.getElementById("txtCheckInDate").value;
    checkout = document.getElementById("txtCheckOutDate").value;

    if (checkin != "" && checkout != "") {
        if (!setReservationDates(checkin)) {
            if (lang == 'PT') {
                msg = msg + 'A data de Check-in é inferior da data hoje.' + '\n'
            }
            else if (lang == 'EN') {
                msg = msg + 'The Check-in date is earlier than today.' + '\n'
            }
            else if (lang == 'SP') {
                msg = msg + 'La fecha de Check-in es mas baja que a fecha de hoy.' + '\n'
            }
        }
        // }
        // }
        //depois tens de compara a checkin e a checkout
        if (!setReservationDates(checkout)) {
            if (lang == 'PT') {
                msg = msg + 'A data de Check-out é inferior da data hoje.' + '\n'
            }
            else if (lang == 'EN') {
                msg = msg + 'The Check-out date is earlier than today.' + '\n'
            }
            else if (lang == 'SP') {
                msg = msg + 'La fecha de Check-out es mas baja que a fecha de hoy.' + '\n'
            }
        }
        else if (!CompareCheckInCheckOut(checkin, checkout)) {
            if (lang == 'PT') {
                msg = msg + 'A data de Check-out tem de ser maior que a data de Check-in.' + '\n'
            }
            else if (lang == 'EN') {
                msg = msg + 'The Check-out date should be higher than the Check-in date.' + '\n'
            }
            else if (lang == 'SP') {
                msg = msg + 'La fecha de Check-out tien que ser major que la fecha de Check-in.' + '\n'
            }
        }
        else if (checkin == checkout) {
            if (lang == 'PT') {
                msg = msg + 'A data de Check-out tem de ser superior à data de Check-in.' + '\n'
            }
            else if (lang == 'EN') {
                msg = msg + 'The Check-out date must be higher than the Check-in date.' + '\n'
            }
            else if (lang == 'SP') {
                msg = msg + 'La fecha de Check-out tien que ser major que la fecha de Check-in.' + '\n'
            }
        }
    }
	
    if (msg != '') {
        if (lang == 'PT') {
            alert('Por favor verificar:\n\n' + msg);
        }
        else if (lang == 'EN') {
            alert('Please check:\n\n' + msg);
        }
        else if (lang == 'SP') {
            alert('Por favor verifique:\n\n' + msg);
        }
        document.getElementById("btSend").disabled = true;
        return;
    }
	else
        document.getElementById("btSend").disabled = false;	

    alert('END');	    
}
