//******************************************************************//
//***************  FUNCIONES ADICIONALES DE NODOS  *****************//
node = function () {};
node.createObjNode = function(type, params, debug){
	idNewObj = (typeof idNewObj == "undefined")? "" : idNewObj;
	type = (typeof type == "undefined")? "" : type;
	debug = (typeof debug == "undefined")? 0 : debug;
	
	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };

	param_default("id"				, "");
	param_default("name"			, "");
	param_default("value"			, "");
	param_default("estilos"			, "");
	param_default("propiedades"		, "");
	param_default("onclick"			, "");
	param_default("onchange"		, "");
	param_default("innerHTML"		, "");
	
//	alert(type+", "+params+", "+debug);
//	if (!document.getElementById(idNewObj)){
		if (type == ""){
			if (debug == 1) alert("Debes insertar el atributo 'type' del elemento '"+params["id"]+"' que deseas crear.");
			return false;
		} else {
			var newObj = document.createElement(type), i=0, estilo="";
			if (params["id"] != "") newObj.setAttribute("id", params["id"]);
			
			if (params["name"] != "") newObj.setAttribute("name", params["name"]);
			else if (params["id"] != "") newObj.setAttribute("name", params["id"]);

			if (params["value"] != "") newObj.setAttribute("value", params["value"]);
			
			if (params["estilos"] != ""){
				params["estilos"] = (params["estilos"]).split(";");
				
				i=0;
				while (params["estilos"][i]){
					estilo = (params["estilos"][i]).split(":");
					eval("newObj.style."+estilo[0]+" = '"+estilo[1]+"';");
					i++;
				}
			}
			
			if (params["propiedades"] != ""){
				params["propiedades"] = (params["propiedades"]).split(";");
				
				i=0;
				while (params["propiedades"][i]){
					propiedad = (params["propiedades"][i]).split("=");
					newObj.setAttribute(propiedad[0], propiedad[1]);
					i++;
				}
			}
			
			if (params["innerHTML"] != "") newObj.innerHTML = params["innerHTML"];
			if (params["onclick"] != "") newObj.onclick = function() { eval(params["onclick"]); };
			if (params["onchange"] != "") newObj.onchange = function() { eval(params["onchange"]); };
		}
		
		return newObj;
/*	} else{
		if (debug == 1) alert("Ya existe "+params["id"]);
		return false;
	}*/
}

node.addObjIntoNode = function(idParentNode, type, params, debug){
	if (typeof params == "undefined") params = new Array();
	debug = (typeof debug == "undefined")? 0 : debug;
	
	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };

	param_default("id"				, "");
	param_default("name"			, "");
	param_default("value"			, "");
	param_default("estilos"			, "");
	param_default("propiedades"		, "");
	param_default("onclick"			, "");
	param_default("onchange"		, "");
	param_default("innerHTML"		, "");
	
	if (typeof idParentNode == "string" && !document.getElementById(idParentNode)){
		if (debug == 1) alert("Para insertar el elemento debes asociarlo a un nodo padre. Pero el nodo '"+idParentNode+"' no \n existe y es donde estas tratando de insertar el nuevo elemento.");
		return false;
	} else {
		
		if (typeof idParentNode == "object"){
			var parentNode = idParentNode;
		} else {
			var parentNode = document.getElementById(idParentNode);
		}
		
		if (parentNode){
			
			if (parentNode[params["id"]]) {
				if (debug == 1) alert("Ya existe "+params["id"]);
				return false;
			} else{
				newObj = node.createObjNode(type, params, debug);

				if (newObj){
					parentNode.appendChild(newObj);
					return newObj;
				} else {
					if (debug == 1) alert("No se ha podido crear el objeto '"+params["id"]+"'");
					return false;
				}
			}
					
			
		}
		else {
			if (debug == 1) alert("No existe en nodo padre "+idParentNode+" - "+params["id"]);
			return false;
		}
	}
}

node.removeObjIntoNode = function(idObj){	
	if (typeof idObj == "string" && !document.getElementById(idObj)){
		return false;
	} else {
		
		if (typeof idObj == "string"){
			idObj = document.getElementById(idObj);
		}
	
		if (idObj){
			if (idObj.parentNode.removeChild(idObj))
				return true;
			else
				return false;
		} else {
			return false;
		}
	}
}
//******************************************************************//
//******************************************************************//