var msie = document.all;

var menu_over = '';
var button = {};
var picked = {};
var lpicked = {};
var listPort = {};

var namebase = 'menu';
var button_className;
var tree = new Array;

function empty(obj) {
	obj.value = "";
}

/*
function get_frames() {
	var frame_list='';
	var fs = top.frames;
	if (fs.length>0) for (i in fs) {
	  frame_list += i+':'+ fs[i].name+'\n';
	}
	alert(frame_list);
}
*/

function over(obj) {
  var noChg = 'sel,presel,defunc';
  var occupied = (obj.className && noChg.indexOf(obj.className)>=0);
  if (!occupied) obj.className = (obj.className)? '' : 'ovr';
}

function pick(obj) {
  if (picked) {
    if (obj!=picked) {
      style_off  = (picked.className==pick.arguments[2])? pick.arguments[1] : '';
      style_on   = (obj.className==pick.arguments[1])? pick.arguments[2] : 'sel';
      picked.className = style_off;
      obj.oldClass = obj.className;
      obj.className = style_on;
    }
  }
  picked = obj;
}

function lpick(obj) {
  p = obj.parentNode;
  while (p.nodeName!='TR') {
    p = p.parentNode;
  }
  if (p!=lpicked) {
    lpicked.className = '';
    p.className = 'sel';
    lpicked = p;
  }
}

function fpick(pickObj) {
  pickObj.className = 'ovr';
  if (picked && picked!=pickObj) {
    picked.className = '';
  }
  picked = pickObj;
}

function unpick() {
  obj = (arguments.length)? arguments[0] : picked;
  if (obj) {
    obj.className='';
    obj = {};
  }
}

function getPicked() {
  var typ = (arguments.length)? arguments[0] : 'A';
  var classname = (arguments.length)? arguments[1] : 'sel';
  e = document.getElementsByTagName(typ);
  if (e) for (i=0; i<e.length;i++) {
    if (e[i].className && e[i].className.indexOf(classname)>=0) return e[i];
  }
  return {};
}

function hbutton(obj) {
  p = obj.parentNode;
  p.className = (p.className.indexOf("hidden"))? "button" : "button_hidden";
}

function out(name) {
	//name = getname(obj);
	//name = obj.id;
	if (name!=menu_selected) document.getElementById(name).className=namebase+'0';
}

function getname(obj) {
	name=obj.id;
}

function bbar(name) {
	//name = obj.id;
	if (bbar_selected) document.getElementById(bbar_selected).style.display='none';
	document.getElementById(name).style.display='block';
	bbar_selected=name;
}

function buttonhover (obj,suffix) {
    if (obj) switch (suffix) {
       case 0: obj.className = obj.ori_classname; 
               break;
       case 1: if (button && button!=obj) button.className = button.ori_classname;
               if (obj.className!='button_over') obj.ori_classname = obj.className; 
               obj.className='button_over'; 
               button = obj;
               break;
       case 2: obj.className = button_classname; 
               break;
       case 3: button_classname = obj.className; 
               obj.className='module_container_selected'; 
               break;
	}
}

function scrollToView(x) {
  dx = x.offsetLeft;
  dy = x.offsetTop;
  p = x.offsetParent;
  while (p) {
    dx += p.offsetLeft;
    dy += p.offsetTop;
    p = p.offsetParent;
  }
  if (dx) window.scrollBy(dx-document.body.clientWidth,0);
  if (dy) window.scrollBy(0,dy-document.body.clientHeight/4);
}

function scrollToObj(obj) {
  //alert('scrollToObj('+obj.id+')');
  if (obj) {
    dy = obj.offsetTop;
    p = obj.offsetParent;
    while (p) {
      dy += p.offsetTop;
      p = p.offsetParent;
    }
    if (dy) window.scrollBy(0,dy-parseInt(document.body.clientHeight/4.3));
  }
}

function scrollToPort(x) {
  port = document.getElementById('listport');
  dy = x.offsetTop;
  //alert(dy);
  if (x.offsetParent) p = x.offsetParent;
  while (p && p!=port) {
    dy += p.offsetTop;
    p = p.offsetParent;
  }
  if (dy) port.scrollTop=dy-100;
}

function save_icon() {
  s = document.getElementById('save');
  if (s) s.className='v';
}

function restrict(obj,chars) {
  if (obj.value.length>chars) obj.value = obj.value.substr(0,chars);
}

