function alert111()
{
        alert('111');
}

/*
var m_blogBaseUrl;
function rotateHomepageImages(blogBaseUrl)
{
        m_blogBaseUrl = blogBaseUrl;
        //Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
        setTimeout('rotate()', 3000);
}
function rotate()
{
        //document.getElementById('index_main').style.backgroundImage = 'url(images/homepage_bg/bg2.jpg)';
        var strImageUrl = m_blogBaseUrl + '/images/homepage_bg/bg2.jpg';
        document.getElementById('index_main').style.backgroundImage = 'url(' + strImageUrl + ')';
}
*/


function PrintContent(strDivId)
{
        var DocumentContainer = document.getElementById(strDivId);
        var WindowObject = window.open('', 'PrintWindow', 'width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes');
        WindowObject.document.writeln(DocumentContainer.innerHTML);
        WindowObject.document.close();
        WindowObject.focus();
        WindowObject.print();
        WindowObject.close();
}

var m_blogBaseUrl;
function theRotator(blogBaseUrl) {
        m_blogBaseUrl = blogBaseUrl;
        setTimeout("loadRotatorBgImages();", 3000);
}

function loadRotatorBgImages()
{
        //Load images
        document.getElementById('img2').src = m_blogBaseUrl + '/images/homepage_bg/bg2.jpg';
        document.getElementById('img3').src = m_blogBaseUrl + '/images/homepage_bg/bg3.jpg';
        document.getElementById('img4').src = m_blogBaseUrl + '/images/homepage_bg/bg4.jpg';
        document.getElementById('img5').src = m_blogBaseUrl + '/images/homepage_bg/bg5.jpg';
        document.getElementById('img6').src = m_blogBaseUrl + '/images/homepage_bg/bg6.jpg';

        //Set the opacity of all images to 0
        $('div#rotator ul li').css({
                opacity: 0.0
        });

        //Get the first image and display it (gets set to full opacity)
        $('div#rotator ul li:first').css({
                opacity: 1.0
        });

        //Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
        setInterval('rotate()', 6000);

        //Rotate texts in homepage
        if(document.getElementById('index_text'))
        {
                setInterval('changeHomeText();', 4000);
        }
                
}

function rotate() {

    //Get the first image
    var current = ($('div#rotator ul li.show') ? $('div#rotator ul li.show') : $('div#rotator ul li:first'));

    //Get next image, when it reaches the end, rotate it back to the first image
    var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') : current.next()) : $('div#rotator ul li:first'));

    //Set the fade in effect for the next image, the show class has higher z-index
    next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

    //Hide the current image
    current.animate({opacity: 0.0}, 1000)
	.removeClass('show');

};


//CHANGE TEXTS IN HOME PAGE
var m_arrHomeTexts=new Array();
m_arrHomeTexts[0]="Realize the true essence of escapism";
m_arrHomeTexts[1]="Experience absolute relaxation";
m_arrHomeTexts[2]="Take a deep breath of paradise";
var m_intHomeTextImage = 0;
function changeHomeText()
{
        if(document.getElementById('index_text'))
        {
                //alert('1');
                //alert(document.getElementById('index_text').innerHTML);

                m_intHomeTextImage = m_intHomeTextImage + 1;
                if(m_intHomeTextImage > 2)
                        m_intHomeTextImage = 0;

                //document.getElementById('index_text').innerHTML = m_arrHomeTexts[m_intHomeTextImage];
                //Fade out
                $('#index_text').fadeOut('slow', function() {
                        //Change text
                        document.getElementById('index_text').innerHTML = m_arrHomeTexts[m_intHomeTextImage];
                        //Fade in
                        $('#index_text').fadeIn('slow', function() {

                        });
                });



        }
}






