


if (typeof(XMLHttpRequest) == "undefined") {
 XMLHttpRequest = function () {
   var msxmls = ["MSXML3", "MSXML2", "Microsoft"];
   for (var i=0; i < msxmls.length; i++) {
 try {
   return new ActiveXObject(msxmls[i]+".XMLHTTP");
 } catch (e) { }
   }
   throw new Error("No XML component installed");
 }
}

function LiveBlog1414( pThreadId, pNewestAtBottom, pTime, pUserId, pAllowedToEdit, pDisplayLanguage,  pRootElement, pWidth )
{
    if( ( document.location + "" ).match( /(stage\.|localhost).*[\?&]reload=/i ) )
    {
        LiveBlog1414.LoadPageReload();
    }


    if( pNewestAtBottom == null )
    {
        pNewestAtBottom = true;
    }
    
    if( pTime == null ) 
    {
        pTime = ( new Date() ).toUTCString();
    }

    if( pWidth == null )
    {
        this.Width = 600;
    }
    else
    {
        this.Width = pWidth;
    }
    
    
    this.UserId = pUserId;
    this.NewestAtBottom = pNewestAtBottom;
    this.Time = new Date( pTime );
    
    if( ( pThreadId + "").match( /^[0-9]+$/ ) )
    {
        this.ThreadId = pThreadId;
        this.ThreadKey = "";
    }
    else
    {
        this.ThreadId = "";
        this.ThreadKey = pThreadId;
    }
    
    if( pRootElement == null )
    {
        this.PostsList = document.getElementById("Posts");
    }
    else
    {
        this.PostsList = pRootElement;
    }
    
    this.GroupPostsLists = new Array();
    this.GroupPostsLists[0] = this.PostsList;
    
    this.GroupNewestAtBottom = new Array();
    this.GroupNewestAtBottom[0] = this.NewestAtBottom;
    
    this.IsScriptaculousAvailable = false;
    this.IsjQueryAvailable = LiveBlog1414.CheckIfjQueryAvailable();
    
    this.IsPostUIAvailable = false;
    try
    {
        this.IsPostUIAvailable = ( PostUI != null );
    }
    catch( Error ) {}
    
    this.IsSoundManagerAvailable = false;
    try
    {
        this.IsSoundManagerAvailable = ( soundManager != null && soundManager.createSound != null );
    }
    catch( Error ) {}
    
    this.IsCrossDomain = false;
    if( ! ( document.location + "" ).match( /(https?:\/\/[a-z0-9\-]*\.?scribblelive\.com\/|https?:\/\/localhost|https?:\/\/liveblogs.thescore.com|https?:\/\/www.scribblelive.com|http:\/\/www.scribblelive.com)/i ) )
    {
        this.IsCrossDomain = true;
    }
    
    this.AllowedToEdit = ( pAllowedToEdit == true );
    
    this.FadeColor_Start = "#0099cc";
    this.FadeColor_End = "#ffffff";
    
    
        this.FadeColor_End_Comment =  null;
    
    
    this.NumPolls = 0;
    
    this.IsEmergency = false;
    
    this.CurrentVisitors = 0;
    
    this.DisplayLanguage = pDisplayLanguage;
    
    this.CurrentRequestId = null;
    
    this.HasShownReloadPrompt = false;
    
    if( this.DisplayLanguage )
    {
        this.TranslateAllPosts();
    }
    
    LiveBlog1414.StoreInstance( this );
    
    this.LastModeratedCommentsPulsate = null;
    
    this.PollForModeratedComments();
    
    this.PollForMetrics();
    
    this.NewPostSound = null;
    
    this.MaxCommentsDisplayed = 10;
    this.MaxTweetsDisplayed = 10;
    this.MaxListItems = 200;
    
    this.UseCDN = true;
    
    this.IsModerated = true;
    
    LiveBlog1414.StartAdReload();
    
    this.IsCometAvailable = false;
        
        
        
}

        

LiveBlog1414.CheckIfjQueryAvailable = function()
{
    if( LiveBlog1414.IsjQueryAvailable != null )
    {
        return LiveBlog1414.IsjQueryAvailable;
    }
    else
    {
        LiveBlog1414.IsjQueryAvailable = false;
        try
        {
            LiveBlog1414.IsjQueryAvailable = ( jQuery != null && jQuery.effects != null );
        }
        catch( Error ) {}
        
        return LiveBlog1414.IsjQueryAvailable;
    }
}


LiveBlog1414.CheckIfSWFObjectAvailable = function()
{
    if( LiveBlog1414.IsSWFObjectAvailable != null )
    {
        return LiveBlog1414.IsSWFObjectAvailable;
    }
    else
    {
        LiveBlog1414.IsSWFObjectAvailable = false;
        try
        {
            LiveBlog1414.IsSWFObjectAvailable = ( SWFObject != null );
        }
        catch( Error ) {}
        
        return LiveBlog1414.IsSWFObjectAvailable;
    }
}

LiveBlog1414.prototype.AddGroupPostsList = function( pGroupId, pElement, pNewestAtBottom )
{
    this.GroupPostsLists[ pGroupId ] = pElement;
    
    if( pNewestAtBottom == null )
    {
        pNewestAtBottom = this.NewestAtBottom;
    }
    
    this.GroupNewestAtBottom[ pGroupId ] = pNewestAtBottom;
}

LiveBlog1414.prototype.GetGroupNewestAtBottom = function( pGroupId )
{
    if( pGroupId == null )
    {
        pGroupId = 0;
    }

    return this.GroupNewestAtBottom[ pGroupId ];
}

LiveBlog1414.prototype.GetGroupPostsList = function( pGroupId )
{
    if( pGroupId == null )
    {
        pGroupId = 0;
    }

    return this.GroupPostsLists[ pGroupId ];
}

LiveBlog1414.prototype.TranslateAllPosts = function( pDisplayLanguage )
{
    if( ! pDisplayLanguage )
    {
        if( ! this.DisplayLanguage )
        {
            return;
        }
        else
        {
            pDisplayLanguage = this.DisplayLanguage;
        }
    }
    else
    {
        this.DisplayLanguage = pDisplayLanguage;
    }
    
    if( !this.IsCrossDomain )
    {
        var h2s = document.getElementsByTagName("h2");
        for( var i = 0; i < h2s.length; i++ )
        {
            this.TranslateContent( h2s[i].innerHTML, h2s[i] );
        }
        
        var h3s = document.getElementsByTagName("h3");
        for( var i = 0; i < h3s.length; i++ )
        {
            this.TranslateContent( h3s[i].innerHTML, h3s[i] );
        }
    

        var ExistingPosts = this.PostsList.getElementsByTagName("div");
        
        for( var i = 0; i < ExistingPosts.length; i++ )
        {
            var CurrentPostContent = ExistingPosts[i];
            
            if( CurrentPostContent.className.match( "Content" ) 
                && ! CurrentPostContent.innerHTML.match( /<(img|embed|object)/i )
                )
            {
                this.TranslateContent( CurrentPostContent.innerHTML, CurrentPostContent );
            }
        }
    }
    else
    {
        var ExistingPosts = this.PostsList.getElementsByTagName("li");
        
        for( var i = 0; i < ExistingPosts.length; i++ )
        {
            var CurrentPostContent = ExistingPosts[i];
            
            if( ! CurrentPostContent.innerHTML.match( /<(embed|object|img)/i ) 
                )
            {
                this.TranslateContent( CurrentPostContent.innerHTML, CurrentPostContent );
            }
        }
    }
}

LiveBlog1414.StoreInstance = function( pLiveBlog )
{
    if( LiveBlog1414.__instances == null )
    {
        LiveBlog1414.__instances = new Array();
    }
    
    var HashKey;
    
    if( pLiveBlog.ThreadId != "" )
    {
        HashKey = "" + pLiveBlog.ThreadId;
    }
    else if( pLiveBlog.ThreadKey != "" )
    {
        HashKey = pLiveBlog.ThreadKey;
    }
    else
    {
        HashKey = "0";
    }   
    
    if( LiveBlog1414.__instances[HashKey] == null )
    {
        LiveBlog1414.__instance = pLiveBlog;
        LiveBlog1414.__instances[HashKey] = pLiveBlog;
        return true;
    }
    else
    {
        return false;
    }
}

LiveBlog1414.GetInstance = function( pThreadId )
{
    if( LiveBlog1414.__instances == null )
    {
        return null;
    }
    else if( pThreadId == null )
    {
        return LiveBlog1414.__instance;
    }
    else
    {
        return LiveBlog1414.__instances[""+pThreadId];
    }
    
}

LiveBlog1414.GetInstances = function()
{
    return LiveBlog1414.__instances;
}


LiveBlog1414.DestroyElement = function( pElement )
{
    pElement.parentNode.removeChild( pElement );
    
    return false;
}

LiveBlog1414.UserLanguage = function()
{   
    if( ( document.location + "" ).match( /http:\/\/(www\.scribblelive\.com\/|localhost)/i ) )
    {
        return "English (United States)";
    }
    else if( navigator.userLanguage != null ) 
    {
	    return navigator.userLanguage;
    }
    else if( navigator.language != null ) 
    {
	    return navigator.language;
    }
    else
    {
        return "en";
    }
}

LiveBlog1414.Ping = function( pThreadId, pResponseObject, pIgnoreTime )
{
    var _LiveBlog = LiveBlog1414.GetInstance( pThreadId );
    
    if( _LiveBlog == null )
    {
        return;
    }
    
    if( pIgnoreTime == null ) pIgnoreTime = false;
    
    var IncludesPosts = false;
    
    if( pResponseObject.Posts != null )
    {
        IncludesPosts = true;
    }
    
    var CurrentUTCServerTime = new Date( pResponseObject.Time );
    
    if( pIgnoreTime || CurrentUTCServerTime >= new Date( _LiveBlog.Time ) )
    {
         _LiveBlog.PollForNew_Handler( pResponseObject );
    }
    
    var Scripts = document.getElementsByTagName("script");
    for( var i = 0; i < Scripts.length; i++ )
    {
        if( ( Scripts[i].src + "" ).match( /(liveupdate1\.scribblelive\.com|cdn\.cloudfront|lastmodified\.aspx)/i ) )
        {
            //LiveBlog1414.DestroyElement( Scripts[i] );
        }
    }
    
    var PollDelay = 6000;
    
    var RandDelayAddition = Math.round(Math.random()*4000);
    
    if( RandDelayAddition > 2000 )
    {
        PollDelay += RandDelayAddition - 2000;
    }
    else
    {
        PollDelay -= RandDelayAddition;
    }
    
    if( IncludesPosts )
    {
        setTimeout( function() { _LiveBlog.PollForNew( _LiveBlog.Time ); }, PollDelay ); 
    }
    else
    {
        if( new Date( pResponseObject.Time ) > new Date( _LiveBlog.Time ) )
        {
            _LiveBlog.PollForNew( _LiveBlog.Time, true );
        }
        else
        {
            setTimeout( function() { _LiveBlog.PollForNew( _LiveBlog.Time ); }, PollDelay );
        }
    }  
}

