//
// Handle frame printing for Hydro Texaco ErhvervsNet
//
// function printFrame() and helpers by Mead & Company, http://www.meadroid.com/wpm/
// function printto() and helpers by Ole Clausen, Framfab, http://www.framfab.dk
//
// This page last edited 28-04-2001 Erik Ebert, Framfab
// Tested to be compatible with PC IE 5.0, PC NS 4.7. Should also be compatible with later PC versions.
//

// Main print function name, called from frame
function printo(){
//browserdetection
var nn4 = (document.layers)? true:false;
var ie4 = (document.all)? true:false;
var dom = (document.getElementById)? true:false;
//variable used to avoid constant detection for pejleLag
var shortvar;
//detect if pejleLag is present in the file, if so hide the layer, do the print and show the layer again
//other printpages is not affected
	if(ie4) {
		if(document.all.pejleLag!=null) {
			pejleLayer_s.visibility="hidden";
			shortvar="1";
		}
	}
	if(dom) {
		if(document.getElementById("pejleLag")!=null) {
			pejleLayer_s.visibility="hidden";
			shortvar="1";
		}
	}
	// Check if we should Mac print
	if ((navigator.platform.indexOf("Mac") != -1)) {
		mac();
		if(shortvar=="1")
			pejleLayer_s.visibility="visible";
	}

	// Check if we should IE print
	if (((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4))){
  		IE4();
		if(shortvar=="1")
			pejleLayer_s.visibility="visible";
	}

	// Check if we should NS print
	if (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4))) {
		NS4();		
	}
	
// Error handling, just display an alert box
function error() {
	alert("Denne funktion virker desv\346rre ikke i din browser. \nFors\370g eventuelt igen.");
}

// Handle Mac printing, just display an alert box
function mac() {
	alert("Denne knap virker desv\346rre ikke p\345 Mac.\nFors\370g i stedet at trykke '\346ble + P'");
}

// Handle Netscape printing, just use default printing function
function NS4(){ 
	window.print();
	if(shortvar=="1") {
		pejleLayer_s.visibility="visible";
		}
} 
// Handle IE printing, call printFrame, provided by Mead & Company
function IE4() {
	printFrame();
}

// Frame Print function for Internet Explorer 4.0 and up
function printFrame(frame, onfinish) {

  // Check if it not IE print at this point, go to error handler if not
  if
  ( 
  (navigator.appName != "Microsoft Internet Explorer"))
 error();
	
  if ( !frame ) frame = window;

  if ( frame.document.readyState != "complete" &&
       !confirm("Det dokument du vil udskrive er desv\346rre ikke klart. Vil du forts\346tte ?") )
  {
    if ( onfinish ) onfinish();
    return;
  }

  if ( printIsNativeSupport() ) {
    /* focus handling for this scope is IE5Beta workaround,
       should be gone with IE5 RTM.
    */
    var focused = document.activeElement; 
    frame.focus();
    frame.self.print();
    if ( onfinish ) onfinish();
    if ( focused && !focused.disabled ) focused.focus();
    return;
  }

  var eventScope = printGetEventScope(frame);
  var focused = document.activeElement;

  window.printHelper = function() {
    execScript("on error resume next: printWB.ExecWB 6, 1", "VBScript");
    printFireEvent(frame, eventScope, "onafterprint");
    printWB.outerHTML = "";
    if ( onfinish ) onfinish();
    if ( focused && !focused.disabled ) focused.focus();
    window.printHelper = null;
  }

  document.body.insertAdjacentHTML("beforeEnd",
    "<object id=\"printWB\" width=0 height=0 \
    classid=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\"></object>");

  printFireEvent(frame, eventScope, "onbeforeprint");
  frame.focus();
  window.printHelper = printHelper;
  setTimeout("window.printHelper()", 0);
}

// helper for printFrame
function printIsNativeSupport() {
  var agent = window.navigator.userAgent;
  var i = agent.indexOf("MSIE ")+5;
  return parseInt(agent.substr(i)) >= 5 && agent.indexOf("5.0b1") < 0;
}

// helper1 for printFrame
function printFireEvent(frame, obj, name) {
  var handler = obj[name];
  switch ( typeof(handler) ) {
    case "string": frame.execScript(handler); break;
    case "function": handler();
  }
}

// helper2 for printFrame
function printGetEventScope(frame) {
  var frameset = frame.document.all.tags("FRAMESET");
  if ( frameset.length ) return frameset[0];
  return frame.document.body;
}
}
