// 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";
	}
}

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;
	var lst;
	while (1) {
		while (fnd) {
			lst = fnd;
			top += fnd.offsetTop;
			left += fnd.offsetLeft;
			fnd = fnd.offsetParent;
			if (dv.offsetParent == fnd) break;
		}
		j_AWrapper = fnd;
		if (j_AWrapper) break;
		try {
			if (lst.id.match (/^GoToDiv/)) {
				var nam = lst.id.substr (7);
				fnd = document.getElementById(nam);
			}
		} catch (e) {;}
		if (!fnd) {
			j_AWrapper = lst;
			break;
		}
	}

	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;" id="CteCover">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;
	j_AUpdateDetail (pn);
	return j_ACommon (src, evt, lnk, pn);
}

function j_AUpdateDetail (pn) {
	if (! pn.match (/^Ss/)) {
		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>';
		}
		var la = document.getElementById ('sSimilarA');
		if (la) {
			if (la.search.match (/[\?;]Pn=.+;/)) {
				la.search = la.search.replace (/([\?;])Pn=[^;]+;/, "$1Pn="+escape(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';
	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) {
//	var src = offset + '/mshop/ReqPart/index.html?Pn='+pn+';';
	var src = '/mshop/ReqPart/index.html?Pn='+pn+';';
	j_AHeight = 450;
	j_AUpdateDetail (pn);
	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) {;}
	}
}
