


/*
var strwString="<center><span style=\"text-size:15px; font-size:18px; font-family:Helvetica; color:darkblue\">Bitte Streitwert eingeben</span></center><p>&nbsp;<p>";

var ergString = "<center><span style=\"text-size:15px; font-size:18px; font-family:Helvetica; color:darkblue\">Das Ergebnis darf nicht größer als der Streitwert sein</span></center><p>&nbsp;<p>";

addEventListener("load", function() {
                setTimeout(hideURLbar, 0);
           
        }, false);
function hideURLbar() {
        window.scrollTo(0, 1);
       
}
*/

// Eigene Funktionen
function str2num(s) {
if (s=="") return(0);
    var s2;
	var  d;
    s2=s.replace(/[\\.]/g,"");
    s=s2.replace(/[ ]/g,"");
	d =s.replace(",", ".");
	d = runde(d);
	if (isNaN(d)) { d=0;};
	return d;
	}

function num2str(d) {
    if (d==0) return("");
	var l   = Math.floor(Math.abs(d));
	var l1  = Math.round((Math.abs(d) - l) * 100);
	
	var s   = l+"";
	var s1  = l1+"";
// alert("DEBUG: s=" + s + "   s1=" +s1); ////DEBUG
	var s2  = "";
	var s3  = "";
		if (s1.length < 2) {
			s1 = "0" + s1;
		}

		 i   = s.length - 3;
		if (d < 0.0) {
			s2 = "-";
		}
		if ((l >= 1000) || (l <= -1000)) {
			for (; i >= 1; i -= 3) {
				s = s.substring(0, i) + "." + s.substring(i, s.length);
			}
		}
		s3 = s2 + s + "," + s1 
		
		return s3;
	}

function getNum(ElementID) {
	tmp=document.getElementById(ElementID);
	textvalue=tmp.value;
	return( str2num(textvalue));
	}

function setNum(num, ElementID) {
	textvalue=num2str(num);
	tmp=document.getElementById(ElementID);
	tmp.value=textvalue;
    
}

function setNumH(num,ElementID) {
  textvalue=num2str(num);
	tmp=document.getElementById(ElementID);
	tmp.innerHTML=textvalue ;
}

function getBool (ElementID) {
	tmp=document.getElementById(ElementID);
    return (tmp.checked);
}

// Gesamtberechnung
function doit() {
// Werte holen
var erg=getNum("ERG");
var strw=getNum("STRW");
var ausl=getNum("AUSL");
//werte formatieren
setNum(erg,"ERG");
setNum(strw,"STRW");
setNum(ausl,"AUSL");
// Fehlermeldungen
if (strw<0.01) {
  
    alert("Geben Sie bitte den Streitwert ein");
    return;
    
        }
if (strw > 30000000) {
   // strw=30000000;
    pro=prompt("Streitwert höchstens 30 Mio (§ 22 II RVG, § 39 II GKG).","30.000.000,00");
    if (pro==null || str2num(pro) >30000000) pro="30000000";
    strw=str2num(pro);
    setNum(strw,"STRW");
    
    }
if (erg>strw && strw>0.009) {
    alert("Das Ergebnis darf nicht größer als der Streitwert sein");
    return;
    }    
// Kostenquoten
var QuoteB = runde(100 * runde(erg/strw));
var QuoteK = 100 - QuoteB;
    drawPie(QuoteK);

// je eine Gebühr RVG und GKG berechnen und anzeigen
setNumH(RVG(strw,1),"RVG1");
setNumH(GKG(strw,1),"GKG1");

// übrige Werte berechnen

//Gebührenfaktoren
var AnwZahl=document.getElementById("ANW");
AnwZahl=AnwZahl.value;
var VerfArt=document.getElementById("VERF");
VerfArt=VerfArt.value;
var Einig=(VerfArt % 2)==1;
var Beruf= VerfArt > 1;
var FaktAnw = 2.5;
var FaktGer = 3;
if (Beruf) {
    FaktAnw = 2.8;
    FaktGer = 4;
	};
if (Einig) {
    FaktAnw = 3.5;
    FaktGer = 1;
    if (Beruf) {
        FaktAnw = 4.1;
        FaktGer = 2;
		};
	};
// Werte berechnen
GerKost=GKG(strw,FaktGer);
KostSum = GerKost + ausl;
var AnwKost=0;
var Pausch=0;
var MWSt=0
if (AnwZahl > 0) {
    //Anwaltskosten
    AnwKost = RVG(strw,FaktAnw);
    /* *****   DEBUG **********************
    alert(FaktAnw + " - " + AnwKost);
    */
    
    //Auslagenpauschale 
    Pausch = (AnwKost * 0.2) ;				 
    if (Pausch > 20) {                      
        Pausch = 20;
        }
    Pausch *= AnwZahl;
    Pausch  = runde(Pausch);
    AnwKost *= AnwZahl;
    MWSt    = runde( 0.19 * (AnwKost + Pausch));
    KostSum += AnwKost + Pausch + MWSt;				  
    };
KostKlg = runde(QuoteK*KostSum/100);
KostBkl = runde(QuoteB*KostSum/100);
ErgKlg  = erg - KostKlg;
ErgBkl  = -erg - KostBkl;
// Ergebisse ausgeben
setNumH(KostSum,"tGes");
setNumH(KostKlg,"tKlg");
setNumH(KostBkl,"tBkl");
setNumH(ErgKlg,"tKlgE");
if (ErgKlg < 0) {
tmp=document.getElementById("tKlgE");
tmp.innerHTML="<span style='color:red'>" + num2str(ErgKlg) + "</span>";

}
setNumH(ErgBkl,"tBklE");
if (ErgBkl < 0) {
tmp=document.getElementById("tBklE");
tmp.innerHTML="<span style='color:red'>" + num2str(ErgBkl) + "</span>";

}

setNumH(AnwKost,"tAnw");
setNumH(Pausch,"tPausch");
setNumH(MWSt,"tMwst");
setNumH(GerKost,"tGer");
setNumH(ausl,"tAusl");
 window.scrollTo(0, 1);
 
 setCookie();
}

