var _expandNodeImage = "code/Resources/Images/treeExpand.gif"; //set the + image for expanding nodes
var _collapseNodeImage = "code/Resources/Images/treeCollapse.gif"; //set the - image for collapsing nodes
var _borderStyle = "1px solid #dddddd";

function PopopenDiv(divToAppend, titleText, content, menuDiv, scrollOnOverflow) {

    this.getContentDiv = getContentDiv;
    this.getWholeDiv = getWholeDiv;
    this.setHeadingText = setHeadingText;

    var expanded = false;

    var contentDiv = document.createElement('div');
    contentDiv.style.width = "100%";
    contentDiv.innerHTML = content;
    if (scrollOnOverflow)
		contentDiv.style.overflow = "auto";
	else
		contentDiv.style.overflow = "hidden";

    var table = document.createElement('table');
        table.setAttribute("cellpadding", "1");
        table.setAttribute("cellspacing", "2");
        table.style.width = "100%";

    var headerDiv = document.createElement('div');
    var expandCollapseImg = document.createElement('img');
    expandCollapseImg.src = _expandNodeImage;
    headerDiv.appendChild(expandCollapseImg);

    var headerRow = table.insertRow(table.rows.length);
    var headerCell1 = headerRow.insertCell(headerRow.cells.length);
    headerCell1.appendChild(expandCollapseImg);
    var headerCell2 = headerRow.insertCell(headerRow.cells.length);
    headerCell2.style.width = "100%";
    headerCell2.innerHTML = titleText;
    headerCell1.onclick = expandCollapseClick;
    headerCell2.onclick = expandCollapseClick;
	var headerCell3 = headerRow.insertCell(headerRow.cells.length);
	if (menuDiv != undefined) {
		headerCell3.appendChild(menuDiv);
	}

    var contentRow = table.insertRow(table.rows.length);
    contentRow.insertCell(contentRow.cells.length); //empty cell
    var contentCell = contentRow.insertCell(contentRow.cells.length);
    contentCell.style.width = "100%";
    contentCell.style.border = _borderStyle;
    contentCell.colspan = "2";
    //contentCell.style.padding = "5px";
//    contentCell.style.margin = "5px";

    contentCell.appendChild(contentDiv);
    contentCell.style.display = 'none';

    divToAppend.appendChild(table);

    function expandCollapseClick(event) {
        if (expanded) {
            expandCollapseImg.src = _expandNodeImage;
            contentCell.style.display = 'none';
        }
        else {
            expandCollapseImg.src = _collapseNodeImage;
            contentCell.style.display = '';
        }
        expanded = !expanded;
    }

    function setHeadingText(newText) {
             while (headerCell2.childNodes.length > 0)
                    headerCell2.removeChild(headerCell2.childNodes[0]);
             headerCell2.innerHTML = newText;
    }


    function getContentDiv() {
    	return contentDiv;
    }

    function getWholeDiv() {
    	return table;
    }

}