/*RESERVATION FORM*/
function closeCalendar(dateText, objCal)
{
        //alert(dateText);
        //alert(objCal.id);



        //Get values
        var strArrival = document.getElementById('txtArrival').value;
        var strDepartuer = document.getElementById('txtDeparture').value;
        
        //If the user just picked the arrival date and departure date is empty...
        if(objCal.id == 'txtArrival' && strArrival != '' && strDepartuer == '')
        {
                dteArrival1 = new Date(strArrival);
                dteArrival1.setDate(dteArrival1.getDate() + 1);
                var month = dteArrival1.getMonth() + 1
                var day = dteArrival1.getDate()
                var year = dteArrival1.getFullYear()
                strDepartuer = month + "/" + day + "/" + year;
                document.getElementById('txtDeparture').value = strDepartuer;
                //document.getElementById('txtDeparture').value = dteArrival1;
        }

        //Make sure that departure date is later than arrival and calculate number of nights
        if(strArrival != '' && strDepartuer != '')
        {
                //alert('1');
                //Convert to date format
                dteArrival = new Date(strArrival);
                dteDepartuer = new Date(strDepartuer);
                if(dteDepartuer<=dteArrival)
                {
                        alert('Departure date must be later than arrival date');
                        return false;
                }
                //Calculate number of nights
                var intDuration = dteDepartuer - dteArrival;
                var intNights = Math.round(intDuration/(1000*60*60*24));
                document.getElementById('txtNights').value = intNights;
        }        
}


function reservation_1()
{
        //alert('1');
        var dteArrival = document.getElementById('txtArrival').value;
        var dteDepartuer = document.getElementById('txtDeparture').value;
        var strAdults = document.getElementById('selAdults').options[document.getElementById('selAdults').selectedIndex].value;
        var strChilds = document.getElementById('selChilds').options[document.getElementById('selChilds').selectedIndex].value;

        //Nights
        //Check both dates were chosen
        if(dteArrival == '' || dteDepartuer == '')
        {
                alert('Please choose arrival and departure dates');
                return false;
        }
        //Convert to date format
        dteArrival = new Date(dteArrival);
        dteDepartuer = new Date(dteDepartuer);

        //Make sure departure is bigger than arrival date
        if(dteDepartuer<=dteArrival)
        {
                alert('Departure date must be later than arrival date');
                return false;
        }

        //Calculate number of nights
        var intDuration = dteDepartuer - dteArrival;
        var intNights = Math.round(intDuration/(1000*60*60*24));
        //alert(intNights);
        
        //var strNights = document.getElementById('txtNights').value;
        document.getElementById('txtNights').value = intNights;
        if(ValidateNights(intNights) == false)
        {
                alert('You cannot book more than 30 nights');
                return false;
        }

        //alert(dteArrival);
        //alert(dteDepartuer);

        //Check if any of the days are busy
        //Run on the days
        var dteTemp = new Date();
        //dteTemp.setFullYear(dteArrival.getFullYear);
        //dteTemp.setMonth(dteArrival.getMonth);
        //dteTemp.setDate(dteArrival.getDate);
        dteTemp = dteArrival;
        //alert(dteTemp);
        
        for (j = 0; j < intNights; j++) {

                //dteTemp.setDate(dteArrival.getDate() + j);
                dteTemp.setDate(dteTemp.getDate()+1);
                //alert(dteTemp);
                
                //Run on the BUSY days
                for (i = 0; i < arrBusyDays.length; i++) {
                        if (dteTemp.getFullYear() == arrBusyDays[i][0] && dteTemp.getMonth() == arrBusyDays[i][1] - 1 && dteTemp.getDate() == arrBusyDays[i][2]) {
                               //alert('busy!' + dteTemp)
                               alert('Some of the nights are already taken. Please choose different dates.');
                               return false;
                        }
                }
                
        }

        if(strAdults=='0')
        {
                alert('Please choose number of adult guests');
                return false;
        }

        return true;
}

function changeTransfer()
{
        var strTransfer = document.getElementById('selTransfer').options[document.getElementById('selTransfer').selectedIndex].value;
        if(strTransfer == 'Flight')
        {
                document.getElementById('divFlightIn').style.display = 'block';
                document.getElementById('divFlightOut').style.display = 'block';
        }
        else
        {
                document.getElementById('divFlightIn').style.display = 'none';
                document.getElementById('divFlightOut').style.display = 'none';
                document.getElementById('txtFlightIn').value = '';
                document.getElementById('txtFlightOut').value = '';
        }
}

