
function externalLinkTarget(myDomain) {
    $("a[href^='http']").not("[href*='" + myDomain +"']").attr('target','_blank');
}
externalLinkTarget(window.location.host.toLowerCase());

function initDatepicker() {
    if (typeof($().datepicker) === 'function') {
        $(".date-pick").datepicker({
            showOn: 'button',
            buttonImage: '/images/ico-calendar.gif',
            buttonImageOnly: true,
            dateFormat: 'dd/mm/yy',
            firstDay: 1,
            showMonthAfterYear: false,
            yearSuffix: ''
        });
    }
}

function checkDateForm() {
    s1 = $('#ad').val();
    s2 = $('#dd').val();
    if (!s1){
        alert('Please, set the arriving date');
        return false;
    }
    if (!s2){
        alert('Please, set the departing date');
        return false;
    }
    var d1 = new Date(s1);
    var d2 = new Date(s2);
    var diff = d2.getTime() - d1.getTime();
    if (diff<=0){
        alert('Please, set the correct dates');
        return false;
    }
    if (!$('#adults').val() && !$('#children').val() && !$('#infants').val()){
        alert('Please, set how many persons');
        return false;
    }
    var d3 = new Date(diff);
    diff = Math.ceil(d3.getTime()/86400000);    
    $('#nights').val(diff);
    return true;
}


$(document).ready(function() {
	initDatepicker();
        
    /**
     * Book Online - Netroomz 'integration'
     */
    var w = $(window).width()-200;
    var h = $(window).height()-200;
    if (w < 960) { w = 960; }
    if (w < 400) { w = 400; }
    $("a.iframe").fancybox({
        overlayShow: true,
        padding: 0,
        overlayColor: '#000',
        overlayOpacity: 0.6,
        autoDimensions: false,
        width: w,
        height: h,
        showCloseButton: true,
        titleShow: false,
        hideOnOverlayClick: false,
        centerOnScroll: true,
        enableEscapeButton: false,
        onStart: function() {},
        onComplete: function() {}
    });

    $.validator.addMethod(
        "australianDate",
        function(value, element) {            
            return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/);
        },
        "Please enter a valid date"
    );
        
    $('#form-netroomz').validate({
        debug:false,
        errorClass: 'validation-advice',
        onfocusout: false,
        onkeyup: false,
        errorElement: 'div',
        errorPlacement: function(error, element) {
            // no inline error placement
			error.insertBefore(element.parent().parent());
			//element.parent().addClass('error');
        },
        rules: {
            ad: {
                required: true,
                australianDate: true
            },
            dd: {
                required: true,
                australianDate: true
            }
        },
        submitHandler: function(form) {
            // open the fancybox window iframe style
            $.fancybox({
                type: 'iframe',
                href: '/netroomz-loading.html',
                overlayShow: true,
                padding: 0,
                overlayColor: '#000',
                overlayOpacity: 0.6,
                autoDimensions: false,
                width: w,
                height: h,
                showCloseButton: true,
                enableEscapeButton: false,
                titleShow: false,
                hideOnOverlayClick: false,
                centerOnScroll: true,
                onStart: function() {},
                onComplete: function() {
                    // now fetch the name of the iframe and adjust the form target attribute
                    $(form).attr('target', $('#fancybox-frame').attr('name'));
                    // and we have lift off
                    form.submit();
                }
            });
        }
    });
});

/**
 * Simple jQuery widget that ajaxifying the calendar widget
 */
jQuery(document).ready(function($) {
    $.fn.SnappCalendar = function(settings) {
        var config = {
        };
        if (settings) { $.extend(config, settings); }

        element = $(this);

        this.next = function(url) {
            this.showMonth(url);
        };

        this.previous = function(url) {
            this.showMonth(url);
        };

        element.ajaxStart(function() {
            $(this).parent().animate({'opacity': 0.4}, 200);
        });
        element.ajaxStop(function() {
            $(this).parent().animate({'opacity': 1}, 500);
        });

        this.showMonth = function(url) {
            $.ajax({
                url: url,
                data: {},
                success: function(response) {
                    // Update calendar
                    element.html(response.html);
                },
                dataType: "json"
            });
        };
        return this;
    };
    
    
    /** Readmore on the homepage **/
    
    // Get rid of the hiding class and use jquery on the hidden content    
    var readMore = $('.readMore .more');
    var readMoreHeight = readMore.height(); // So I know how much to animate by
    readMore.animate({height:0}); // So the first animation is smooth
    
    // Now set up the click to show or hide the more
    $('.readMore .toggle').click(function() {
        if (readMore.hasClass('hidden')) {
            readMore.animate({height: readMoreHeight}).removeClass('hidden');
        } else {
            readMore.animate({height: 0}).addClass('hidden');
        }
    });
    

});
