var dylg = (dylg ? dylg : {obj: {} }); 


dylg.obj.video = (function ($) {
    var players = {};
    
    
    /* class that interacts with a player on the page */
    function playerControl (playerId) {
        this.id =  playerId
        this.instance = $('#'+ this.id).get(0);
    } // playerClass
    
    /** loads a new file or playlist in the player  */
    playerControl.prototype.load = function (config) {
        this.instance.sendEvent('LOAD', config);
    } //load()
    
    /** plays the currently loaded file */
    playerControl.prototype.play = function () {
        this.instance.sendEvent('PLAY');
    } //load()
    
    /** pauses playback if video is playing */
    playerControl.prototype.stop = function () {
        this.instance.sendEvent('STOP');
    } //load()
    
    /** tracks video starts and completed events */
    OBOXADS.fn.customTracking = function (data) {
        if (data && data.trackingId && !(data.isPreroll || data.type == 'playing') ) {
            var trackURL =  '/event-tracker/index/response/empty/eventType/4/eventId/';
            if (data.type == 'started') {
                trackURL += '3/';
            } else if (data.type == 'completed') {
                trackURL += '4/';
            } //if
            $.get( trackURL, {resourceId: data.trackingId});
        } //if
    };
    
    return {
        
        /** retreives a instance of playerControls for the given playerId  */
        getPlayer: function(playerId) {
            if ( ! (players && players[playerId]) ) {
                players[playerId] = new playerControl(playerId);
            } //if
            
            return players[playerId];
        },
        companion: function (playerId, companionURL) {
        
            var player = $('#' + playerId).get(0);
            var playerWrapper = $(player).parent();
            var playerOffset = $(player).offset();
    	    var playerHeight = $(player).height();
    	    var playerWidth = $(player).width();
    	    
    	    var compnaionDivHeight = playerHeight;
    	    var compnaionDivTop = playerOffset.top;
    	    
    	    /* video page companion set side big box */
    	    if ($(playerWrapper).hasClass('video_video')) {
    	        dylg.fn.refreshAd('side-primary', {url: companionURL});
    	        return;
            /* my home compnaion in place of poll */
    	    } else if ($(playerWrapper).hasClass('video_myhome')) {
    	        var compnaionDivLeft = playerOffset.left + playerWidth;
    	        var companionLeft =  22;
                var backgroundColor = 'transparent';
                $('.pollWidgetHolder').hide();
            /* home compnaion over top 1 */
    	    } else if ($(playerWrapper).hasClass('video_home')) {
    	        var companionLeft = 5;
    	        var compnaionDivLeft = playerOffset.left - 300 - 20;
    	        var compnaionDivHeight = 260;
    	        compnaionDivTop -= 37; 
                var backgroundColor = '#000000';
    	    } else {
    	       var companionLeft =  0;
    	       var backgroundColor = '#000000';
    	    } //if
    	    
    	    var companionTop = Math.round( (compnaionDivHeight - 250) / 2 );
    	    
    	    var iframeHTML = '<div class="adCompanion" style="background: '+ backgroundColor +'; position: absolute; top: '+ compnaionDivTop +'px; left: '+ compnaionDivLeft +'px; height: '+ compnaionDivHeight +'px; width: 310px;z-index: 100;">';
    	    iframeHTML += '<iframe class="adCompanion" src="'+ companionURL +'" frameborder="0" width="300" height="250" marginheight="0" marginwidth="0" scrolling="no" style="overflow: hidden; position:relative; top:'+ companionTop +'px;left:'+ companionLeft +'px;"></iframe>';
    	    iframeHTML += '</div>';
    	    
    	    $('body').prepend(iframeHTML);
        }
    };
})(jQuery);


