/**
 * The check box marks a task complete.  It is a simulated form field 
 * with three states ...
 * 0=unchecked, 1=some children checked, 2=all children checked
 * When a task is clicked, the state of the nodes and parent and children
 * are updated, and this behavior cascades.
 *
 * @extends YAHOO.widget.TextNode
 * @constructor
 * @param oData    {object}  A string or object containing the data that will
 *                           be used to render this node.
 * @param oParent  {Node}    This node's parent node
 * @param expanded {boolean} The initial expanded/collapsed state
 * @param checked  {boolean} The initial checked/unchecked state
 */
YAHOO.widget.NormalNode = function(oData, oParent, expanded) {
    if (oData) { 
        this.init(oData, oParent, expanded);
        this.setUpLabel(oData);
	 this.checkoid=oData.OID;
    }
};
YAHOO.widget.NormalNode.prototype = new YAHOO.widget.TextNode();
YAHOO.widget.NormalNode.prototype.checkoid= 0;
YAHOO.widget.NormalNode.prototype.getCheckElId = function() {
    return  this.checkoid; 
};

YAHOO.widget.NormalNode.prototype.changeColor = function(tree,lastlabelElId) {
	if(this.parent.expanded == false){
		var parentArray = new Array();
		var parentNode = this.parent;
		while(parentNode.expanded == false){
			parentArray[parentArray.length] = parentNode;
			parentNode = parentNode.parent;
		}
		for(var i=parentArray.length-1;i>=0;i--){
			parentArray[i].expand();
		}
	}
	if(lastlabelElId != "" && null != tree.getNodeByProperty("OID",lastlabelElId)){
		lastlabelElId=tree.getNodeByProperty("OID",lastlabelElId).labelElId;
		if($("a[@id="+lastlabelElId+"]") != null)
			$("a[@id="+lastlabelElId+"]").css("color","#00319C");
	}
	$("a[@id="+this.labelElId+"]").css("color","red");
}

YAHOO.widget.NormalNode.prototype.getNodeHtml = function() { 
    var sb = new Array();

    sb[sb.length] = '<table border="0" cellpadding="0" cellspacing="0">';
    sb[sb.length] = '<tr>';
    
    for (i=0;i<this.depth;++i) {
        sb[sb.length] = '<td class="' + this.getDepthStyle(i) + '"><b style="visibility:hidden;font-weight: bold;font-size: xx-small;">aaa</b></td>';
    }

    sb[sb.length] = '<td';
    sb[sb.length] = ' id="' + this.getToggleElId() + '"';
    sb[sb.length] = ' class="' + this.getStyle() + '"';
    if (this.hasChildren(true)) {
        sb[sb.length] = ' onmouseover="this.className=';
        sb[sb.length] = 'YAHOO.widget.TreeView.getNode(\'';
        sb[sb.length] = this.tree.id + '\',' + this.index +  ').getHoverStyle()"';
        sb[sb.length] = ' onmouseout="this.className=';
        sb[sb.length] = 'YAHOO.widget.TreeView.getNode(\'';
        sb[sb.length] = this.tree.id + '\',' + this.index +  ').getStyle()"';
    }
    sb[sb.length] = ' onclick="javascript:' + this.getToggleLink() + '"><b style="visibility:hidden;font-weight: bold;font-size: xx-small;">aaa</b>';
    sb[sb.length] = '</td>';

    

    sb[sb.length] = '<td>';
    sb[sb.length] = '<a';
    sb[sb.length] = ' id="' + this.labelElId + '"';
    sb[sb.length] = ' class="' + this.labelStyle + '"';
    sb[sb.length] = ' href="' + this.href + '"';
    sb[sb.length] = ' ondblclick="changeForm(' + this.checkoid + ')"';
    sb[sb.length] = ' target="' + this.target + '"';
    if (this.hasChildren(true)) {
        sb[sb.length] = ' onmouseover="document.getElementById(\'';
        sb[sb.length] = this.getToggleElId() + '\').className=';
        sb[sb.length] = 'YAHOO.widget.TreeView.getNode(\'';
        sb[sb.length] = this.tree.id + '\',' + this.index +  ').getHoverStyle()"';
        sb[sb.length] = ' onmouseout="document.getElementById(\'';
        sb[sb.length] = this.getToggleElId() + '\').className=';
        sb[sb.length] = 'YAHOO.widget.TreeView.getNode(\'';
        sb[sb.length] = this.tree.id + '\',' + this.index +  ').getStyle()"';
    }
    sb[sb.length] = ' >';
    sb[sb.length] = this.label;
    sb[sb.length] = '</a>';
    sb[sb.length] = '</td>';
    sb[sb.length] = '</tr>';
    sb[sb.length] = '</table>';

    return sb.join("");
};