LiveBlog1414.prototype.PollForNew_Handler = function( pResponseObject )
{

    var ResponseObject = pResponseObject;
	
    var CurrentTime = ResponseObject.Time;
    
    var CurrentUTCServerTime = new Date( ResponseObject.Time );
    
    var Posts = ResponseObject.Posts;
        
    var ValidActions = 0;
    
    
    if( Posts != null )
    {
        var AutoScroll = false;
    	
        if( ! this.IsCrossDomain && Posts.length > 0 && this.NewestAtBottom )
        {
            AutoScroll = ( ( LiveBlog1414.YPosition() + 50 ) >= LiveBlog1414.PageHeight() )
        }
        
        try
        {
            if( ! this.UserId )
            {
                this.UserId = -1;
            }
        }
        catch( err )
        {
            this.UserId = -1;
        }


        
        
        var PostElement;
        var PostDate;
        
        for( var i = 0; i < Posts.length; i++ )
        {
            PostDate = new Date( Posts[i].Date );
            
            if( PostDate <= this.Time )
            {
                // DO NOTHING
            }
            else
            {
                if( this.GetGroupPostsList( Posts[i].Group ) == null ) 
                {
                    // DO NOTHING
                }
                else if( this.NewestAtBottom && !this.IsCrossDomain && !Posts[i].IsDeleted && ( Posts[i].EditorId == null || Posts[i].EditorId == "" ) && document.getElementById("LiveBlog_Post" + Posts[i].Id) == null && Posts[i].Type == "1" )
                {
                
                    if( !this.HasShownReloadPrompt )
                    {
                        Posts[i].Rank = 0;
                        Posts[i].Content = "<em>This event is now going live! <a href='#' onclick='return LiveBlog1414.ReloadPage()'>Click here to reload</a> to see all the new posts</em>";
                    
                        this.AttachNewPost( Posts[i] );
                    
                        AutoScroll = false;
                    
                        LiveBlog1414.ScrollToBottom();
                        
                        this.HasShownReloadPrompt = true;
                    }
                    
                } // SYSTEM MESSAGE
                else if( 
                    Posts[i].Type == "4"  
                    && ( this.AllowedToEdit || Posts[i].CreatorId == this.Userid || Posts[i].EditorId == this.UserId )
                )
                {
                    
                    // INVITE
                    if( this.EditorId == this.UserId && Posts[i].Content.match( /invited/ ) )
                    {
                        if( confirm( "You have been invited to join this live event as a writer.\nClick OK to load the writer interface immediately, or just reload when you have a chance." ) )
                        {
                            LiveBlog1414.ReloadPage();
                        }
                        
                    }
                    else
                    {
                        this.AttachNewPost( Posts[i], 5 );
                    }
                    
                    
                }
                else if( Posts[i].IsDeleted && document.getElementById("LiveBlog_Post" + Posts[i].Id) != null )
                {
                    this.DisconnectPost( document.getElementById("LiveBlog_Post" + Posts[i].Id ), ValidActions );
                    ValidActions++;
                }
                else if( 
                    document.getElementById("LiveBlog_Post" + Posts[i].Id) != null  
                    && document.getElementById("LiveBlog_Post" + Posts[i].Id).parentNode == document.getElementById("VideoHolderList")
                    )
                {
                    if( Posts[i].Rank > 0 )
                    {
                        PostElement = document.getElementById("LiveBlog_Post" + Posts[i].Id);
                        PostElement.id += "DELETING";
                        this.DisconnectPost( PostElement, ValidActions );
                        
                        if( this.IsCrossDomain )
                        {
                            this.AttachNewCrossposting( Posts[i] );
                        }
                        else if( ! Posts[i].IsComment )
                        {
                            this.AttachNewPost( Posts[i], null, null, ValidActions );
                        }
                        else
                        {
                            this.AttachNewComment( Posts[i], null, null, ValidActions );
                        }
                        
                        ValidActions++;
                    }                
                }
                else if( 
                    ( !Posts[i].IsDeleted && document.getElementById("LiveBlog_Post" + Posts[i].Id) == null )
                    || ( 
                        document.getElementById("LiveBlog_Post" + Posts[i].Id) != null  
                        && document.getElementById("LiveBlog_Post" + Posts[i].Id).parentNode != this.GetGroupPostsList( Posts[i].Group )
                        && document.getElementById("LiveBlog_Post" + Posts[i].Id).parentNode != document.getElementById("VideoHolderList")
                        )
                    )
                {
                
                    if( document.getElementById("LiveBlog_Post" + Posts[i].Id) != null  )
                    {
                        PostElement = document.getElementById("LiveBlog_Post" + Posts[i].Id);
                        PostElement.id += "DELETING";
                        this.DisconnectPost( PostElement, ValidActions   );
                    }   
                
                    if( this.IsCrossDomain )
                    {
                        this.AttachNewCrossposting( Posts[i] );
                    }
                    else if( ! Posts[i].IsComment )
                    {
                
                        this.AttachNewPost( Posts[i], null, null, ValidActions );
                        
                        
                        if( Posts[i].Source == "" )
                        {
                            this.UpdateWhosBlogging( Posts[i].CreatorName, LiveBlog1414.GetUrlWithCorrectSecurity( Posts[i].CreatorThumbnail ) );
                        }
                        
                    }
                    else
                    {
                        this.AttachNewComment( Posts[i], null, null, ValidActions );
                        
                    }
                    
                    ValidActions++;
                }
                else if(
                    document.getElementById("LiveBlog_Post" + Posts[i].Id) != null
                    && 
                    (
                        ( Posts[i].EditorId != null && Posts[i].EditorId != "" && Posts[i].EditorId != this.UserId )
                        || ( Posts[i].EditorId == "" && Posts[i].CreatorId != this.UserId )
                     
                    )
                    && !this.IsCrossDomain
                )
                {
                    PostElement = document.getElementById("LiveBlog_Post" + Posts[i].Id );
                    
                    if( 
                    PostElement.firstChild.className.match("IsEditing") == null 
                    && PostElement.LastModified != Posts[i].Date
                    ) 
                    {
                        if( !Posts[i].Content.match( /(<img|<embed|<object)/i ) && Posts[i].Type == "1" )
                        {
                            PostElement.firstChild.innerHTML = this.TranslateContent( Posts[i].Content.replace( /&quot;/g, "\"" ), document.getElementById("LiveBlog_Post" + Posts[i].Id ).firstChild );
                        }
                        
                        PostElement.getElementsByTagName("div")[1].innerHTML = "by <em>" 
                            + ( Posts[i].CreatorId == this.UserId ? "you" : Posts[i].CreatorName ) + "</em>"
                            + ( Posts[i].Source != null ? " <span class='Source'>via " + Posts[i].Source + "</span> " : "" )
                            + "</em> edited by <em>" 
                            + ( Posts[i].EditorId == this.UserId ? "you" : ( Posts[i].EditorName != "" ? Posts[i].EditorName : Posts[i].CreatorName ) )
                            + "</em> at " + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( Posts[i].Date );
                        
                       
                        this.SetPostRank( PostElement, Posts[i].Rank, Posts[i].Group );
                        
                        this.OnEditPost( PostElement, PostElement.parentNode, Posts[i].Id, Posts[i].Rank, Posts[i].Group );
                        
                        this.FlashEdited(PostElement);
                        
                        ValidActions++;
                    }
                }
                else if(
                    document.getElementById("LiveBlog_Post" + Posts[i].Id) != null
                    && 
                    (
                        ( Posts[i].EditorId != null && Posts[i].EditorId != "" && Posts[i].EditorId != this.UserId )
                        || ( Posts[i].EditorId == "" && Posts[i].CreatorId != this.UserId )
                     
                    )
                    && this.IsCrossDomain
                    && !Posts[i].Content.match( /(<img|<object|<embed)/i )
                    && Posts[i].Type == "1"
                )
                {
                    PostElement = document.getElementById("LiveBlog_Post" + Posts[i].Id );
                    
                    PostElement.innerHTML = PostElement.innerHTML.replace( /^(.*?<\/em>).*$/i, "$1 " + Posts[i].Content );
                
                    this.SetPostRank( PostElement, Posts[i].Rank, Posts[i].Group );
                    
                    this.OnEditPost( PostElement, PostElement.parentNode, Posts[i].Id, Posts[i].Rank, Posts[i].Group );
                        
                    this.FadeIn( document.getElementById("LiveBlog_Post" + Posts[i].Id ) );
                    
                    ValidActions++;
                }
                else if( document.getElementById("LiveBlog_Post" + Posts[i].Id ) != null )
                {           
                    this.SetPostRank( document.getElementById("LiveBlog_Post" + Posts[i].Id ), Posts[i].Rank, Posts[i].Group );
                }
            
            }
            
            
        }
        
    }
    
    if( Posts != null )
    {
        this.Time = CurrentUTCServerTime;
    }
   
}

