function getSel()
	{
	if (window.getSelection) {
		//alert('window.getSelection');
		return window.getSelection();
	}
	if (document.getSelection) {
		//alert('document.getSelection');
		return document.getSelection();
	}
	if (document.selection) {
		//alert('document.selection');
		return document.selection.createRange(); // IE
	}
	return null;
}

function isIESelection()
	{
	var isIE = false;
	if (document.selection) {
		isIE = true;
	}
	return isIE;
}
	
function getSelText()
	{
	var txt = '';
	var selection = getSel();
	if (_hasProperty(selection, 'text'))
		return selection.text; // IE
	return selection.toString();
	}

function getSelSource()
	{
	var selection = getSel();
	if (selection.getRangeAt) {
		var tmp_div = document.createElement("div");
		var range = selection.getRangeAt(0);
		tmp_div.appendChild(range.cloneContents());
		return tmp_div.innerHTML;
	}
	else {
		return selection.htmlText; // IE TextRange
	}
}

function _hasProperty(object, property) {
        if (typeof(object[property]) != 'undefined') {
                return true;
	}

        for (var p in object) {
                if (p == property) {
                        return true;
                }
        }

        return false;
}
