var movideoplayer = {
    // Javascript utility functions
    
    // The target 'id' of the movideoplayer *.swf file
    movideoplayerId: 'movideoplayerObject',
    
    // Test to identify null values
    doesValueExist: function(value){
        return !(value == 'null' || value == null);
    },
    
    getCookieOffset: function(offset){
        var endstr = document.cookie.indexOf(";", offset);
        if (endstr == -1) {
            endstr = document.cookie.length;
        }
        return unescape(document.cookie.substring(offset, endstr));
    },
    
    // Get and return the movideoplayer *.swf
    // movieName: The target 'id' of the movideoplayer *.swf file
    getPlayer: function(movieName){
        if (window.document[movieName]) {
            return window.document[movieName];
        }
        
        if (navigator.appName.indexOf("Microsoft Internet") == -1) {
            if (document.embeds && document.embeds[movieName]) return document.embeds[movieName];
        } else {
            return document.getElementById(movieName);
        }
    },
    
    // Javascript functions called by the movideoplayer
    
    // Return a value stored in the browser cookie. This is used to moniter a users session.
    // name: The name or 'key' of the assoicated value
    getCookieValue: function(name){
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen) {
            var j = i + alen;
            if (document.cookie.substring(i, j) == arg) {
                return movideoplayer.getCookieOffset(j);
            }
            i = document.cookie.indexOf(" ", i) + 1;
            if (i == 0) {
                break;
            }
        }
        return null;
    },
    
    initialize: function(){
    	//channelv.Page.initPlaylist();
    },
    
    popOutPlayer: function(propertyid){
    },
    
    // Stores a value in the browser cookie. This is used to moniter a users session.
    // name: The name or 'key' of the assoicated value
    // value: The value to store
    setCookieValue: function(name, value){
        var path = null;
        var domain = null;
        var secure = false;
        document.cookie = name + "=" + escape(value) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
    },
    
    updateAdvertisment: function(info){
    
    },
    
    updateCurrentTrack: function(propertyid, genericType){
        channelv.Page.VideoPlayListControllerObject.MovePlayHead(propertyid);
    },
    
    // Called by the media player when it's lock state has changed.
    // This should be used to disable any controls before an advertisement starts
    // to play and to re-enable them when the advert has finished
    updateMediaPlayerLock: function(isLocked){
    },
    
    // Javascript functions invoked on the movideoplayer
    
    addToPlaylistCall: function(propertyid, genericType, index){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).addToPlaylist(propertyid, genericType, index);
    },
    
    customPlaylistCall: function(genericType, propertyids){
    
        try {
            movideoplayer.getPlayer(movideoplayer.movideoplayerId).customPlaylist(genericType, propertyids);
            
        } catch (e) {
            var _this = this;
            setTimeout(function(g, p){
                _this.customPlaylistCall(g, p);
            }, 1000, genericType, propertyids);
            return;
        }
        
    },
    
    moveTrackByIndexCall: function(index, targetIndex){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).moveTrackByIndex(index, targetIndex);
    },
    
    moveTrackCall: function(propertyid, genericType, targetIndex){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).moveTrack(propertyid, genericType, targetIndex);
    },
    
    nextCall: function(){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).next();
    },
    
    pauseCall: function(propertyid, genericType){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).pause();
    },
    
	playLiveStreamCall: function (propertyId) {
		movideoplayer.getPlayer(movideoplayer.movideoplayerId).playLiveStream(propertyId);
	},
	
    playPlaylistCall: function(playlistid, position){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).playPlaylist(playlistid, position);
    },
    
    playTrackCall: function(propertyid, genericType){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).playTrack(propertyid, genericType);
    },
    
    previousCall: function(){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).previous();
    },
    
    removeFromPlaylistCall: function(propertyid, genericType){
    
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).removeFromPlaylist(propertyid, genericType);
    },
    
    resumeCall: function(){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).resume();
    },
    
    showSendToFriendCall: function(show){
        movideoplayer.getPlayer(movideoplayer.movideoplayerId).showSendToFriend(show);
    }
};
