// This one boosts up barcode printing since control is created and initialized. (see also: dlgPostAware.aspx)
var appPrn=null;
function pCr() {
  if(!appPrn) appPrn = new ActiveXObject("PggLabelPrn.Application");
	appPrn.BeginLabel();
}
function pCrV() {
  if(!appPrn) appPrn = new ActiveXObject("PggLabelPrn.Application");
	appPrn.ShowForm();
}
function pAH(w,h,s,url,cnt) {
  appPrn.AddLabelHide(w,h,s,url,cnt);
}
function pAHI(w,h,s,url,cnt) {
  appPrn.AddLabelHideInstance(w,h,s,url,cnt);
}
function pAV(w,h,s,url,cnt,useaux) {
  appPrn.AddLabel(w,h,s,"","",url,useaux);
}
function pAVI(w,h,s,url,cnt,useaux) {
  appPrn.AddLabelInstance(w,h,s,"","",url,useaux);
}
function pEnd() {
  appPrn.EndLabel();
}
function pCry(r,s,c,n) {
  if(!appPrn) appPrn = new ActiveXObject("PggLabelPrn.Application");
  appPrn.InvokeTankViewer(r,s,c,n);
}
// cryo
// This one boosts up COM object performance since it is loaded only once (for top frame)
var appCry=null;
function cryR(r) {
  if(r.InformationMessage) alert(r.InformationMessage);
}
function cryInit() {
  le="";
  if(!appCry) appCry = new ActiveXObject("Pgg.CryoFacade.Interface.Application");
}
function cryExec(cmd,args) {
  cryInit();
  var r= appCry.ExecuteCommand(cmd,args);
  cryR(r); return r.ReturnValue;
}
function crySuggest() {
  return cryExec("Suggest","");
}
function cryInspect() {
	return cryExec("Inspect","");
}
function cryStore(css,key,when,whom,tag) {
	return cryExec("Store",css+","+key+","+when+","+whom+","+tag);
}
function cryStoreUI(key,whom,tag) {
	return cryExec("StoreUI",key+","+whom+","+tag);
}
function cryRetreive(key,when,whom) {
	return cryExec("Retreive",key+","+when+","+whom);
}
function cryGetAddress(key) {
	return cryExec("GetAddress",key);
}
// sliding win
var hInt=0;
var sDelta=32;
function frm() { return gebid(document,"frmR");}
function frmX() { return gebid(document,"frmX");}
if(frm())evAt(window,"onresize", sR);
if(frmX())evAt(window,"onresize", sRx);
function sR() { //resize
  if (frm().style.visibility=="hidden") {
		frm().style.left=document.body.clientWidth;
		frm().style.top=absTop(gebid(document,"main"));
		frm().style.width=gebid(document,"main").offsetWidth/2;
	} else {
  	frm().style.width=document.body.clientWidth-frm().offsetLeft;
	}
	frm().style.height=gebid(document,"main").clientHeight-24;
}
function sRx() { //resize
  if (frmX().style.visibility=="hidden") {
		frmX().style.left=document.body.clientWidth;
		frmX().style.top=24;
		frmX().style.width=document.body.offsetWidth/3;
	} else {
  	frmX().style.width=document.body.clientWidth-frmX().offsetLeft;
	}
	frmX().style.height=document.body.clientHeight-48;
}
function sS() { //show
	var w=document.body.clientWidth-frm().offsetWidth;
	if (frm().offsetLeft>w+sDelta) frm().style.left=frm().offsetLeft-sDelta;
	else {
		clearInterval(hInt);frm().style.left=w;
	}
}
function sH() { //hide
	if (frm().offsetLeft<document.body.clientWidth) frm().style.left=frm().offsetLeft+sDelta;
	else {
	  clearInterval(hInt); frm().style.visibility="hidden";
	}
}
function sSX() { //show
	var w=document.body.clientWidth-frmX().offsetWidth;
	if (frmX().offsetLeft>w+sDelta) frmX().style.left=frmX().offsetLeft-sDelta;
	else {
		clearInterval(hInt);frmX().style.left=w;
	}
}
function sHX() { //hide
	if (frmX().offsetLeft<document.body.clientWidth) frmX().style.left=frmX().offsetLeft+sDelta;
	else {
	  clearInterval(hInt); frmX().style.visibility="hidden";
	}
}
function sInit(doRefresh) { //init
	if (frm().offsetLeft<document.body.clientWidth) {
	  if (doRefresh!=undefined) 
	    gebid(document,'main').src=gebid(document,'main').contentWindow.location.pathname;
	    //gebid(document,"main").src=gebid(document,"main").contentWindow.location.href;
	  hInt=setInterval(sH,20);
	}	else {
	  sR();
		frm().style.visibility="visible";
		hInt=setInterval(sS,20);
	}
}
function sInitX() { //init
	if (frmX().offsetLeft<document.body.clientWidth) {
	  hInt=setInterval(sHX,20);
	}	else {
	  sRx();
		frmX().style.visibility="visible";
		hInt=setInterval(sSX,20);
	}
}
function fLoad(frName, href) {
  if(gebid(document,frName)) gebid(document,frName).src=href;
}
// fills given list box, combo or div (in case of div <a> is inserted) with elements (expects name,value pair)
function itemAdd(lst, t, v)
{
  if (lst.tagName=="SELECT") {
		var o = document.createElement('OPTION');
		o.text=t;
		o.value=v;
		lst.add(o);
	} else {
		var o = document.createElement('A');
		o.style.width="100%";
		o.innerHTML=t;
		o.href=v;
		o.target="main"
		lst.appendChild(o);
		lst.appendChild(document.createElement("BR"));
  }
}
function xmlFill(lst,xmlDoc) {
	var items = xmlDoc.documentElement.childNodes;
	lst.innerHTML="";
  for(i=0; i<items.length; i++) {	  
		var x = items[i];
		itemAdd(lst, xnV(x.childNodes[0]), xnV(x.childNodes[1]));
	}
}
// dialogs
function postDlg(url,args,x,y){
	var result = sWin(bbpath+"bldCommon/dlgPostAware.aspx?"+url,args,x,y,true);
	return result;
}
// toolbar construction
function tbO(e) {(new evObj(e)).target.className='btno';}
function tbE(e) {(new evObj(e)).target.className='btn';}
function tbGo(e) {gebid(document,'main').src=(new evObj(e)).target.dst;}
function tbDlg(e) {postDlg("u="+bbpath+(new evObj(e)).target.dst,"","640px","400px");}
function tbDlgNb(e) {postDlg("u="+bbpath+(new evObj(e)).target.dst+"&b=0","","640px","400px");}
function makeIMG(dst,txt,img,flgs) {
	var c= document.createElement('IMG');
	c.dst=dst;
	c.title=txt;
	c.src=img;
	if (eval(flgs)&0x2)
  	(eval(flgs)&0x4?evAt(c,"onclick",tbDlgNb):evAt(c,"onclick",tbDlg));
	else
		evAt(c,"onclick",tbGo);
	evAt(c,"onmouseover",tbO);
	evAt(c,"onmouseout",tbE);
	return c;
}
function xnV(e){if(e.textContent)return e.textContent; else return e.text;};
function xmlToolbar(ctrl, xmlDoc){
	var items = xmlDoc.documentElement.childNodes;
	ctrl.innerHTML="";
  for(var i=1; i<items.length; i++) {	  
		var x = items[i];
		// toolbar:(add if image available)
		if (xnV(x.childNodes[2])) {
			c= makeIMG(xnV(x.childNodes[0]),xnV(x.childNodes[1]),xnV(x.childNodes[2]),xnV(x.childNodes[3]));
			c.className="btn"
			ctrl.appendChild(c);
			(c=document.createElement("SPAN")).innerHTML="&nbsp;&nbsp;";
			ctrl.appendChild(c);
		}
	}
}
function makeA(dst,txt,flgs) {
	var c= document.createElement('A');
	c.target="main"
	c.dst=dst;
	if (eval(flgs)&0x2)
  	(eval(flgs)&0x4?evAt(c,"onclick",tbDlgNb):evAt(c,"onclick",tbDlg));
	else
	  c.href=dst;
	c.innerHTML=txt
	return c;
}
function xmlLeftbar(ctrl, xmlDoc){
  if(!ctrl)return;
	var items = xmlDoc.documentElement.childNodes;
	ctrl.innerHTML="";
	var ul=document.createElement("UL");
  for(i=0; i<items.length; i++) {	  
		var x = items[i];
		var c= makeA(xnV(x.childNodes[0]),xnV(x.childNodes[1]),xnV(x.childNodes[3]));
		var li=document.createElement("LI")
		li.appendChild(c);
		ul.appendChild(li);
	}
	gebid(document,"divLeft").appendChild(ul);
}
// MRU loading
function loadMRU(xmlsrc) {
	var c=gebid(document,"MRUList");
  if(c)xmlFill(c,xmlLoad(xmlsrc));
}
function loadToolbar(xmlsrc) {
  var doc=xmlLoad(xmlsrc);
  xmlToolbar(gebid(document,"toolbar"),doc);
  xmlLeftbar(gebid(document,"divLeft"),doc);
}
function loadNav(xmlsrc) {
  var doc=xmlLoad(xmlsrc);
  //var p=ft(gebid(document,"prev"),"TBODY"),n=ft(gebid(document,"next"),"TBODY");
  var p=gebid(document,"prev"),n=gebid(document,"next");
  if(p && n)xmlNavs(p.rows[0].cells[0],n.rows[0].cells[0],doc);
}
// hide given nav
function nHide(c) {
	var n=gebid(document,c);
	clearTimeout(n.tmo);
	n.tmo=0;
	n.over=0;
	n.style.visibility="hidden";
}
//refresh nav
function rNav(c) {
	//var n=ft(gebid(document,c),"TBODY");
	var n=gebid(document,c);
	(c=='prev'?nHide('next'):nHide('prev'));
	if (n.rows[0].cells[0].childNodes.length>0) {
		if ((n.tmo==undefined) || (n.tmo==0)) {
			n.style.visibility="visible";
			n.style.top=absTop(gebid(document,"main"));
			n.style.left=document.body.clientWidth-(c=="prev"?240:120);
			n.tmo=setTimeout("nvH('"+c+"')",1000);
		}
		n.over=1;
	}
}
function rO(c) {
	var n=gebid(document,c);
	n.over=0;
}
// out and over
function nvH(c) {
	var n=gebid(document,c);
	if (n.over) c.tmo=setTimeout("nvH('"+c+"')",1000);
	else { 
		clearTimeout(n.tmo);n.tmo=0;
		n.style.visibility="hidden";
	}
}
// mouse over
function nvO(c) {
  clearTimeout(c.tmo);
  c.over=1;
}
// mouse out
function nvC(c) {
  c.over=0;
  clearTimeout(c.tmo);
	c.tmo=setTimeout("nvH('"+c.id+"')",1000)
}
var mn="";
function rMn(xml) { //menu
	if(mn!=xml && (gebid("mbar")!=null))	{mn=xml;MakeMenu(xml);};
}
function absTop(c1)
{
  var ofs = 0;
  while (c1 != window.document.body)
  {
    ofs += c1.offsetTop;
    c1 = c1.offsetParent;
  }
  return ofs;
}
function absLeft(c1)
{
  var ofs = 0;
  while (c1 != window.document.body)
  {
    ofs += c1.offsetLeft;
    c1 = c1.offsetParent;
  }
  return ofs;
}
function rSt(xml) { //upper status
}
function rMd(xml) { //modules
}
function sPp(n,p,v) { //sets a named items property p to v
	if (gebid(document,n)) gebid(document,n).p=t;
}
function sTt(t) { //sets title
  //while(document.readyState!="complete");
	gebid(document,"title").innerHTML=decodeURIComponent(t).replace(/\+/g," ");
}
// fill in navigators
function xmlNavs(tdIn, tdOut, xmlDoc){
	var items = xmlDoc.documentElement.childNodes;
	var td
	tdIn.innerHTML="";
	tdOut.innerHTML="";
  for(i=0; i<items.length; i++) {	  
		var x = items[i];
		var c= document.createElement('A');
		c.target="main"
		c.href=xnV(x.childNodes[1]);
		c.innerHTML=xnV(x.childNodes[2]);
		if (xnV(x.childNodes[0])=="0") td=tdOut; else td=tdIn;
		td.appendChild(c);
		if (i<items.length-1)
		td.appendChild(document.createElement('br'));
	}
	var p=gebid(document,"navPrev");
	var n=gebid(document,"navNext");
	if (tdIn.childNodes.length>0) p.href=tdIn.childNodes[0].href;
	if (tdOut.childNodes.length>0) n.href=tdOut.childNodes[0].href;
	// if epmty prev and next goes to home
	if(p.href.substr(p.href.length-1,1)=="/")p.href=p.href+"Home.aspx";
	if(n.href.substr(n.href.length-1,1)=="/")n.href=n.href+"Home.aspx";
}
function blink(c) {
	c.style.visibility=(c.style.visibility=='hidden'?'visible':'hidden');
}
var lbi=0;
function setLabel(nm,v) {
	var c=gebid(document,nm);
	if(c) {
	var vi=v.split("^");
  if(c.childNodes.length>0)c.childNodes[0].innerHTML=vi[0];
  else c.innerHTML=vi[0];
  if(vi.length>1 && nm=="spNews"){
		c.childNodes[0].disabled=0;
		if (vi[1]==1) {if(!lbi){
			lbi=setInterval("blink("+nm+")",1000); 
		}
  } 
  else {
	if(lbi) {clearInterval(lbi);lbi=0;};c.childNodes[0].disabled=1;
	};
	 c.className=(lbi?"tbtnh":"tbtn");
  };
	};
}
function sein(e,s) {
	e=gebid(document,e);
	if(e)e.innerHTML=s;
};
function setit(e,s) {
	e=gebid(document,e);
	if(e)e.title=s;
};
// localize fixed elements
function mV(s)
{
  var a=s.split('|')
	setLabel("spNews",a[0]);
	setLabel("spInbox",a[1]);
	setLabel("spRem",a[2]);
	sein("dLCap",a[3]);
	sein("spMRU",a[4]);
	sein("navPrev",a[5]);
	sein("navNext",a[6]);
	setit("imgSOP",a[7]); 
	setit("imgHelp",a[8]);
	sein("spUser",a[9]); 
	sein("spLang",a[10]); 
	sein("spFac",a[11]);
	sein("spTime",a[12]);
}
function statDist(s) {
  var c=gebid(document,"imgS");  
  if(s) {  		
		if(c) {
			if(s=="off") c.src="bldImg/DevicesFail.gif"; else c.src="bldImg/DevicesOk.gif";
			c.style.display="block";
		}
	} else {
		if(c)c.style.display="none";
  }
}
// documentation and help access
function sopClick() {
  // find related documents, if one open, else open menu
  sInitX();
}
function helpClick(e) {
  var ev=new evObj(e);
  var doc=gebid(document,'main').contentWindow.document;
  var hctx=gebid(doc,"TheContext");
  if(hctx) {
  window.open(hctx.ctx,"hlp","status=no,help=no,left="+(eval(screen.width)/2)+",top=0,height="+(eval(screen.height)-64)+",width="+((eval(screen.width)-24)/2)+",scrollbars=yes,resizable=yes");
  }
  ev.preventDefault();
}
function renderReceipt(rd) {
  var s = document.createElement('SPAN');
  s.id="rcpt";
  s.style.position="absolute";
  s.style.zIndex="101";
  s.style.visibility="hidden";
  s.innerHTML=rd;
  gebid(document,"toolbar").appendChild(s);
}
// no usefull code below, just snippets
// iterate and append all DOM elements
var r="";
function wr(c,l) {
  if(c!=undefined) {
    var j,s;
    j=l; s="";
    while (j>0) {s+="&nbsp;&nbsp;";j-=1;};
		var i;
		r+=s+c.tagName+c.id+"<br>";
		for (i=0;i<c.childNodes.length;i++)
		  wr(c.childNodes(i),l+1);
  }
}
//wr(document.body,0);
//document.body.innerHTML=document.body.innerHTML+r;
