﻿function PrintPreview(zoom_size, footerWidth)
{
	if (!!!zoom_size)
		zoom_size = 0.73;
		
	if (!!!footerWidth)
		footerWidth = '880px';

	var prntxt = "列印此頁";

        var l = (screen.width - 640) / 2;
        var t = (screen.height - 480) / 2;
        var openwindow=window.open('','','height=600, width=800, top='+t+', left='+l+', toolbar=no, menubar=no,scrollbars=yes, resizable=yes,location=no, status=no');
	
	var ow_d = openwindow.document;
        ow_d.open();

	var str = document.documentElement.innerHTML;
	var str_lower = str.toLowerCase();
		
	//get all textboxes vale from parent window, and generate a code to refill values into pop-up window's textboxes.
	var text_refill = "";
	var text_fields = document.getElementsByTagName("input");
	for (var c = 0; c < text_fields.length; c++)
	{
		if (text_fields[c].type.toLowerCase() == "text")
		{
			text_refill += ' try{ document.getElementById(\"' + text_fields[c].id + '\").value = \"' + text_fields[c].value.replace("\"", "\\\"") + '\"; document.getElementById(\"' + text_fields[c].id + '\").style.height = \'16px\';  } catch (err) {} ';
		}
	}
	var body_id_class = document.body.className;
		
        var sp, ep;
        
         var starstr = "<script>/*<!--Print"+"DocStart-->*/</script>";
        sp = str_lower.indexOf("<script>/*<!--print"+"docstart-->*/</script>");
        ep = str_lower.indexOf("<script>/*<!--print"+"docend-->*/</script>");

        var fstr = "";
        var fsp,fep;

        var fstarstr = "<script>/*<!--Print"+"FlashStart-->*/</script>";
        fsp = str_lower.indexOf("<script>/*<!--print"+"flashstart-->*/</script>");
        fep = str_lower.indexOf("<script>/*<!--print"+"flashend-->*/</script>");

        if (fsp>=0 && fep>fsp)
        {
            fstr = str.substring(fsp + fstarstr.length, fep);  
            fstr = "<table width='741' border='0' cellspacing='0' cellpadding='0'>" + fstr + "</table>";
        }

        var dstr = "";
        var dsp,dep;

        var dstarstr = "<script>/*<!--Print"+"DStart-->*/</script>";
        dsp = str_lower.indexOf("<script>/*<!--print"+"dstart-->*/</script>");
        dep = str_lower.indexOf("<script>/*<!--print"+"dend-->*/</script>");

        if (dsp>=0 && dep>dsp)
        {
            dstr = str.substring(dsp + dstarstr.length, dep);  
        }

        var hstr = "";
        var hsp,hep; 

        var hstarstr = "<script>/*<!--Print"+"HeaderStart-->*/</script>";
        hsp = str_lower.indexOf("<script>/*<!--print"+"headerstart-->*/</script>");
        hep = str_lower.indexOf("<script>/*<!--print"+"headerend-->*/</script>");

        if (hsp>=0 && hep>hsp)
        {
		hstr = str.substring(hsp + hstarstr.length, hep);  
		hstr = hstr + "<br><br>";
        }

        var frstr = "";
        var frsp,frep; 

        var frstarstr = "<script>/*<!--Print"+"FooterStart-->*/</script>";
        frsp = str_lower.indexOf("<script>/*<!--print"+"footerstart-->*/</script>");
        frep = str_lower.indexOf("<script>/*<!--print"+"footerend-->*/</script>");

        if (frsp>=0 && frep>frsp)
        {
        	frstr = str.substring(frsp + frstarstr.length, frep);  
        	frstr = frstr + "<br>";
        }

        if (sp>=0 && ep>sp)
        {
		str = str.substring(sp+starstr.length,ep);
		var titleitems = document.getElementsByTagName('title');
		var styleitems = document.getElementsByTagName('style');

		var cssitems = document.getElementsByTagName('link');
		var cssstr = "";
		for (var i=0;i<cssitems.length;i++)
		{
			if (cssitems.item(i).getAttribute('media') != 'print')
			{
				var link_href = (cssitems.item(i).getAttributeNode("href") != null) ? cssitems.item(i).getAttributeNode("href").value : "";
				var link_type = (cssitems.item(i).getAttributeNode("type") != null) ? cssitems.item(i).getAttributeNode("type").value : "";
				var link_rel = (cssitems.item(i).getAttributeNode("rel") != null) ? cssitems.item(i).getAttributeNode("rel").value  : "";
				var link_media = (cssitems.item(i).getAttributeNode("media") != null) ? cssitems.item(i).getAttributeNode("media").value  : "";
				var link_charset = (cssitems.item(i).getAttributeNode("charset") != null) ? cssitems.item(i).getAttributeNode("charset").value  : "";
				cssstr = cssstr + ("<LINK href=\"" + link_href  + "\" type=\"" +  link_type + "\" rel=\"" + link_rel + "\" media=\""+  link_media + "\" charset=\""+ link_charset + "\">").replace(/media=screen/g, '').replace(/media="screen"/g, '');
			}
		}
		
		var titlestr="";
		for (var i=0; i < titleitems.length; i++)
		{
		    titlestr = titlestr + "<title>" + titleitems.item(i).innerHTML + "</title>";
		}
    		
		var stylestr="";
		for (var i=0; i < styleitems.length; i++)
		{
		    stylestr = stylestr + "<style>" + styleitems.item(i).innerHTML + "</style>";
		}

		var jsstr = "";
		var jsitems = document.getElementsByTagName('script');
		for (var i=0; i < jsitems.length; i++)
		{			
			if (jsitems[i].getAttributeNode("src") != null && jsitems[i].getAttributeNode("src").nodeValue != "" && jsitems[i].getAttributeNode("src").nodeValue.indexOf("Browser.js") < 0)
			{
				var js_file = "<sciprt type='text/javascript' src='" + jsitems[i].getAttributeNode("src").nodeValue + "'/>";
				jsstr = jsstr + js_file;
			}
		}

		ow_d.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");

		ow_d.write("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
		ow_d.write("<html>");
		ow_d.write("<head>");
		ow_d.write(titlestr);
            	ow_d.write(stylestr);
		ow_d.write(cssstr);
		ow_d.write(jsstr);
		ow_d.write("<script language='javascript' type='text/javascript'>");
		/*
		ow_d.write("function PrintWindow(){");
		ow_d.write("var d=document.getElementById('PrintButton');");
		ow_d.write("var p=d.parentNode;");
		ow_d.write("d.parentNode.removeChild(d);");
		ow_d.write("p.appendChild(d);");
		ow_d.write("} ");
		ow_d.write("function flash(src,width,height,tr){}");
		*/

		ow_d.write("function playflash(){ if (document.getElementById('param') != null) {document.getElementById('param').Play();} }");
		ow_d.write("function getScrollHeight(){ ");
		ow_d.write(text_refill);
		ow_d.write("if (navigator.userAgent.toLowerCase().indexOf('safari') >= 0 || navigator.userAgent.toLowerCase().indexOf('msie') >= 0) ");
		ow_d.write("{  ");
		ow_d.write("document.getElementById('layer').style.height = document.body.scrollHeight + 'px'; ");
		ow_d.write("document.getElementById('layer_table').style.height = document.body.scrollHeight + 'px'; ");
		ow_d.write("} ");
		ow_d.write("else ");
		ow_d.write("{ ");
		ow_d.write("document.getElementById('layer').style.height = document.documentElement.scrollHeight + 'px'; ");
		ow_d.write("document.getElementById('layer_table').style.height = document.documentElement.scrollHeight + 'px'; ");
		ow_d.write("} ");
		ow_d.write("}</script>");
		if ($.browser.version.indexOf("7") >= 0)
			ow_d.write("<style>@media Screen {body {margin:5px;} .printbtn{height:30px;}} @media Print {body  {zoom: 1.2} .layer, .printbtn{display:none;} .schFooter{width:" + footerWidth  + ";}} .second_print_friendly, .funds_tab_date, .back_to_top, .second_view_more_fund, .export_column, #rRestart {display:none;}</style>");
		else
			ow_d.write("<style>@media Screen {body {margin:5px;} .printbtn{height:30px;}} @media Print {body {zoom: " + zoom_size + "} .layer, .printbtn{display:none;} .schFooter{width:" + footerWidth  + ";}} .second_print_friendly, .funds_tab_date, .back_to_top, .second_view_more_fund, .export_column, #rRestart {display:none;}</style>");
            	ow_d.write("</head>");
            
		ow_d.write("<body id='body' class='"+body_id_class+"' onLoad='setTimeout(\"getScrollHeight()\", 300)'>");
		ow_d.write("<div class='printbtn'><input type='button' value='" + prntxt + "' onclick='javascript:self.print()'/></div>");
		ow_d.write("<div class='wrapperGlobal'>");	
		ow_d.write(hstr);
		ow_d.write(fstr);
		ow_d.write(str);
		ow_d.write(dstr);
		ow_d.write(frstr);
		ow_d.write("</div>");
		ow_d.write("<script> if(document.getElementById('drag') !=null){document.getElementById('drag').style.display = \'none\'};playflash();<\/script>");
		ow_d.write("<div id='layer' class='layer' style='boarder:0px; position: absolute;top:42px;left:0px; z-index:5000; height:100px;width:100%'>");
		ow_d.write("<table id='layer_table' border='0' width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'>");
		ow_d.write("<tr>");
		ow_d.write("<td width='100%' valign='bottom'> <td>");
		ow_d.write("</tr>");
		ow_d.write("</table>");
		ow_d.write("</div>");
		ow_d.write('</body></html>');
		ow_d.close();
        }
    }

//Print friendly
