//Create global references
var printWindow = null;
var blIsOpen = false;
var opener;
var objPrint;

function getHeader(){
	var header;
	//BC logo plus print buttons
	header = "<div id=\"header\">";
//	header += "<a href=\"/\"><img id=\"logo\" src=\"/shared/images/logo_bcgov.gif\" width=\"163\" height=\"58\" alt=\"British Columbia - The Best Place on Earth\"></a>";
	header += getPrintButtons() ;
	header += "</div>";
	return header;
}

function getTopBanner() {
	if (document.getElementById("logo")) {
		return "<div id=\"image-header\">"+ "<img src=\"/local/vlbc/images/layout/logo-victimlinkbc.gif\">"+"</div>";
	}
	else {
		return "";
	}
}

function hasAncestorOfClass(node, classname)
{
	var temp = node;
	while (temp.parentNode) {
		temp = temp.parentNode;
		if (temp.className == classname)
 {
			return true;
		}
	}
	return false;
}

function getElementsOfClass(classname, node)
{
	if(!node) 
		node = document.getElementsByTagName("body")[0];
	var result = [];
	var regexp = new RegExp('\\b' + classname + '\\b');
	var elements = node.getElementsByTagName("*");
	for(var i=0,j=elements.length; i<j; i++)
	//	if((regexp.test(elements[i].className)) && (!hasAncestorOfClass(elements[i], classname)))
		if((regexp.test(elements[i].className)) )
			result.push(elements[i]);
	return result;
}

function getMainCol()
{
	var components = getElementsOfClass("main-content");

	var i = 0;
	var content = "";
	var com;
	while (components[i]) {
		com = components[i];
		content = content + "<div>" + com.innerHTML + "</div>";
		++i;	
	}
	return content;
}

/*
function getRightCol()
{
	var components = getElementsOfClass("right-col-content");

	var i = 0;
	var content = "";
	var com;

	if(components.length > 0) {
	
		content = content + "<div id=\"right-col-print\">\n";
		while (components[i]) {
			com = components[i];
			content = content + "<div>" + com.innerHTML + "</div>";
			++i;	
		}
		content = content + "</div>\n";
	}
	return content;
}
*/
function getPrintButtons(){
	var strFooter;
	strFooter = "<div class=\"print-buttons\">" +
			"<a href=\"javascript:print(); window.self.close();\">" + 
			"<img src=\"/shared/images/b_print-close.gif\" width=\"108\" height=\"28\" " +
			" alt=\"Print and close\"></a>&nbsp;&nbsp;&nbsp;" +
			"<a href=\"javascript:window.self.close();\">" + 
			"<img src=\"/shared/images/b_cancel.gif\" width=\"108\" height=\"28\" alt=\"Cancel\"></a>" +
			"</div>";
	return strFooter;
}

function doPrint(objWindow){
	if (blPrintWindowOpen()){
		printWindow.focus();//make the preview window bubble to surface
	}else{
	objPrint = new objPrintObject();
	blIsOpen = true;
	
	opener = objWindow;
	printWindow = window.open("", "PrintVersion", 'left=100,screenX=200,top=50,screeny=100,resizable=yes,toolbar=yes,menubar=yes,width=760,height=500,modal=yes,scrollbars=yes,status=yes');
	printWindow.document.bgColor="white";
	printWindow.document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n");
	var reloadFlag=false;
	var title = document.title;
	printWindow.document.write("<html><head>\n");
	if(title == ""){
		printWindow.document.write("<title>Province of British Columbia (Printer Version)</title>\n");
	}else{
		printWindow.document.write("<title>"+title+" (Printer Version)</title>\n");
	}
	printWindow.document.write("<style type=\"text/css\" media=\"all\">\n" + 
		"@import \"/local/css/main.css\"; \n" +
		"@import \"/local/vlbc/css/print.css\"; \n" +
		"</style>\n");
		
	if (objPrint.mainCol.indexOf("IwFormBuilderToolbox") != -1) {
		reloadFlag = true;
		printWindow.document.write('<SCRIPT src="/shared/scripts/form-builder-pv.js" type="text/javascript"></SCRIPT>\n<SCRIPT src="/shared/scripts/AjaxRequest.class.js" type="text/javascript"></SCRIPT>\n');
	}
	printWindow.document.write("</head>\n");

	printWindow.document.write("<body class=\"one-column\">\n");
	printWindow.document.write("<div id=\"wrapper\"><a name=\"top\"></a>\n");
	printWindow.document.write(objPrint.header);
	printWindow.document.write(objPrint.imageHeader);
	printWindow.document.write("<div id=\"content-print\">\n");
	printWindow.document.write("<div id=\"main-col\">\n");
	printWindow.document.write(objPrint.mainCol);
	printWindow.document.write ("</div>\n");
//	printWindow.document.write("<div id=\"right-col\">\n");
//	printWindow.document.write(objPrint.rightCol);	
	printWindow.document.write ("</div></div></body></html>");

	var browser=navigator.appName;
	if (browser=="Microsoft Internet Explorer" ){
		printWindow.location.reload(false);
	}
	printWindow.document.close();
	}
}


function objPrintObject(){
	this.header = getHeader();
	this.imageHeader = getTopBanner();
	this.mainCol = getMainCol();
/*	this.rightCol = getRightCol(); */
	this.printButtons = getPrintButtons();
	this.ParentWindow = window;
}

function blPrintWindowOpen(){
	if ((printWindow != null) && (blIsOpen == true)){
		return (! printWindow.closed);
	}else{
		blIsOpen = false;
		return false;
	}
}


function closeWindow(){
	if((printWindow != null) && (blIsOpen == true)){
		printWindow.close();
		printWindow=null;
		blIsOpen = false;
		return true;
	}
	return false;
}