function reservation_2()
{
        //alert('1');
        var strFirstName = document.getElementById('txtFirstName').value;
        var strLastName = document.getElementById('txtLastName').value;
        var strEmail = document.getElementById('txtEmail').value;
        var strHouseNumber = document.getElementById('txtHouseNumber').value;
        var strStreet = document.getElementById('txtStreet').value;
        var strCity = document.getElementById('txtCity').value;
        var strCountry = document.getElementById('txtCountry').value;
        var strPhone1 = document.getElementById('txtPhone1').value;
        
        if(strFirstName == '')
        {
                alert('Please enter your first name');
                return false;
        }

        if(strLastName == '')
        {
                alert('Please enter your last name');
                return false;
        }

        if(strEmail == '')
        {
                alert('Please enter your email address');
                return false;
        }

        if(strHouseNumber == '')
        {
                alert('Please enter your house number');
                return false;
        }

        if(strStreet == '')
        {
                alert('Please enter your street name');
                return false;
        }

        if(strCity == '')
        {
                alert('Please enter your city of residence');
                return false;
        }

        if(strCountry == '')
        {
                alert('Please enter your country of residence');
                return false;
        }

        if(strPhone1 == '')
        {
                alert('Please enter your phone number');
                return false;
        }
        
        return true;
}


function displayPaymentOptions()
{
        var cc = document.getElementById('chbCc').checked;
        //alert(cc);
        if(cc == true)
        {
                document.getElementById('cc').style.display = 'block';
                document.getElementById('acc').style.display = 'none';
        }
        else
        {
                document.getElementById('cc').style.display = 'none';
                document.getElementById('acc').style.display = 'block';
        }
        return true;

}


function reservation_3()
{
        //alert('1');
        //alert(document.getElementById('chbAgree').checked);
        if(!document.getElementById('chbAgree').checked)
        {
                alert("Please agree to the Terms and Conditions by checking the checkbox below");
                return false;
        }
        
        

        var strCcType = document.getElementById('selCcType').options[document.getElementById('selCcType').selectedIndex].value;
        var strCcNumber = document.getElementById('txtCcNumber').value;
        var strCcMonth = document.getElementById('selCcMonth').options[document.getElementById('selCcMonth').selectedIndex].value;
        var strCcYear = document.getElementById('selCcYear').options[document.getElementById('selCcYear').selectedIndex].value;
        var strCcCvv = document.getElementById('txtCcCvv').value;
        var strAccBank = document.getElementById('txtAccBank').value;
        var strAccBranch = document.getElementById('txtAccBranch').value;
        var strAccAccountNumber = document.getElementById('txtAccAccountNumber').value;
        
        var cc = document.getElementById('chbCc').checked;
        if(cc == true)
        {
                //Credit card
                if(strCcType == '')
                {
                        alert('Please choose your credit card type');
                        return false;
                }

                if(strCcNumber == '')
                {
                        alert('Please enter your credit card number');
                        return false;
                }

                if(strCcMonth == '')
                {
                        alert('Please choose your credit card expiration month');
                        return false;
                }

                if(strCcYear == '')
                {
                        alert('Please choose your credit card expiration year');
                        return false;
                }

                if(strCcCvv == '')
                {
                        alert('Please enter your credit card CVV number');
                        return false;
                }

                if(validateDigitsOnly(strCcCvv) == false)
                {
                         alert('Please enter only digits in the CVV number');
                        return false;
                }

                if(validateDigitsOnly(strCcNumber) == false)
                {
                         alert('Please enter only digits in the credit card number');
                        return false;
                }

                if(cc_formula_luhn(strCcNumber) == 0)
                {
                        alert('Wrong card number. Please check and try again');
                        return false;
                }
       }
        else
        {
                if(strAccBank == '')
                {
                        alert('Please enter your bank');
                        return false;
                }

                if(strAccBranch == '')
                {
                        alert('Please enter your branch');
                        return false;
                }

                if(strAccAccountNumber == '')
                {
                        alert('Please enter your bank account number');
                        return false;
                }
        }
        
        return true;
}

