var THUMBS_LIST_LIMIT = 5;
//var imageData = {
//    'imgList' :
//        [
//            new Image().src='1.jpg',
//            new Image().src='2.jpg',
//            new Image().src='3.jpg',
//            new Image().src='4.jpg',
//            new Image().src='5.jpg',
//            new Image().src='6.jpg',
//            new Image().src='7.jpg',
//            new Image().src='8.jpg',
//            new Image().src='9.jpg'
//        ],
//    'thumbList':
//        [
//            new Image().src='tb_1.jpg',
//            new Image().src='tb_2.jpg',
//            new Image().src='tb_3.jpg',
//            new Image().src='tb_4.jpg',
//            new Image().src='tb_5.jpg',
//            new Image().src='tb_6.jpg',
//            new Image().src='tb_7.jpg',
//            new Image().src='tb_8.jpg',
//            new Image().src='tb_9.jpg'
//        ]
//}
//
function $$$$(id){
    return document.getElementById(id);
}

function MediaManager(){
    this.init();
}
MediaManager.prototype = {
    init: function(){
        //Inizializzazione

        this.data = imageData;                          //Acquisizione dei dati
        this.imgCount = this.data.imgList.length;       //Totale delle immagini caricate
        this.imgSelected = 0;                           //Immagine correntemente selezionata
        if(THUMBS_LIST_LIMIT >  this.imgCount)
            this.thumbsListLimit = this.imgCount;                       //Numero di thumbs in orizzontale
        else
            this.thumbsListLimit = THUMBS_LIST_LIMIT;

        this.elImgSelected = $$$$('mainPhoto');

        this.firstIlDisplayed   = 0;
        this.lastIlDisplayed    = this.thumbsListLimit-1;
    },
    resetThumbList: function(){
        for(i in this.data.imgList){
            $$$$('thumb_img_'+i).className='';
            $$$$('thumb_li_' +i).style.display = 'none';
        }
        this.firstIlDisplayed   = 0;
        this.lastIlDisplayed    = this.thumbsListLimit-1;
        for(i = this.firstIlDisplayed; i<=this.lastIlDisplayed;i++ ){
            $$$$('thumb_li_' +i).style.display = 'inline';
        }
    },
    toLastThumbList: function(){
        for(i in this.data.imgList){
            $$$$('thumb_img_'+i).className='';
            $$$$('thumb_li_' +i).style.display = 'none';
        }
        this.firstIlDisplayed   = (this.imgCount - this.thumbsListLimit);
        this.lastIlDisplayed    = this.firstIlDisplayed + (this.thumbsListLimit-1);
        for(var i = this.firstIlDisplayed; i<=this.lastIlDisplayed;i++ ){
            $$$$('thumb_li_' +i).style.display = 'inline';
        }
    },
    changeMainPhoto: function(direction,n){
        switch(direction){
            case 'next'://Immagine successiva
                $$$$('thumb_img_'+this.imgSelected).className='';
                if(this.imgSelected == (this.imgCount-1)){
                    //Ultima immagine selezionata, visualizziamo la prima
                    this.resetThumbList();
                    this.imgSelected = 0;
                    this.elImgSelected.src =  this.data.imgList[this.imgSelected];
                }
                else{
                    this.imgSelected = this.imgSelected+1;
                    this.elImgSelected.src =  this.data.imgList[this.imgSelected];

                    if(this.imgSelected > this.lastIlDisplayed){
                        //Spostiamo
                        $$$$('thumb_li_' + this.firstIlDisplayed).style.display = 'none';
                        this.firstIlDisplayed = this.firstIlDisplayed+1;
                        this.lastIlDisplayed = this.lastIlDisplayed+1;
                        $$$$('thumb_li_' + this.lastIlDisplayed).style.display = 'inline';
                    }
                }
            break;
            case 'prev'://Immagine precedente
                $$$$('thumb_img_'+this.imgSelected).className='';
                if(this.imgSelected == 0){
                    //Ultima immagine selezionata, visualizziamo la prima
                    this.toLastThumbList();
                    this.imgSelected = this.imgCount-1;
                    this.elImgSelected.src =  this.data.imgList[this.imgSelected];
                }
                else{
                    this.imgSelected = this.imgSelected-1;
                    this.elImgSelected.src =  this.data.imgList[this.imgSelected];
                    if(this.imgSelected < this.firstIlDisplayed){
                        //Dobbiamo scalare
                        this.firstIlDisplayed = this.firstIlDisplayed-1;
                        $$$$('thumb_li_' + this.firstIlDisplayed).style.display = 'inline';
                        $$$$('thumb_li_' + this.lastIlDisplayed).style.display = 'none';
                        this.lastIlDisplayed = this.lastIlDisplayed-1;
                    }
                }

            break;
            case 'nextByNav':
                //Spostiamo a destra:
                if(this.lastIlDisplayed == this.imgCount-1){
                    this.resetThumbList();
                }
                else{
                    $$$$('thumb_img_'+this.imgSelected).className='';
                    $$$$('thumb_li_' + this.firstIlDisplayed).style.display = 'none';
                    this.firstIlDisplayed = this.firstIlDisplayed+1;
                    this.lastIlDisplayed = this.lastIlDisplayed+1;
                    $$$$('thumb_li_' + this.lastIlDisplayed).style.display = 'inline';
                }

            break;
            case 'prevByNav':
                if(this.firstIlDisplayed == 0){
                    this.toLastThumbList();
                }
                else{
                    $$$$('thumb_img_'+this.imgSelected).className='';
                    this.firstIlDisplayed = this.firstIlDisplayed-1;
                    $$$$('thumb_li_' + this.firstIlDisplayed).style.display = 'inline';
                    $$$$('thumb_li_' + this.lastIlDisplayed).style.display = 'none';
                    this.lastIlDisplayed = this.lastIlDisplayed-1;
                }
            break;

            default:
                $$$$('thumb_img_'+this.imgSelected).className='';
                this.imgSelected = n;
                this.elImgSelected.src =  this.data.imgList[n];
            break;

        }
        $$$$('thumb_img_'+this.imgSelected).className='selected';
    }
}

