function initLoader() {
	var obj = document.getElementById('load');
	var page = document.getElementById('page');
	page.style.display = 'none';
	obj.innerHTML = '<div id="loader"><img align="absmiddle" alt="loading..." src="/images/loading.gif" /></div>';
}

function clearLoader() {
	var obj = document.getElementById('load');
	obj.innerHTML = '';
	obj.style.display = 'none';
	var page = document.getElementById('page');
	page.style.display = 'block';
}

function showTab(obj) {
	var na = obj.slice(0, (obj.lastIndexOf('_') + 1));
	var id = obj.slice((obj.lastIndexOf('_') + 1), obj.length);
	var i = 1;
	while(document.getElementById(na + i) != null) {
		if(i == id) document.getElementById(na + i).style.display = 'block';
		else document.getElementById(na + i).style.display = 'none';
		i++;
	}
	return false;
}

function initFlashMenu(obj, w, h) {
	var so;
	if(typeof(obj) == 'string') obj = document.getElementById(obj);
	for(var parser = 0; parser < obj.childNodes.length; parser++) {
		if(obj.childNodes[parser].tagName == 'LI') {
			so = new SWFObject("/button.swf", "button-" . parser, w, h, "8");
			so.addParam("quality", "best");
			so.addVariable("url", obj.childNodes[parser].firstChild.href);
			so.addVariable("tit", obj.childNodes[parser].firstChild.innerHTML);
			so.write(obj.childNodes[parser]);
		}
	}
}

function xGetElementById(e) {
  if(typeof(e)=='string') {
	if(document.getElementById) e=document.getElementById(e);
	else if(document.all) e=document.all[e];
	else e=null;
  }
  return e;
}

function xNum() {
  for(var i=0; i<arguments.length; ++i){if(isNaN(arguments[i]) || typeof(arguments[i])!='number') return false;}
  return true;
}

function xDef() {
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}
  return true;
}

function xStr(s) {
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])!='string') return false;}
  return true;
}

function xGetComputedStyle(e, p, i) {
  if(!(e=xGetElementById(e))) return null;
  var s, v = 'undefined', dv = document.defaultView;
  if(dv && dv.getComputedStyle){
	s = dv.getComputedStyle(e,'');
	if (s) v = s.getPropertyValue(p);
  }
  else if(e.currentStyle) {
	v = e.currentStyle[xCamelize(p)];
  }
  else return null;
  return i ? (parseInt(v) || 0) : v;
}

function xWidth(e,w) {
  if(!(e=xGetElementById(e))) return 0;
  if (xNum(w)) {
	if (w<0) w = 0;
	else w=Math.round(w);
  }
  else w=-1;
  var css=xDef(e.style);
  if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {
	w = xClientWidth();
  }
  else if(css && xDef(e.offsetWidth) && xStr(e.style.width)) {
	if(w>=0) {
	  var pl=0,pr=0,bl=0,br=0;
	  if (document.compatMode=='CSS1Compat') {
		var gcs = xGetComputedStyle;
		pl=gcs(e,'padding-left',1);
		if (pl !== null) {
		  pr=gcs(e,'padding-right',1);
		  bl=gcs(e,'border-left-width',1);
		  br=gcs(e,'border-right-width',1);
		}
		else if(xDef(e.offsetWidth,e.style.width)){
		  e.style.width=w+'px';
		  pl=e.offsetWidth-w;
		}
	  }
	  w-=(pl+pr+bl+br);
	  if(isNaN(w)||w<0) return;
	  else e.style.width=w+'px';
	}
	w=e.offsetWidth;
  }
  else if(css && xDef(e.style.pixelWidth)) {
	if(w>=0) e.style.pixelWidth=w;
	w=e.style.pixelWidth;
  }
  return w;
}

function xHeight(e,h)
{
  if(!(e=xGetElementById(e))) return 0;
  if (xNum(h)) {
    if (h<0) h = 0;
    else h=Math.round(h);
  }
  else h=-1;
  var css=xDef(e.style);
  if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {
    h = xClientHeight();
  }
  else if(css && xDef(e.offsetHeight) && xStr(e.style.height)) {
    if(h>=0) {
      var pt=0,pb=0,bt=0,bb=0;
      if (document.compatMode=='CSS1Compat') {
        var gcs = xGetComputedStyle;
        pt=gcs(e,'padding-top',1);
        if (pt !== null) {
          pb=gcs(e,'padding-bottom',1);
          bt=gcs(e,'border-top-width',1);
          bb=gcs(e,'border-bottom-width',1);
        }
        // Should we try this as a last resort?
        // At this point getComputedStyle and currentStyle do not exist.
        else if(xDef(e.offsetHeight,e.style.height)){
          e.style.height=h+'px';
          pt=e.offsetHeight-h;
        }
      }
      h-=(pt+pb+bt+bb);
      if(isNaN(h)||h<0) return;
      else e.style.height=h+'px';
    }
    h=e.offsetHeight;
  }
  else if(css && xDef(e.style.pixelHeight)) {
    if(h>=0) e.style.pixelHeight=h;
    h=e.style.pixelHeight;
  }
  return h;
}