var sPrintable_HTML="";

function fnTagBegin(sTitle) {
	var sTagBegin;
	sTagBegin = new String('');

	sTagBegin = sTagBegin + '<TABLE cellSpacing=0 cellPadding=0 border=0 width="637"><TR>'

	return sTagBegin;
}

function fnTagMiddle()
{
	var sTagMiddle;
	sTagMiddle = new String('');
	 
	sTagMiddle = sTagMiddle + ' <table border=0 width=150><tr><TD vAlign=top align=center><BR><A href="javascript:fnOriginalPage()"'
	sTagMiddle = sTagMiddle + ' onmouseover="window.status=\'Original Page\';return true"'
	sTagMiddle = sTagMiddle + ' onmouseout="window.status=\'\';return true">&raquo;&nbsp; Original Page</A></TD></tr></table>'	
	
	return sTagMiddle;
}

function fnTagEnd() {
	var sTagEnd;
	sTagEnd   = new String('');

	sTagEnd = sTagEnd + '  </tr></table>';

	return sTagEnd;
}

function fnDeleteTag(sData, sTagStart, sTagEnd) {
	var nPosStart, nPosEnd, nLenStart, nLenEnd, nLenData, sUData, sNewTag;
	sNewTag		= "";

	sUData		= sData.toUpperCase();
	sTagStart	= sTagStart.toUpperCase();
	sTagEnd		= sTagEnd.toUpperCase();

	nLenData	= sData.length;
	nLenStart	= sTagStart.length;
	nLenEnd		= sTagEnd.length;
	
	while(nLenData >= nLenStart + nLenEnd) {
		nPosStart = sUData.indexOf(sTagStart,0);
		if(nPosStart == -1)
			break;
		
		nPosEnd = sUData.indexOf(sTagEnd,nPosStart+nLenStart);

		if(nPosEnd == -1)
			break;
			
		sNewTag = sNewTag + sData.substr(0, nPosStart)
			
		sData	= sData.substr(nPosEnd + nLenEnd);
		sUData	= sUData.substr(nPosEnd + nLenEnd);
		nLenData= sData.length;
	}
		
	return sNewTag + sData;
}

function fnReplace(sData, sTag1, sTag2) {
	var nPos, nLen1, nLen2, nLenData, sUData, sNewTag;
	sNewTag		= "";

	sUData		= sData.toUpperCase();
	sTag1		= sTag1.toUpperCase();
	sTag2		= sTag2.toUpperCase();

	nLenData	= sData.length;
	nLen1		= sTag1.length;
	nLen2		= sTag2.length;
	
	nPos = 1;
	while(true) {
		nPos = sUData.indexOf(sTag1,0);
		if(nPos == -1)
			break;
		sNewTag = sNewTag + sData.substr(0, nPos) + sTag2;
			
		sData	= sData.substr(nPos+nLen1);
		sUData	= sUData.substr(nPos+nLen1);
	}
		
	return sNewTag + sData;
}

function fnReplaceTitel(sTag) {
	var sTable = new String(sTag);
	var nStart=0, nEnd=0, nPos;
	sTable = sTable.toLowerCase();
	nPos = sTable.indexOf("<td", 1);
	if (nPos > 1) {
		nStart = nPos;
		nPos = sTable.indexOf("<td", nStart+1);
		if (nPos > nStart+1) {
				nStart = nPos;
				nPos = sTable.indexOf("<td", nStart+1);
				if (nPos > nStart+1) {
					nStart = nPos;
					nPos = sTable.indexOf(">", nStart+1);
					if (nPos > nStart+1) {
						nStart = nPos + 1;
						nEnd = sTable.indexOf("</td", nPos)-1;
					}
				}
		}
	}
	if (nStart>0 && nEnd>0 && nStart<nEnd)
		return sTag.substr(nStart, nEnd-nStart);
	else
		return "";
}

function fnOriginalPage() {
	if (sPrintable_HTML != "" )
		document.body.innerHTML = sPrintable_HTML;
}

function fnParse() {

	var sTitle, sContent, nTitleStart, nTitleEnd, nContentStart, nContentEnd;

	if (sPrintable_HTML == "" )
		sPrintable_HTML = new String(document.body.innerHTML);
	
	nTitleStart		= sPrintable_HTML.indexOf("<!-- Begin Page Title Area -->", 1);
	nTitleEnd		= sPrintable_HTML.indexOf("<!-- End Page Title Area -->", nTitleStart+1);
	
	nContentStart 	= sPrintable_HTML.indexOf("<!-- Begin Printable -->",1);
	nContentEnd		= sPrintable_HTML.indexOf("<!-- End Printable -->",nContentStart+1);
	//nContentEnd		= sPrintable_HTML.indexOf("<!-- Begin Footer Area -->",nContentStart+1);
	
	if (nContentStart > 1 && nContentStart < nContentEnd) {
		nLen	= nContentEnd - nContentStart;
		sContent = sPrintable_HTML.substr(nContentStart, nLen);
		sContent = fnDeleteTag(sContent, "<a",">");
		sContent = fnReplace(sContent,"</A>","");
		if (nTitleStart > 1 && nTitleStart < nTitleEnd) {
			nLen	= nTitleEnd - nTitleStart;
			sTitle	= fnReplaceTitel(sPrintable_HTML.substr(nTitleStart, nLen));
		}
		else
			sTitle = "";		
		document.body.innerHTML = fnTagBegin(sTitle) + sContent + fnTagMiddle() + fnTagEnd();
	}

	window.print();
}


