// Skript zum Auswerten des Bestellformulares und Weitergabe der Daten an share*it

function neuesfenstertoolbar (url,name,breite,hoehe) {  optionen='width='+breite+',height='+hoehe+',left=20,top=20,screenX=20,screenY=20,left=20,top=20,resizable=yes,scrollbars=yes,toolbar=yes';
  window.open (url, name, optionen)
}

// Die Funktion shareitbestellung übernimmt die Daten, die der Kunde in unserem Bestellformular eingegeben hat, über die Werte
// in "document.forms.Bestellformular". Hierbei handelt es sich um die Anzahl Lizenzen die bestellt werden sollen:
//    - hora, erdiagrammer, plsqldebugger, horalight
//    - upgradehora, upgradeerdiagrammer, upgradeplsqldebugger, upgradehoralight (nur in Upgradephasen, wenn withUpgrades = 1 ist)
// Zusätzlich wird der vom Besteller eingegeben Kommentar aus document.forms.Bestellformular.comment übernommen
// Als Paramter wird von unserem Bestellformular die Sprache übergeben. '1' (Englisch) oder '2' (Deutsch) sind mögliche Werte
// Wenn alle Daten geprüft und übernommen wurden, wird der String erzeugt, mit dem share*it in einem neuen Fenster aufgerufen
// wird. Die Sytax des Strings ist von share*it vorgegeben.
function shareitbestellung (Language)
{
// Variablen für die Anzahl Lizenzen, die bestellt werden sollen:
var Hora = 0, ERDiagrammer = 0, PLSQLDebugger = 0, HoraLight = 0;
var UpgradeHora = 0, UpgradeERDiagrammer = 0, UpgradePLSQLDebugger = 0, UpgradeHoraLight = 0;
var withUpgrades = 0;  // Hier wird festgelegt, ob zurzeit eine Upgradephase läuft oder nicht
// Prefix PN bedeutet Produktnummer. Die Produktnummer wurde durch share*it festgelegt.
var PN_Hora="300485117", PN_ERDiagrammer="300485118",PN_PLSQLDebugger="300485119", PN_HoraLight="300485120";
var PN_Upgradehora="000000000", PN_UpgradeERDiagrammer="000000000", PN_upgradePLSQLdebugger="000000000", PN_UpgradeHoraLight="000000000";
// Definition und Vorbelegung der Strings für den Aufruf von share*it und der Teilstrings, die später angehängt werden:
var Shareit_string="https://secure.shareit.com/shareit/cart.html?";
var Hora_string="";
var ERDiagrammer_string="";
var PLSQLDebugger_string="";
var HoraLight_string="";
var UpgradeHora_string="";
var UpgradeERDiagrammer_string="";
var UpgradePLSQLDebugger_string="";
var UpgradeHoraLight_string="";
var Comment="", Comment_string="";  // Kommentar, der übergeben wurde und die URL-konforme Umsetzung für den Aufruf von share*it

 // Eingabewerte in die Variablen übernehmen
Hora = document.forms.Bestellformular.hora.value;
ERDiagrammer = document.forms.Bestellformular.erdiagrammer.value;
PLSQLDebugger = document.forms.Bestellformular.plsqldebugger.value;
HoraLight = document.forms.Bestellformular.horalight.value;
//Anmerkungsfeld und Upgrades erst einmal auskommentiert
//Comment =  document.forms.Bestellformular.comment.value;
//if (withUpgrades) {
//    UpgradeHora = document.forms.Bestellformular.upgradehora.value;
//    UpgradeERDiagrammer = document.forms.Bestellformular.upgradeerdiagrammer.value;
//    UpgradePLSQLDebugger = document.forms.Bestellformular.upgradeplsqldebugger.value;
//    UpgradeHoraLight = document.forms.Bestellformular.upgradehoralight.value;
//}
if (Language != 2){ Language = "1";} //  1 ist Englisch, 2 ist Deutsch, Werte sind von share*it vorgegeben

// Prüfen, ob Zahlen eingegeben wurden:
if (isNaN(Hora)){
    if (Language == 1) { alert (Hora + " is not a number. Please enter a valid value for the number of licenses!");}
    else { alert (Hora + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
    document.forms.Bestellformular.hora.focus();
    return (false);
    LicHora = 0;
}
if (isNaN(ERDiagrammer)) {
    if (Language == 1) { alert (ERDiagrammer + " is not a number. Please enter a valid value for the number of licenses!");}
    else { alert (ERDiagrammer + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
    document.forms.Bestellformular.erdiagrammer.focus();
    ERDiagrammer = 0;
    return (false);
}
if (isNaN(PLSQLDebugger)){
    if (Language == 1) { alert (PLSQLDebugger + " is not a number. Please enter a valid value for the number of licenses!");}
    else { alert (PLSQLDebugger + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
    document.forms.Bestellformular.plsqldebugger.focus();
    PLSQLDebugger = 0;
    return (false);
}
if (isNaN(HoraLight)){
    if (Language == 1) { alert (HoraLight + " is not a number. Please enter a valid value for the number of licenses!");}
    else { alert (HoraLight + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
    document.forms.Bestellformular.horalight.focus();
    HoraLight = 0;
    return (false);
}
if (withUpgrades) {
    if (isNaN(UpgradeHora)){
        if (Language == 1) { alert (UpgradeHora + " is not a number. Please enter a valid value for the number of licenses!");}
        else { alert (UpgradeHora + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
        document.forms.Bestellformular.upgradehora.focus();
        UpgradeHora = 0;
        return (false);
    }
    if (isNaN(UpgradeERDiagrammer)){
        if (Language == 1) { alert (UpgradeERDiagrammer + " is not a number. Please enter a valid value for the number of licenses!");}
        else { alert (UpgradeERDiagrammer + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
        document.forms.Bestellformular.upgradeerdiagrammer.focus();
        UpgradeERDiagrammer = 0;
        return (false);
    }
    if (isNaN(UpgradePLSQLDebugger)){
        if (Language == 1) { alert (UpgradePLSQLDebugger + " is not a number. Please enter a valid value for the number of licenses!");}
        else { alert (UpgradePLSQLDebugger + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
        document.forms.Bestellformular.upgradeplsqldebugger.focus();
        UpgradePLSQLDebugger = 0;
        return (false);
    }
    if (isNaN(UpgradeHoraLight)){
        if (Language == 1) { alert (UpgradeHoraLight + " is not a number. Please enter a valid value for the number of licenses!");}
        else { alert (UpgradeHoraLight + " ist keine Zahl! Bitte korrigieren Sie die Eingabe");}
        document.forms.Bestellformular.upgradehoralight.focus();
        UpgradeHoraLight = 0;
        return (false);
    }
}  // with Upgrades

// Mindestens eine Lizenz muss bestellt sein:
if (withUpgrades == 1) {
   if ( (Hora == "") &&
        (HoraLight == "") &&
        (ERDiagrammer == "") &&
        (Debugger == "") &&
        (UpgradeHora == "") &&
        (UpgradeHoraLight == "") &&
        (UpgradeERDiagrammer == "") &&
        (UpgradePLSQLDebugger == "") ) {
         alert("Bitte die gewünschte Anzahl Lizenzen eingeben!");
         document.forms.Bestellformular.hora.focus();
         return (false);
	  }
   }
   else { // keine Upgrades
      if ( (Hora == "") &&
           (HoraLight == "") &&
           (ERDiagrammer == "") &&
           (PLSQLDebugger == "") ) {
         alert("Bitte die gewünschte Anzahl Lizenzen eingeben!");
         document.forms.Bestellformular.hora.focus();
         return (false);
      }
   }
// Die Anzahl aller Produkte, die bestellt werden sollen, ist jetzt bekannt.
// Ab hier wird der Aufrufstring für Share*it erzeugt:
// Der String für den Aufruf der Bestellung bei share*it wird zusammengesetzt aus den strings für die einzelnen Produkte, die Sprache und den Kommentar.
if (Hora>0) { Hora_string = "PRODUCT[" + PN_Hora + "]=" + Hora + "&"; }
if (ERDiagrammer>0) { ERDiagrammer_string = "PRODUCT[" + PN_ERDiagrammer + "]=" + ERDiagrammer + "&"; }
if (PLSQLDebugger>0){ PLSQLDebugger_string = "PRODUCT[" + PN_PLSQLDebugger + "]=" + PLSQLDebugger + "&"; }
if (HoraLight>0) {HoraLight_string = "PRODUCT[" + PN_HoraLight + "]=" + HoraLight + "&"; }
Shareit_string = Shareit_string + Hora_string + ERDiagrammer_string + PLSQLDebugger_string + HoraLight_string + "languageid=" + Language;

// Anmerkungsfeld erst einmal nicht beruecksichtigt!
// Falls angegeben, Kommentar als URL-konformen String anhängen:
//Comment_string = escape (Comment);  // erzeugt aus dem Kommentar einen URL-konformen String.
//if (Comment_string != "") { Shareit_string = Shareit_string + "&ADD[" + PN_Hora + "][ADDITIONAL1]=" + Comment_string; }

//Testausgabe:
//alert (Shareit_string);

neuesfenstertoolbar (Shareit_string, 'Shareit', 900, 800);

}