LiveBlog1414.prototype.DisconnectPost = function( pItem, pNumChainedActions )
{
    if( pItem == null )
    {
        return;
    }
    
    if( pNumChainedActions == null )
    {
        pNumChainedActions = 0;
    }
    
    if( pItem.IsDeleted != null && pItem.IsDeleted )
    {
        return;
    }
    
    /*
    var Embeds = pItem.getElementsByTagName("embed");
    if( Embeds.length > 0 )
    {
        for( var i = 0; i < Embeds.length; i++ )
        {
            Embeds[i].parentNode.removeChild( Embeds[i] );
        }
    }
    
    Embeds = pItem.getElementsByTagName("object");
    if( Embeds.length > 0 )
    {
        for( var i = 0; i < Embeds.length; i++ )
        {
            Embeds[i].parentNode.removeChild( Embeds[i] );
        } 
    }
    */
    
    if( ( pItem.className + "" ).match( /Comment/ ) ) this.UpdateStats( 0, -1 )
    else this.UpdateStats( -1, 0 )
    
    for( var i = 0; i < pItem.parentNode.childNodes.length; i++ )
    {
        if( pItem.parentNode.childNodes[i].tagName == null || pItem.parentNode.childNodes[i].tagName.toUpperCase() != "LI" )
        {
            pItem.parentNode.removeChild( pItem.parentNode.childNodes[i] );
        }
    }
    
    
    var IsFirstChild = false;
    if( pItem.id == pItem.parentNode.firstChild.id && pItem.parentNode.childNodes.length > 1 )
    {
        IsFirstChild = true;
        pItem.nextSibling.className = pItem.nextSibling.className + " First";
    }
    
    if( pNumChainedActions < 10 && this.IsjQueryAvailable )
    {
        pItem.IsDeleted = true;
        jQuery(pItem).animate({opacity:"0", height:"0"}, 500);
        setTimeout( function()
        {
            if( pItem != null )
            {
                pItem.parentNode.removeChild( pItem );
            }
        }, 600 );
    }
    else
    {
        pItem.parentNode.removeChild( pItem );
    }
    
}


LiveBlog1414.prototype.PollForNew = function( Since, pFullPoll )
{
    if( this.IsCometAvailable ) return;
    
    if( pFullPoll == null )
    {
        pFullPoll = false;
    }


    if( Since == null )
    {
        Since = this.Time;
    }
    
    var _LiveBlog = this;
    
    /*
    if( ! this.NewestAtBottom && LiveBlog1414.YPosition() > LiveBlog1414.findPosY( this.PostsList ) + 100 )
    {
	    setTimeout( function() { _LiveBlog.PollForNew( Since, pFullPoll ); }, 2000 );
	    return;
	}
	*/
    
    
    this.NumPolls++;
    
    var PollFilename;
    
    if( pFullPoll )
    {
        PollFilename = "recentposts.js";
    }
    else
    {
        PollFilename = "lastmodified.js";
    }

    var PollUrlDomain;
    var ScriptUrl;
    
    if( this.ThreadKey != "" )
    {
        ScriptUrl = "/LastModified.aspx?ThreadKey=" + this.ThreadKey + "&rand=" + Math.round( 100000000 * Math.random() );
    }
    else if( ( document.location + "" ).match(/(scribblelive0|localhost|keebler\.net)/i) || this.AllowedToEdit || ! this.UseCDN )
    {
        ScriptUrl = "/LastModified.aspx?ThreadId=" + this.ThreadId + "&rand=" + Math.round( 100000000 * Math.random() );
    }
    else if( ( document.location + "" ).match(/embed-stage\.scribblelive\.com/i) )
    {
        PollUrlDomain = "http://liveupdate1-stage.scribblelive.com/";
        ScriptUrl = PollUrlDomain + ( this.ThreadId + "" ).replace( /([0-9])/g, "$1\/" ) +  PollFilename + "?rand=" + Math.round( 100000000 * Math.random() );
    
    }
    else
    {
        if( LiveBlog1414.IsSecure() )
        {
            PollUrlDomain = "https://s3.amazonaws.com/liveupdate1.scribblelive.com/"
        }
        else
        {
            PollUrlDomain = "http://liveupdate1.scribblelive.com/";
        }
        
        ScriptUrl = PollUrlDomain + ( this.ThreadId + "" ).replace( /([0-9])/g, "$1\/" ) +  PollFilename + "?rand=" + Math.round( 100000000 * Math.random() );
    }

    var PollScript = document.createElement("script");
    PollScript.src = ScriptUrl;
    PollScript.type = "text/javascript";
    
    var RequestId = Math.round(Math.random()*10000000000);
    
    _LiveBlog.CurrentRequestId = RequestId;
    
	document.getElementsByTagName("head")[0].appendChild( PollScript );
	
	var RequestChecks = 0;
	
	
	var Interval = setInterval( function()
        {
            if( _LiveBlog.CurrentRequestId != RequestId )
            {
                // TODO: figure out why this line failed in IE7 for Matt
                PollScript.parentNode.removeChild( PollScript );
                clearInterval( Interval );
            }
            else if( _LiveBlog.CurrentRequestId == RequestId && RequestChecks > 15 )
            {
                _LiveBlog.PollForNew( Since, pFullPoll );
                clearInterval( Interval );
            }
        
            RequestChecks++;
            
        }, 1000 );

}

LiveBlog1414.prototype.MetricsPing = function( pCurrentVisitors, pTotalVisitors )
{
    this.CurrentVisitors = pCurrentVisitors;
    
    var PollScript = document.getElementById("MetricsScript");
    
    PollScript.parentNode.removeChild( PollScript );
    
    if( parseInt( this.CurrentVisitors ) > 100 )
    {
        this.IsEmergency = true;
    }
    
    var ems = document.getElementsByTagName( "em" );
    
    for( var i = 0; i < ems.length; i++ )
    {
        if( ems[i].className == "CurrentVisitors" )
        {
            if( this.NewestAtBottom ) 
            {
                ems[i].innerHTML = "";
            }
            else
            {
                ems[i].innerHTML = ( this.CurrentVisitors == "1" ? "" : "(" + this.CurrentVisitors + "&nbsp;watchers)" );
            }
        }
    }
    
    if( document.getElementById("TotalVisitors") != null )
    {
        //document.getElementById("TotalVisitors").innerHTML = ( parseInt( pCurrentVisitors ) + parseInt( pTotalVisitors ) );
    }
}

LiveBlog1414.prototype.UpdateWhosBlogging = function( pCreatorName, pCreatorThumb )
{
    var Sidebar = document.getElementById( "WhosBloggingSidebar" );
    
    if( Sidebar != null )
    {
    
        if( this.Writers == null )
        {
            this.Writers = new Array();
            
            var WritersInSidebar = Sidebar.getElementsByTagName( "li" );
            var WriterName;
            for( var i = 0; i < WritersInSidebar.length; i++ )
            {
                try
                {
                    WriterName = ( WritersInSidebar[i].innerHTML + "" ).match( /([^>]+)\s*$/ )[1];
                    this.Writers[ WriterName ] = 1;
                } catch( err ) {}
            }
        }
        
        if( this.Writers[ pCreatorName ] == null )
        {
            var ThumbImg = "<img src='http://avatars.scribblelive.com/default.png' />";
            if( pCreatorThumb != null && pCreatorThumb != "" )
            {
                ThumbImg = "<img src='" + pCreatorThumb + "' />";
            }
        
            Sidebar.getElementsByTagName("ul")[0].innerHTML += "<li>" + ThumbImg + pCreatorName + "</li>";
            this.Writers[ pCreatorName ] = 1;
        }
    }
}

LiveBlog1414.prototype.UpdateStats = function( pIncrementNumPosts, pIncrementNumComments )
{
    if( pIncrementNumPosts != null && pIncrementNumPosts != 0 && document.getElementById("TotalPosts") != null )
    {
        document.getElementById("TotalPosts").innerHTML = parseInt( document.getElementById("TotalPosts").innerHTML ) + pIncrementNumPosts;
    }
    
    if( pIncrementNumComments != null && pIncrementNumComments != 0 && document.getElementById("TotalComments") != null )
    {
        document.getElementById("TotalComments").innerHTML = parseInt( document.getElementById("TotalComments").innerHTML ) + pIncrementNumComments;
    }
}

LiveBlog1414.prototype.PollForMetrics = function()
{
    this.GetMetrics();
    
    var LiveBlogInstance = this;

    var MetricsInterval = setInterval( function()
        {
            LiveBlogInstance.GetMetrics();    
        }, 50000 + Math.round( 10000 * Math.random() ) );
}

LiveBlog1414.prototype.GetMetrics = function()
{
    var HitUrl = ( LiveBlog1414.IsSecure() ? "https" : "http" ) + "://whos.amung.us/api/query/scribblelive/track/id=" + this.ThreadId + "&rand=" + Math.round( 100000000 * Math.random() );
    
    var PollScript = document.createElement("script");
    PollScript.src = HitUrl;
    PollScript.type = "text/javascript";
    PollScript.id = "MetricsScript";
	document.getElementsByTagName("head")[0].appendChild( PollScript );
    
}

LiveBlog1414.prototype.PollForModeratedComments = function()
{

    if( !this.AllowedToEdit || this.IsCrossDomain || document.getElementById("Moderated") == null )
    {
        return false;
    }   
    
    if( this.ModCommentsSince == null )
    {
        this.ModCommentsSince = "";
    }
 
    var req = new XMLHttpRequest();
    req.open("GET", "/GetModeratedPosts.aspx?threadid=" + this.ThreadId + "&since=" + ( this.ModCommentsSince ) + "&rand=" + Math.round( 10000000 * Math.random() ), true );
    
    var _LiveBlog = this;
    
    req.onreadystatechange = function()
        {
            if( req.readyState == 4 )
            {
            
                if( req.status == 200 && req.responseText != "" )
                {
                
			        var ResponseObject = eval("(" +  req.responseText + ")" );
			        
			        if( this.ModCommentsSince != "" )
			        {   
			            var ModeratedComments = ResponseObject.ModeratedComments;
                        if( ModeratedComments != null )
                        {
                            for( var i = 0; i < ModeratedComments.length; i++ )
                            {
                                if( ModeratedComments[i].IsDeleted == "0" )
                                {
                                    _LiveBlog.AttachNewModeratedComment( ModeratedComments[i] );
                                }
                                else
                                {
                                    _LiveBlog.DisconnectPost( document.getElementById("LiveBlog_Post" + ModeratedComments[i].Id ) );
                                }
                            }
                        }
                    
                    }    
                        
                    _LiveBlog.ModCommentsSince = ResponseObject.Time;
                    
                    setTimeout( function() { _LiveBlog.PollForModeratedComments( ); }, 5000 );
                }
                else
                {
				    setTimeout( function() { _LiveBlog.PollForModeratedComments( ); }, 10000 );
                }
            }
        };
    
    req.send( null );
    
    
    return true;
}

