Cobra.Page.currentFeatured = 0;

function rotateFeatured(){
    Effect.Fade($$('.listing-box-inner')[Cobra.Page.currentFeatured].select("img")[0], {duration: 2.0});
    Cobra.Page.currentFeatured += 1;
    if(Cobra.Page.currentFeatured == 10){ Cobra.Page.currentFeatured = 0; }
    $('featured-paging-current').update(Cobra.Page.currentFeatured + 1);
    $('villa-details-button').writeAttribute('href', "/villas/"  + Cobra.Page.rotatorVillaIDs[Cobra.Page.currentFeatured] + "/");
    Effect.Appear($$('.listing-box-inner')[Cobra.Page.currentFeatured].select("img")[0], { duration: 2.0, from: 0, to: 1 });
}

document.observe("dom:loaded", function(){
    $$("a.search-selectable").each(function(link){
        var a = $(link);
        a.observe('click', function(e){
            Event.stop(e);
            var elem = Event.element(e);
            if(elem.hasClassName('selected')){
                elem.removeClassName('selected');
                elem.hasClassName('beds') ? $('search-beds').value = getSelected('beds') : $('search-types').value = getSelected('types');
            }else{
                elem.addClassName('selected');
                elem.hasClassName('beds') ? $('search-beds').value = getSelected('beds') : $('search-types').value = getSelected('types');
            }
        });
    });

    $('search-button').observe('click', function(e){
        //var valid = true;
        //if($('search-beds').value.length == 0){ valid = false; }
       // if($('search-types').value.length == 0){ valid = false; }
        //if(valid){
          $('search-form').submit();
        //}else{
            //alert("There is a problem!\nPlease select the number of beds and villa type required.");
        //}
    });

    var rotator = new PeriodicalExecuter(rotateFeatured, 5);

    $('featured-toggle').observe('click', function(e){
        Event.stop(e);
        if(rotator.currentlyExecuting){
            $('featured-toggle').update("Pause");
            rotator.currentlyExecuting = false;
        }else{
            $('featured-toggle').update("Play");
            rotator.currentlyExecuting = true;
        }
    });
});

function getSelected(type){
    var selected = "";
    $$('a.' + type).each(function(link){
        if(link.hasClassName('selected')){
            selected += link.readAttribute('rel') + ",";
        }
    });
    selected = selected.slice(0, -1);
    return selected;
}
