function FetchBuffer()
{
	return buffer.document.body.outerHTML;
}

function DeltaAction( elem )
{
	// Performs the action associated with a delta span.
			
	var target  = elem.getAttribute("TargetID");
	var action  = elem.getAttribute("Action");

	if ( target==null ) {
		alert("no target for delta " + elem.outerHTML );
		return ;
	}

	if ( action == null ) {
		alert("no action for delta " + elem.outerHTML );
		return ;

	}

	var targetElem = document.all.item( target );

	if (targetElem == null ) {
		alert("target for delta does not exist " + elem.outerHTML );
		return ;
	}

	// so now analyse what to do.
	
	if ( action =="Replace" ) {

		if (elem.innerHTML == null)
		{
			//alert( "Empty " + target );
			targetElem.innerHTML = ""
		}
		else
		{
			//alert( "Replace " + targetElem.innerHTML );
			//alert( "With"	  + elem.innerHTML );
			targetElem.innerHTML = elem.innerHTML
		}
	}
	else if
		(action=="Execute")
	{
		var script  = elem.getAttribute("script");
		if
			(script==null)
		{
			alert("script not present");
		}
		else
		{
			window.eval( script );
		}
	}
	else if ( action =="ReplaceOuter" ) {
		if (elem.innerHTML == null)
		{
			targetElem.outerHTML = ""
		}
		else
		{
			targetElem.outerHTML = elem.innerHTML
		}
	}

	else if
		(action =="afterBegin")
	{
		alert("InsertBeforeEnd");
	}
	else if
		(action =="beforeBegin")
	{
		alert( "insertBeforeBegin" );
	}
	else if
		( action =="beforeEnd")
	{
		alert( "insertBeforeEnd" );
	}
	else if
		( action == "afterEnd" )
	{
		alert( "insertAfterEnd" );
	}
	else
	{
		alert(action + "is not a recognised update action" );
	}
}

function DeltaReady(  d )
{
	var col = d.all.item("delta")

	if  (col==null) 
	{
		alert("no delta items to process");
		return ;
	}

	if
		(null== col.length )
	{
		// Single Element
		DeltaAction( col );
		return ;
	}
	else
	{
		// This is a collection.

		for (var i=0; i< col.length; i++ )
		{
			DeltaAction( col[i] );
		} 
	}
}

