//
//
//     WMZ-Berechnungsprogramm
//     -----------------------
//
//
//
//      Version vom 09.01.2001
//
//
//      (c) by Dirk Breuling
//             breuling@t-online.de
//
//
//
//       Variablen von daten.js :
//
//    db-> variabler Volumenstrom
//    dc-> konstanter Volumenstrom
//
//    AnzWMZ = Anzahl der Wärmezähler
//
//








// Runden von Zahlen
//---------------------------
// Programmiert am 31.12.2000
//
//


function Trim(Zahl,Maxkomma)
{

        var faktor=Math.pow(10,Maxkomma);   // 10, 100, 1000 .....
        var Numzahl = eval(Zahl);
         Numzahl=Numzahl * faktor ;
         Numzahl = Math.round(Numzahl);

         var Ergebnis = Numzahl/faktor;

 return(Ergebnis);

}


// Berechnung der Fließgeschwindigkeit
//------------------------------------
// wird nicht aufgerufen !!!
//--------------------------


function Geschw(Volstr)

{

var V,w,A ;

V=Volstr/3600 ; // Umrechnung in m3/s

A=Flaeche() ;   // Fläche in m2

w=V/A ;         // Geschw. in m/s

T6.value=Trim(w,1);
T6.value=T6.value+" m/s" ;

}


// Berechnung der Rohrinenfläche
//------------------------------

function Flaeche()

{

var di,A ;

var pi=Math.PI  // Ermittlung von Pi


if (T5.value=="Äó 15")
{ di=16/1000 ;                        // Innendurchmesser in Meter !
}
if (T5.value=="Äó 20")
{ di=21.6/1000 ;
}
if (T5.value=="Äó 25")
{ di=27.2/1000 ;
}
if (T5.value=="Äó 40")
{ di=41.8/1000 ;
}
if (T5.value=="Äó 50")
{ di=53/1000 ;
}
if (T5.value=="Äó 65")
{ di=68.8/1000 ;
}
if (T5.value=="Äó 80")
{ di=80.8/1000 ;
}



A=pi*(di/2)*(di/2) ;  // Berechnung der Flaeche

return A;  // Rückgabe Fläche in m2

}








// 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
//      -----------------------------------

var Volstr;

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



        //        Anzeige.value=0.425;
        //        T2.value="Qn 0,6";

        //      druck ();

        cursor () ;  // Cursor auf Eingabefeld setzen

}




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


function cursor ()



{
                Anzeige.value="";           // Feld löschen
                Anzeige.focus ();           // Cursor auf Feld Volumenstrom setzen

}


function curset ()


{

                Anzeige.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 = SucheErsetze(Anzeige.value,",",".");    // Ersetzt komma durch Punkt
         Anzeige.value = x;
                if (isNaN(x) || x=="")

                        {
                                alert ("Ââåäèòå îáúåì ðàñõîäà!");

                        Anzeige.value=Volstr;
                        }

}





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



function druck ()
{




        fehler();


        var a, Rhydr, Druckv;

                T1.value=Anzeige.value;       // Volumenstorom in Feld T1 übernehmen


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

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

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


        // Geschw(Volstr);                             // Funktion Geschwindigkeit aufrufen

        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)   // Radio-Button variabeler Volumenstrom
{



        var a, Rhydr, Druckv, OK;

        T1.value=Anzeige.value;


        Volstr=T1.value;                   // 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="auf Anfrage";
                  T3.value="";              // Druckverlust
                  T4.value="";              // Einbaulage
                  T5.value="";              // Nenndurchmesser

                }
        }


        // Geschw(Volstr);                            // Funktion Geschwindigkeit aufrufen

        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;

        T1.value=Anzeige.value;


        Volstr=T1.value;                   // 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=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>=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="ïîä çàêàç";
                  T3.value="";              // Druckverlust
                  T4.value="";              // Einbaulage
                  T5.value="";              // Nenndurchmesser

                }
        }



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

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



}



}