function cc_formula_luhn(num)
{
        num = (num + '').replace(/\D+/g, '').split('').reverse();
        if (!num.length)
                return false;
        var total = 0, i;
        for (i = 0; i < num.length; i++) {
                num[i] = parseInt(num[i])
                total += i % 2 ? 2 * num[i] - (num[i] > 4 ? 9 : 0) : num[i];
        }
        return (total % 10) == 0;
}

function validateDigitsOnly(num)
{

        var regNum = /^[0-9]+$/;
        if (num.match(regNum))
        {
                return true
        }
        else
        {
                return false;
        }
}


function ValidateNights(intNights)
{
        /*
        var regPhone = /^\d{1,2}$/;
        if (strNights.match(regPhone))
        {
                if(strNights < 30 && strNights > 0)
                {
                        return true
                }
                else
                {
                        return false;
                }
        }
        else
        {
                return false;
        }
        */

       if(intNights < 30 && intNights > 0)
        {
                return true
        }
        else
        {
                return false;
        }
}




//------------------------------------------------------------------------------------IMAGE GALLERY------------------------------------------------------------------------------------
//Load images after page finished loading so it will be fater to change them
function preloadImages()
{
        if(document.getElementById('preloadImages'))
        {
                var strBigImages = document.getElementById('txtBigImages').value;
                var arrBigImages = strBigImages.split('|');

                var intImages = document.getElementById('preloadImages').getElementsByTagName('img').length;
                for(i=0; i < intImages; i++)
                {
                        var objImg = document.getElementById('preloadImages').getElementsByTagName('img')[i];
                        objImg.src = arrBigImages[i];
                }
                //alert('12');
                //alert(document.getElementById('gallery_loader'));
                setTimeout("remove_gallery_cover();", 13000);
        }
}

function remove_gallery_cover()
{
        document.getElementById('gallery_loader').style.display='none';
        document.getElementById('gallery_loader_img').style.display='none';
}


//Effect on mouse over small images
function mouseOverGalleryImage(img, overOrOut)
{
        if(overOrOut == 'true')
        {
                 img.style.opacity = '0.5';
                 img.style.filter = 'alpha(opacity=50)';
        }
        else
        {
                img.style.opacity = '1';
                img.style.filter = 'alpha(opacity=100)';
        }
}

//Change galley
function showGallery(galleryName)
{
        //alert(galleryName); // Exterior OR Interior

        //Hide all divs
        document.getElementById('divExterior').style.display = 'none';
        document.getElementById('divInterior').style.display = 'none';

        //The small buttons "that says "Exterior" and "Interior""
        document.getElementById('divHeadExterior').setAttribute("class", "");
        document.getElementById('divHeadInterior').setAttribute("class", "");

        //Show div 
        var strDivName = 'div' + galleryName;
        document.getElementById(strDivName).style.display = 'block';
        document.getElementById('divHead' + galleryName).setAttribute("class", "selected");

        //Move to the first image
        document.getElementById('gallery_menu_inside').style.left = '0px';
        //NOT alloud to move left at the begining and allowed to move right only 5 times
        scrollRight = 5;
        scrollLeft = 0;
        //If it's the exterior gallery, the move is of 173px. If it's the interior gallery, it's 137px.
        if(galleryName == 'Exterior')
                intScrollAmount = "173";
        else
                intScrollAmount = "137";
}

