areaID = null;
        
function showPopup(id) {
    areaID = id;
    var p =  $('dpopup');
    var o = $(id).cumulativeOffset();
    p.style.left = o.left - 180 + 'px';
    p.style.top = o.top - 240 + 'px';
    p.show();
}

function hidePopup() {
	$('dpopup').hide();
}

function insertURL() {
    var element = $(areaID);
    var url = $('iurl').value;
    var start = '<a href="'+url+'">';
    var end = '</a>';
    
    if (document.selection) {
        element.focus();
        sel = document.selection.createRange();
        var selText = sel.text
        sel.text = start + selText + end;
        
    } else if (element.selectionStart || element.selectionStart == '0') {
        element.focus();
        var startPos = element.selectionStart;
        var endPos = element.selectionEnd;
        var selText = element.value.substring(startPos, endPos);
        element.value = element.value.substring(0, startPos) + start + selText + end + element.value.substring(endPos, element.value.length);
        
    } else {
       element.value += start + end;
    };
    hidePopup();
}

function isParent(child, parent) {
    if (!child || !parent) {
        return false;
    }
    while (true) {
        if (child == parent) {
            return true;
        }
        if (child.parentElement) {
            child = child.parentElement;
        } else if (child.parentNode) {
            child = child.parentNode;
        } else {
            return false;
        }
    }
}

Event.observe(window, 'click', function(e){
	var clickBlock = $('options');
	var clickLink = $('search_in');
	var clickLink1 = $('searchpopup_link');
	
	if (!clickBlock) return false;
    var el = Event.element(e);   
    if ((el != clickLink) && (el != clickLink1) && clickBlock.visible()){
        if(!isParent(el, clickBlock)) {
            clickBlock.hide();
        }
    }
})

