
/* Scripts - Belle Vue - */

// Render flash
function renderFlash(containerObj, movieName, width, height) {
    var flashContainerInnerHtml = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + width + '" height="' + height + '">';
    flashContainerInnerHtml += '<param name="movie" value="' + movieName + '" />';
    flashContainerInnerHtml += '<param name="quality" value="high" />';
    flashContainerInnerHtml += '<param name="menu" value="false" />';
    flashContainerInnerHtml += '<param name="base" value="." />';
    flashContainerInnerHtml += '<param name="wmode" value="transparent" />';
    flashContainerInnerHtml += '<embed src="' + movieName + '" base="." wmode="transparent" menu="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + width + '" height="' + height + '"></embed>';
    flashContainerInnerHtml += '</object>';
    document.getElementById(containerObj).innerHTML = flashContainerInnerHtml;
}

// Render image
function renderImage(containerObj, imageName) {
    document.getElementById(containerObj).innerHTML = '<img src="' + imageName + '" />';
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

// Validate booking form
function validateBookingForm() {
    document.getElementById("booking-form-err-msg").innerHTML = "";
    
    var ciD = parseInt(document.getElementById("dplChkInDay").value);
    var ciM = parseInt(document.getElementById("dplChkInMonth").value);
    var ciY = parseInt(document.getElementById("dplChkInYear").value);
    
    var coD = parseInt(document.getElementById("dplChkOutDay").value);
    var coM = parseInt(document.getElementById("dplChkOutMonth").value);
    var coY = parseInt(document.getElementById("dplChkOutYear").value);

    var dObj = new Date();
    var tdD = dObj.getDate();
    var tdM = dObj.getMonth()+1;
    var tdY = dObj.getFullYear();
    
    // Hotel
    if (document.getElementById("dplHotel").value == 0) {
        document.getElementById("booking-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-1").innerHTML;
        return false;
    }
    
    // Days in month validation
    if (ciD > daysInMonth(ciM, ciY))
    {
        document.getElementById("booking-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-2").innerHTML;
        return false;
    }

    if (coD > daysInMonth(coM, coY)) {
        document.getElementById("booking-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-3").innerHTML;
        return false;
    }        

    // Whole date valdiatio
    if (! validDate(tdD, tdM, tdY, ciD, ciM, ciY)) {
        document.getElementById("booking-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-4").innerHTML;
        return false;
    }

    if (!validDate(tdD, tdM, tdY, coD, coM, coY)) {
        document.getElementById("booking-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-5").innerHTML;
        return false;
    }
    
    if (!validDate(ciD, ciM, ciY, coD, coM, coY)) {
        document.getElementById("booking-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-6").innerHTML;
        return false;
    }
}

// Validate booking form - Meetings
function validateMeetingsBookingForm() {

    document.getElementById("booking-form-err-msg-meetings").innerHTML = "";

    var ciD = parseInt(document.getElementById("dplChkInDayMeetings").value);
    var ciM = parseInt(document.getElementById("dplChkInMonthMeetings").value);
    var ciY = parseInt(document.getElementById("dplChkInYearMeetings").value);

    var dObj = new Date();
    var tdD = dObj.getDate();
    var tdM = dObj.getMonth() + 1;
    var tdY = dObj.getFullYear();

    // Hotel
    if (document.getElementById("dplHotelMeetings").value == 0) {
        document.getElementById("booking-form-err-msg-meetings").innerHTML = document.getElementById("booking-form-err-msg-1").innerHTML;
        return false;
    }

    // Days in month validation
    if (ciD > daysInMonth(ciM, ciY)) {
        document.getElementById("booking-form-err-msg-meetings").innerHTML = document.getElementById("booking-form-err-msg-7").innerHTML;
        return false;
    }

    // Whole date valdiation
    if (!validDate(tdD, tdM, tdY, ciD, ciM, ciY)) {
        document.getElementById("booking-form-err-msg-meetings").innerHTML = document.getElementById("booking-form-err-msg-7").innerHTML;
        return false;
    }

    // Persons
    if (trim(document.getElementById("persons").value) == "") {
        document.getElementById("booking-form-err-msg-meetings").innerHTML = document.getElementById("booking-form-err-msg-8").innerHTML;
        return false;
    }
}

// Validate newsletter from
function validateNewsletterForm() {

    document.getElementById("newsletter-form-err-msg").innerHTML = "";

    //Name
    if (trim(document.getElementById("name").value) == "") {
        document.getElementById("newsletter-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-9").innerHTML;
        return false;
    }

    //Email
    if (trim(document.getElementById("email").value) == "") {
        document.getElementById("newsletter-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-10").innerHTML;
        return false;
    }

    else if (!isValidEmail(document.getElementById("email").value)) {
        document.getElementById("newsletter-form-err-msg").innerHTML = document.getElementById("booking-form-err-msg-11").innerHTML;
        return false;
    }
}

function daysInMonth(month, year) {
    if (month == 4 || month == 6 || month == 9 || month == 11)
        return 30;

    if (month == 2)
        return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );

    return 31;
}

// If 2nd date equal or greater than 1st date - returns true
function validDate(d1, m1, y1, d2, m2, y2) {
    var validDate = false;
    if (y2 > y1)
        validDate = true;

    if (y2 == y1) {
        if (m2 > m1)
            validDate = true;

        if (m2 == m1) {
            if (d2 >= d1)
                validDate = true;
        }
    }

    if (!validDate)
        return false;

    return true;
}

// validate email
function isValidEmail(email) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    
    if (reg.test(email) == true)
        return true;
    else
        return false;
}
