<!--
// File: objects.js
// Description: basics functions of KankeiWeb forms
// Author: Leonardo Eiji Nakamura - nakamura@kankei.com.br
// Date: 17.09.2001
// Version: 1.1.6

// Constructor
function kFldObject(id,			// Id do obj  default=0
					caption,	// Descr do obj default=root
					parent,		// Pai do obj, null=root
					type)		// Tipo f=folder e o=objeto, null=o
{
	if (id==null)
	{
		this.id=0;
	} else
	{
		this.id=id;
	}
	this.caption=caption;
	this.parent=parent;
	if(type==null)
	{
		this.type="o";
	} else 
	{
		this.type=type;
	}
	this.obj=new Array();
	this.adObj=kObjectsAddChild;
	this.display=kObjectsDisplay;
	this.objects=0;
	this.folders=0;
}

function kObjectsAddChild(obj) 	// Um objeto kFldObject
{
	var i;
	if (obj.parent==this.id)
	{
		this.obj[this.obj.length]=obj;
		if (obj.type=="f"){this.folders++;}
		else{this.objects++;}
		return true;
	} else
	{
		for(i=0;i<this.obj.length;i++)
		{
			if (this.obj[i].type=="f")
			{
				if (this.obj[i].adObj(obj))
				{
					return true;
				}
			}			
		}
		return false;
	}
}

function getObjectName(objectId)
{
    switch( objectId )
    {
        case 10 : return "modulo";
        case 108 : return "pesquisa";
        case 109 : return "formulario";
        case 110 : return "relatorio";
        case 114 : return "estatistica";
        case 212 : return "agenda";
        default : return "";
    }
}

function getObjectDescription(objectId)
{
    switch( objectId )
    {
        case 10 : return "M&oacute;dulos";
        case 108 : return "Pesquisas";
        case 109 : return "Formul&aacute;rios";
        case 110 : return "Relat&oacute;rios";
        case 114 : return "Estat&iacute;sticas";
        case 212 : return "Agendas";
        default : return "";
    }
}

function getObjectCode(objectId)
{
    switch( objectId )
    {
        case 10 : return "modulo";
        case 108 : return "pesquisa";
        case 109 : return "form";
        case 110 : return "report";
        case 114 : return "statistic";
        case 212 : return "agenda";
        default : return "";
    }
}


function kObjectsDisplay(	objectId,	// Id do objeto
							level,		// Nivel do loop
							s)			// Caracteres iniciais
{
	var i, j;

	level= level==null ? 0:level;
	s= s==null ? "" : s;

	if (level==0)
	{
		document.writeln('<table width="150" cellpadding="3" border="0"><tr><td nowrap bgcolor="#ffffff" class="explorer">');
		document.writeln('<img src="images/fldr_' + getObjectCode(objectId) + '.gif" border="0" width="19" height="16" align="absbottom"> <b>' +
						getObjectDescription(objectId) + '</b>');
	}
	if (this.type == "f")
	{
		j=0;
		for(i=0;i<this.obj.length;i++){
			if(this.obj[i].type == "f")
			{
				j++;
				document.write("<br>");
				document.write(s);
				document.write("<img src=\"images/"+(this.obj[i].obj.length>0?"k_plus_":"k_line_")+(((this.folders>j)||(this.objects>0))?0:1)+ ".gif\" border=0 width=19 height=16 align=\"absbottom\"" + ((ActDinDis)&&(this.obj[i].obj.length>0)?(" id=\"fdr_" + this.obj[i].id + "i\" onclick=\"treeChange(\'fdr_" + this.obj[i].id + "\',"+(((this.folders>j)||(this.objects>0))?0:1)+");\""):"") + ">");
				document.writeln("<img src=\"images/k_folder_0.gif\" border=0 width=19 height=16 alt=\""+this.obj[i].caption+"\" align=\"absbottom\">"+this.obj[i].caption);
				if( (ActDinDis) && (this.obj[i].obj.length > 0) )
				{
					document.writeln("<span id=\"fdr_"+this.obj[i].id+"\" style=\"display:none;\">");
				}
				this.obj[i].display(objectId,level+1,s+"<img src=\"images/"+(((this.folders>j)||(this.objects>0))?"k_line_2":"empty")+".gif\" border=0 width=19 height=16 align=\"absbottom\">");
				if((ActDinDis)&&(this.obj[i].obj.length>0))
				{
					document.writeln("</span>");
				}
			}
		}
		j=0;
		for(i= 0; i < this.obj.length; i++)
		{
			if(this.obj[i].type=="o")
			{
				j++;
				document.write("<br>");
				document.write(s);
				document.write("<img src=\"images/k_line_" +(this.objects>j?0:1)+ ".gif\" border=0 width=19 height=16 align=\"absbottom\">");
				document.writeln("<a name=\"formAnchors\" id=\"" + getObjectCode(objectId) + this.obj[i].id + "\" href=\"" + 
								getObjectName(objectId) + ".aspx?id=" + this.obj[i].id + "\">" +
								"<img src=\"images/i_" + getObjectCode(objectId) + 
								".gif\" border=0 width=19 height=16 align=\"absbottom\" alt=\""+this.obj[i].caption+"\"> " +
								this.obj[i].caption+"</a>");
			}
		}
	}
	if (level == 0)
	{
		document.writeln("</td></tr></table>");
	}
}

function treeChange(treeName,iMode)
{
    try
    {
	    var oElement
	    var plus=new Image();
	    var minus=new Image();

	    plus="images/k_plus_" + iMode + ".gif";
	    minus="images/k_minus_" + iMode + ".gif";
	    oElement = document.getElementById(treeName);
	    if (oElement.style.display=="none")
	    {
		    oElement.style.display="";
		    oElement = document.getElementById(treeName+"i");
		    oElement.src=minus;
	    } else
	    {
		    oElement.style.display="none";
		    oElement = document.getElementById(treeName+"i");
		    oElement.src=plus;		
	    }
    }
    catch(ex)
    { // ignorar erros aqui, pois geralmente ocorrem
    } // ao se clicar na árvore antes dela ter terminado de montar. Rogério Ramos - 30/ago/2006
}

var kObjs=new kFldObject(0,"",null,"f"); // Cria objeto
var xTmp=new Array();
var ActDinDis=(navigator.appName.indexOf("Explorer") != 0)&&(parseInt(navigator.appVersion)>3);
//-->
