
var stopNews = false;

function observeList(){

//    observeMenu();

    if( $( 'ulNewsAdmin' ) ){

        Position.includeScrollOffsets = true
        Sortable.create( 'ulNewsAdmin', {
            tag: 'li',
            only: 'liNews',
            overlap: 'vertical',
            constraint: 'vertical',
            hoverclass: 'sortLi',
//            ghosting: true,
            dropOnEmpty: true,
            tree: true,
            treeTag: 'ul',
            onUpdate : function(  ){
                var tblElements = $A(  );

                $$( '#ulNewsAdmin li.liNews' ).each( function( element ){
                    if( element.hasClassName( 'liNews' ) ){
                        tblElements[ tblElements.size() ] = element.getAttribute( 'rel' ) ;
                    }
                });

                new Ajax.Request( '/news/ordre/format/html' , {
                    method: "post",
                    parameters: {
                        data: Object.toJSON(tblElements)
                    }
                });
            }
        } );
    }else if( $('divHome')  && !$( 'divAdmin' ) ){
        start_slideshow(1, 4, 7000);
        observeNews();
        start_news(1, 3, 5000);
    }

}

/**
 * Lance le switch de la home
 */
function start_slideshow(start_frame, end_frame, delay) {
    setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
}

/**
 * Switch automatiquement le background de la home
 */
function switch_slides(frame, start_frame, end_frame, delay) {
    return (function() {
        Effect.Fade('slideshow' + frame);
        if (frame == end_frame) {frame = start_frame;} else {frame = frame + 1;}
        setTimeout("Effect.Appear('slideshow" + frame + "');", 850);
        setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
    })
}

/**
 * Lance le switch des news
 */
function start_news(start_frame, end_frame, delay) {
    setTimeout(switch_news(start_frame,start_frame,end_frame, delay), delay);
}

/**
 * Switch automatiquement de news
 */
function switch_news(frame, start_frame, end_frame, delay) {

    return (function() {

        if( stopNews ){
            return null;
        }
        
        if (frame == end_frame) {frame = start_frame;} else {frame = frame + 1;}

        activeNews(frame);

        setTimeout(switch_news(frame, start_frame, end_frame, delay), delay + 850);
    })
}

/**
 * Rafrait le cadre de news pour afficher celui passé en paramètre
 */
function activeNews( frame ){
    $( 'liNews1' ).removeClassName( 'liSelected' );
    $( 'liNews2' ).removeClassName( 'liSelected' );
    $( 'liNews3' ).removeClassName( 'liSelected' );

    $( 'liNews' + frame ).addClassName( 'liSelected' );

    $( 'newsContent' ).innerHTML = $( 'newsContent' + frame ).innerHTML;
}

/**
 * Ecouteur sur le div des onglets
 */
function observeNews(){
    $( 'newsContent' ).innerHTML = $( 'newsContent1' ).innerHTML;
    Event.observe( $( 'newsLinks' ), 'click', function( obj ){
        stopNews = true;
        activeNews(obj.target.id.substr( -1 , 1 ));
    } );
}

function observeMenu(){

    var pMenu = $$( 'li.liMenu p' );

    pMenu.each( function( p ){
        Event.observe( p, 'mouseover', displaySubMenu )
        Event.observe( p, 'mouseout', hideSubMenu )
    });

}

function displaySubMenu(event){

    hideAllSubMenu();

    var el = Event.findElement(event);
    var ul = el.up('li').down('ul');

    if( ul != undefined ){
        ul.toggle();
    }

}
function hideSubMenu(event){
    var el = Event.findElement(event);
    var ul = el.up('li').down('ul');
    if( ul != undefined ){
        ul.hide();
    }
}

function hideAllSubMenu(){

    var ulSubMenu = $$( 'ul.ulSsMenu' );

//    Element.hide(ulSubMenu);
    ulSubMenu.each( function( ul ){
        ul.hide();
    });
    
}

Event.observe( window , 'load' , observeList );

