// still need:
// left-right alignment, 2 steps: keep right from being too right to be visible then
//				  keep left from being too left to be visible

function j_ADebug (msg) {
	var dv = document.getElementById ('DebugDiv');
	if (dv) {
		dv.innerHTML += msg + "<br>\n";
		dv.style.visibility = 'inherit';
		dv.style.display = 'block';
	}
}

function j_AObjInfo (obj, objname) {
	var ret = '';
	for (i in obj) {
		ret += objname+'.'+i+' = ';
		try {
			var vl = '' + obj[i];
			vl = vl.replace (/&/g, '&amp;');
			vl = vl.replace (/</g, '&lt;');
			vl = vl.replace (/>/g, '&gt;');
			ret += vl;
		} catch (e) {
			ret += 'cant get';
		}
		ret += '<br>\n';
	}
	return ret;
}

var j_AWrapper;
var j_AHeight;
function j_ACommon (src, evt, lnk, pn) {
	if (session.length) { src += 'Ses='+session+';'; }

	var dv = document.getElementById ('CteBigDiv');
	dv.DaveContent = '';
	
	var fnd = lnk;
	var top = lnk.offsetHeight;
	var left = lnk.offsetWidth;
	while (fnd) {
		top += fnd.offsetTop;
		left += fnd.offsetLeft;
		fnd = fnd.offsetParent;
		if (dv.offsetParent == fnd) { break; }
	}
	j_AWrapper = fnd;

	dv.style.top = ''+top+'px';
	dv.style.left = ''+left+'px';
	
	dv.innerHTML = '<iframe id="j_Aframe" src="'+src+'" onload="j_Asize(this);" FRAMEBORDER="0" SCROLLING="no" onclick="MClose();" style="background-color:orange; width:150px; height:70px;"></iframe>'+
		       '<div style="position:absolute; top:10px; left:10px; visibility:inherit; background-color:orange;" id="CteCover">Please wait<br>Looking up<br>'+pn+'</div>';
	dv.style.border = 'none';
	dv.style.padding = '0px';
	dv.style.margin  = '0px';
	dv.style.visibility = 'inherit';
	dv.style.width = 'auto';
	dv.style.height = 'auto';
	
	return false;
}

function j_AAdd (pn, evt, lnk) {
	if (!document.cookie.match (/LabUser=/) && !session.length && !document.cookie.match (/GuestUser=/)) { return true; }
///	var src = offset + '/mshop/PickPart/index.html?Pn='+pn+';';
	var src = '/mshop/PickPart/index.html?Pn='+pn+';';
	j_AHeight = 320;
	var ldiv = document.getElementById ('sShowPartS');
	if (ldiv) {
		var tsrc;
		tsrc = '/dialysis/sShowPart.html?';
		tsrc += 'Pn='+escape(pn)+';';
		if (session.length) { tsrc += 'Ses='+session+';'; }
		ldiv.innerHTML = '<iframe id="sShowPartI" src="'+tsrc+'" onload="j_AShowPart(this);" style=\"display:none;\"></iframe>';
	}
	return j_ACommon (src, evt, lnk, pn);
}

