//
//
//     WMZ-Berechnungsprogramm
//     -----------------------
//
//     Wleist.js
//
//
//      Version vom 09.01.2000
//
//
//      (c) by Dirk Breuling
//
//
// Variablen von daten.js   AnzWMZ = Anzahl der Wärmezähler








var Volstr;




// Komma durch Punkt ersetzen
//---------------------------


function SucheErsetze(Text,Suche,Ersetze)

{
 var Neutext = "";
 var i = 0;
 while(i < Text.length)
  {
   if(Text.substring(i,i + Suche.length) == Suche)
    {
     Neutext = Neutext + Ersetze;
     i = i + Suche.length - 1;
    }
   else
    Neutext = Neutext + Text.substring(i,i + 1);
   i++;
  }
 return Neutext;
}




//      Funktion wird ausgeführt beim Start
//      -----------------------------------



function start ()
{

        for (a=0; a<AnzWMZ; a++)             // Ausfüllen des Pulldown-Menues

        {
                Liste[a].text=db[0][a];
        }



        Einbau[0].checked=true;             // Radio Button ãîðèçîíòàëüíî angewählt




                Temp.value=20;


                Liste.value=1;  // Qn 1,5 auswählen

                cursor ();  // Cursor setzen
}




//      Funktion cursor setzen
//      ----------------------


function cursor ()

{

                Wleist.focus ();           // Cursor auf Feld Volumenstrom setzen

}





//      Funktion Ausgabefelder loeschen
//      -------------------------------


function aloesch ()

{

     cursor ();

     T1.value="";
     T2.value="";
     T3.value="";
     T4.value="";
     T5.value="";



}



//      Funktion auf Fehler prüfen
//      ---------------------------


function fehler ()

{

         var x;

         x=Wleist.value;




 x = SucheErsetze(Wleist.value,",",".");    // Ersetzt komma durch Punkt
         Wleist.value = x;





                if (isNaN(x) || x=="")

                        {
                                alert ("Ââåäèòå òåïëîâóþ ìîùíîñòü!");
                        Wleist.value="";
                        }

}





//      Funktion onclick Button Druckverlust
//      ------------------------------------



function druck ()
{

        fehler();


        var a, Rhydr, Druckv;




        Volstr=Wleist.value/(1.163 * Temp.value);

        Volstr=Volstr*100;                //  auf zwei Nachkommastellen runden
        Volstr=Math.round(Volstr);        //
        Volstr=Volstr/100;                //

        T1.value=Volstr;              // in m3/h






        a=Liste.value                        // Abfrage, welcher WMZ wurde ausgewählt

        Rhydr=db[1][a];                      // in bar/ (m3/h)^2

        Volstr=T1.value;                     // in m3/h

        Druckv=Rhydr*Volstr*Volstr*1000;     // in mbar
        Druckv=Math.round(Druckv);           // Ganzzahlig Runden




        // Ausgabefelder

        T1.value=T1.value+" ì3/÷";

        T2.value=db[0][a];                 // Typ

        T3.value=Druckv+" mbar";           // Druckverlust

                T4.value=db[4][a];         // Einbaulage

        T5.value=db[5][a];                 // Nenndurchmesser

        cursor ();                         // Cursor wird wieder auf Volumenstrom gesetzt

}




//      Funktion onclick Button WMZ-Auslegen
//      ------------------------------------




