function alerta()	{
alert("Esta página solo funciona como pop-up"); window.close();
}
var selector = document.getElementsByTagName("select");
function parametro()	{
var parametr;
/*
	var x = this.location.href;
	if (x.indexOf("#") == -1) {
		var in_i = x.indexOf("(");
		if (in_i == -1) parametr = "#000000"; //alert("poblema");
		else	{
			var colores = x.substring(in_i + 1, x.length - 1).split(",");
			parametr = color(colores[0], colores[1], colores[2]);
			}
	}
	else	parametr = x.substring(x.indexOf("#"), x.length);
*/
	ponerColor(opener.colorActual());
}

var n;
function ponerColor(parametr)	{
	n = parametr.toLowerCase();
	var _r = n.substring(1, 3);
	var _g = n.substring(3, 5);
	var _b = n.substring(5, 7);
	document.getElementById("rojo").value = valor(_r);
	document.getElementById("verde").value = valor(_g);
	document.getElementById("azul").value = valor(_b);
	iniciar(n);
}

function iniciar(n)	{
if (n.indexOf("#") == -1)	{
	if (n.indexOf("(") == -1) alert("problema");
	else	{
		var elcolor = n.substring(4, n.length - 1).split(",");
		n = color(elcolor[0], elcolor[1], elcolor[2])
		}
	}
for (var i = 1; i < selector.length; i ++)
	selector[i - 1][h.indexOf(n.charAt(i))].selected = true;
}

var _orden0, _orden1, _orden2, descricolor;
var botones = document.getElementsByName("boton");
var colores;
function ini()	{
if (!opener) alerta();
//colores = opener.colores;
var quiza_botones = document.getElementsByTagName("TD");
var cursor = (document.all) ? "hand" : "pointer";
for (var i = 0; i < quiza_botones.length; i ++)
	if (quiza_botones[i].className == "boton")
		quiza_botones[i].style.cursor = cursor;
for (var i = 0; i < botones.length; i ++) {
	botones[i].style.cursor = (document.all) ? "hand" : "pointer";
//	botones[i].style.backgroundColor = colores[2];
//	botones[i].style.color = colores[3];
	}
parametro();
letras();

var aux;
var _n = document.getElementById("prede").length;

_orden0 = new Array(_n);	
_orden1 = new Array(_n);	
_orden2 = new Array(_n);	
descricolor = new Array(_n);
for (var i = 1; i < _n; i ++)	{
	_orden0[i] = document.getElementById("prede")[i].innerHTML;
	_orden1[i] = document.getElementById("prede")[i].innerHTML;
	_orden2[i] = document.getElementById("prede")[i].innerHTML;
}
var _i;
var _j;
var __i;
var __j;
// orden alfabético;
for (var i = 1; i < _n - 1; i ++)
	for (var j = i + 1; j < _n; j ++)	{
		_i = _orden0[i];
		__i = _i.split(" ");
		_j = _orden0[j];
		__j = _j.split(" ");
		if (__i[1] > __j[1])	{
			aux = _orden0[i];
			_orden0[i] = _orden0[j];
			_orden0[j] = aux;
		}
		descricolor[i] = _orden0[i].split(" ")[0];
		if (ponderar(__i[0].toLowerCase()) < ponderar(__j[0].toLowerCase()))	{
			aux = _orden2[i];
			_orden2[i] = _orden2[j];
			_orden2[j] = aux;
		}
	}


var _titulos = document.getElementsByTagName("area");
var titu;
var descri;
for (var i = 0; i < _titulos.length; i ++)	{
	titu = _titulos[i].href.substring(24, 31);
	descri = buscacolor(titu);// if (i == 17) alert(descri + " .. " + titu);
	_titulos[i].title = (descri == -1) ? titu : _orden0[descri].split(" ")[1];
	}
parametro();
actualizar();
}

function buscacolor(color)	{
	for (var i = 0; i < descricolor.length; i ++)
		if (descricolor[i] == color) return i;
	return -1;
}
function ponderar(color)	{
	return valor(color.substring(1, 3)) + valor(color.substring(3, 5)) + valor(color.substring(5, 7));
}

var actu = 1;
function orden(n)	{
	var coloractual;
	var posiactual = document.getElementById("prede").selectedIndex;
//	if (posiactual > 0) coloractual=document.getElementById("prede")[posiactual].style.backgroundColor;
	if (posiactual > 0) coloractual=document.getElementById("prede")[posiactual].innerHTML.split(" ")[0];
//	alert(coloractual);
//	var elcolor;
	document.getElementById("orden")[actu].checked = false;
	document.getElementById("orden")[n].checked = true;
	actu = n;
	for (var i = 1; i < document.getElementById("prede").length; i ++)	
		switch(n)	{
			case 0:
			document.getElementById("prede")[i].innerHTML = _orden0[i];
			document.getElementById("prede")[i].style.backgroundColor = _orden0[i].split(" ")[0];
			break;
			case 1: 
			document.getElementById("prede")[i].innerHTML = _orden1[i];
			document.getElementById("prede")[i].style.backgroundColor = _orden1[i].split(" ")[0];
			break;
			case 2: 
			document.getElementById("prede")[i].innerHTML = _orden2[i];
			document.getElementById("prede")[i].style.backgroundColor = _orden2[i].split(" ")[0];
			break;
		}
	if (posiactual > 0) predefinir(coloractual.toLowerCase());
}
/*
var _letras = document.getElementsByTagName("b");
var iris = ["yellow", "green", "red", "blue", "cyan", "orange", "black"];

function letras()	{
var prime = iris[0];
for (var i = 0; i < _letras.length; i ++)	{
	_letras[i].style.color = iris[i];
	iris[i] = (i < iris.length - 1) ? iris[i + 1] : prime;
	}
setTimeout("letras()", 300);
}


function fin()	{
	if (opener)
		opener.no_popup(3);
}
*/
function abs(n)		{
	var temp = "" + n;
	return temp.split(".")[0];
}