function j_Asize (frm) {
//	force size here.  'auto' is not a good option
	try {
		var dc = false;
		var vset = false;
		if (frm.content && frm.contentDocument.body) {
			dc = frm.contentDocument.body;
			if (dc && dc.clientHeight) {
				if (dc.clientHeight > (j_AHeight/2) && dc.clientHeight < (2*j_AHeight)) { j_AHeight = dc.clientHeight; }
				vset = true;
			}	
		}
		if (!vset && frm.contentWindow && frm.contentWindow.document && frm.contentWindow.document.body) {
			dc = frm.contentWindow.document.body;
			if (dc && dc.scrollHeight) {
				if (dc.scrollHeight > (j_AHeight/2) && dc.scrollHeight < (2*j_AHeight)) { j_AHeight = dc.scrollHeight; }
				vset = true;
			}
		}
	} catch (e) {}
	
	frm.style.width  = '328px';
	try { frm.style.width = frm.contentWindow.document.getElementById('ReqPartDiv').style.width; } catch (e) {}
	frm.style.height = ''+j_AHeight+'px';
	
	var dv = frm.offsetParent;
	dv.style.border='none';
	dv.style.borderBottom = '1px solid #A0A0A0';
	dv.style.borderRight = '1px solid #A0A0A0';
	dv.style.backgroundColor = '#F8F8F8';
	dv.style.height = '' + (frm.offsetHeight) + 'px';

// lefty-right fixup (left always OK)
	if (dv.offsetLeft + 326+10 > j_AWrapper.offsetWidth) {
		dv.style.left = '' + (j_AWrapper.offsetWidth - 10 - 326) + 'px';
	}

// upsy-downsy fixup
	var Height = 0;
	if (!Height) { try { Height = window.innerHeight; } catch (e) {} }
	if (!Height) { try { Height = document.documentElement.clientHeight; } catch (e) {} }
	if (!Height) { try { Height = document.body.clientHeight; } catch (e) {} }
	
	var Offset = 0;
	if (!Offset) { try { Offset = window.pageYOffset; } catch (e) {} }
	if (!Offset) { try { Offset = document.documentElement.scrollTop; } catch (e) {} }
	if (!Offset) { try { Offset = document.body.scrollTop; } catch (e) {} }

	if (Height) {
		if (dv.offsetTop + j_AHeight + 10 > Height + Offset) {
			var ntop = Offset + Height - j_AHeight - 10;
			if (ntop < Offset) { ntop = Offset; }
			dv.style.top = '' + ntop + 'px';
		}
	}
	
	var cover = document.getElementById ('CteCover');
	if (cover) { cover.style.visibility = 'hidden';	 }
}

function j_AReq (pn, evt, lnk, lang) {
//	var src = offset + '/mshop/ReqPart/index.html?Pn='+pn+';';
	if (!lang.length) { lang = 0; }
	var en = (lang > 0)? 'en.': '';
	var src = '/mshop/'+en+'ReqPart/index.html?Pn='+pn+';';
	j_AHeight = 450;
	var ldiv = document.getElementById ('sShowPartS');
	if (ldiv) {
		var tsrc;
		tsrc = '/dialysis/sShowPart.html?';
		tsrc += 'Pn='+escape(pn)+';';
		if (session.length) { tsrc += 'Ses='+session+';'; }
		ldiv.innerHTML = '<iframe id="sShowPartI" src="'+tsrc+'" onload="j_AShowPart(this);" style=\"display:none;\"></iframe>';
	}
	return j_ACommon (src, evt, lnk, pn);
}

function j_slSend(lnk, evt) {
	var item = 'catalog';
	try {
		item = lnk.search;
		item = unescape(item);
		item = item.substr (25, item.length);
		item = item.match (/item=([^;]*);/i);
		item = item[1];
	} catch (e) { item = 'catalog'; }
	if (item.match (/&/)) {
		item = item.replace (/&amp;/, '&');
		item = item.replace (/&reg;/, '®');
	}
	var src = '/mshop/LitReq/index.html?item='+escape(item)+';';
	j_AHeight = 450;
	return j_ACommon (src, evt, lnk, item);
}

function j_AUpdate (upd) {
	var ig = document.getElementById('CartButton');
	if (!ig) { return; }
	var iloc = ig.src;

	if (upd) {
		iloc = iloc.replace (/shopnow/, 'yourcart');
		ig.src = iloc;
		return;
	}

	iloc = iloc.replace (/yourcart/, 'shopnow');
	ig.src = iloc;
	return;
}

function j_AShowPart (frm) {
	var idiv;
	idiv = document.getElementById ('sShowPartD');
	if (!idiv) { return; }

	var doc;
	doc = frm.contentDocument;
	if (!doc && frm.contentWindow) { doc = frm.contentWindow.document; }
	if (!doc) { return; }

	var fdv = doc.getElementById ('GoToDivsShowPartD');
	if (!fdv) { fdv = doc.body; }
	if (!fdv) { return; }

	idiv.innerHTML = fdv.innerHTML;
	fdv.style.display='none';

	if (idiv.style.display == 'none') {
		idiv.style.display = '';
		try { window.top.scrollBy (0, 85); } catch(e) {}
	}
}
