var agt = navigator.userAgent.toLowerCase();
var isIE = (agt.indexOf("msie") != -1 && agt.indexOf("opera") == -1);

var preloads = new Array(4);
for(var i=0; i<4; i++){
	preloads[i] = new Image(26,26);
	preloads[i].src = "images/radio"+(i+1)+".gif";
}

function getq(ele)
{
    var p = ele.parentNode;
    var idx = 0;
    while(p.className != "chartable" && idx < 30)
    {
		p = p.parentNode;
		idx++;
    }
    if(idx >= 30)
    {
		return null;
	}
	else
	{
		return p;
	}    
}
function setup()
{
	var inputs = document.getElementsByTagName("input");
	var label, img, inputID;
	for(var i = 0; i < inputs.length; i++)
	{
		switch(inputs[i].type)
		{
			case "radio":
				label = document.getElementById("l" + inputs[i].id);
				if(label==null)
					continue;
				if(inputs[i].checked)
				{
					label.className = label.className.replace("off", "on");
					inputs[i].history = true;
				}
				else
				{
					inputs[i].history = false;
				}
				inputs[i].onclick = function() { rbtoggle(this); }
				label.onmouseover = function() { rbover(this); }
				label.onmouseout = function() { rbout(this); }
				if(isIE)	// IE! ignores images in labels.
				{
					if(label!=null)
					{
						img = label.getElementsByTagName("img")[0];
						img.onclick = function() { this.parentNode.click(); }
					}
				}
				break;
		}
	}
	safari();
}
function safari()
{
	var ua = navigator.userAgent.toLowerCase();
	if(ua.indexOf("safari/") > -1 && ua.indexOf("version/") == -1)
	{
		var labels = document.getElementsByTagName("label");
		for(var i = 0; i < labels.length; i++)
		{
			labels[i].onclick = function() { var input = document.getElementById(this.getAttribute("for"));  if(input) input.click(); }
			labels[i].onmousedown = function() { var input = document.getElementById(this.getAttribute("for"));  if(input) input.click(); }
		}
	}
}
function rbover(label)
{
	label.className = label.className.replace("rb","rbover");
}
function rbout(label)
{
	label.className = label.className.replace("rbover","rb");
}
function rbtoggle(input)
{
	if(input.history == true)
	{
		input.checked = false;
		input.history = false;
	}
	else
	{
		input.history = true;
	}

	var group = new Array();
	var inputs = getq(input).getElementsByTagName("input");
	for(var i = 0; i < inputs.length; i++)
	{
		if(inputs[i].name == input.name)
		{
			group.push(inputs[i]);
		}
	}

	if(input.className.indexOf("col") > -1)
	{
		inputs = input.parentNode.parentNode.getElementsByTagName("input");
		for(var i = 0; i < inputs.length; i++)
		{
			if(inputs[i].name != input.name)
			{
				group.push(inputs[i]);
				if(input.checked)
				{
					inputs[i].checked = false;
				}
			}

		}
	}
	
	var label;
	for(var i = 0; i < group.length; i++)
	{
		label = document.getElementById("l" + group[i].id);
		if(group[i].checked) 
		{
			label.className = label.className.replace("off","on");
		}
		else 
		{
			label.className = label.className.replace("on","off");		
		}
		if(group[i].id != input.id)
		{
			group[i].history = false;
		}
	}
}