var _h = "0.1.2.3.4.5.6.7.8.9.a.b.c.d.e.f".split(".");
function hexa(n)	{
	return _h[abs(n / 16)] + _h [n % 16];
}

var red = 0;
var green = 0;
var blue = 0;
function color(r, g, b)	{
	return "#" + hexa(r) + hexa(g) + hexa(b);
}

function actualizar()	{
	red = document.getElementById("rojo").value;
	green = document.getElementById("verde").value;
	blue = document.getElementById("azul").value;
	n = color(red, green, blue);
	document.getElementById("visor").style.backgroundColor = n;
	document.getElementById("numero").innerHTML = n;
	predefinir(n);
}

function resultado()	{
	window.close();
}

function enviar()	{
	opener.recogerColor(n);
}

var h = "0123456789abcdef";

function valor(x)	{
return h.indexOf(x.substring(0, 1)) * 16 + h.indexOf(x.substring(1, 2));
}

function predefinido(x)	{
//recogerColor(document.getElementById("prede").options[x].style.backgroundColor);


n = document.getElementById("prede").options[x].style.backgroundColor;
if (n.indexOf("#") == -1) {
	var colores = n.substring(4, n.length - 1).split(",");
	n = color(colores[0], colores[1], colores[2]);
}
var _r = n.substring(1, 3);
var _g = n.substring(3, 5);
var _b = n.substring(5, 7);
document.getElementById("rojo").value = valor(_r);
document.getElementById("verde").value = valor(_g);
document.getElementById("azul").value = valor(_b);
//actualizar();
//iniciar(n);
recogerColor(n);

}

function AsignaCampo(valor)	{
n = "" + valor.toLowerCase();
//var _r = n.substring(1, 3);
//var _g = n.substring(3, 5);
//var _b = n.substring(5, 7);
//document.getElementById("rojo").value = _valor(_r);
//document.getElementById("verde").value = _valor(_g);
//document.getElementById("azul").value = _valor(_b);
//actualizar();
//iniciar(n);
recogerColor(n);
//recogerColor(valor);
}

function _valor(x)	{
	return h.indexOf(x.charAt(0)) * 16 + h.indexOf(x.charAt(1));
}

var rgb = "#000000";
function poner(_color, valor, posi)	{
var temp1, temp2;
switch (_color)	{
	case 0: temp1 = rgb.substring(1, 3); break;
	case 1: temp1 = rgb.substring(3, 5); break;
	case 2: temp1 = rgb.substring(5, 7); break;
}
var a = (posi == 0) ? temp1.substring(1, 2) : temp1.substring(0, 1);
var n = valor.selectedIndex;
var b = h.substring(n, n + 1);
temp1 = (posi == 0) ? b + a : a + b;
switch (_color)	{
	case 0: temp2 = "#" + temp1 + rgb.substring(3, 7); break;
	case 1: temp2 = rgb.substring(0, 3) + temp1 + rgb.substring(5, 7); break;
	case 2: temp2 = rgb.substring(0, 5) + temp1; break;
}

switch (_color)	{
	case 0: document.getElementById("rojo").value = _valor(temp2.substring(1, 3)); break;
	case 1: document.getElementById("verde").value = _valor(temp2.substring(3, 5)); break;
	case 2: document.getElementById("azul").value = _valor(temp2.substring(5, 7)); break;
}
rgb = temp2;

n = rgb;
actualizar();
}

function predefinir(n)	{
var posi = 0;
n = n.toUpperCase();
var colors = document.getElementById("prede");
for (var i = 1; i < colors.length; i ++)	{
	var elcolor = colors[i].innerHTML.split(" ");
	if (elcolor[0] == n) posi = i;
	}
document.getElementById("prede")[posi].selected = true;
}

function buscaprede(predeactual, color)	{
	alert(predeactual + color);
	switch (predeactual)	{
	case 0:
	for (var i = 0; i < _orden0.length; i ++)
		if (_orden0[i].split(" ")[0] == color) return i;
	return -1;
	break;
	case 1: 
	for (var i = 0; i < _orden1.length; i ++)
		if (_orden1[i].split(" ")[0] == color) return i;
	return -1;
	case 2: 
	for (var i = 0; i < _orden2.length; i ++)
		if (_orden2[i].split(" ")[0] == color) return i;
	return -1;
	}
}


