// McKesson supporting JavaScript for general content page functions
// 06/15/2004

	var w3c=(document.getElementById)?true:false;
	var ie=(document.all)?true:false;
	// Determines whether to use display property of block (IE) or table-row (Mozilla)
	var rowdisplay = (navigator.appName.indexOf("Microsoft") > -1) ? 'block' : 'table-row';

	function setrowcolor(thisrow,enrow,strtrow) // Sets active rowcolor in a table
	{	var clsrowIdk = document.getElementById('activerow'+thisrow);
		clsrowIdk.className = "rowcolor3";
	}
	function clearrowcolor(clearcolor) // Sets inactive row color in a table
	{	var clsrowclear = document.getElementById('activerow'+clearcolor);
		if (clearcolor%2==1)
		{	clsrowclear.className = "rowcolor1";
		}else{clsrowclear.className = "rowcolor2";
		}
	}
	function selectall(endrw,startrw,itemchk) // selects all checkboxes in form
	{
// alert(endrw+', '+startrw+', '+itemchk);
		startrw *=1; // insures startrw is numeric
		endrw *=1; // insures endrw is numeric
           	for (i=startrw; i<=endrw; i++) {
		var thisitem = itemchk + i;
		document.getElementById(thisitem).checked=true;
		document.getElementById('checked_dummmy').checked=true;
		}
	}
	function clearall(endrw,startrw,itemchk) // clears all checkboxes in form
	{
		startrw *=1; // insures startrw is numeric
		endrw *=1; // insures endrw is numeric
           	for (i=startrw; i<=endrw; i++) {
		var thisitem = itemchk + i;
		document.getElementById(thisitem).checked=false;
		document.getElementById('unchecked_dummmy').checked=false;
		}
	//	document.multipage.emp_list_add.value = '';
	}
	function resort(url) // Redirects to URL - used for column sorting
	{	window.location = url;
		return false;
	}

	function sb(txt) // Sets window status display
	{	window.status = unescape(txt);
	}

	function newsort(sort,scriptname,qstring){
 // alert("scriptname: "+scriptname+"; qstring: "+qstring+"; sort: "+sort);
	if(parent.document.getElementById("table_result") != null){	
		parent.document.getElementById("table_result").src=scriptname+"?sortby="+sort+"&Table_Page=1&"+qstring;
	   }else{
		window.location=scriptname+"?"+qstring+"&sortby="+sort+"&Table_Page=1";} // used by all Forum sort calls
	}

	function newHgt(frameid)
	{
		if(document.getElementById(frameid) != null)
		{	var new_height=document.getElementById(frameid).contentWindow.document.body.scrollHeight;
			document.getElementById(frameid).style.height=new_height + 10;
			document.getElementById(frameid).style.width='100%';
		//	 alert("doc: "+frameid);
			return true;
		}
		else if (parent.document.getElementById(frameid) != null)
		{	var new_height=parent.document.getElementById(frameid).contentWindow.document.body.scrollHeight;
		//	parent.document.getElementById(frameid).style.height=new_height;
			parent.document.getElementById(frameid).style.height=new_height + 10;
			parent.document.getElementById(frameid).style.width='100%';
		//	alert("parent: "+frameid);
			// FireFox Temporary Fix: Best solution requires xHTML document type
			if (navigator.appName.indexOf("Microsoft") == -1)
			{
				top.content.document.getElementById('mycontent').style.height = (new_height + parent.document.body.scrollHeight)+"px";
			}
			return true;
		}
		else if (top.content)
		{	if (top.content.document.getElementById(frameid) != null)
			{	var new_height=top.content.document.getElementById(frameid).contentWindow.document.body.scrollHeight;
				top.content.document.getElementById(frameid).style.height=new_height + 10;
				top.content.document.getElementById(frameid).style.width='100%';
		//		 alert("top: "+frameid);
				return true;
			}
		}
	}

	function toggleView(section)
	{
		if( document.getElementById(section).style.display=="none")
		{document.getElementById(section).style.display="block";}
		else
		{document.getElementById(section).style.display="none";}
		
		if( document.getElementById(section+"Plus").style.display=="block")
		{document.getElementById(section+"Plus").style.display="none";}
		else
		{document.getElementById(section+"Plus").style.display="block";}	

		if( document.getElementById(section+"Minus").style.display=="none")
		{document.getElementById(section+"Minus").style.display="block";}
		else
		{document.getElementById(section+"Minus").style.display="none";}	
	}

	var IFrameObj; // IFrame object used to house server pages
	function callToServer(serverpage,theFormName)
	{	if (!document.createElement) {return true};
  		var IFrameDoc; // reference to iframe document
		// CREATE IFRAME WITHIN PAGE
  		if (!IFrameObj && document.createElement) // create IFrame and assign reference to IFrameObj only the first time function is called 
  		{	var tempIFrame=document.createElement("iframe");
			IFrameObj = document.body.appendChild(tempIFrame);
    			tempIFrame.title='remote_script_frame';	
    			tempIFrame.setAttribute('id','RSIFrame');
    			tempIFrame.name="RSIFrame";
    			tempIFrame.style.border="0px";
    			tempIFrame.style.width="0px";
    			tempIFrame.style.height="0px";
			newHgt('frame_1');
    			tempIFrame.style.visibilty='hidden';
  		}
		// RELOAD PAGE IF NECESSARY
  		if (navigator.userAgent.indexOf('Gecko') !=-1 && !IFrameObj.contentDocument) // NS6 may require a fraction of a sec to recognize new IFrame
 		{	setTimeout('callToServer(serverpage,theFormName)',10); return false;
		}
		// DETERMINE REFERENCE TO IFRAME DOCUMENT 
  		if (IFrameObj.contentDocument) // For NS6
		{	IFrameDoc = IFrameObj.contentDocument;
		}
  		else if (IFrameObj.contentWindow) // For IE5.5 and IE6 
		{	IFrameDoc = IFrameObj.contentWindow.document; 
		}
 		else if (IFrameObj.document)  // For IE5
		{	IFrameDoc = IFrameObj.document;
		}
 		else 	
		{	return true;
		}
		// DETERMINE METHOD TO PASS PARAMETERS INTO IFRAME
		// IF 'theFormName' starts with '?', do not process as a form and use the value as a query string.
  		if (theFormName.indexOf("?")==0){
			var URL = serverpage + theFormName;
			// alert('URL: '+URL);
			IFrameDoc.location.replace(URL);
			return false;
		// IF 'theFormName' represents a form, process as a form.
  		}else{
			// build hidden input elements to populate initial iframe form 
			// alert("Remote Server Page: "+serverpage);
			IFrameDoc.open();
  			IFrameDoc.write('<html><body>');
  			IFrameDoc.write('<form name="jsrsForm" method="post" target="" ');
  			IFrameDoc.write(' action="' + serverpage + '">');
  			IFrameDoc.write('<input type="hidden" name="theFormName" value="' + theFormName + '">');
			theForm = document.forms[theFormName];
  			for (e=0;e<theForm.elements.length;e++) {
    				if (theForm.elements[e].name!='') {
				IFrameDoc.write('<input type="hidden" name="' + theForm.elements[e].name + '" value="' + theForm.elements[e].value + '">');
      				}
    			}
  			IFrameDoc.write('</form></body></html>');
  			IFrameDoc.forms['jsrsForm'].submit();
  			IFrameDoc.close();
  		}
	}


	function chkitemremove(theform) // display remove warning
	{
		document.getElementById('item_remove_confirm').style.display = "block";
		document.getElementById('mycontent').style.display = "none";
		document.getElementById('item_name').innerHTML = document.forms[theform].nm_item.value;
		document.getElementById('item_label').innerHTML = document.forms[theform].cat_name.value;
		document.forms["inter_form"].empcode.value = document.forms[theform].empcode.value;
		document.forms["inter_form"].id_item.value = document.forms[theform].id_item.value;
		document.forms["inter_form"].item_action.value = document.forms[theform].item_action.value;
		document.forms["inter_form"].cur_row.value = document.forms[theform].cur_row.value;
		if (document.forms["inter_form"].nm_item){
			document.forms["inter_form"].nm_item.value = document.forms[theform].nm_item.value;}
		if (document.forms["inter_form"].cat_name){
			document.forms["inter_form"].cat_name.value = document.forms[theform].cat_name.value;}
	}
  	function noremove() // return to form without submit
  	{
		document.getElementById('item_remove_confirm').style.display = "none";
		document.getElementById('mycontent').style.display = "block";
  	}
	function goremove(serverpage,use_form) // submit form
	{
// alert("go to server: "+serverpage+"; the form:"+use_form);
		callToServer(serverpage,use_form);
	}

	// FUNCTION TO SUBMIT FORM TO PAGE WITHIN CONFIRMATION IFRAME
	function setconfirm(serverpage,theform)
	{
		document.forms[theform].action = serverpage;
		document.forms[theform].target = "confirmIFrame";
		document.forms[theform].submit();
		switchconfirmdisplay();
	}
	// FUNCTION TO SWITCH CONFIRMATION AND CONTENT DISPLAY
	function switchconfirmdisplay()
	{ if (document.getElementById('mycontent') && document.getElementById('confirmDIV'))
	   { 
		document.getElementById('mycontent').style.display = (document.getElementById('mycontent').style.display == "none")? "block":"none"; document.getElementById('confirmDIV').style.display = (document.getElementById('confirmDIV').style.display == "none")? "block":"none";
		window.scrollTo(0,0);
		if (document.getElementById('confirmDIV').style.display == "none")
		{document.getElementById('confirmIFrame').src = "";}
	   }
	}
	// RETURN TO AND RESET FORM
	function noconfirm(use_form) // return to form without submit
	{
		switchconfirmdisplay();
		document.forms[use_form].reset();
	}
	// PROCESS REQUEST
	function goconfirm(serverpage,use_form,remote) // submit form
	{	if (remote=='true')
		{	switchconfirmdisplay();
			callToServer(serverpage,use_form);
		}else{
			document.forms[use_form].action = serverpage;
			document.forms[use_form].target = "content";
			document.forms[use_form].submit();
		}
	}

	var newIe=false; // OLD TS@Online script
	var ieBrow=false;
	if(window.navigator.appName == "Microsoft Internet Explorer")
	{	var ieBrow=true;
		//THIC NS modified the code for bug00403 for IE6.0 back button to work on one click
		if(window.navigator.appVersion.indexOf('MSIE 5.5') > 0 || window.navigator.appVersion.indexOf('MSIE 6.0') > 0)
		{	newIe=true
		} //THIC NS modified the code for bug00403		
	}
	else
	{	var ieBrow=false;
	}

	function goPrev() // Used for old TSO "<< Back" button
	{	if (newIe==true)
		{	self.history.go(-2);
		}else{self.history.go(-1);	
		}
	}

	function setfooter() // Dynamically determines the location of the footer for each content page
	{	if (parent.document.getElementById('content'))
		{	var currentframeht = (navigator.appName.indexOf("Microsoft") > -1) ? document.body.offsetHeight : document.body.scrollHeight;
			if (document.getElementById('history') && document.getElementById('myfooter'))
			{	if (document.getElementById('history'))
				{	var fH = document.getElementById('myfooter').offsetHeight;
					var hH = document.getElementById('history').offsetHeight;	
					maxframeht = (navigator.appName.indexOf("Microsoft") > -1) ? currentframeht - (fH + hH) : currentframeht - (fH + hH);
				   if (maxframeht >= 0)
				   {	document.getElementById('mycontent').style.height = maxframeht;
					if (document.getElementById('confirmDIV'))
					{ document.getElementById('confirmDIV').style.height = maxframeht; }
				   }
				}
			} else if (document.getElementById('myfooter')) {
				if (document.getElementById('myfooter'))
				{	var fH = document.getElementById('myfooter').offsetHeight;
					maxframeht = currentframeht - fH;
				   if (maxframeht >= 0)
				   {
					document.getElementById('mycontent').style.height = maxframeht;
					if (document.getElementById('confirmDIV'))
					{ document.getElementById('confirmDIV').style.height = maxframeht; }
				   }
				}
			}
		}
		if(window.name.length <= 0){
			//alert('Your session has been terminated');
			top.window.location='McKesson.htm';
		}
	}

	function makeFocus() // Sets focus on the first text field of forms in a page by default (only if style.display property is set)
	{	if(document.forms[0])
		{	for (var df = 0; df < document.forms.length; df++)
			{	var xfocus=document.forms[df];
				for (var ff = 0; ff < document.forms[df].length; ff++)
				{	if (xfocus[ff].type=="text")
					{//	alert("DISPLAY: "+xfocus[ff].style.display);
						if (xfocus[ff].style.display != ""&&xfocus[ff].style.display != "none")
						{	var maxfocusht = (navigator.appName.indexOf("Microsoft") > -1) ? document.body.offsetHeight-20 : window.innerHeight-16;
							var xyposObj = XYPosition(xfocus[ff]);
						 	// alert("TOP: "+xyposObj.y+"WINDOW HEIGHT: "+maxfocusht);
							if (xyposObj.y <= maxfocusht)
							{	xfocus[ff].focus();
								return false;
	}}}}}}}

	function printFrame(frame, arg)
	{	window.print();
		var pr = (window.print) ? 1 : 0;
		link = arg; // a global variable 
  		if (pr) 
		{ 	frame.focus();
    			window.print();
   			link.focus();
  		} else { // other browsers
    			alert("Sorry, your browsers doesn't support this feature.");
  		}
	}

	// LAUNCH PRINT PREVIEW PAGE IN NEW WINDOW (RELOAD)
	function previewpage(prntpage,ploc)
	{	var NewWindowWidth = screen.availWidth || 640;
		var NewWindowHeight = screen.availHeight || 480;
		var NewWindow = window.open(ploc, prntpage,'screenX=0,screenY=0,top=0,left=0,width=' + String(NewWindowWidth) + ',height=' + String(NewWindowHeight) + ',titlebar=yes,menubar=yes,directories=no,location=no,status=yes,toolbar=no,dependent=no,resizable=yes,fullscreen=no,scrollbars=yes');
		if (screen.availWidth)
		{	if (self.outerWidth)
			{	NewWindow.resizeBy(screen.availWidth - NewWindow.outerWidth, screen.availHeight - NewWindow.outerHeight);
			}else
			{	NewWindow.resizeTo(screen.availWidth, screen.availHeight);
			}
		}
			NewWindow.focus();
			NewWindow.location=ploc;
	}

	// FUNCTION TO DETERMINE X AND Y COORDINATES OF TARGET OBJECT WITHIN DOCUMENT BODY
	function XYPosition(posObj) 
	{	// Set starting coordinates for object
   		var iframePos = new XYRelPosition(posObj.offsetLeft, posObj.offsetTop);
  		// Loop through parent objects and update coordinates
   		do {	posObj = posObj.offsetParent;
 			iframePos.x += posObj.offsetLeft;iframePos.y += posObj.offsetTop;
   		} 
   		while(posObj.tagName!="BODY");
   		return iframePos;
	}

	// FUNCTION TO FIND INTIAL X AND Y COORDINATES OF TARGET OBJECT W/ RESPECT TO PARENT 
	function XYRelPosition(iposX,iposY) 
	{   this.x = iposX; this.y = iposY;
	}

	var N=-1;
	function progressBar(w,h,bgc,brdW,brdC,blkC,speed,blocks,count,action)
	{	if(ie||w3c)
		{	var t='<div id="_xpbar'+(++N)+'" style="visibility:visible; position:relative; overflow:hidden; width:'+w+'px; height:'+h+'px; background-color:'+bgc+'; border-color:'+brdC+'; border-width:'+brdW+'px; border-style:solid; font-size:1px;">';
			t+='<span id="blocks'+N+'" style="left:-'+(h*2+1)+'px; position:absolute; font-size:1px">';
			for(i=0;i<blocks;i++)
			{	t+='<span style="background-color:'+blkC+'; left:-'+((h*i)+i)+'px; font-size:1px; position:absolute; width:'+h+'px; height:'+h+'px; '
				t+=(ie)?'filter:alpha(opacity='+(100-i*(100/blocks))+')':'-Moz-opacity:'+((100-i*(100/blocks))/100);
				t+='"></span>';
			}
			t+='</span></div>';
			document.write(t);
			var bA=(ie)?document.all['blocks'+N]:document.getElementById('blocks'+N);
			bA.bar=(ie)?document.all['_xpbar'+N]:document.getElementById('_xpbar'+N);
			bA.blocks=blocks;
			bA.N=N;
			bA.w=w;
			bA.h=h;
 			bA.speed=speed;
			bA.ctr=0;
			bA.count=count;
			bA.action=action;
			bA.tid=setInterval('activateBar('+N+')',speed);
		return bA;
		}
	}
	function activateBar(bn)
	{	var t=(ie)?document.all['blocks'+bn]:document.getElementById('blocks'+bn);
		if(parseInt(t.style.left)+t.h+1-(t.blocks*t.h+t.blocks)>t.w)
		{	t.style.left=-(t.h*2+1)+'px';
			t.ctr++;
			if(t.ctr>=t.count)
			{	eval(t.action);
				t.ctr=0;
			}
		}
		else 
		{	t.style.left=(parseInt(t.style.left)+t.h+1)+'px';}
	}

	function process_xls()
	{
		// SCRAPE HTML FROM 'HTMLData' SECTION
		var xls_data = document.getElementById('HTMLData').innerHTML;

		// POTENTIAL: PROVIDE LIST OF ID prefixes NOT to include in output
		document.forms['xls_output'].xls_data.value=xls_data;
	// alert(document.forms['xls_output'].xls_data.value);
		// document.forms['xls_output'].xls_template.value='blank.xls';	
	// alert(document.forms['xls_output'].xls_template.value);	
		document.getElementById('xls_output').target='_blank';		
		document.getElementById('xls_output').submit();
		}
