var dlg = initDialog('panel', 'dialog');
var x;
var y;

/***************************************************************************************************
+ Nombre: aleat
+ Finalidad: función que genera un número aleatorio entre 'inicio' y 'fin'.
+ Suposiciones: 
	- Math: objeto que contiene las funciones matemáticas básicas.
+ Efectos: --
+ Parámetros Entrada: 
	- inicio
	- fin
+ Valores Devueltos:
	- aleat
****************************************************************************************************/
function aleat(inicio, fin){

var aleat = Math.random() * (fin - inicio);
aleat = Math.floor(aleat) + inicio;
return aleat;

}

/***************************************************************************************************
+ Nombre: refresh
+ Finalidad: función que recarga la web
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function refresh(){ 
      location.reload(true);
}


/***************************************************************************************************
+ Nombre: inArray
+ Finalidad: función que comprueba si 'elemento' se encuentra dentro de 'array'
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: 
	- elemento
	- array
+ Valores Devueltos: 
	- encontrado, que podrá contener el valor booleano de la operación (true o false)
****************************************************************************************************/

function inArray(elemento, array){
	var encontrado=false;
	for (i = 0; i < array.length; i++) {
		if (array[i] == elemento) {
			encontrado=true;
		}
	}
	return encontrado;
		
}


/***************************************************************************************************
+ Nombre: over_image
+ Finalidad: función que asigna al elemento imagen de name 'name' la imagen que tiene localización 
'ref'
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: 
	- ref
	- name
+ Valores Devueltos: --
****************************************************************************************************/
function over_image(ref,name) {
	document.images[name].src=ref; 
}

/***************************************************************************************************
+ Nombre: out_image
+ Finalidad: función que asigna al elemento imagen de name 'name' la imagen que tiene localización 
'ref'
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: 
	- ref
	- name
+ Valores Devueltos: --
****************************************************************************************************/
function out_image(ref,name) {
	document.images[name].src=ref;
}

/***************************************************************************************************
+ Nombre: clearObj
+ Finalidad: función que elimina todos los elementos hijo del objeto del DOM 'obj' de forma dinámica.
+ Suposiciones: --
+ Efectos: 
	- obj se queda totalmente limpio, sin hijos que cuelguen de él.
+ Parámetros Entrada: 
	- obj
+ Valores Devueltos: --
****************************************************************************************************/
function clearObj(obj) {
	if(obj)
	while(obj.firstChild) obj.removeChild(obj.firstChild);
}

/***************************************************************************************************
+ Nombre: limpiaObjetoDOM
+ Finalidad: función que elimina todos los elementos hijo del objeto del DOM 'obj' de forma dinámica.
+ Suposiciones: --
+ Efectos: 
	- obj se queda totalmente limpio, sin hijos que cuelguen de él.
+ Parámetros Entrada: 
	- obj
+ Valores Devueltos: --
****************************************************************************************************/
	
function limpiaObjetoDOM(obj) {
	while(obj.firstChild) obj.removeChild(obj.firstChild);
}

/***************************************************************************************************
+ Nombre: initDialog
+ Finalidad: 
+ Suposiciones: 
	- problema
	- densidades[]
	- sustancias[]
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function initDialog(contentFrame,frame) {
	dialog = new Object();
	dialog.contentFrame = contentFrame;
	dialog.frame = frame;

	dialog.show = function(){
		document.getElementById(this.contentFrame).style.display = '';
		document.getElementById(this.frame).style.display = '';
	}
	
	dialog.hide = function(){
		document.getElementById(this.contentFrame).style.display = 'none';
		document.getElementById(this.frame).style.display = 'none';
	}

// estilos css
	dialog.setStyles = function(){
		document.getElementById(this.contentFrame).className = 'contentframe_rpx_dialog_style';
		document.getElementById(this.frame).className = 'frame_rpx_dialog_style';
	}
	return dialog;
}


/***************************************************************************************************
+ Nombre: dialogo
+ Finalidad: 
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function dialogo(texto){
	clearObj(document.getElementById("panel"));
	clearObj(document.getElementById("dialogo"));
	
	eDIV = document.createElement("div");
	eDIV.setAttribute("id","dialog");
	
	top = document.createElement("div");
	top.setAttribute("id","top");
	
	a=document.createElement("a");
	a.setAttribute("onclick","dlg.hide();");
	top.setAttribute("class","cerrar");
	top.setAttribute("align","right");
	a.appendChild(document.createTextNode("cerrar [x]"));
	top.appendChild(a);
	
	
	eDIV.appendChild(top);
	eDIV.appendChild(document.createElement("br"));		
	eDIV.appendChild(document.createTextNode(texto));
	
	
	formulario = document.createElement("form");
	formulario.setAttribute("name", "form1");
	formulario.setAttribute("method", "POST");
	
	input=document.createElement("input");
	input.setAttribute("type","button");
	input.setAttribute("name","boton");
	input.setAttribute("value","Aceptar");
	input.setAttribute("onclick","dlg.hide();");
	formulario.appendChild(input);	
	eDIV.appendChild(document.createElement("br"));
	eDIV.appendChild(document.createElement("br"));
	eDIV.appendChild(formulario);
	document.getElementById("dialogo").appendChild(eDIV);
	
	
	dlg.setStyles(); 
	dlg.show();
}

/***************************************************************************************************
+ Nombre: position
+ Finalidad: 
+ Suposiciones: -- 
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function position(event){
	 x = event.clientX;
     y = event.clientY;
}



/***************************************************************************************************
+ Nombre: mostrarLeyenda
+ Finalidad: --
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function mostrarLeyenda(ide, texto) {	
	d=document.getElementById(ide); 
	document.getElementById(ide).style.left=x+aleat(-20,20)+'px' ; 
	document.getElementById(ide).style.top=y+aleat(-20,20)+'px'; 
	document.getElementById(ide).appendChild(document.createTextNode(texto));
	
	document.getElementById(ide).style.visibility='visible'; 
	}

/***************************************************************************************************
+ Nombre: ocultarLeyenda
+ Finalidad: --
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function ocultarLeyenda(d) {
	id=document.getElementById(d); 
	clearObj(id); 
	id.style.visibility='hidden'; 

	}

/***************************************************************************************************
+ Nombre: ordenaVector
+ Finalidad: Ordena vector de menor a mayor.
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/	
function ordenaVector(Vector){
	for (var i = 1; i < Vector.length; i++) {
		for (var j = 0; j < Vector.length - 1; j++) {
			if (Vector[j] > Vector[j + 1]) {
				var temp = Vector[j];
				Vector[j] = Vector[j + 1];
				Vector[j + 1] = temp;
			}
		}
	}
}

/***************************************************************************************************
+ Nombre: ordenaVectorInv
+ Finalidad: Ordenar el vector de mayor a menor.
+ Suposiciones: --
+ Efectos: --
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/

function ordenaVectorInv(Vector){
	for (var i = 1; i < Vector.length; i++) {
		for (var j = 0; j < Vector.length - 1; j++) {
			if (Vector[j] < Vector[j + 1]) {
				var temp = Vector[j];
				Vector[j] = Vector[j + 1];
				Vector[j + 1] = temp;
			}
		}
	}
}
