//Activate Immediately
$(function(){
    if($.browser.version < 7){
        var clear= $.template_url+"/images/clear.gif"; //path to clear.gif
        pngfix();
    }
    $(".delme").focus(function(){
        if ($(this).is('input')) {
            var orival = $(this).val();
            $(this).val("");
        }else{
            var orival = $(this).html();
            $(this).html("");
        }

        $(this).blur(function(){
            if($(this).is('input')){
                if ($(this).val() != "" && $(this).val() != orival) {
                    $(this).removeClass('delme').unbind('blur').unbind('focus');
                }else{
                    $(this).val(orival);
                }
            }else{
                if ($(this).html() != "" && $(this).html() != orival) {
                    $(this).removeClass('delme').unbind('blur').unbind('focus');
                }else if ($.browser.safari && $(this).val() != "" && $(this).val() != orival) {
                    $(this).removeClass('delme').unbind('blur').unbind('focus');
                }else{
                    $(this).html(orival);
                }
            }

        });
    });

    /*
     * Begin infinite slider by reset
     */
    jQuery.fn.infinteSlider = function(options){
        //alert(this.tagName);
        //        this.each(function(){
        //            alert(this.tagName);
        //        });
        
        /*
         *Init zone
         */
        var settings = {
            focusFrame : false,
            infiniteMode : false,
            naviMarkup : '<div class="slider-navi"><a class="foward"></a><a class="back"></a></div>'
        };
        jQuery.extend(settings, options);
        var naviMarkup = settings.naviMarkup;
        var cont = this;
        var navi;
        /*
         * Find out what is the sliding content, the container and the buttons
         */
        if(cont.find('ul').html()){
            var elCont = cont.find('ul');
            var elem = elCont.children();
            if(!cont.find('.back')){
                elCont.after(naviMarkup);
            }
        }else{
            var elem = cont.children();
            var elCont = cont;
            if(!elCont.parent().find('.back')){
                elCont.after(naviMarkup);
            }
        }
        var navi = cont.find(".back").parent();
        var cont = this;
        var startLeft = 0;
        var init = function(){
            
            if(settings.focusFrame){
                startLeft = jQuery(settings.focusFrame).offset().left;
            }
            if(elCont.css('left') == "auto"){
                elCont.css('left', 0);
            }
            elCont.css({
                left : parseInt(elCont.css('left'))+startLeft
            });
            elCont.width(elem.width()*elem.length);
            slideBind();
            if(settings.infiniteMode){
                fillBefore();
            }
            
        };
        var fillBefore = function(num){
            startLeft = parseInt(elCont.css('left'))-(elem.length*elem.width());
            elCont.prepend(elCont.html()).width(elem.width()*elCont.children().length).css("left", startLeft);
            elem = elCont.children();
        //elCont.prepend(elCont.html()).css("left", parseInt(elCont.css('left'))-numelem*elem.width());

        }
        var slideFoward = function(){
            if(settings.infiniteMode){
                //Rendo il primo figlio absolute, lo metto alla fine spostandolo a dx della sua larghezza
                elCont.children(":first").appendTo(elCont);
                //setto il left della lista aggiungendo la larghezza del figlio spostato altrimenti va indietro
                elCont.css({
                    left : parseInt(elCont.css('left'))+elCont.find(":first").width()
                });
            }
            //ricavo il left per l'animazione - attuale left meno (-) larghezza elemento
            var newLeft = parseInt(elCont.css('left'))-elCont.find(":first").width()-(parseInt(elCont.find(":first").css("marginRight"))+parseInt(elCont.find(":first").css("marginLeft")));
            //alert(newLeft);
            elCont.animate({
                left : newLeft
            }, 600, function(){
                //alert(elCont);
                slideBind();
            });
        };
        var slideBack = function(){
            if(settings.infiniteMode){
                //Rendo l'ultimo figlio absolute, lo metto all'inizio spostandolo a sx della sua larghezza
                elCont.children(":last").prependTo(elCont);
                //alert(1);
                //setto il left della lista aggiungendo la larghezza del figlio spostato altrimenti va avanti
                elCont.css({
                    left : parseInt(elCont.css('left')) - elCont.children(":first").width()
                });
            }
            //alert(2);
            //ricavo il left per l'animazione - attuale left meno (-) larghezza elemento
            var newLeft = parseInt(elCont.css('left'))+elCont.find(":first").width()+(parseInt(elCont.find(":first").css("marginRight"))+parseInt(elCont.find(":first").css("marginLeft")));
            //alert(newLeft);
            //alert(newLeft);
            elCont.animate({
                left : newLeft
            }, 600, function(){
                //alert(elCont);
                slideBind();
            });
        };
        var slideBind = function(){
            navi.find(".foward").click(function(){
                slideUnbind();
                slideFoward();
                return false;
            });
            navi.find(".back").click(function(){
                slideUnbind();
                slideBack();
                return false;
            });
        }
        var slideUnbind = function(){
            navi.find("a").unbind();
        }
        init();
        return this;
    };
    $('.slider').infinteSlider({
        focusFrame : ".slider-navi",
        infiniteMode : true
    });
    
    $('.room_slider').each(function(){
        $(this).infinteSlider({
            infiniteMode : true
        });
    });
    $.wdbox.settings.window_title = "";
    $.wdbox.settings.window_interaction = "<a class = 'closeLink'>Close</a>";

    $(".ajaxLink, .availability-control").urlInBox();
    $(".contact-us form, .addresses form, .inboxform").resInBox();
    var submit_avail = function(){
        var lang = $(".availability form").attr('class');
        var check_dates = $('input[name=check_in]').val()+" - "+$('input[name=check_out]').val();
        if(lang == 'it'){
            $.wdbox.alert("<h2>Servizio non disponibile</h2>Siamo spiacenti, il sistema di prenotazione non è al momento disponibile.<br/>Lasciaci un recapito, ti contatteremo al più presto con le nostre offerte.<br/><br/> <form class='inboxform standard' method='post' action='"+template_url+"/parts/process_email.php?lang=it'><input type='hidden' name='check_dates' value='"+check_dates+"'/><label>Nome</label> <input name='reserve_name' type='text'/><br class='clearer'/> <br/><label>E-mail o telefono</label> <input name='reserve_contact' type='text'/> <br class='clearer'/> <input type='submit' value='invia' class='button'/><br class='clearer'/></form>");
        }else{
            $.wdbox.alert("<h2>Service unavailable</h2>Sorry, but the online booking system is not available at the moment.<br/>Insert your personal information, You will be contacted soon.<br/><br/> <form class='inboxform standard' method='post' action='"+template_url+"/parts/process_email.php?lang=en'><input type='hidden' name='check_dates' value='"+check_dates+"'/><label>Name</label> <input name='reserve_name' type='text'/><br class='clearer'/> <br/><label>E-mail or Telephone</label> <input name='reserve_contact' type='text'/> <br class='clearer'/> <input type='submit' value='send' class='button'/><br class='clearer'/></form>");
        }
        return false;
    }
    $(".availability form").submit(function(){
        return false;
    }).find("input[type=submit]").live("click", submit_avail);
    $("input[name=check_in], input[name=check_out]").live('click', function(){
        $(this).datepicker({
            minDate : 0,
            maxDate : '+8M'
        }, $.datepicker.regional['it']).datepicker('show');
    });
    $(".ajaxPicture").live("click", function(){
        var href = $(this).attr("href");
        $.wdbox.alert("<img class='picf' src='"+href+"'/>");
        
        $(".wdbox .picf").load(function(){
            var picw = $(".wdbox .picf").width();
            $(".wdbox .wdbox_content").width(picw);
            $.wdbox.centerBox({
                top : 50
            });
        });
        return false;
    });

});
