// return object containing all get varaibles
function get()
{
    var qs = location.search.substring(1);
    var nv = qs.split('&');
    var url = new Object();
    for(i = 0; i < nv.length; i++)
    {
        var eq = nv[i].indexOf('=');
        url[nv[i].substring(0,eq).toLowerCase()] = unescape(nv[i].substring(eq + 1));
    }
    return url;
}

function go(url)
{
    window.location = url;
}

function $()
{
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++)
    {
        var element = arguments[i];
        if (typeof element == 'string')
            element = document.getElementById(element);
        if (arguments.length == 1)
            return element;
        elements.push(element);
    }
    return elements;
}

function add_node(parent, name, content)
{
    /* create element first */
    var node = document.createElement(name);
    /* create content node if required */
    if (typeof(content) == 'object' && content && content.nodeType)
        node.appendChild(content);
    else if (typeof content != 'undefined')
        add_text(node, content);
    /* set attributes */
    if (arguments.length > 3)
    {

      if ((arguments.length % 2) == 0)
          return;
      for (var i=3; i<arguments.length; i+=2)
      {
          node.setAttribute(arguments[i], arguments[i+1]);
      }
    }
    return parent.appendChild(node);
}

function add_text(parent, text)
{
    var node = document.createTextNode(text);
    return parent.appendChild(node);
}

function get_text(node)
{
    var s = "";
    if (node.childNodes)
    {
        var nodes = node.childNodes;
        for (var i = 0; i < nodes.length; i++)
        {
            if (nodes[i].nodeType == 3)
                s += nodes[i].data;
        }
    }
    return s;
}

function rem_nodes(parent)
{
    while (parent.lastChild)
        parent.removeChild(parent.lastChild);
}

function highlight_input(el)
{
    el.style.border = "1px solid red";
    el.style.background = "#ffeeee";
}

function hide_element(id)
{
    $(id).style.display = "none";
}

/* get mouse position relative to the page */
function get_mouse_page_x(e)
{
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)
        return e.pageX;
    else if (e.clientX || e.clientY)
        return e.clientX + get_page_x_offset();
    return 0;
}

/* get mouse position relative to the page */
function get_mouse_page_y(e)
{
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)
        return e.pageY;
    else if (e.clientX || e.clientY)
        return e.clientY + get_page_y_offset();
    return 0;
}

/* get window size */
function get_window_height()
{
    if (window.innerHeight) // all except Explorer
    return window.innerHeight;
    else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
    return document.documentElement.clientHeight;
    else if (document.body) // other Explorers
    return document.body.clientHeight;
}

/* get window size */
function get_window_width()
{
    if (window.innerHeight) // all except Explorer
        return window.innerWidth;
    else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
        return document.documentElement.clientWidth;
    else if (document.body) // other Explorers
        return document.body.clientWidth;
}

/* get page scroll offset */
function get_page_x_offset()
{
    if (window.pageYOffset) // all except Explorer
        return window.pageXOffset;
    else if (document.documentElement && document.documentElement.scrollTop) // Explorer 6 Strict
        return document.documentElement.scrollLeft;
    else if (document.body) // all other Explorers
        return document.body.scrollLeft;
}

/* get page scroll offset */
function get_page_y_offset()
{
    if (window.pageYOffset) // all except Explorer
        return window.pageYOffset;
    else if (document.documentElement && document.documentElement.scrollTop) // Explorer 6 Strict
        return document.documentElement.scrollTop;
    else if (document.body) // all other Explorers
        return document.body.scrollTop;
}

var menutoshow = null;

function getElem(name)
{ // bug workaround from www.fel.cvut.cz
	if (document.all) {
		return document.all[name];
	} else {
		return document.getElementById(name);
	}
}

function menuShow(divname)
{
	menutoshow = getElem(divname);
	menutoshow.timeout = setTimeout('menutoshow.style.visibility = "visible"', 200);
}

function menuHide(divname)
{
	if (menutoshow)
		if (menutoshow.timeout) clearTimeout(menutoshow.timeout);
	getElem(divname).style.visibility = "hidden";
}

function update_user_edit_form()
{
	var form = $('usernameForm');
//	form.update.value = "1";
	form.submit();
}

function update_pollselect_form()
{
	var form = $('pollSelectForm');
	form.submit();
}

// SELECTBOX FUNCTIONS

function hasOptions(obj)
{
  if (obj!=null && obj.options!=null) 
  {
    return true;
  }
  return false;
}

function selectAllOptions(obj)
{
   if (!hasOptions(obj)) 
   {
     return;
   }
   for (var i=0; i<obj.options.length; i++)
   {
     obj.options[i].selected = true;
   }
}

function deSelectAllOptions(obj)
{
   if (!hasOptions(obj)) 
   {
     return;
   }
   for (var i=0; i<obj.options.length; i++)
   {
     obj.options[i].selected = false;
   }
}

