Hacked By AnonymousFox

Current Path : C:/AppServ/www/stat/lib/htmleditor/editor/_source/internals/
Upload File :
Current File : C:/AppServ/www/stat/lib/htmleditor/editor/_source/internals/fckselection_ie.js

/*

 * FCKeditor - The text editor for internet

 * Copyright (C) 2003-2006 Frederico Caldeira Knabben

 * 

 * Licensed under the terms of the GNU Lesser General Public License:

 * 		http://www.opensource.org/licenses/lgpl-license.php

 * 

 * For further information visit:

 * 		http://www.fckeditor.net/

 * 

 * "Support Open Source software. What about a donation today?"

 * 

 * File Name: fckselection_ie.js

 * 	Active selection functions. (IE specific implementation)

 * 

 * File Authors:

 * 		Frederico Caldeira Knabben (fredck@fckeditor.net)

 */



// Get the selection type.

FCKSelection.GetType = function()

{

	return FCK.EditorDocument.selection.type ;

}



// Retrieves the selected element (if any), just in the case that a single

// element (object like and image or a table) is selected.

FCKSelection.GetSelectedElement = function()

{

	if ( this.GetType() == 'Control' )

	{

		var oRange = FCK.EditorDocument.selection.createRange() ;



		if ( oRange && oRange.item )

			return FCK.EditorDocument.selection.createRange().item(0) ;

	}

}



FCKSelection.GetParentElement = function()

{

	switch ( this.GetType() )

	{

		case 'Control' :

			return FCKSelection.GetSelectedElement().parentElement ;

		case 'None' :

			return ;

		default :

			return FCK.EditorDocument.selection.createRange().parentElement() ;

	}

}



FCKSelection.SelectNode = function( node )

{

	FCK.Focus() ;

	FCK.EditorDocument.selection.empty() ;



	try 

	{

		// Try to select the node as a control.

		var oRange = FCK.EditorDocument.body.createControlRange() ;

		oRange.addElement( node ) ;

	} 

	catch(e) 

	{

		// If failed, select it as a text range.

		var oRange = FCK.EditorDocument.selection.createRange() ;

		oRange.moveToElementText( node ) ;

	}



	oRange.select() ;

}



FCKSelection.Collapse = function( toStart )

{

	FCK.Focus() ;

	if ( this.GetType() == 'Text' )

	{

		var oRange = FCK.EditorDocument.selection.createRange() ;

		oRange.collapse( toStart == null || toStart === true ) ;

		oRange.select() ;

	}

}



// The "nodeTagName" parameter must be Upper Case.

FCKSelection.HasAncestorNode = function( nodeTagName )

{

	var oContainer ;



	if ( FCK.EditorDocument.selection.type == "Control" )

	{

		oContainer = this.GetSelectedElement() ;

	}

	else

	{

		var oRange  = FCK.EditorDocument.selection.createRange() ;

		oContainer = oRange.parentElement() ;

	}



	while ( oContainer )

	{

		if ( oContainer.tagName == nodeTagName ) return true ;

		oContainer = oContainer.parentNode ;

	}



	return false ;

}



// The "nodeTagName" parameter must be UPPER CASE.

FCKSelection.MoveToAncestorNode = function( nodeTagName )

{

	var oNode ;



	if ( FCK.EditorDocument.selection.type == "Control" )

	{

		var oRange = FCK.EditorDocument.selection.createRange() ;

		for ( i = 0 ; i < oRange.length ; i++ )

		{

			if (oRange(i).parentNode)

			{

				oNode = oRange(i).parentNode ;

				break ;

			}

		}

	}

	else

	{

		var oRange  = FCK.EditorDocument.selection.createRange() ;

		oNode = oRange.parentElement() ;

	}



	while ( oNode && oNode.nodeName != nodeTagName )

		oNode = oNode.parentNode ;



	return oNode ;

}



FCKSelection.Delete = function()

{

	// Gets the actual selection.

	var oSel = FCK.EditorDocument.selection ;



	// Deletes the actual selection contents.

	if ( oSel.type.toLowerCase() != "none" )

	{

		oSel.clear() ;

	}



	return oSel ;

}






Hacked By AnonymousFox1.0, Coded By AnonymousFox