//ENDE doit() ***********************


function runde( d) {
		return Math.round(d * 100) / 100;
	}


function teilgeb( strw,  Untergr,  Obergr,  Schrittw, Erhoeh) {
		var AnzStufen;
		if (strw > Obergr) {
			strw = Obergr;
		}
		strw -= Untergr;
		if (strw <= 0.0) {
			return 0.0;
		}
		AnzStufen = Math.ceil(strw / Schrittw);
		if ((AnzStufen * Schrittw) > Obergr) {
			AnzStufen--;
		}
		return AnzStufen * Erhoeh;
	}
	
	
	function RVG( Streitw,  faktor) {    //RVG-Gebühr
		var  RAGeb  = 25;				//== Mindestgebühr
		if (faktor==undefined) {faktor=1};
		RAGeb += teilgeb(Streitw, 300, 1500, 300, 20);
		RAGeb += teilgeb(Streitw, 1500, 5000, 500, 28);
		RAGeb += teilgeb(Streitw, 5000, 10000, 1000, 37);
		RAGeb += teilgeb(Streitw, 10000, 25000, 3000, 40);
		RAGeb += teilgeb(Streitw, 25000, 50000, 5000, 72);
		RAGeb += teilgeb(Streitw, 50000, 200000, 15000, 77);
		RAGeb += teilgeb(Streitw, 200000, 500000, 30000, 118);
		RAGeb += teilgeb(Streitw, 500000, 1E+020, 50000, 150);
		RAGeb = (faktor * RAGeb) ;
		if (RAGeb < 10) {
			RAGeb = 10;
		}
		RAGeb = runde(RAGeb);
		return RAGeb;
	}
	
	function GKG( Streitw,  faktor) {
		var  GerGeb  = 25;						//== Mindestgebühr
		if (faktor==undefined) {faktor=1};
		GerGeb += teilgeb(Streitw, 300, 1500, 300, 10);
		GerGeb += teilgeb(Streitw, 1500, 5000, 500, 8);
		GerGeb += teilgeb(Streitw, 5000, 10000, 1000, 15);
		GerGeb += teilgeb(Streitw, 10000, 25000, 3000, 23);
		GerGeb += teilgeb(Streitw, 25000, 50000, 5000, 29);
		GerGeb += teilgeb(Streitw, 50000, 200000, 15000, 100);
		GerGeb += teilgeb(Streitw, 200000, 500000, 30000, 150);
		GerGeb += teilgeb(Streitw, 500000, 1E+020, 50000, 150);
		GerGeb = (faktor * GerGeb) ;
		if (GerGeb < 10) {
			GerGeb = 10;
		}
		GerGeb = runde(GerGeb);
		return GerGeb;
	}