LiveBlog1414.prototype.GetStickyPosts = function( pListElement, pItem )
{
    if( this.IsjQueryAvailable )
    {
        return jQuery.makeArray( jQuery( pListElement ).children( "li.Sticky:not(#" + pItem.id + ")" ) );
    }
    else
    {
        var Stickies = new Array();
        
        var AllPosts = pListElement.getElementsByTagName("li");
        
        for( var i = 0; i < AllPosts.length; i++ )
        {
            if( 
                ( AllPosts[i].className + "" ).match( /Sticky/ ) 
                && AllPosts[i] != pItem
            )
            {
                Stickies.push( AllPosts[i] );
            }
        }
        
        return Stickies;
    }
}

LiveBlog1414.prototype.IsEmbed = function( pElement )
{
    if( pElement != null && pElement.getElementsByTagName("div").length > 0 )
    {
        return ( pElement.getElementsByTagName("div")[0].innerHTML.match( /(object|embed)/i ) );
    }
    else
    {
        return false;
    }
}

LiveBlog1414.prototype.IsStuck = function( pElement )
{
    return ( pElement.className + "" ).match( /Sticky/ );
}


LiveBlog1414.prototype.SetPostRank = function( Item, pRank, pGroupId )
{
    return this.ConnectNewPost( Item, null, null, null, pRank, pGroupId );
}

LiveBlog1414.prototype.OnEditPost = function( )
{
    return true;
}

LiveBlog1414.prototype.OnConnectNewPost = function( )
{
    return true;
}

LiveBlog1414.prototype.ConnectNewPost = function( Item, ListElement, pNewestAtBottom, pMaxListItems, pRank, pGroupId, pNumChainedActions )
{
    if( ! this.OnConnectNewPost( Item, ListElement, pNewestAtBottom, pMaxListItems, pRank, pGroupId ) )
    {
        return;
    }
    
    if ( pNumChainedActions == null )
    {
        pNumChainedActions = 0;
    }
    
    if( pGroupId == null )
    {
        pGroupId = 0;
    }


    if( ListElement == null )
    {
        ListElement = this.GetGroupPostsList( pGroupId );
        
        if( ListElement == null )
        {
            return;
        }
    }
    
    var ShouldBeStuckInSidebar = false;
    if( ListElement == this.GetGroupPostsList( 0 ) 
        && pRank == 0 
        && this.IsEmbed( Item ) 
        && document.getElementById("VideoHolderList") != null )
    {
        ListElement = document.getElementById("VideoHolderList");
        ShouldBeStuckInSidebar = true;
    }
    
    // If it's already connected property
    if( ListElement == Item.parentNode )
    {
        if( pRank == 0 && this.IsStuck( Item ) )
        {
            return;
        }
        else if( pRank > 0 && !this.IsStuck( Item ) )
        {
            return;
        }
    }
    
    if( ShouldBeStuckInSidebar )
    {
        var ContentElement = Item.getElementsByTagName("div")[0];
        ContentElement.innerHTML = LiveBlog1414.ResizeObjectEmbed( ContentElement.innerHTML, 300, 500 );
        
        var Spans = ContentElement.getElementsByTagName("span");
        if( Spans.length > 0 )
        {
            for( var i = 0; i < Spans.length; i++ )
            {
                if( ( Spans[i].className + "" ).match( /VideoEmbedHolder/ ) )
                {
                    Spans[i].style.width = "auto";
                    Spans[i].style.height = "auto";
                }
            }
        }
    }
    
    if( ( Item.className + "" ).match( /Comment/ ) ) this.UpdateStats( 0, 1 )
    else this.UpdateStats( 1, 0 )
    
    var IsSlidingIn = false;
    if( pNumChainedActions < 10 && this.IsjQueryAvailable && ( Item.parentNode == null || typeof Item.parentNode == "object" ) )
    {
        IsSlidingIn = true;
        Item.style.display = "none";
    }
    
    if( pNewestAtBottom == null )
    {
        pNewestAtBottom = this.GetGroupNewestAtBottom( pGroupId );
    }
    
    if( pMaxListItems == null )
    {
        pMaxListItems = this.MaxListItems;
    }
    else if( pMaxListItems > this.MaxListItems )
    {
        pMaxListItems = this.MaxListItems;
    }
    
    if( pRank == null || ! this.IsjQueryAvailable )
    {
        pRank = 1;
    }
    
    
    if( pRank == 0 )
    {
        Item.className += " Sticky";
    }
    else
    {
        Item.className = ( Item.className + "" ).replace( /Sticky/g, "" );
    }
    
    if( pNewestAtBottom || ListElement.getElementsByTagName("li").length <= 0 )
    {
        ListElement.appendChild( Item );
        
        if( ListElement.getElementsByTagName("li").length == 1 )
        {
            Item.className += " First";
        }
    }
    else
    {
        var Stickies = this.GetStickyPosts( ListElement, Item );
        
        if( Stickies.length <= 0 )
        {
            for( var i = 0; i < ListElement.childNodes.length && i < 3; i++ )
            {
                if( ListElement.childNodes[i].className )
                {
                    ListElement.childNodes[i].className = ListElement.childNodes[i].className.replace( "First", "" );
                }
            }
            
            Item.className += " First";
        
            if( this.IsjQueryAvailable )
            {
                jQuery( ListElement ).prepend( Item );
            }
            else
            {
                ListElement.insertBefore( Item, ListElement.firstChild );
            }
        }
        else
        {
            if( Stickies[ Stickies.length - 1 ].nextSibling == null )
            {
                ListElement.appendChild( Item );
            }
            else
            {
                ListElement.insertBefore( Item, Stickies[ Stickies.length - 1 ].nextSibling );
            }
        }
    }
    
    if( this.IsjQueryAvailable && IsSlidingIn )
    {
        ItemHeight = jQuery(Item).height() + "px";
        jQuery(Item).css({'display':'block', 'height':'0', 'verticalAlign':'top'});
        jQuery(Item).animate({height:ItemHeight}, 500 );
        this.FadeIn(Item);
        setTimeout( function()
        {
            jQuery(Item).css({'height':'auto'});
        }, 550 );
    }
    else if( this.FadeColor_End != null )
    {
        Item.style.backgroundColor = this.FadeColor_End;
        Item.style.display = "block";
    }

    
    
    try
    {
        if( 
            this.NewPostSound != null 
            && this.IsSoundManagerAvailable 
            && ( this.LastSoundPlay == null || this.LastSoundPlay + "" != new Date() + "" )
            )
        {
        
            if( soundManager.getSoundById("ScribbleLiveSoundEmbed") == null )
            {
                soundManager.createSound({
                  id: 'ScribbleLiveSoundEmbed',
                  url: this.NewPostSound,
                  autoLoad: true,
                  autoPlay: true
                });
            }
            else if( soundManager.getSoundById("ScribbleLiveSoundEmbed").url != this.NewPostSound  )
            {
                soundManager.getSoundById("ScribbleLiveSoundEmbed").destruct();
                soundManager.createSound({
                  id: 'ScribbleLiveSoundEmbed',
                  url: this.NewPostSound,
                  autoLoad: true,
                  autoPlay: true
                });
            }
            else
            {
                soundManager.getSoundById("ScribbleLiveSoundEmbed").play();
            }
            
            this.LastSoundPlay = new Date();
        
        }
    }
    catch( Error )
    {}
    
    
    if( ListElement.childNodes.length > pMaxListItems )
    {
        var OnTheBubble;
        
        if( pNewestAtBottom )
        {
            OnTheBubble = ListElement.getElementsByTagName("li")[0];
        }
        else
        {
            if( this.IsjQueryAvailable )
            {
                OnTheBubble = jQuery( ListElement ).children( "li:last-child" ).get(0);
            }
            else
            {
                OnTheBubble = ListElement.getElementsByTagName("div")[ ListElement.getElementsByTagName("div").length - 1 ].parentNode;
            }
        }
        
        if( ! ( OnTheBubble.getElementsByTagName("div")[0].className + "" ).match( /IsEditing/ ) )
        {
            ListElement.removeChild( OnTheBubble );
        }
        else if( OnTheBubble.previousSibling != null )
        {
            ListElement.removeChild( OnTheBubble.previousSibling );
        }
    }
    
    if( this.IsPostUIAvailable )
    {
        PostUI.GetInstance().Setup( Item );
    }
}

LiveBlog1414.AddThumbnailStyleToItem = function( pItem, pThumbnail )
{
    if(  ! pThumbnail )
    {
        pThumbnail = "http://avatars.scribblelive.com/default.png";
    }
    
    if( pThumbnail != null && pThumbnail != "" )
    {
        pItem.className += " Thumbnail";
        pItem.style.backgroundImage = "url(" + LiveBlog1414.GetUrlWithCorrectSecurity( pThumbnail ) + ")";
    }
}

LiveBlog1414.prototype.AttachNewTweet = function( PostInfo, pHtmlElement )
{
    var ListElement = pHtmlElement;
    
    if( document.getElementById("LiveBlog_Post" + PostInfo.Id) != null )
    {
        return;
    }
    
    var NewItem = document.createElement("li");
	NewItem.id = "LiveBlog_Post" + PostInfo.Id;
    NewItem.className = "Comment";
    
    var ContentElement = document.createElement( "div" );
	ContentElement.className = "Content";
	ContentElement.innerHTML = this.TranslateContent( PostInfo.Content.replace( /&quot;/g, "\"" ), ContentElement );
	    
    var MetaElement = document.createElement("div" );
    MetaElement.className = "Meta";
    
    MetaElement.innerHTML = "<em>" + PostInfo.CreatorName + "</em>";

	LiveBlog1414.AddThumbnailStyleToItem( NewItem, PostInfo.CreatorThumbnail );
    
    
    if( this.AllowedToEdit && !PostInfo.Content.match( /<object/ ) )
    {
        ContentElement.onmousedown = Wiki.ClickRegion;
    }
    
    NewItem.Meta = PostInfo;
    
    NewItem.appendChild( ContentElement );
    NewItem.appendChild( MetaElement );
    
    
    this.ConnectNewPost( NewItem, ListElement, false, this.MaxTweetsDisplayed );
}

