
var ie_version;
var ie = navigator.userAgent.toLowerCase().indexOf("msie")>-1 && navigator.userAgent.toLowerCase().indexOf("opera")< 0;
var ie7 = navigator.userAgent.toLowerCase().indexOf("msie 7.")>-1;
if (ie) { ie_version = parseInt (navigator.userAgent.toLowerCase().substr (navigator.userAgent.toLowerCase().indexOf("msie") + 5, 1)); }

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joGet (node_id) { return document.getElementById (node_id); }

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joToggleNode (node, new_state)
{
	if (!new_state) new_state = node.style.display == "none" ? "block" : "none";
	node.style.display = new_state;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joToggleNodes()
{
	var toggle_state = joToggleNodes.arguments[0];
	for (var i = 1; i < joToggleNodes.arguments.length; i++)
	{
		joToggleNode (joGet (joToggleNodes.arguments[i]), toggle_state);
	}
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joShowExclusively (parent_node_id, show_node_id, nodes_type)
{
	var parent_node = joGet (parent_node_id);

	if (parent_node)
	{
		if (!nodes_type) nodes_type = "DIV";
		var navblock_nodes = parent_node.childNodes;
		for (var i = 0; i < navblock_nodes.length; i++)
		{
			if (navblock_nodes[i].nodeName == nodes_type) 
			{
				var new_state = navblock_nodes[i].id == show_node_id ? "block" : "none";
				joToggleNode (navblock_nodes[i], new_state);
			}
		}
	}
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joNumStr (string, length)
{
	var result = "";
	var zerocount = length - string.length;
	if (zerocount > 0)
	{
		for (i = 0; i != zerocount; i++)
			result += "0";
	}
	result += string;
	return result;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joAddEvent (node, oneEvent, handler) 
{
    if(document.body.addEventListener) node.addEventListener (oneEvent, handler, false);
    if(document.body.attachEvent) node.attachEvent ("on" + oneEvent, handler);
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joGetPos (node) 
{
	var curleft = curtop = 0;
	if (node.offsetParent) 
	{
		do 
		{
			curleft += node.offsetLeft;
			curtop += node.offsetTop;
		} 
		while (node = node.offsetParent);
	}
	return [curleft, curtop];
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joGetSize (node)
{
	return [node.offsetWidth, node.offsetHeight];
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joGetWinSize()
{
	return [ie ? document.body.clientWidth : window.innerWidth, ie ? document.body.clientHeight : window.innerHeight];
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joAddHTMLChildNode (parent_node, node_type, node_class, node_id)
{
	var new_node = document.createElement (node_type);
	parent_node.appendChild (new_node);
	if (node_class && node_class != "")	new_node.setAttribute ("class", node_class);
	if (node_id && node_id != "")	new_node.setAttribute ("id", node_id);
	return new_node;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joAddTextChildNode (parent_node, node_text)
{
	var new_node = document.createTextNode (node_text);
	parent_node.appendChild (new_node);
	return new_node;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function joRemoveChildNodes (node)
{
	while (node && node.hasChildNodes())
	{
		joRemoveChildNodes (node.firstChild);
		var subnode = node.removeChild (node.firstChild);
		subnode = null;
	}
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function PlaceMembers()
{
	var canvas_node 	= joGet ("members");
	var member_nodes 	= canvas_node.getElementsByTagName ("div");
	
	if (member_nodes.length)
	{
		var canvas_size 	= joGetSize (canvas_node);
		var center = [Math.round (canvas_size[0] / 2), Math.round (canvas_size[1] / 2)];
		var member_size = joGetSize (member_nodes[0]);
		var radius = [Math.round ((canvas_size[0] - member_size[0]) / 2), Math.round ((canvas_size[1] - member_size[1]) / 2)];
		var today = new Date();
		var offset = today.getDate();
		var arc = 360  / member_nodes.length;
		var rad = 2 * Math.PI / member_nodes.length;
		var pos = [0, 0];

		var member_node;

		for (var i = 0; i < member_nodes.length; i++)
		{
			member_node = member_nodes[i];

			pos[0] = Math.round (Math.cos (rad * i + offset) * radius[0]);
			pos[1] = Math.round (Math.sin (rad * i + offset) * radius[1]);
			
			x = Math.round (pos[0] + center[0] - member_size[0] / 2);
			y = Math.round (pos[1] + center[1] - member_size[1] / 2);
			
			member_node.style.left = 	x + "px";
			member_node.style.top = y + "px";
			
		}
		
	}
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */

function Go (node)
{
	window.location.href = node.id + ".html";
}
