/* Este archivo contiene funciónes 'etc', es decir, funciones necesarias
 * pero que no tienen un lugar específico..
 * Mostrar datos por pantalla (alert) y ese tipo de cosas.
*/


// Muestra los argumentos de la función (DEBUG)
function showArgs()
{
	var i = 0;
	var res = "";
	
	while(showArgs.caller.arguments[i])
		res += showArgs.caller.arguments[i++] + " --- ";
	
	alert(res);
}



// Muestra las variables pasadas como argumentos, separadas por || (DEBUG)
function show(mb)
{
	var str = "";
	var i = 0;

	while(i < show.arguments.length)
	{
		if(i != 0)
			str += " || ";

		str += arguments[i++];
	}

	if(mb && mb == "MB")
		MessageBox(false, "SHOW", str, false);
	else
		alert(str);
}

// Conseguir estilo del CSS, Compatibilidad con todos los navegadores; Usado para xEffects 
function getCSS(element)
{
	var res = false;
	
	if(element && element.currentStyle)
	{
		res = element.currentStyle;
	}
	else if(window.getComputedStyle)
	{
		res = window.getComputedStyle(element, null);
	}

	return res;
}


// Simplificar código
function $(id)
{
	return document.getElementById(id);
}


function createElement(data_tree)
{
	var element = null;
	if(data_tree)
	{
		if(data_tree.type)
		{
			if(data_tree.type == "text")
				element = document.createTextNode(data_tree.text);
			else
			{
				element = document.createElement(data_tree.type);
				element.className = data_tree.className;

				if(data_tree.attributes)
				{
					for(var a in data_tree.attributes)
					{
						if(data_tree.attributes)
							element.setAttribute(a, data_tree.attributes[a]);
					}
				}

				element.value = data_tree.value ? data_tree.value : "";

				if(data_tree.children)
				{
					for(var e in data_tree.children)
					{
						if(data_tree.children[e])
							element.appendChild(createElement(data_tree.children[e]));
					}
				}
			}
		}
		else
			return data_tree;
	}

	return element;
}



function createBorderDiv(title_div, content_div)
{
	var div_res = createElement(	{ "type": "div", "children":
										[ { "type": "div", "className": "member_border bord01"},
										  { "type": "div", "className": "member_border bord11"},

										  { "type": "div", "className": "member_bar bar11"},

										  { "type": "div", "className": "member_bord_cont", "children":
													[ title_div,
													  { "type": "div", "className": "member_cont", "children": [content_div]}
													]
										  },

										  { "type": "div", "className": "member_border bord00"},
										  { "type": "div", "className": "member_border bord10"},

										  { "type": "div", "className": "member_bar bar11"},

										]
									});

									
	return div_res;
}


// Añade una página web (div.innerHTML) a un div
function addHTML(div, new_div)
{
	if(div && new_div)
	{
		div.innerHTML += new_div;
	}
}

// Borra los elementos de un div
function removeHTML(div)
{
	if(div)
	{
		while(div.firstChild)
			div.removeChild(div.firstChild);
	}
}