LiveBlog1414.prototype.AttachNewModeratedComment = function( PostInfo, pHtmlElement )
{
    var ListElement;
    
    if( pHtmlElement != null )
    {
        ListElement = pHtmlElement;
    }
    else if( document.getElementById("Moderated") == null )
    {
        return null;
    }
    else
    {
        ListElement = document.getElementById("Moderated");
    }
    
    if( document.getElementById("LiveBlog_Post" + PostInfo.Id) != null )
    {
        return;
    }
    
    var NewItem = document.createElement("li");
	NewItem.id = "LiveBlog_Post" + PostInfo.Id;
    NewItem.className = "Comment";
    
    var ContentElement = this.ConstructContentElement( PostInfo, 300 );
	    
    var MetaElement = document.createElement("div" );
    MetaElement.className = "Meta";
    
    MetaElement.innerHTML = "<em>" + PostInfo.CreatorName + "</em>";
    
    var CanEdit = ( this.AllowedToEdit && PostInfo.Type == "1" && !PostInfo.Content.match( /<(object|embed)/ ) && !ContentElement.innerHTML.match( /<img/ ) );
    
    LiveBlog1414.AddThumbnailStyleToItem( NewItem, PostInfo.CreatorThumbnail );    
    
    if( this.AllowedToEdit && CanEdit && !PostInfo.Content.match( /<object/ ) )
    {
        ContentElement.onmousedown = Wiki.ClickRegion;
    }
    
    
    NewItem.appendChild( ContentElement );
    NewItem.appendChild( MetaElement );
    
    var pMaxCommentsDisplayed = this.MaxCommentsDisplayed;
    if( this.GroupPostsLists.length > 1 )
    {
        pMaxCommentsDisplayed = null;
    }
    
    this.ConnectNewPost( NewItem, ListElement, false, pMaxCommentsDisplayed );
    
    if( 
        this.IsjQueryAvailable
        && document.getElementById("Moderated") != null
        && document.getElementById("Moderated").parentNode != null
        && document.getElementById("Moderated").parentNode.parentNode != null
        && document.getElementById("Moderated").parentNode.parentNode.parentNode != null
        && document.getElementById("Moderated").parentNode.parentNode.parentNode.getElementsByTagName("dt").length > 0
    )
    {
        if( this.LastModeratedCommentsPulsate == null || this.LastModeratedCommentsPulsate != this.ModCommentsSince )
        {
            if( jQuery( "#Moderated>li" ).length < 50 )
            {
                jQuery(document.getElementById("Moderated").parentNode.parentNode.parentNode.getElementsByTagName("dt")[0]).effect("pulsate", {times:1}, 1000);
            }
            this.LastModeratedCommentsPulsate = this.ModCommentsSince;
        }
    }    
}


LiveBlog1414.prototype.AttachNewComment = function( PostInfo, pWidth, pNumChainedActions )
{
    var NewItem = document.createElement("li");
	NewItem.id = "LiveBlog_Post" + PostInfo.Id;
    NewItem.className = "Comment";
    
    if( this.FadeColor_End != null )
    {
        NewItem.style.backgroundColor = this.FadeColor_Start;
    }
    
    if( pWidth == null )
	{
	    pWidth = this.Width;
	    
	    if( document.getElementById("VideoHolderList") != null && PostInfo.Rank == 0 && 
	        ( PostInfo.Type == "3" || PostInfo.Content.match( /<(object|embed)/i ) ) )
	    {
	        pWidth = 300;
	    }
	}
    
    var ContentElement = this.ConstructContentElement( PostInfo, pWidth );
    
    NewItem.LastModified = PostInfo.Date;
	
    var PostSource = PostInfo.Source;
	if( PostSource != null && PostSource != "" )
	{
	    PostSource = " <span class='Source'>via " + PostSource + "</span>";
	}
	else
	{
	    PostSource = "";
	}
	    
    var MetaElement = document.createElement("div" );
    MetaElement.className = "Meta";
    
    MetaElement.innerHTML = "by <em>" 
        + ( this.UserId == PostInfo.CreatorId ? "you" : PostInfo.CreatorName )
        + "</em>"
        + ( PostInfo.EditorId != "" ? " edited by <em>" + ( this.UserId == PostInfo.EditorId ? "you" : PostInfo.EditorName ) + "</em>" : "" )
        + PostSource
        + ( PostInfo.Group == 0 ? " at " + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) : "" );
    
    
    var CanEdit = ( this.AllowedToEdit && PostInfo.Type == "1" && !PostInfo.Content.match( /<(object|embed)/ ) && !ContentElement.innerHTML.match( /<img/ ) );
    
	LiveBlog1414.AddThumbnailStyleToItem( NewItem, PostInfo.CreatorThumbnail );
    
    if( this.AllowedToEdit && CanEdit )
    {
        ContentElement.onmousedown = Wiki.ClickRegion;
    }
    
    NewItem.appendChild( ContentElement );
    NewItem.appendChild( MetaElement );
    
    this.ConnectNewPost( NewItem, null, null, null, PostInfo.Rank, PostInfo.Group, pNumChainedActions );

}

LiveBlog1414.prototype.AttachNewCrossposting = function( PostInfo )
{
    var NewItem = document.createElement("li");
	var PostType;
	try
	{
	    PostType = PostInfo.Type;
	}
	catch( Error )
	{
	    PostType = 1;
	}
	
	
    NewItem.id = "LiveBlog_Post" + PostInfo.Id;
    NewItem.className = "Writer" + PostInfo.CreatorId;
    
    if( this.IsjQueryAvailable )
    {
        NewItem.style.backgroundColor = this.FadeColor_Start;
    }
    
   
    if( PostType == 2 )
	{
	    var ImageContent = PostInfo.Content;
	
	    switch( this.Width )
	    {
	        case 300:
	            ImageContent = ImageContent.replace( /\.(jpe?g|png|gif)$/, "_300.$1" );
	            break;
	        case 400:
	            ImageContent = ImageContent.replace( /\.(jpe?g|png|gif)$/, "_400.$1" );
	            break;
	    }
	
	
	
	    NewItem.innerHTML = "<strong>" + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "<abbr title='Your local time'>*</abbr></strong> <em>" + PostInfo.CreatorName + " -</em><br /><img src='" + ImageContent + "'/>";
	}
	else if( PostType == 3 )
	{
	    LiveBlog1414.DisplayVideo( PostInfo.Content, PostInfo.Id + Math.round( 10000 * Math.random() ), NewItem, null, null, this.Width );
	    NewItem.innerHTML = "<strong>" + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "<abbr title='Your local time'>*</abbr></strong> <em>" + PostInfo.CreatorName + " -</em> " + NewItem.innerHTML;
	}
	else if( PostType == 6 )
	{
	    LiveBlog1414.DisplayAudio( PostInfo.Content, PostInfo.Id + Math.round( 10000 * Math.random() ), NewItem, null, this.Width );
	    NewItem.innerHTML = "<strong>" + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "<abbr title='Your local time'>*</abbr></strong> <em>" + PostInfo.CreatorName + " -</em> " + NewItem.innerHTML;
	}
	else
	{
	    var ObjectEmbedContent = PostInfo.Content;
	
	    if( ObjectEmbedContent.match( /(<object|<embed)/i ) )
	    {
	        ObjectEmbedContent = ObjectEmbedContent.replace( /&quot;/g, "\"" );
	    
	        switch( this.Width )
	        {
	            case 300:
	                ObjectEmbedContent = LiveBlog1414.ResizeObjectEmbed( ObjectEmbedContent, 300, 250 );
	                break;
	            case 400:
	                ObjectEmbedContent = LiveBlog1414.ResizeObjectEmbed( ObjectEmbedContent, 400, 334 );
	                break;
	        }
	        
	        ObjectEmbedContent = "<br />" + ObjectEmbedContent;
	    }
	
	    NewItem.innerHTML = "<strong>" + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "<abbr title='Your local time'>*</abbr></strong> <em>" + PostInfo.CreatorName + " -</em> " + ObjectEmbedContent;
        
	}
	
    this.ConnectNewPost( NewItem );
}

LiveBlog1414.IsSecure = function()
{
    return ( "https:" == document.location.protocol );
}

LiveBlog1414.GetUrlWithCorrectSecurity = function( pUrl )
{
    if( LiveBlog1414.IsSecure() )
	{
	    return pUrl.replace( /^http:\/\/((images|media|avatars|embed)\.scribblelive.com.*)/i, "https://s3.amazonaws.com/$1" );
	}
	else
	{
	    return pUrl;
	}
}

LiveBlog1414.prototype.ConstructContentElement = function( PostInfo, pWidth )
{
    var ContentElement = document.createElement("div");
    ContentElement.className = "Content";
    
    if( pWidth == null )
    {
        pWidth = this.Width;
    }
        
    var PostType;
	try
	{
	    PostType = PostInfo.Type;
	}
	catch( Error )
	{
	    PostType = 1;
	}
	
	PostInfo.Content = LiveBlog1414.GetUrlWithCorrectSecurity( PostInfo.Content );
	
	if( PostType == 2 )
	{
	    var ImageContent = PostInfo.Content.replace( /&quot;/g, "\"" );
	    
	    switch( pWidth )
	    {
	        case 300:
	            ImageContent = ImageContent.replace( /\.(jpe?g|png|gif)$/, "_300.$1" );
	            break;
	        case 400:
	            ImageContent = ImageContent.replace( /\.(jpe?g|png|gif)$/, "_400.$1" );
	            break;
	    }
	    
        ContentElement.innerHTML = "<img src='" + ImageContent + "' onload='LiveBlog1414.NewContentImageLoaded(this)'/>";
	}
	else if( PostType == 3 )
	{
	    LiveBlog1414.DisplayVideo( PostInfo.Content, PostInfo.Id + Math.round( 10000 * Math.random() ), ContentElement, null, null, pWidth );
	}
	else if( PostType == 6 )
	{
	    LiveBlog1414.DisplayAudio( PostInfo.Content, PostInfo.Id + Math.round( 10000 * Math.random() ), ContentElement, null, pWidth );
	}
	else
	{
	    if( PostInfo.Content.match( /<(object|embed)/ ) )
	    {
	        var ObjectContent = PostInfo.Content;
	        ObjectContent = ObjectContent.replace( /&quot;/g, "\"" );
	    
	        switch( pWidth )
	        {
	            case 300:
	                ContentElement.innerHTML = LiveBlog1414.ResizeObjectEmbed( ObjectContent, 300, 250 );
	                break;
	            case 400:
	                ContentElement.innerHTML = LiveBlog1414.ResizeObjectEmbed( ObjectContent, 400, 334 );
	                break;
	            default:
	                ContentElement.innerHTML = ObjectContent;
	                break;
	        }
	    }
	    else
	    {
	        ContentElement.innerHTML = this.TranslateContent( PostInfo.Content.replace( /&quot;/g, "\"" ), ContentElement );
	    }
	}
	
	return ContentElement;
    
}

