// USGS_NATMAP_print.js
//updated by Florin on 9/19/2008. added the hideLayersRecom variable, to remove turned off layers from the printout
nmPrintPresent = true;

function openPrintInfo() {
	var theWindow = window.open( appDir + "print-info.html", "print_win", "toolbar=no,location=no,directories=no,status=no,resizable=yes,scrollbars=yes,menubar=yes,width=500,height=305");
	theWindow.focus();
}

function processPrintRequest( includeTickMarks, includeLegends) {

	var printUrl;
	var localPrintStub;
	var visLayers = "";
	var hideLayers = "";
	var hideLayersRecommended = ""; 
	var visClasses = "";
	var hideClasses = "";
  var sbUnits = "miles";
	var centerX = (curExt.minX + ((curExt.maxX - curExt.minX) / 2));
	var centerY = (curExt.minY + ((curExt.maxY - curExt.minY) / 2));
	var pixelSize = pixelX;

	for (var i = 0; i < ClassID.length; i++) {
		if (ClassVisible[i]) {
		  visClasses += ClassID[i] + ',';
		} else {
			hideClasses += ClassID[i] + ',';
		}
	}
	for (var j = 0; j < WmsLayerId.length; j++) {
		if (WmsLayerVisible[j]) {
		  visLayers += WmsLayerId[j] + ',';
		} else {
			hideLayers += WmsLayerId[j] + ',';
			if( WmsLayerRecommended[j] ){
				hideLayersRecommended	+= WmsLayerId[j] + ',';
			}
		}
	}
	visLayers   = trimTrailingComma(visLayers);
	hideLayers  = trimTrailingComma(hideLayers);
	hideLayersRecommended  = trimTrailingComma(hideLayersRecommended);
	visClasses  = trimTrailingComma(visClasses);
	hideClasses = trimTrailingComma(hideClasses);

  if (useMetric) {
    if (curExt.maxY-curExt.minY < .02) {
      sbUnits = "meters";
    } else {
      sbUnits = "kilometers";
    }
  } else {
    if (curExt.maxY-curExt.minY < .02) {
      sbUnits = "feet";
    } else {
      sbUnits = "miles";
    }
  }

	localPrintStub = printStub + "request=print&ranking=" + rankingMode.name + "&visLayers=";

	//printUrl = localPrintStub + visLayers + "&hideLayers=" + hideLayers +
	printUrl = localPrintStub + visLayers + "&hideLayers=" + hideLayersRecommended + "&visClasses=" + visClasses + "&hideClasses=" + hideClasses + "&bbox=" + curExt.minX + "," + curExt.minY + "," + curExt.maxX + "," + curExt.maxY +	"&centerX=" + centerX + "&centerY=" + centerY +	"&pixelSize=" + pixelSize + "&scaleBarUnits=" + sbUnits + "&pageWidth=27.938&pageHeight=21.587";
		
	if( includeTickMarks ) {
	    printUrl = printUrl + "&latlon=";
	    }
	if( includeLegends ) {
	    printUrl = printUrl + "&legend=";
	    }

	var theWindow = window.open(printUrl, "print_win", "toolbar=no,location=no,directories=no,status=no,resizable=yes,scrollbars=yes,menubar=yes,width=500,height=400");
	theWindow.focus();
}

function trimTrailingComma (inStr) {
	var outStr;
	if (inStr != null && inStr != undefined && inStr != "" && inStr.length > 0) {
		outStr = inStr.substring(0, (inStr.length -1));
	} else {
		outStr=inStr;
	}
	return outStr;
}
