// (C) Copyright 2008, Compulutions B.V.

// Depends on Compulutions.Base.Common.js

// [RK] 20071207

ddwhClick = function(ref)
{
    var ulObj = getNextSibling(ref);
    
    if (ulObj.isOpen)
        return;
        
    if (document.onclick != null)
        document.onclick();           // Dirty hack ;o
    
    ulObj.inCage = true;
    
    ref.parentNode.onmouseover = function() { ulObj.inCage = true;  }
    ref.parentNode.onmouseout  = function() { ulObj.inCage = false; }
    
    document.onclick = function()
    {
        if (ulObj.isOpen && !ulObj.inCage)
            closeUlObj(ulObj);
    }
    
    ulObj.style.display = 'block';
    ulObj.isOpen = true;
}

ddwhOpenSub = function(ref)
{
    var ref = getFirstChild(ref);
    var ulObj = getNextSibling(ref);
    
    ref.parentNode.onmouseout = function() { closeSubUlObj(ulObj); }
    
    ulObj.style.display = 'block';
}


ddwhItemClick = function(ref, postBackName)
{
    var liObj = ref.parentNode;
    var ulObj = liObj.parentNode;
    var inObj = getPreviousSibling(ulObj.parentNode.parentNode);
    var tdObj = getFirstChild(getFirstChild(getFirstChild(getPreviousSibling(ulObj))));
    
    // Find clicked index
    var i = 0;
    for (var liCurrent = getFirstChild(ulObj); liCurrent != null; liCurrent = getNextSibling(liCurrent))
    {
        if (liCurrent == liObj)
            break;
        i++;
    }
    
    inObj.value = i;
	tdObj.firstChild.nodeValue = getFirstChild(liCurrent).firstChild.nodeValue;
    
    closeUlObj(ulObj);
    
    if (postBackName != null)
    {
        var prut = document.createElement('input');
        prut.type = 'hidden';
        prut.name = postBackName;
        prut.value = '1';
        var f = document.forms[0];
        f.appendChild(prut);

        setTimeout(kslfjsldjfsdlfjoifejfoeiw, 100);
        
    }
}

kslfjsldjfsdlfjoifejfoeiw = function()
{
    document.forms[0].submit();
}

ddwhSubItemClick = function(ref, postBackName)
{
    var liObj = ref.parentNode;
    var ulObj = liObj.parentNode;
    
    // Find clicked index
    var i = 0;
    for (var liCurrent = getFirstChild(ulObj); liCurrent != null; liCurrent = getNextSibling(liCurrent))
    {
        if (liCurrent == liObj)
            break;
        i++;
    }
    
    ddwhItemClick(getPreviousSibling(ulObj), postBackName);
    
    var inObj = getPreviousSibling(ulObj.parentNode.parentNode.parentNode.parentNode);
    inObj.value += '_' + i;
    closeSubUlObj(ulObj);
}

closeUlObj = function(ulObj)
{
    ulObj.style.display = 'none';
    ulObj.isOpen = false;
    document.onclick = null;
    ulObj.parentNode.onmouseover = null;
    ulObj.parentNode.onmouseout = null;
}

closeSubUlObj = function(ulObj)
{
    ulObj.style.display = 'none';
}

