﻿// Globale Variablen
var chkZ = 1;

function scanaufloesungrechnen() // Hauptfunktion
{
 // Eingaben
 var b_vorl = parseFloat(document.scanaufloesung.b_vorl.value.replace(/\,/g, "."));
 var h_vorl = parseFloat(document.scanaufloesung.h_vorl.value.replace(/\,/g, "."));
 var skal = parseFloat(document.scanaufloesung.skal.value.replace(/\,/g, "."));    
 var raster = document.scanaufloesung.raster.value;
 // Eingabencheck
 checkscanZahl(b_vorl, h_vorl, skal);
 if (chkZ==1)
 {
  // Berechnung
  var result_b_repro = eval(b_vorl*skal/100); // Breite Reproduktion 
  var result_h_repro = eval(h_vorl*skal/100); // Hoehe Reproduktion
  var result_scanres = eval(raster*2*skal/100*2.54); // Abtastaufloesung 
  // Ausgabe
  print1_scan(runden(parseFloat(result_b_repro)) + " x " + runden(parseFloat(result_h_repro)) + " cm");
  print2_scan(Math.round(parseFloat(result_scanres)) + " dpi");
 }
 else
  false;
}



function checkscanZahl(b_vorl, h_vorl, skal) // Eingabencheck
{ 
  if (isNaN(b_vorl) || b_vorl =="" || isNaN(h_vorl) || h_vorl =="" || isNaN(skal) || skal =="")
  {
    print1_scan("");
    print2_scan("");
    printErr_scan("Bitte überprüfen Sie Ihre Eingaben!");
    return chkZ=0;
  }
  else
  {
    printErr_scan("");
  	return chkZ=1;
  }
}


function runden(x) // Runden auf zwei Nachkommastellen
{
  	var k = (Math.round(x * 100) / 100).toString();
 	k += (k.indexOf('.') == -1)? '.00' : '00';
  	var p = k.indexOf('.'), m = k.indexOf('-.');
  	var f = (p == 0 || m == 0)? '0,' : ',';
  	return k.substring(0, p) + f + k.substring(p+1, p+3);
}



function print1_scan(x) // Ausgabe Breite x Höhe Reproduktion
{
    var ausgabefeld_scanaufloesung = document.getElementById("ausgabe_bxh_repro");
    ausgabefeld_scanaufloesung.removeChild(ausgabefeld_scanaufloesung.lastChild);
    ausgabefeld_scanaufloesung.appendChild(document.createTextNode(x));
}



function print2_scan(x) // Ausgabe Abtastaufloesung
{
    var ausgabefeld_scanaufloesung = document.getElementById("ausgabe_scanres");
    ausgabefeld_scanaufloesung.removeChild(ausgabefeld_scanaufloesung.lastChild);
    ausgabefeld_scanaufloesung.appendChild(document.createTextNode(x));
}


function printErr_scan(x) // Ausgabe Fehlermeldung
{
    var ausgabefeld_scanaufloesung = document.getElementById("ausgabe_fehler_scanaufloesung");
    ausgabefeld_scanaufloesung.removeChild(ausgabefeld_scanaufloesung.lastChild);
    ausgabefeld_scanaufloesung.appendChild(document.createTextNode(x));
}


function loeschscan() // Löschen
{
 print1_scan("");
 print2_scan("");
 printErr_scan("");
}
