// get element of page by id (cross-browser)
function elementById(Name) {
	if(navigator.appName.indexOf("Microsoft")!=-1) {
	// IE
		if(!eval('document.all("'+Name+'")')) return 0; else return document.all(Name);
  	}
  	else {
	// NN & others
    		if(!eval('document.'+Name))  {
			if (document.getElementById) {
				return eval('document.getElementById("'+Name+'")');
			} else
			return 0;
    		}
    		else
		return eval('document.'+Name);
	}
}
// set element property (cross-browser)
function setProp(Name, Param, Val) {
    		if(!eval('document.'+Name))  {
			if (document.getElementById) {
				eval('document.getElementById("'+Name+'").style.'+Param+'='+Val);
			} else
			return 0;
    		}
    		else
		eval('document.'+Name+'.'+Param+'='+Val);
}
// get element property (cross-browser)
function getProp(Name, Param) {
    		if(!eval('document.'+Name))  {
			if (document.getElementById) {
				return eval('document.getElementById("'+Name+'").style.'+Param);
			} else
			return 0;
    		}
    		else
		return eval('document.'+Name+'.'+Param);
}
// this handy function from Simon Willison allows you to stack up 'window.onload' events without them stepping on each other's toes
function addLoadEvent(func) 
{
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
// mail
function sendMail(a, b) {
	location.href = 'mai'+'lto'+':'+a+'@'+b;
	return false;
}
// default search text handler
function setSearchText(type)
{	
	var o = elementById('searchquery');
	o.value = (o.value=='') ? o.title : ((o.value==o.title) ? '' : o.value);
}
// toggle stylesheet
function toggleStylesheet(anchor1, anchor2)
{
	var objToggle = elementById('pvswitch');
	var cssScreen = elementById('screenstyle');
	var cssPrint = elementById('printstyle');
	if (cssScreen.href!=cssPrint.href)
	{
		mainstylehref=cssScreen.href;
		cssScreen.href=cssPrint.href;
		objToggle.innerHTML = anchor2;
	} 
	else 
	{
		cssScreen.href=mainstylehref;
		objToggle.innerHTML = anchor1;
	}
	objToggle.blur();
	return false;
}
// open url in new window
function openUrl(s) 
{
	window.open(s);
}
// faq
function toggleAnswer(id)
{
	var state = (getProp('answer'+id, 'display')=='none') ? "''" : "'none'";
	setProp('answer'+id, 'display', state);
	elementById('arr'+id).innerHTML = (state=="''") ? '&darr;' : '&rarr;';
	return false;
}
// starting up
addLoadEvent(function() 
{
});
