function getval(varname)
{
  var url = window.location.href;
  var qparts = url.split("?");
  if (qparts.length == 0)
  {
    return "";
  }
  var query = qparts[1];
  var vars = query.split("&");
  var value = "";
  for (i=0;i<vars.length;i++)
  {
    var parts = vars[i].split("=");
    if (parts[0] == varname)
    {
      value = parts[1];
      break;
    }
  }
  value = unescape(value);
  value.replace(/\+/g," ");
  return value;
}
function setrel(rel,func)
{
	document.observe(
		'click',
		(
			function(event)
			{
				var target = event.findElement('[rel^='+rel+']') || event.findElement('[rel^='+rel+']');
				if (target)
				{
					event.stop();
					if (func !== null)
					{
						eval(func);
					}
				}
			}
		)
	);
}
function isset(varname)
{
	return(typeof(window[varname])!='undefined');
}

function setCookie(c_name,value,expiredays)
{
	if (!isset(expiredays)) { expiredays = 7; }
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	result = document.cookie = c_name + "=" + escape(value) + ( (expiredays==null) ? "" : ";expires=" + exdate.toGMTString() );
	return result;
}

function getCookie(c_name)
{
	if (document.cookie.length>0)
	{
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return false;
}

/*function var_dump(data,addwhitespace,safety,level)
{
	var rtrn = '';
	var dt,it,spaces = '';
	if(!level)
	{
		level = 1;
	}
	for(var i=0; i<level; i++)
	{
		spaces += '   ';
	}//end for i<level
	if(typeof(data) != 'object')
	{
		dt = data;
		if(typeof(data) == 'string')
		{
			if(addwhitespace == 'html')
			{
				dt = dt.replace(/&/g,'&amp;');
				dt = dt.replace(/>/g,'&gt;');
				dt = dt.replace(/</g,'&lt;');
			}//end if addwhitespace == html
			dt = dt.replace(/\"/g,'\"');
			dt = '"' + dt + '"';
		}//end if typeof == string
		if(typeof(data) == 'function' && addwhitespace)
		{
			dt = new String(dt).replace(/\n/g,"\n"+spaces);
			if(addwhitespace == 'html')
			{
				dt = dt.replace(/&/g,'&amp;');
				dt = dt.replace(/>/g,'&gt;');
				dt = dt.replace(/</g,'&lt;');
			}//end if addwhitespace == html
		}//end if typeof == function
		if(typeof(data) == 'undefined')
		{
			dt = 'undefined';
		}//end if typeof == undefined
		if(addwhitespace == 'html')
		{
			if(typeof(dt) != 'string')
			{
				dt = new String(dt);
			}//end typeof != string
			dt = dt.replace(/ /g,"&nbsp;").replace(/\n/g,"<br>");
		}//end if addwhitespace == html
		return dt;
	}//end if typeof != object && != array
	for (var x in data)
	{
		if(safety && (level > safety))
		{
			dt = '*RECURSION*';
		} 
		else 
		{
			try 
			{
				dt = var_dump(data[x],addwhitespace,safety,level+1);
			} 
			catch (e) 
			{
				continue;
			}
		}//end if-else level > safety
		it = var_dump(x,addwhitespace,safety,level+1);
		rtrn += it + ':' + dt + ',';
		if(addwhitespace) 
		{
			rtrn += '\n'+spaces;
		}//end if addwhitespace
	}//end for...in
	if(addwhitespace)
	{
		rtrn = '{\n' + spaces + rtrn.substr(0,rtrn.length-(2+(level*3))) + '\n' + spaces.substr(0,spaces.length-3) + '}';
	}
	else
	{
		rtrn = '{' + rtrn.substr(0,rtrn.length-1) + '}';
	}//end if-else addwhitespace
	if(addwhitespace == 'html')
	{
		rtrn = rtrn.replace(/ /g,"&nbsp;").replace(/\n/g,"<br>");
	}//end if addwhitespace == html
	return rtrn;
}//end function var_dump
*/
function sleep(msecs)
{
	var start = new Date().getTime();
	var cur = start
	while(cur - start < msecs)
	{
		cur = new Date().getTime();
	}
}