/**********************************************************************************
			3.14.05 Author: Pavel Treinis
			Print routine. 			
			Description:	Takes table contents by using provided table name, and opens it in
							the sapareted window with name "Print" using PrinterOutput.cfm.			 
		**********************************************************************************/	
		function ShowPrinterFriendly( sIDtoPrint) {
//			if ( browserType == 2 ) alert(" ShowPrinterFriendly")
	        var height = Math.min(window.screen.availHeight / 2+200, 600);
	
	        var width = 655;
	
	        var top = (window.screen.availHeight / 2) - (height / 2);
	
	        var left = window.screen.availWidth / 2 - (width / 2);
	
	        var features = "width=" + width + ",height=" + height + ",scrollbars=yes,directories=no"
	
	        features += ",location=no,menubar=no,status=no,titlebar=no,toolbar=no,top=" + top;
	
	        features += ",left=" + left;
			var sURL = applicationPath+"/main/includes/PrinterOutput.cfm?IDtoPrint="+sIDtoPrint
			if ( arguments.length == 2 )
				sURL += "&Caption=" + arguments[1];

	        var oWin = window.open( sURL, "Print");//, features);
			if ( browserType == 1 )
				oWin.document.all_ = docAll("sIDtoPrint").outerHTML;
			else
			{
				oWin.document.all_ = "<table>"+document.getElementsByName(sIDtoPrint)[0].innerHTML+"</table>";			
//				alert(oWin.document.all_)
			}

	
	        //window.open("../../MultiSiteIncludes/PrinterOutput/PrinterOutput.aspx", "", features);
		 }//ShowPrinterFriendly()
		 
		 
function ReplSelectTags( oObject )
{	
	var aResult = new Array();
	try{
		var o  = document.getElementsByTagName("SELECT")
		for(var i=0; i < o.length;i++)
		{	
			if (o[i].PrtAllSelected != undefined )
				aResult.push( getListAllItems(  o[i], 2) )
			else
				aResult.push( getListSelectedItems(o[i], 2) );
		}

		var s;
		if ( browser )
			s = oObject.outerHTML;
		else
			s = oObject.innerHTML;

		var sTag = "<SELECT";
		var i = s.indexOf( sTag );
		var m=0;
	
		while (i>=0)
		{
			if ( i > 0)
			{
				var j = s.indexOf( "</SELECT>", i);		
				if ( j > 0 )
					s = s.substr( 0,i)+aResult[m] + s.substr(j+9);
					
				i = s.indexOf( sTag );				
				m++;
			}
		}
	}catch(e){alert("ReplSelectTags(). "+e.description );}
	
	return s;
}// ReplSelectTags()	


function MakePrinterFrieldly( sTableToPrintName )
{

	try{
	var p1 = " 1";
	var oObject = docAll(sTableToPrintName);
	p1 = " 2";
	if ( oObject == undefined ) return "";	
	p1 = " 3";
	var s;
/*	
	if ( oObj.length == undefined )
	{
		oObject = new Array();
		oObject[0]=oObj;
	}
	else
		oObject = oObj;
	*/
//	for (var l=0;j<oObject.length;l++)
var l=0;

		s = ReplSelectTags( oObject );

		if ( s == undefined ) return;
		p1 = " 4";
		// will remove buttons from html:
		var sTag = "";
		if ( browser )
			s = s.replace("<table ", "<TABLE align=center " )	
		else
			s = s.replace("<table ", "<TABLE align=center " )			
		
		// remowing A tag:
		var sTagToRemove="<A ";		
		if ( !browser )
			sTagToRemove = "<a ";		

		var	i = s.indexOf(sTagToRemove);
		while (i>=0)
		{
			if ( i > 0)
			{
				if ( browser )
					var j = s.indexOf("</A>",i);		
				else
					var j = s.indexOf("</a>",i);						
				if ( j > 0 )
				{
					s = s.substr( 0,i-1)+s.substr(j+4);
				}
				if ( browser )
					i = s.indexOf("<A ");
				else
					i = s.indexOf("<a ");

			}
		}
	
		var regExp = /\<INPUT /ig;
		s = s.replace(regExp, "<INPUT style='border:none' ")
		var regExp = /\<IMG /ig;	
		s = s.replace(regExp, "<IMG style='display:none' ");	

		regExp = /DontPrint/ig;	
		s = s.replace(regExp, " style='display:none' ");	
		
		regExp = /<TABLE /ig;	
		s = s.replace( regExp, "<TABLE style='background-color:white' " )	
	
		regExp = /border="1"/ig;	
		
		s = s.replace( regExp, 'border="0"' )	

		if ( browser )
			oObject.outerHTML = s;		
		else
			oObject.innerHTML = s;

	return s;
	}catch(e){alert("MakePrinterFrieldly(). "+e.description + p1);}																   
	return "Internal Error.";
}		 