function auslegen ()
{

        fehler ();



// Radio-Button VARIABLER VOLUMENSTROM
//------------------------------------


if (R1[0].checked==true)   // Button variabeler Volumenstrom
{




        var a, Rhydr, Druckv, OK;

        Volstr=Wleist.value/(1.163 * Temp.value);

        Volstr=Volstr*100;                //  auf zwei Nachkommastellen runden
        Volstr=Math.round(Volstr);        //
        Volstr=Volstr/100;                //

        T1.value=Volstr;              // in m3/h



        for (a=0; a<AnzWMZ; a++)

        {

            Rhydr=db[1][a];                    // in bar/ (m3/h)^2
            Druckv=Rhydr*Volstr*Volstr*1000;   // in mbar
            Druckv=Math.round(Druckv);         // Ganzzahlig Runden

            OK=false;


               // Einbaulage überprüfgen

                if (db[4][a]=="ëþáîå")

                        {
                                OK=true;
                        }
                if (Einbau[0].checked==true && db[4][a]=="ãîðèçîíòàëüíî")
                        {
                                OK=true;
                        }
                if (Einbau[1].checked==true && db[4][a]=="âåðòèêàëüíî")
                        {
                                OK=true;
                        }







                                // WP ãîðèçîíòàëüíî ausschließen

                                var typ=db[0][a] ;

                                typ=typ.slice (5,9);

                                if (Einbau[0].checked==true && typ=="WP-X")
                                {
                                        OK=false;
                                }








                // Druckv. zwischen pmin u.pmax
                //-----------------------------

                if (Druckv>=db[2][a] && Druckv<=db[3][a] && OK==true)
                {
                  T2.value=db[0][a];       // Typ
                  T3.value=Druckv+" mbar";         // Druckverlust
                  T4.value=db[4][a];       // Einbaulage
                  T5.value=db[5][a];       // Nenndurchmesser
                  Liste.value=a;   // aktuellen Typ in Listenfeld tragen

                   a=AnzWMZ;                    // For-Schleife beenden


                }

                else

                {
                  T2.value="ïîä çàêàç";
                  T3.value="";              // Druckverlust
                  T4.value="";              // Einbaulage
                  T5.value="";              // Nenndurchmesser

                }
        }

        T1.value=T1.value+" ì3/÷";

        cursor ();             // Cursor wird wieder auf Volumenstrom gesetzt

}




// Radio-Buton KONSTANTER VOLUMENSTROM
//------------------------------------


if (R1[1].checked==true)   // Radio-Button konstanter Volumenstrom


{

        var a, Rhydr, Druckv, OK;

        Volstr=Wleist.value/(1.163 * Temp.value);

        Volstr=Volstr*100;                //  auf zwei Nachkommastellen runden
        Volstr=Math.round(Volstr);        //
        Volstr=Volstr/100;                //

        T1.value=Volstr;              // in m3/h



        for (a=0; a<AnzWMZ; a++)

        {

            Rhydr=dc[1][a];                    // in bar/ (m3/h)^2
            Druckv=Rhydr*Volstr*Volstr*1000;   // in mbar
            Druckv=Math.round(Druckv);         // Ganzzahlig Runden

            OK=false;


               // Einbaulage überprüfgen

                if (dc[4][a]=="ëþáîå")

                        {
                                OK=true;
                        }
                if (Einbau[0].checked==true && dc[4][a]=="ãîðèçîíòàëüíî")
                        {
                                OK=true;
                        }
                if (Einbau[1].checked==true && dc[4][a]=="âåðòèêàëüíî")
                        {
                                OK=true;
                        }




                                // WP ãîðèçîíòàëüíî ausschließen

                                var typ=dc[0][a] ;

                                typ=typ.slice (5,9);

                                if (Einbau[0].checked==true && typ=="WP-X")
                                {
                                        OK=false;
                                }





                // Druckv. zwischen pmin u.pmax
                //-----------------------------

                if (Druckv>=dc[2][a] && Druckv<=dc[3][a] && OK==true)
                {
                  T2.value=dc[0][a];       // Typ
                  T3.value=Druckv+" mbar";         // Druckverlust
                  T4.value=dc[4][a];       // Einbaulage
                  T5.value=dc[5][a];       // Nenndurchmesser
                  Liste.value=a;   // aktuellen Typ in Listenfeld tragen

                   a=AnzWMZ;                    // For-Schleife beenden


                }

                else

                {
                  T2.value="auf Anfrage";
                  T3.value="";              // Druckverlust
                  T4.value="";              // Einbaulage
                  T5.value="";              // Nenndurchmesser

                }
        }

        T1.value=T1.value+" ì3/÷";

        cursor ();             // Cursor wird wieder auf Volumenstrom gesetzt



}


}