//Show big image
function showGalleryImage(img, blogBaseUrl, galleryName)
{
        //alert(blogBaseUrl);
        //Find the name of the new image
        var arrTemp = img.src.split('/');
        var strImageName = arrTemp[arrTemp.length - 1];
        var intPoint = strImageName.indexOf('.', 0);
        var strNewImage = strImageName.substring(0, intPoint-1) + strImageName.substring(intPoint) ;

        //Put new image
        //document.getElementById("main").style.opacity = '0.1';
        //document.getElementById("main").style.filter = 'alpha(opacity=10)';
        m_blogBaseUrl = blogBaseUrl;
        m_galleryName = galleryName;
        m_strNewImage = strNewImage;
        m_obj = document.getElementById("gallery_images");
        m_i = 9;
        filterOnObject();
        //document.getElementById("gallery_images").style.backgroundImage = "url(" + blogBaseUrl + "/images/gallery/" + galleryName + "/" + strNewImage + ")";
        //filterOffObject(document.getElementById("gallery_images"));
}

//Animation for changing images - filter - hide
var m_blogBaseUrl;
var m_galleryName;
var m_strNewImage;
var m_obj;
var m_i;
function filterOnObject()
{
        //alert(m_i);
        if(m_i >= 1)
        {
                m_obj.style.opacity = '0.' + m_i;
                m_obj.style.filter = 'alpha(opacity=' + m_i + '0)';
                m_i = m_i - 1;
                setTimeout( "filterOnObject();", 15);
        }
        else
        {
                document.getElementById("gallery_images").style.backgroundImage = "url(" + m_blogBaseUrl + "/images/gallery/" + m_galleryName + "/" + m_strNewImage + ")";
                filterOffObject();
        }
}
//Animation for changing images - filter - show
function filterOffObject()
{
        //alert(m_i);
        if(m_i <= 9)
        {
                m_obj.style.opacity = '0.' + m_i;
                m_obj.style.filter = 'alpha(opacity=' + m_i + '0)';
                m_i = m_i + 1;
                setTimeout( "filterOffObject();", 15);
        }
        else
        {
                obj.style.opacity = '1';
                obj.style.filter = 'alpha(opacity=100)';
        }
}









//------------------------------------------------------------------------------------ADMIN------------------------------------------------------------------------------------
function admin_check_dates()
{
        //alert('1');
        var dteFrom = document.getElementById('txtFrom').value;
        var dteTo = document.getElementById('txtTo').value;
        var intPrice = document.getElementById('txtPrice').value;

        //alert(intPrice);
        //alert(dteFrom);

        //Convert to date format
        dteFrom = new Date(dteFrom);
        dteTo = new Date(dteTo);

        if(intPrice == '' || dteFrom == '' || dteTo == '')
        {
                alert('Please choose dates and price');
                return false;
        }

        //Make sure departure is bigger than arrival date
        if(dteFrom >= dteTo)
        {
                alert('to date must be later than from date');
                return false;
        }

        //Make sure price is a number
        if(validateDigitsOnly(intPrice) == false)
        {
                alert('Price must be a number');
                return false;
        }



        //Calculate number of nights
        var intDuration = dteTo - dteFrom;
        var intNights = Math.round(intDuration/(1000*60*60*24));

        //Check if any of the days are busy
        //Run on the days
        var dteTemp = new Date();
        dteTemp = dteFrom;

        for (j = 0; j < intNights; j++) {

                //dteTemp.setDate(dteArrival.getDate() + j);
                dteTemp.setDate(dteTemp.getDate()+1);
                //alert(dteTemp);

                //Run on the BUSY days
                for (i = 0; i < arrBusyDays.length; i++) {
                        if (dteTemp.getFullYear() == arrBusyDays[i][0] && dteTemp.getMonth() == arrBusyDays[i][1] - 1 && dteTemp.getDate() == arrBusyDays[i][2]) {
                               //alert('busy!' + dteTemp)
                               alert('Some of the days are already set with a price. Please choose different dates.');
                               return false;
                        }
                }

        }

        return true;
}


function admin_reservations_set_select()
{
        //alert('1');
        var strValue = document.getElementById('hidSelField').value;
        //alert(strValue);

        var objSel = document.getElementById('selField');
        //alert(objSel);

        for(index = 0; index < objSel.length; index++)
        {
                if(objSel[index].value == strValue)
                        objSel.selectedIndex = index;
        }
}
