// (c) 2008-2009 Werner Zauzig

function RechnerLayerDropAnbieter(o,obj,isdrag){
	if(!o||!obj)return;
	dragdroptab[1][o.id]=obj.id;dragdroptab[3][o.id]=obj;GeldanlageBerechnen(o.id,isdrag,1);
	GeldanlageBerechnen();
}
function TagesgeldBerechnen(id,isdrag,doVgl){GeldanlageBerechnen(id,isdrag,doVgl);}
function FestgeldBerechnen(id,isdrag,doVgl){GeldanlageBerechnen(id,isdrag,doVgl);}
function SparbriefeBerechnen(id,isdrag,doVgl){GeldanlageBerechnen(id,isdrag,doVgl);}
function SparbuchBerechnen(id,isdrag,doVgl){GeldanlageBerechnen(id,isdrag,doVgl);}
function GeldanlageBerechnen(id,isdrag,doVgl){
	var lz=document.RechnerLayerForm.RechnerLayerLaufzeit.value;
	if(id){
//alert("GeldanlageBerechnen(id="+id+","+doVgl+")");
		var objid=dragdroptab[1][id];
//alert("objid="+objid);
		var o=document.getElementById(id);
		if(!o)return;
		var t=GetGeldanlageData(objid,id);
//alert("objid="+objid+" id="+id+" typ="+t.aArt);
		if(!t)return;
isdrag=0;
		LogDragDropOperation(isdrag?"Drop":"Init",t.aArt,t.urlid?t.urlid:t.name);
		var betr=number_check(document.RechnerLayerForm.RechnerLayerBetrag.value);
		//if(betr==0)document.RechnerLayerForm.RechnerLayerBetrag.value=number_format(betr=10000,0);
		//if(betr<0)betr=-betr;
		var end=t.SetErgebnis(betr,lz);
		var zins=number_check(t.zins);
		dragdroptab[2][id]=(lz>0?end:zins);
		CreateHTMLanbieter(t.aArt,o,objid,t.name,dragdroptab[3][id],t.produktname);
		//CreateHTML(o,"<BR>"+objid,1);
		var zeigen=(lz>0&&t.endbetrag>0);
		CreateHTMLergebnis("zins"+id,"Zinssatz",t.zins,zins);
		CreateHTMLergebnis("erg"+id,"Endbetrag",number_format(t.endbetrag,2)+"\u00a0€",zeigen);
		CreateHTMLergebnis("ertrag"+id,"Ertrag",number_format(t.endbetrag-betr,2)+"\u00a0€",zeigen);
		CreateHTML(document.getElementById("inf"+id),t.info?t.info+"<BR>\u00a0":"\u00a0");
		if(!doVgl)return;
	}else{
		for(var idx in dragdroptab[1])
			GeldanlageBerechnen(idx);
	}
	var m=0;
	for(var idx in dragdroptab[2]){var x=dragdroptab[2][idx];if(m<x)m=x;}
	for(var idx in dragdroptab[1]){
		var diff=(end=dragdroptab[2][idx])-m;
		//oe=document.getElementById("erg"+idx);
		//CreateHTML(oe,lz>0?number_format(t.endbetrag,2)+"\u00a0€":"\u00a0");
		var ov=document.getElementById("diff"+idx);
		CreateHTML(ov,(diff&&end>0?(lz>0?number_format(diff,2)+"\u00a0€":str_replace(".",",",Math.round(diff*1000)/1000.0)+"\u00a0%"):"\u00a0"));
	}
	GeldanlageParameter();
}

function GeldanlageParameter(){
	var svid=RechnerLayerID;//'fg','tg' oder 'sb'
	for(var idx in dragdroptab[1]){
		var objid=dragdroptab[1][idx];
		var o=document.getElementById(idx);
		if(!o)continue;
		var t=GetGeldanlageData(objid,idx);
		if(!t)continue;
		svid+='a'+str_replace('anbieterausgewaehlt_','',idx)+"i"+t.ID;
	}
	var o=document.getElementById('SVrecall');
	if(!o)return;
	var lz=document.RechnerLayerForm.RechnerLayerLaufzeit.value;
	var betr=number_check(document.RechnerLayerForm.RechnerLayerBetrag.value);
	svid+='api'+betr+'i'+lz;
	o.value=svid;
//alert('svid='+svid);
	return;
}

function GetGeldanlageData(objid,id){
//alert("objid="+objid);
	var o=document.getElementById(id);
	if(!o)return 0;
	var d=dragdroptab[0][objid];
	if(!d)return 0;
	var typ=d[1];
	var t;
	if(typ=="F")	t=new FestgeldDaten(d);
	else if(typ=="T")t=new TagesgeldDaten(d);
	else if(typ=="S")t=new SparbriefeDaten(d);
	return t;
}