LiveBlog1414.DisplayAudio = function( pUrl, pId, pParentElement, pWidth, pColumnWidth )
{
    return LiveBlog1414.DisplayVideo( pUrl, pId, pParentElement, pWidth, 0, pColumnWidth );
}

LiveBlog1414.DisplayVideo = function( pUrl, pId, pParentElement, pWidth, pHeight, pColumnWidth )
{
    if( pWidth == null ) pWidth = 518;
    if( pHeight == null ) pHeight = 288;
    
    pHeight += 20; // add 20px height for the control bar
    
    if( pColumnWidth == null )
    {
        var _LiveBlog = LiveBlog1414.GetInstance();
        
        if( _LiveBlog != null )
        {      
            if( pParentElement == _LiveBlog.GetGroupPostsList(0) )
            {
                pColumnWidth = _LiveBlog.Width;
            }
            else
            {
                pColumnWidth = 280;
            }
        }   
    }

    if( pWidth > pColumnWidth )
    {
        if( pHeight <= 20 )
        {
            pWidth = pColumnWidth;
        }
        else
        {
            var NewDimensions = LiveBlog1414.ResizeProportionally( pWidth, pHeight, pColumnWidth, pColumnWidth );
            
            pWidth = NewDimensions.Width;
            pHeight = NewDimensions.Height;
        }
    }


    var Holder = null;

    Holder = document.createElement( "span" );
    Holder.style.width = pWidth + "px";
    Holder.style.height = pHeight + "px";   
    Holder.id = "Video" + pId;
    Holder.className = "VideoEmbedHolder";
    
    pParentElement.appendChild( Holder );
    
    setTimeout( function()
    {
        if( document.getElementById("Video" + pId ) != null )
        {
            var Holder = document.getElementById("Video" + pId );
            
            if( false && LiveBlog1414.CheckIfSWFObjectAvailable() )
            {
                var s1 = new SWFObject('http://embed.scribblelive.com/js/jwflvplayer/player-licensed.swf','Player' + pId,pWidth,pHeight,'9','#ffffff');
                s1.addParam('allowfullscreen','true');
                s1.addParam('allowscriptaccess','always');
                s1.addParam('wmode','opaque');
                s1.addParam('flashvars','file=' + pUrl + '&fullscreen=true');

                s1.write(Holder.id);
            }
            else
            {
                Holder.innerHTML = '<embed height="' + pHeight + '" width="' + pWidth + '" flashvars="file=' + pUrl 
                    + '&fullscreen=true" wmode="opaque" allowscriptaccess="always" allowfullscreen="true" quality="high" bgcolor="#ffffff" name="Player' 
                    + pId + '" id="Player' + pId + '" style="" src="http://embed.scribblelive.com/js/jwflvplayer/player-licensed.swf" type="application/x-shockwave-flash"/>';
            }
        }

    }, 300 );
    
}

LiveBlog1414.prototype.AttachNewPost = function( PostInfo, pHowLong, pWidth, pNumChainedActions )
{
	var NewItem = document.createElement("li");
	var PostType;
	try
	{
	    PostType = PostInfo.Type;
	}
	catch( Error )
	{
	    PostType = 1;
	}
	
	if( pWidth == null )
	{
	    pWidth = this.Width;
	    
	    if( document.getElementById("VideoHolderList") != null && PostInfo.Rank == 0 && 
	        ( PostInfo.Type == "3" || PostInfo.Content.match( /<(object|embed)/i ) ) )
	    {
	        pWidth = 300;
	    }
	}
	
	NewItem.LastModified = PostInfo.Date;
	
	var PostSource = PostInfo.Source;
	if( PostSource != null && PostSource != "" )
	{
	    PostSource = " <span class='Source'>via " + PostSource + "</span>";
	}
	else
	{
	    PostSource = "";
	}  
	
    NewItem.id = "LiveBlog_Post" + PostInfo.Id;
    NewItem.className = "";
    
    if( this.FadeColor_End != null )
    {
        NewItem.style.backgroundColor = this.FadeColor_Start;
    }
    //NewItem.style.display = "none";
    
    
    NewItem.appendChild( this.ConstructContentElement( PostInfo, pWidth ) );
    
    LiveBlog1414.AddThumbnailStyleToItem( NewItem, PostInfo.CreatorThumbnail );
    
    if( PostType == 2 )
	{
	   NewItem.innerHTML += "<div class='Meta'>by <em>" 
            + ( this.UserId == PostInfo.CreatorId ? "you" : PostInfo.CreatorName )
            + "</em>" 
            + ( PostInfo.EditorId != "" ? " edited by <em>" 
                + ( this.UserId == PostInfo.EditorId ? "you" : PostInfo.EditorName )
                + "</em>" : "" )
            + PostSource
            + " at " + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "</div>";
	}
	else
	{
	    var MetaElement = document.createElement("div" );
	    MetaElement.className = "Meta";
	    
	    MetaElement.innerHTML += "by <em>" + PostInfo.CreatorName + "</em>" + PostSource + " at " + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "";
	    
	    NewItem.appendChild( MetaElement );
	    
	    if( this.AllowedToEdit && PostInfo.Type == "1" && !PostInfo.Content.match( /<(object|embed)/ ) && PostType != 4 && PostType != 3 )
	    {
	        NewItem.firstChild.onmousedown = Wiki.ClickRegion;
	    }
        
	}
	
	
	
    this.ConnectNewPost( NewItem, null, null, null, PostInfo.Rank, PostInfo.Group, pNumChainedActions );
    
    if( pHowLong != null )
    {
        setTimeout( function()
        {
            LiveBlog1414.GetInstance().DisconnectPost( NewItem );
        }, pHowLong * 1000 );
    }
    
}

LiveBlog1414.prototype.TranslateContent = function( pContent, pElement )
{
    if( this.DisplayLanguage 
        && ! this.AllowedToEdit 
        && ! pContent.match( "(<embed|<object|<img)" )
        )
    {
        var TranslatedText = "<em>" + pContent + "</em>";
        try
        {
            TranslatedText = "<em>" + pContent + "</em>";
            
            var ResultElement = pElement;
        
            google.language.translate( pContent, "", this.DisplayLanguage, function(result) {
              if (!result.error) {
                ResultElement.innerHTML = result.translation;
              }
              else
              {
                ResultElement.innerHTML = ResultElement.innerHTML.replace( /^<em>/, "" );
                ResultElement.innerHTML = ResultElement.innerHTML.replace( /<\/em>$/, "" );
                
              }
            });
        }
        catch( err )
        {
            TranslatedText = pContent;
        }
        
        return TranslatedText;
    }
    else
    {
        return pContent;
    }
}


LiveBlog1414.PageHeight = function()
{
  var y, h;
  if(window.innerHeight && window.scrollMaxY)
    y = window.innerHeight + window.scrollMaxY;
  else if(document.body.scrollHeight)
    y = document.body.scrollHeight;
  else y = document.body.offsetHeight;
  if(window.innerHeight) h = window.innerHeight;
  else if(document.documentElement && document.documentElement.clientHeight)
    h = document.documentElement.clientHeight;
  else if(document.body) h = document.body.clientHeight;
  return ((y > h) ? y + 20 - h : false); 
}


LiveBlog1414.YPosition = function()
{
    if (document.body && document.body.scrollTop)
      return document.body.scrollTop;
    if (document.documentElement && document.documentElement.scrollTop)
      return document.documentElement.scrollTop;
    if (window.pageYOffset)
      return window.pageYOffset;
    return 0;
}

LiveBlog1414.findPosX = function(obj)
{
    if( LiveBlog1414.CheckIfjQueryAvailable() )
    {
        return jQuery(obj).offset().left;
    }


    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}

LiveBlog1414.findPosY = function(obj)
{

    if( LiveBlog1414.CheckIfjQueryAvailable() )
    {
        return jQuery(obj).offset().top;
    }

    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}

LiveBlog1414.NewContentImageLoaded = function( NewImage )
{
    if( ( LiveBlog1414.YPosition() + 50 + NewImage.clientHeight ) >= LiveBlog1414.PageHeight() )
    {
        if( LiveBlog1414.GetInstance().NewestAtBottom )
        {
            LiveBlog1414.ScrollToBottom();
        }
    }
}

LiveBlog1414.ScrollToBottom = function()
{
    /*
    if( Effect && Effect.ScrollTo != null && false )
    {
        LiveBlog1414.LastPosition = 666;
        LiveBlog1414.Scroll_Handler( "BottomPagination" );
        return;
    }
    */
    
    try
    {
        clearInterval( LiveBlog1414.ScrollInterval );
    }
    catch( Error ) {}
    
    LiveBlog1414.LastPosition = LiveBlog1414.YPosition();
    
    LiveBlog1414.ScrollInterval = setInterval('LiveBlog1414.Scroll_Handler(LiveBlog1414.YPosition()+15)',50);
}

