// some javascript stuff to assist with printing
// opens a JS-Windows with PrintPreview
// enables an alternative printing stylesheet for display: screen in this window
// adds some DOM-Nodes "Print" and "Close" in the printPreview

var printCSSTitle = 'printJS';
var winPrintPreview=0;

if (this.name == "Druckvorschau") {
	//alert ("Testfenster");
	addListener(this, "load", function() { preparePrint(); });
}


function printPreview() {
	var url = this.location.href;
	if (winPrintPreview	&& winPrintPreview.name == "Druckvorschau") {
	  winPrintPreview.location.href = url;
	} else {
		winPrintPreview = window.open(url,'Druckvorschau','width=660,height=842,status=no,toolbar=no,menubar=yes,resizable=yes,scrollbars=yes');
	}
	winPrintPreview.focus();
}

function addListener(element, event, listener, bubble) {
  if(element.addEventListener) {
    if(typeof(bubble) == "undefined") bubble = false;
    element.addEventListener(event, listener, bubble);
  } else if(this.attachEvent) {
    element.attachEvent("on" + event, listener);
  }
}

function preparePrint() {
 	enableStylesheet(printCSSTitle);
	addPrintCloseText();
}

function addPrintCloseText() {
  	var linkBox = document.createElement("span");
  	linkBox.id = "printButtons";

	  var textClose = document.createTextNode("[Schliessen] / ");
	  var textPrint = document.createTextNode("[Drucken]");
  	
		var linkClose = document.createElement("a");
		linkClose.href="javascript:this.close(); false";
	 	linkClose.appendChild(textClose);

		var linkPrint = document.createElement("a");
		linkPrint.href="javascript:this.print();this.close();";
	 	linkPrint.appendChild(textPrint);

  	document.getElementById("head_logo").appendChild(linkBox);
	  document.getElementById("printButtons").appendChild(linkClose);
	  document.getElementById("printButtons").appendChild(linkPrint);
}

// Needs a title of an alternate stylesheet
function enableStylesheet(title){ 
  //alert(this.location.href);
	var i, altstylesheet;
	for(i=0; (altstylesheet=document.getElementsByTagName("link")[i]); i++) {
		// get only if it is an alternate stylesheet
		if(altstylesheet.getAttribute("rel").toLowerCase()=="alternate stylesheet" && altstylesheet.getAttribute("title")) {
			altstylesheet.disabled = true;
			// only act if the title matches
			if(altstylesheet.getAttribute("title") == title) {
				// enable the alternate stylesheet
				altstylesheet.disabled = false;
			}
		}
	}
}

