Source: PhotolinksList.js

require ('./iView.js');
/**
* Generated On: 2015-10-8
* Class: PhotolinksList
* @param t {Telll} The telll object
* @constructor
*/
function PhotolinksList(t){
    this.t = t;
    this._init(t);
}

PhotolinksList.prototype =Object.create(iView.prototype);

/**
* @param t {} 
* @return bool
*/
PhotolinksList.prototype._init = function(t){
    this.state = null;
    var me = this;
    t.getPhotolinksOfMovie(t.movie.id, function(pl){
       me.list = pl;
       me._showWidget(t.store);
    });
    return null;
};


/**
* Create the widget
* @param data {} 
* @return bool
*/
PhotolinksList.prototype._showWidget = function(data){
    var tmpl = require('./templates/panel.mtjs');
    var html = Mustache.render(tmpl.html, data);
    if (tmpl.css)
    $('<style id="panel-css">'+tmpl.css+'</style>').appendTo('head');
    $(html).appendTo('body');
    this.state = "open";
    this.emit(this.state, this.list);
    var telll = this.t;
    var me = this;
/*
    $( "#close-button" ).on("click", function(e) {
        e.preventDefault();
	// do stuff
	me.state = "sent";
	me.detach();
    });
*/
    //$("div#telll-controls").fadeIn();


    // Fill panel with photolinks
    //photolinks = myPhotolinks;
    //console.log(photolinks);
    //$("#panel-slider").html(""); // clean panel

    
    
    
    /*	    for (i = 0; i < photolinks.length; ++i) {
	       //console.log(photolinks[i]);
	       $("#panel-slider").append('<div class="frame-icon"><img class="photolink-icon" id="icon_'+photolinks[i].id+'" src="'+photolinks[i].thumb+'" id_photolink='+photolinks[i].id+'><label for="icon_'+photolinks[i].id+'">'+photolinks[i].links[0].title+'<label></div>');
	    }
            // mouse out : labels
            $(".frame-icon *").on("mouseover",function(e){
                 var thisid=$( this ).attr('id');
                 //console.log(thisid);
                 $('label[for='+thisid+']' ).css("display","inline");
            });
            $(".frame-icon *").on("mouseleave",function(e){
                 $('label').css("display","none");
            });
            // touch : labels
            $(".frame-icon *").on("touchstart",function(e){
                 var thisid=$( this ).attr('id');
                 //console.log(thisid);
                 $('label[for='+thisid+']' ).css("display","inline");
            });
            $(".frame-icon *").on("touchend",function(e){
                 $('label').css("display","none");
            });
/*
            $(".frame-icon *").click(function() {
                sendPhotolink($(this).attr('id_photolink'));
            });
            //$('.frame-icon *').dblclick(function (e) {
*/

/*            $('.frame-icon *').doubletap( function (e) {
                console.log('Double Click!!!');
                thePlayer.setPause();
                var ap = parseInt($(e.srcElement).attr('id_photolink'));
                // show dialog with photolinked webpage
                $('body').append('<div id="ph-dialog-'+ap+'"><iframe width="100%" height="100%" src="js/projekktor/themes/maccaco/buffering.gif"/></div>');
                //path = '/cgi-bin/mirror.pl?url='+myPhotolinks[ap].links[0].url;
                path = myPhotolinks[ap].links[0].url;
                $( "#ph-dialog-"+ap+" iframe" ).attr('src', path);
                $( "#ph-dialog-"+ap ).dialog({
                       modal: true,
                       width: '80%',
                       height: theHeight - 5,
                       title: myPhotolinks[ap].links[0].title,
                       buttons: {
                	 "See in the movie": function() {
                           var position = trackms[ap].points[0].t;
                	   $( this ).dialog( "close" );
                           thePlayer.setPlay();
                           setTimeout(function(){
                           thePlayer.setPlayhead(Number(position.toString()));
                           actualPhotolink = ap;
                           },500);
                           $("<div data-role='popup' class='telll-popup'>Searching tag on movie ...</div>").appendTo('body');
                           $( ".telll-popup" ).popup();
                           $( ".telll-popup" ).popup( "open", null );
                           setTimeout(function(){
                               $( ".telll-popup" ).popup('close');
                               $( ".telll-popup" ).detach();
                           },2000);

                	 }
                       }
                });
                $( "#ph-dialog-"+ap ).dialog( "open" );
            }, function(e){
              console.log('Single Click!!!');
              var ap = parseInt($(e.srcElement).attr('id_photolink'));
              console.log('Sendind Photolink ');
              console.log(this);
              sendPhotolink(ap);
            },400);
            //highlightPhotolink(0);
    }
    function scrollPhotolinksPanel(n){
            //console.log("Scrolled by:");
            //console.log(n);
            highlightedPhotolink += n;
            //console.log("Highlighted Photolink:");
            //console.log(highlightedPhotolink);
	    pls = $("#panel").find('.frame-icon img');
            //console.log(pls);
            // Catching some errors
            if (highlightedPhotolink > pls.length-1){
                highlightedPhotolink = parseInt(pls.length)-1;
            }
            if (highlightedPhotolink < 0){
                highlightedPhotolink = 0; 
            }
            
            highlightPhotolink(highlightedPhotolink);

            // Scroll panel to position
            // claculate offset
            var ml = 0;
            pls.each(function(i){
                if (parseInt(pls.eq(i).attr('id_photolink')) < highlightedPhotolink - Math.round(phListSize/2) 
                //   && highlightedPhotolink < parseInt(pls.length) - Math.round(phListSize/2)
                ){
                    ml ++; 
                }
            });
            var of = ml * phListElementWidth * -1;
            $('#panel-slider').animate({
                 'margin-left' : of+"px" 
            }, 400, function(){
	        //pls.eq(0).insertAfter(pls.eq(pls.length-1));
	        //pls.eq(0).css('margin-left',ml);
                //panelSliding = 0;
                console.log('Panel scrolled by: '+of);
            });

            /*
            if (highlightedPhotolink == 0){ highlightPhotolink(0); panelSliding = 0;return 0; }
            if (highlightedPhotolink == 1){ highlightPhotolink(1); panelSliding = 0;return 0; }
            if (highlightedPhotolink == 2){ highlightPhotolink(2); panelSliding = 0;return 0; }
            if (highlightedPhotolink == 3 && n === 1){ highlightPhotolink(3); panelSliding = 0;return 0; }
            if (highlightedPhotolink == pls.length-1){
                    highlightPhotolink(6); panelSliding = 0;return 0; }
            if (highlightedPhotolink == pls.length-2 ){
                    highlightPhotolink(5); panelSliding = 0;return 0; }
            if (highlightedPhotolink == pls.length-3){
                    highlightPhotolink(4); panelSliding = 0;return 0; }
            if (highlightedPhotolink == pls.length-4 && n === -1){
                    highlightPhotolink(3); panelSliding = 0;return 0; }
            ml = pls.css('margin-left');
            mwidth = '-120px';
            if (n === -1){
	        pls.eq(pls.length-1).insertBefore(pls.eq(0));
	        pls.eq(pls.length-1).css('margin-left',mwidth);
                pls.eq(pls.length-1).animate({
                            'margin-left': ml,
                            'transparency' : 0
                       }, 400, function(){
                           //panelSliding = 0;
                });
	    } else if (n === 1){
                pls.eq(0).animate({
                        'margin-left': mwidth,
                        'transparency' : 0
                   }, 400, function(){
	               pls.eq(0).insertAfter(pls.eq(pls.length-1));
	               pls.eq(0).css('margin-left',ml);
                       //panelSliding = 0;
                });
	    } else if (Math.abs(n) > 1) {
                for (i=0; i<Math.abs(n) ; i++){
                    setTimeout(function(){
                        scrollPhotolinksPanel(n/Math.abs(n));
                    },(i+1)*451);
                }
            }
            // done
           // restore photolinks
           setTimeout(function(){
               highlightPhotolink(3); panelSliding = 0;
           },450);
           */


    return true;
};

/**
 *
 */
PhotolinksList.prototype.highlightPhotolink = function(n){
    var pls = $("#panel").find('.frame-icon img');
    console.log('---> '+n);
    console.log(pls.eq(n));
    pls.each(function(i){
        //console.log(pls.eq(i).attr('id_photolink'));
        //newSrc = pls.eq(i).find('img').attr('src').replace("_green.jpg", ".jpg");
        //pls.eq(i).find('img').attr('src', newSrc);
        if (parseInt(pls.eq(i).attr('id_photolink')) != n ){
            pls.eq(i).css('opacity', '0.3');
        } else {
            pls.eq(n).css('opacity', '1');
            console.log('highlighting '+n);
        }
    });
    // highlight actual photolink
    //newSrc = pls.eq(n).find('img').attr('src').replace(".jpg", "_green.jpg");
    //pls.eq(n).find('img').attr('src', newSrc);
    //pls.eq(n).css({'width':'96px','height':'52px'});
};



module.exports = {PhotolinksList:PhotolinksList};