LiveBlog1414.Scroll_Handler = function( DestinationY )
{
    /*
    if( Effect && Effect.Tween && false )
    {
        var options = arguments[1] || { }, scrollOffsets = document.viewport.getScrollOffsets(), elementOffsets = jQuery(element).cumulativeOffset();
          if (options.offset)
            elementOffsets[1] += options.offset;
          return new Effect.Tween(null, scrollOffsets.top, elementOffsets[1], options, function (p)
          {
            PositionDiffFromLastScroll = p.round() - LiveBlog1414.LastPosition;
            if( PositionDiffFromLastScroll < 50 || LiveBlog1414.LastPosition == 666 && LiveBlog1414.LastPosition != -666 )
            {
                window.scrollTo(0, p.round());
                LiveBlog1414.LastPosition = p.round();
            }
            else
            {
                LiveBlog1414.LastPosition = -666;
            }
          });
    }
    */
  



    PositionDiffFromLastScroll = DestinationY - LiveBlog1414.LastPosition;
    
    if( 
        LiveBlog1414.YPosition() + 10 >= LiveBlog1414.PageHeight()
        || PositionDiffFromLastScroll < 15
    )
    {
        clearInterval( LiveBlog1414.ScrollInterval );
    }
    else
    {
        window.scrollTo( 0, DestinationY );
        LiveBlog1414.LastPosition = DestinationY;
    }
}

LiveBlog1414.ConvertServerTimeToLocalTime = function( ServerTime )
{
    var CurrentUTCServerTime = new Date( ServerTime );
    
    return new Date( CurrentUTCServerTime.getTime() - ( new Date() ).getTimezoneOffset() * 60000 );
    
}

LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString = function( ServerTime )
{
    var LocalTime = LiveBlog1414.ConvertServerTimeToLocalTime( ServerTime );
    
    var IsEnglish = ( LiveBlog1414.UserLanguage().match( /^en/i ) != null );
    
    var MidnightToday = new Date();
    MidnightToday.setHours( 0 );
    MidnightToday.setMinutes( 0 );
    MidnightToday.setSeconds( 0 );
    
    var Minutes = LocalTime.getMinutes();
    Minutes = ( Minutes < 10 ? "0" + Minutes : Minutes );
    
    var Hours = ( LocalTime.getHours() % 12 );
    Hours = ( Hours == 0 ? "12" : Hours );
    
    var MidnightYesterday = MidnightToday.getTime() - 1000 * 60 * 60 * 24;
    MidnightYesterday = ( new Date() ).setTime( MidnightYesterday );
    
    
    if( LocalTime > MidnightToday )
    {
        if( IsEnglish )
        {
            return Hours + ":" + Minutes + " " + ( LocalTime.getHours() < 12 ? "AM" : "PM" );
        }
        else
        {
            return LocalTime.getHours() + ":" + Minutes;
        }
    }
    else if( LocalTime > MidnightYesterday && IsEnglish )
    {
        return Hours + ":" + Minutes + " " + ( LocalTime.getHours() < 12 ? "AM" : "PM" ) + " yesterday";
    }
    else if( !IsEnglish )
    {
        return ( LocalTime.getMonth()+1 ) + "/" + ( LocalTime.getDate() ) + "/" + LocalTime.getFullYear() + " " + LocalTime.getHours() + ":" + Minutes
    }
    else
    {
        return LocalTime.toLocaleString();
    }
}

LiveBlog1414.ResizeProportionally = function( WidthFound, HeightFound, Width, Height )
{

    WidthFound = parseInt( WidthFound );
    HeightFound = parseInt( HeightFound );

    var Ratio = 1.0;
    
    Width = parseInt( Width );
    Height = parseInt( Height );

    if ( WidthFound > Width )
    {
        Ratio = 1.0 * Width / WidthFound;
    }

    if ( HeightFound > Height )
    {
        if ( 1.0 * Height / HeightFound < Ratio )
        {
            Ratio = 1.0 * Height / HeightFound;
        }
    }

    Width = Math.round( WidthFound * Ratio );
    Height = Math.round(  HeightFound * Ratio );
    
    return { Width: Width, Height: Height };
}     


LiveBlog1414.ResizeObjectEmbed = function( Html, Width, Height )
{
    var WidthFound = ( new RegExp( /width=['"]?(\d+)['"]?/i ) ).exec( Html )
    var HeightFound = ( new RegExp( /height=['"]?(\d+)['"]?/i ) ).exec( Html );
        
    if( WidthFound && HeightFound )
    {
        var NewDimensions = LiveBlog1414.ResizeProportionally( WidthFound[1], HeightFound[1], Width, Height );
        Width = NewDimensions.Width;
        Height = NewDimensions.Height;
    }

    Html = Html.replace( /width=['"]?([0-9]+)['"]?/g, "width='" + Width + "'" );
    Html = Html.replace( /height=['"]?([0-9]+)['"]?/g, "height='" + Height + "'" );

    return Html;
}

LiveBlog1414.prototype.FlashEdited = function( pWho )
{
    if( this.IsjQueryAvailable )
    {
        //jQuery(pWho).animate({ backgroundColor: this.FadeColor_Start }, {queue: false, duration: 600 });
        //jQuery(pWho).children("div.Content").effect("pulsate", {times:1}, 1000);
        jQuery(pWho).children("div.Content").fadeTo("fast",0.10).fadeTo("slow",1,function(){
            if( this.style.removeAttribute != null ) this.style.removeAttribute("filter");
        });
    }
}

LiveBlog1414.prototype.FadeIn = function( pWho )
{
    if( this.FadeColor_End != null )
    {
       
        var _FadeColor_End = this.FadeColor_End;
        
       if( 
            this.FadeColor_End_Comment != null
            && pWho.className && ( pWho.className + "" ).match( /Comment/ ) 
            && ( this.GetGroupPostsList(0) == pWho.parentNode )
            )
        {
            _FadeColor_End = this.FadeColor_End_Comment;
        }    
    
        if( this.IsjQueryAvailable )
        {
            jQuery(pWho).animate({ backgroundColor: _FadeColor_End }, { queue: false, duration: 600 });
        }
        else
        {
            pWho.style.backgroundColor = _FadeColor_End;
        }
    }
}

LiveBlog1414.prototype.RemoveTwitterQueryScript = function()
{
    var PollScriptEmbed = document.getElementById("TwitterSearchQuery");
    if( PollScriptEmbed != null )
    {
        PollScriptEmbed.parentNode.removeChild( PollScriptEmbed );
    }
}

LiveBlog1414.GetInstanceTwitterPing = function( pTweets, pSearchQuery )
{
    return LiveBlog1414.GetInstance().TwitterPing( pTweets, pSearchQuery );
}

LiveBlog1414.prototype.TwitterPing = function( pTweets, pSearchQuery )
{
    this.RemoveTwitterQueryScript();

    var SearchBox = document.getElementById("TwitterSearch");
    if( SearchBox != null )
    {
        SearchBox.style.fontStyle = "normal";
    }

    var Tweets;
    if( pTweets != null )
    {
        Tweets = pTweets.results;
    }
    else
    {
        Tweets = new Array();
    }
    
    if( pSearchQuery != null )
    {
        this.TwitterSearchQuery = pSearchQuery;
    }
    

    var CurrentTweet;
    var LastId = -1;
    var HtmlContent;
    
    for( var i = Tweets.length - 1; i >= 0; i-- )
    {
        HtmlContent = Tweets[i].text;
        HtmlContent = HtmlContent.replace( /(http:\/\/[\w\.\/\?:\#,~=&%\-\+]+)/gi, "<a href='$1'>$1</a>" );
        HtmlContent = HtmlContent.replace( /@(\w+)/g, "@<a href='http://twitter.com/$1'>$1</a>" );
    
        CurrentTweet = new Object();
        CurrentTweet.Content = HtmlContent; //+ " <em>via</em> <a href='http://twitter.com/" + Tweets[i].from_user + "'>twitter</a>";
        CurrentTweet.CreatorName = Tweets[i].from_user;
        CurrentTweet.Id = "tweet" + Tweets[i].id;
        CurrentTweet.Type = 1;
        CurrentTweet.Date = new Date( ( new Date( Date.parse( Tweets[i].created_at ) ) ).getTime() + ( new Date() ).getTimezoneOffset() * 60000 );
        CurrentTweet.CreatorThumbnail = Tweets[i].profile_image_url;
        CurrentTweet.TwitterUserId = Tweets[i].from_user_id;
        
        LastId = Tweets[i].id;
    
        this.AttachNewTweet( CurrentTweet, document.getElementById("TwitterModerated")  );       
    }
    
    if( LastId == -1 && pTweets != null && pTweets.since_id  )
    {
        LastId = pTweets.since_id;
    }
    
    this.TwitterLastId = LastId;
    
    var TimeoutInterval;
    if( pTweets == null )
    {
        TimeoutInterval = 1000;
    }
    else
    {
        TimeoutInterval = 30000;
    }
    
    this.IsTwitterPolling = true;    
    
    if( this.TwitterSearchTimeout != null )
    {
        clearInterval( this.TwitterSearchTimeout );
    }
    this.TwitterSearchTimeout = setTimeout( function() {
    
        if( LiveBlog1414.GetInstance().TwitterSearchQuery != null )
        {
            LiveBlog1414.GetInstance().RemoveTwitterQueryScript();
            var PollScript = document.createElement("script");
            PollScript.src = "http://search.twitter.com/search.json?q=" + escape( LiveBlog1414.GetInstance().TwitterSearchQuery ) + "&callback=LiveBlog1414.GetInstanceTwitterPing&rpp=" + ( LiveBlog1414.GetInstance().MaxTweetsDisplayed > 10 ? 10 : 4 ) + "&since_id=" + LiveBlog1414.GetInstance().TwitterLastId + "&rand=" + Math.round( 10000000 * Math.random() );
            PollScript.type = "text/javascript";
            PollScript.defer = "defer";
            PollScript.id = "TwitterSearchQuery";
	        document.getElementsByTagName("head")[0].appendChild( PollScript );
	        var SearchBox = document.getElementById("TwitterSearch");
	        if( SearchBox != null )
	        {
	            SearchBox.style.fontStyle = "italic";
	        }
	    }
	    else
	    {
	        LiveBlog1414.GetInstance().TwitterPing();
	    }
	    
	    }, TimeoutInterval );
}


LiveBlog1414.ReloadPage = function()
{
    window.location.hash = "#";
    window.location.reload();
    
    return false;
}


var Fat = {
	make_hex : function (r,g,b) 
	{
		r = r.toString(16); if (r.length == 1) r = '0' + r;
		g = g.toString(16); if (g.length == 1) g = '0' + g;
		b = b.toString(16); if (b.length == 1) b = '0' + b;
		return "#" + r + g + b;
	},
	fade_all : function ()
	{
		var a = document.getElementsByTagName("*");
		for (var i = 0; i < a.length; i++) 
		{
			var o = a[i];
			var r = /fade-?(\w{3,6})?/.exec(o.className);
			if (r)
			{
				if (!r[1]) r[1] = "";
				if (o.id) Fat.fade_element(o.id,null,null,"#"+r[1]);
			}
		}
	},
	fade_element : function (id, fps, duration, from, to) 
	{
		if (!fps) fps = 30;
		if (!duration) duration = 3000;
		if (!from || from=="#") from = "#FFFF33";
		if (!to) to = this.get_bgcolor(id);
		
		var frames = Math.round(fps * (duration / 1000));
		var interval = duration / frames;
		var delay = interval;
		var frame = 0;
		
		if (from.length < 7) from += from.substr(1,3);
		if (to.length < 7) to += to.substr(1,3);
		
		var rf = parseInt(from.substr(1,2),16);
		var gf = parseInt(from.substr(3,2),16);
		var bf = parseInt(from.substr(5,2),16);
		var rt = parseInt(to.substr(1,2),16);
		var gt = parseInt(to.substr(3,2),16);
		var bt = parseInt(to.substr(5,2),16);
		
		var r,g,b,h;
		while (frame < frames)
		{
			r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));
			g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));
			b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));
			h = this.make_hex(r,g,b);
		
			setTimeout("Fat.set_bgcolor('"+id+"','"+h+"')", delay);

			frame++;
			delay = interval * frame; 
		}
		setTimeout("Fat.set_bgcolor('"+id+"','"+to+"')", delay);
	},
	set_bgcolor : function (id, c)
	{
		var o = document.getElementById(id);
		o.style.backgroundColor = c;
	},
	get_bgcolor : function (id)
	{
		var o = document.getElementById(id);
		while(o)
		{
			var c;
			if (window.getComputedStyle) c = window.getComputedStyle(o,null).getPropertyValue("background-color");
			if (o.currentStyle) c = o.currentStyle.backgroundColor;
			if ((c != "" && c != "transparent") || o.tagName == "BODY") { break; }
			o = o.parentNode;
		}
		if (c == undefined || c == "" || c == "transparent") c = "#FFFFFF";
		var rgb = c.match(/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/);
		if (rgb) c = this.make_hex(parseInt(rgb[1]),parseInt(rgb[2]),parseInt(rgb[3]));
		return c;
	}
}

LiveBlog1414.PageLoadTime = null;

LiveBlog1414.StartAdReload = function()
{
    if( !LiveBlog1414.CheckIfjQueryAvailable() ) return;
    
    if( jQuery("iframe.SL_Ad").length <= 0 ) return;

    if( LiveBlog1414.PageLoadTime != null ) return;

    // Get started
    LiveBlog1414.PageLoadTime = new Date();
    setInterval( function()
    {
        LiveBlog1414.AdReload()
        
    }, 5000 );
}

LiveBlog1414.AdReload = function( pElement )
{
    var DefaultReloadRate = 90000;

    if( pElement == null )
    {
        var iFrames = jQuery("iframe.SL_Ad");
        
        var iLastReload = null;
        var Now = new Date();
        var LastLoaded = 0;
        var ReloadRate = DefaultReloadRate;
        
        for( var i = 0; i < iFrames.length; i++ )
        {
            pElement = iFrames.get(i);
            
            if( pElement.className.match( /ReloadRate/ ) )
            {
                try
                {
                    ReloadRate = parseInt( pElement.className.match( /ReloadRate([0-9]+)/ )[1] );
                }
                catch( err ) 
                {
                    ReloadRate = DefaultReloadRate;
                }
            }
            else
            {
                ReloadRate = DefaultReloadRate;
            }
            
            if( pElement.LastReload == null )
            {
                pElement.LastReload = LiveBlog1414.PageLoadTime;
            }
            
            LastLoaded = ( Now  - pElement.LastReload );
            
            if( LastLoaded > ReloadRate )
            {
                break;
            }
            else
            {
                pElement = null;
            }
        }
    }
    
    if( pElement != null )
    {
        try
	    {
	        //pElement.contentDocument.location.reload();
	        pElement.src = pElement.src;
	        pElement.LastReload = new Date();
	    }
	    catch( err ) { }
    }
}

LiveBlog1414.LoadPageReload = function()
{
    var DesiredHeight = ( document.location + "" ).match( /reload=([0-9]+)/i )[1];
    document.getElementById("Discussion").style.height = DesiredHeight + "px";
}

LiveBlog1414.PageReload = function()
{
    var iframeElement = document.getElementById("PageReloadFrame");

    if( iframeElement == null )
    {
        var Src = "reload=" + jQuery(document).height();
        if( ( document.location + "" ).match( /\?/ ) )
        {
            Src = document.location + "&" + Src;
        }
        else
        {
            Src = document.location + "?" + Src;
        }
    
        iframeElement = document.createElement("iframe");
        iframeElement.frameBorder = 0;
        iframeElement.id = "PageReloadFrame";
        iframeElement.src = Src;
        iframeElement.scrolling = "no";
        //iframeElement.allowtransparency = "true";
        iframeElement.style.height = ( jQuery(document).height() - 500 ) + "px";
        
        //var Filler = document.createElement("div");
        //document.getElementById("Discussion").parentNode.insertBefore( Filler, document.getElementById("Discussion").nextSibling );
        //jQuery( Filler ).height( jQuery( document.getElementById("Discussion").parentNode ).height() );
        
        document.getElementById("Discussion").style.position = "relative";
        document.getElementById("Discussion").style.zIndex = 9999;
        
        document.getElementsByTagName("body")[0].appendChild( iframeElement );
        
        var FlashEmbeds = document.getElementsByTagName("object");
        for( var i = 0; i < FlashEmbeds.length; i++ )
        {
            FlashEmbeds[i].parentNode.removeChild( FlashEmbeds[i] );
        }
        
        FlashEmbeds = document.getElementsByTagName("embed");
        for( var i = 0; i < FlashEmbeds.length; i++ )
        {
            FlashEmbeds[i].parentNode.removeChild( FlashEmbeds[i] );
        }
        
    }
    else
    {
        iframeElement.contentWindow.location.reload(true);
    }
}


LiveBlog1414.prototype.PollForNew_Handler = function( pResponseObject )
{

    var ResponseObject = pResponseObject;
	
    var CurrentTime = ResponseObject.Time;
    this.Time = CurrentTime;
	
    var Actions = ResponseObject.Actions;
	
    var AutoScroll = false;
	
    if( ! this.IsCrossDomain && Actions.length > 0 && this.NewestAtBottom )
    {
        AutoScroll = ( ( LiveBlog1414.YPosition() + 50 ) >= LiveBlog1414.PageHeight() )
    }


    for( var i = 0; i < Actions.length; i++ )
    {
        switch( Actions[i].Action )
        {
            case "New":
                if( document.getElementById("LiveBlog_Post" + Actions[i].Id) == null 
                    && ! Actions[i].IsComment
                )
                {
                    this.AttachNewPost( Actions[i] );
                    this.FadeIn( "LiveBlog_Post" + Actions[i].Id );
                }
                break;
            case "Update":
                if( document.getElementById("LiveBlog_Post" + Actions[i].Id ) )
                {
                    
                    document.getElementById("LiveBlog_Post" + Actions[i].Id ).innerHTML = 
                        document.getElementById("LiveBlog_Post" + Actions[i].Id ).innerHTML = "<strong><abbr title='Your local time'>" + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( Actions[i].Date ) + "*</abbr></strong> <em>" + Actions[i].CreatorName + " -</em> " + Actions[i].Content;
                    
                    this.FadeIn( "LiveBlog_Post" + Actions[i].Id );
                }
                
                break;
            case "Delete":
                if( document.getElementById("LiveBlog_Post" + Actions[i].Id ) )
                {
                    document.getElementById("LiveBlog_Post" + Actions[i].Id ).parentNode.removeChild(
                        document.getElementById("LiveBlog_Post" + Actions[i].Id )
                        );
                }
                break;
        }
	            
    }
	
    if( Actions.length > 0 && AutoScroll )
    {
        LiveBlog1414.ScrollToBottom();
    }
}


LiveBlog1414.prototype.AttachNewPost = function( PostInfo )
{
	var NewItem = document.createElement("li");
	var PostType;
	try
	{
	    PostType = PostInfo.Type;
	}
	catch( Error )
	{
	    PostType = 1;
	}
	
	
	   
	
    NewItem.id = "LiveBlog_Post" + PostInfo.Id;
    NewItem.className = "";
    NewItem.style.backgroundColor = this.FadeColor_Start;
    
    if( PostType == 2 )
	{
	    var ImageContent = PostInfo.Content;
	
	    switch( this.Width )
	    {
	        case 300:
	            ImageContent = ImageContent.replace( /\.(jpe?g|png|gif)$/, "_300.$1" );
	            break;
	        case 400:
	            ImageContent = ImageContent.replace( /\.(jpe?g|png|gif)$/, "_400.$1" );
	            break;
	    }
	
	    NewItem.innerHTML = "<strong><abbr title='Your local time'>" + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "*</abbr></strong> <em>" + PostInfo.CreatorName + " -</em><br /><img src='" + ImageContent + "'/>";
	}
	else
	{
	    var ObjectEmbedContent = PostInfo.Content;
	
	    if( ObjectEmbedContent.match( /<object/ ) )
	    {
	        switch( this.Width )
	        {
	            case 300:
	                ObjectEmbedContent = LiveBlog1414.ResizeObjectEmbed( ObjectEmbedContent, 300, 250 );
	                break;
	            case 400:
	                ObjectEmbedContent = LiveBlog1414.ResizeObjectEmbed( ObjectEmbedContent, 400, 334 );
	                break;
	        }
	        
	        ObjectEmbedContent = "<br />" + ObjectEmbedContent;
	    }
	
	    NewItem.innerHTML = "<strong><abbr title='Your local time'>" + LiveBlog1414.ConvertServerTimeToLocalTimeFriendlyString( PostInfo.Date ) + "*</abbr></strong> <em>" + PostInfo.CreatorName + " -</em> " + ObjectEmbedContent;
        
	}
	
    this.ConnectNewPost( NewItem );
}
