//============================================================================
// erfassung_form_abschluss.js
//
// Nur Funktionen die das 4. Tab betreffen
//function f_get_vereinbarung(as_marke)
//function f_process_vereinbarungen(response)
//============================================================================

/*
	function f_fill_param(as_key,as_value)
*/

var maintainerAbschlussVereinbarung = new AjaxMaintainer("waiting",f_update_abschluss);
var maintainerAbschluss = new AjaxMaintainer("waiting");

function f_load_abschluss()
{
}

function f_update_abschluss()
{
	var tbody_node = document.getElementById("tbody_abschluss");
	
	// Liste leeren
	for (var i = tbody_node.rows.length;i > 0;i--) 
		tbody_node.deleteRow(i-1);				
	
//### Letztbesitzer ###
	var tr_node = dom_insert_row("tbody_abschluss",la_msg[19],"tdhc");
	dom_insert_attribute(tr_node.childNodes[0],"colspan",2);
	f_insert_row_text(tbody_node,la_msg[12],f_get_text_value("name_edit"));
	f_insert_row_text(tbody_node,la_msg[13],f_get_text_value("strasse_edit"));
	f_insert_row_text(tbody_node,la_msg[15],f_get_text_value("plz_edit"));
	f_insert_row_text(tbody_node,la_msg[14],f_get_text_value("ort_edit"));
	f_insert_row_text(tbody_node,la_msg[16],f_get_text_ddlb("land_liste"));			
	f_insert_row_text(tbody_node,la_msg[17],f_get_text_ddlb("nat_liste"));			
	f_insert_row_text(tbody_node,la_msg[18],f_get_text_value("kennzeichen_edit"));

//### Abholort/Kontakt ###
	var tr_node = dom_insert_row("tbody_abschluss",la_msg[86],"tdhc");
	dom_insert_attribute(tr_node.childNodes[0],"colspan",2);
	f_insert_row_text(tbody_node,la_msg[13],f_get_text_value("abhol_strasse_edit"));
	
	var la_help = f_get_text_value("plzort_liste").split("_");
	f_insert_row_text(tbody_node,la_msg[15],la_help[0]);
	f_insert_row_text(tbody_node,la_msg[14],la_help[1]);	
	
    f_insert_row_text(tbody_node,la_msg[83],f_get_text_value("abhol_name_edit"));
    f_insert_row_text(tbody_node,la_msg[76],f_get_text_value("abhol_tel_edit"));
    f_insert_row_text(tbody_node,la_msg[77],f_get_text_value("abhol_mail_edit"));
    	
//### KFZ ###
	var tr_node = dom_insert_row("tbody_abschluss",la_msg[87],"tdhc");
	dom_insert_attribute(tr_node.childNodes[0],"colspan",2);
	if (f_get_auswahl_fin() == -1)
	{	// 	fin
		f_insert_row_text(tbody_node,la_msg[31],f_get_text_value("fin_edit"));			
	} else {
		// 	fingrund
		f_insert_row_text(tbody_node,la_msg[29]+" "+la_msg[32],f_get_text_value("fingrund_edit"));			
	}
	f_insert_row_text(tbody_node,la_msg[34],f_get_text_ddlb("hersteller_liste"));
	
	if(document.getElementById("tfoot_kfz").rows.length > 0)
	{
		//Es kann ein eingenes Modell angelegt werden, in dem Fall muss dieses angezeigt werden	
		var ls_text = "";
		if(document.getElementById("div_modell_liste").style.display == "none")		
		  ls_text = f_get_text_value("modell_edit");
		else
		  ls_text = f_get_text_ddlb("modell_liste");
		  
		f_insert_row_text(tbody_node,la_msg[33],ls_text);//f_get_text_ddlb("modell_liste"));			
		f_insert_row_text(tbody_node,la_msg[35],f_get_text_value("erstzulassung_edit"));			
		f_insert_row_text(tbody_node,la_msg[37],f_get_text_value("type_edit"));			
		f_insert_row_text(tbody_node,la_msg[38],f_get_text_ddlb("klassen_liste"));			
		f_insert_row_text(tbody_node,la_msg[39],f_get_text_value("farbe_edit"));			
		f_insert_row_text(tbody_node,la_msg[40],f_get_text_value("eigengewicht_edit"));			
		f_insert_row_text(tbody_node,la_msg[41],f_get_text_ddlb("quellen_liste"));			
		f_insert_row_text(tbody_node,la_msg[67],f_get_text_value("info_edit"));			
	}	
	
//### TEILE ###
	var cnt = 0;	
	var teile = document.getElementsByName("cbx_fehlend");
	if (teile)
	{
		// Die Teile zählen...
		for(var i=0;i<teile.length;i++)
			if (teile[i].checked == true) cnt++;
	}
	f_set_value("entnahmen_count",cnt);
	f_insert_row_text(tbody_node,la_msg[64],cnt);		
}
function f_abschluss()
{
	// Nach einmal alles prüfen, könnte ja die Laschen 'übersprungen' haben
	// --------------------------------------------------------------------
	var ret = check_rules(aa_input_tags["head_stelle"]);	
	if (ret != true) 
	{
		f_submaske ( "head_stelle", false )

		if (ret == "lnd_id") document.getElementById("land_liste").focus();
		else if (ret == "nat_id") document.getElementById("nat_liste").focus();
		else document.getElementById(ret).select();
		
		return;
	}
	var ret = check_rules(aa_input_tags["head_abhol"]);	
	if (ret != true) 
	{
		f_submaske ( "head_abhol", false )
		if (ret == "plzort_id") document.getElementById("plzort_liste").focus();
		else document.getElementById(ret).select();
		return;
	}	
	
    //Liste der zu überprüfenden Felder aktualisieren
    f_change_fingrund_edit(document.getElementById("fingrund_edit"));	
	var ret = check_rules(aa_input_tags["head_kfz"]);	
	if (ret != true) 
	{
		f_submaske ( "head_kfz", false )
		return;
	}
	if(document.getElementById("her_id").value == -1)
	{
	    alert(la_msg[75]);
	    f_submaske ( "head_kfz", false );
	    return false;		  
	}

	// Teile
	var teile = document.getElementsByName("cbx_fehlend");
	for(var i=0;i<teile.length;i++)
	{
		if (teile[i].checked == true)
		{
			var ls_name = "menge_"+teile[i].id.substr(4);
			if (single_check(ls_name,REQUIRED_RULE,la_msg[65]) != true)
			{
				f_submaske ( "head_kfz", false );
				return;
			}
			if (single_check(ls_name,NUMERIC_RULE,la_msg[62]) != true)
			{
				f_submaske ( "head_kfz", false );
				return;
			}
		}
	  }

	// Button disablen
	hideElement("cb_abschluss",true);
    hideElement("cb_cancel",true);
    GB_ABGESCHLOSSEN = 1;
	
	if (f_get_text_value("modell_edit_id").length > 0)
		
		// Zuerst Modell Type erstellen
		f_create_modell();
		
	else {
		var typ_id = f_get_text_value("modell_id");
		
		// Gleich Kfz erstellen
		f_create_kfz(typ_id);
		
	}
		
}
function f_create_modell()
{
	// ##################################################################	
	// 1. Modell Type erstellen falls notwendig
	// ##################################################################

	// Array aufbauen
	var la_send = new Object();	
	la_send["her_id"]	 		= f_get_text_value("hersteller_liste");
	la_send["typ_bezeichnung"]	= f_get_text_value("modell_edit");

	//Baue Liste zusammen
	var ls_post = '?work=create_modell&vars='+URLencode(la_send.toJSONString());
	var response = sendRequest(maintainerAbschluss,'../erfassung/erfassung_data.php', ls_post, f_process_kfz_modell, 0, null);
}

function f_process_kfz_modell(response)
{	
	eval("var ret = " + response);
	// Falls fehler, dann ausgabe und ende
	if (ret["result_code"] == false) {alert(ret["result_msg"]);	return;}

	// typ_id kommt retour
	var typ_id = ret["typ_id"];

	// Kfz erstellen
	f_create_kfz(typ_id);
	
}

function f_create_kfz(typ_id)
{
	// ##################################################################	
	// 2. Kfz erstellen
	// ##################################################################

	// Array aufbauen
	var la_send = new Object();	
	la_send["her_id"]				= f_get_text_value("hersteller_liste");
	la_send["typ_id"] 				= typ_id;
	la_send["kla_id"] 				= f_get_text_value("klassen_liste");
	la_send["kfz_eigengew"]			= f_get_decimal(f_get_text_value("eigengewicht_edit"));
	la_send["kfz_last_name"]		= f_get_text_value("name_edit");
	la_send["kfz_last_str"]			= f_get_text_value("strasse_edit");
	la_send["kfz_last_plz"]			= f_get_text_value("plz_edit");
	la_send["kfz_last_ort"]			= f_get_text_value("ort_edit");
	la_send["kfz_last_kennzeichen"]	= f_get_text_value("kennzeichen_edit");
	la_send["kfz_last_nat"]			= f_get_text_value("lnd_id");
	la_send["kfz_farbe"]			= f_get_text_value("farbe_edit");
	la_send["kfz_info"]				= f_get_text_value("info_edit");
	la_send["kfz_nat"]				= f_get_text_value("nat_id");
	la_send["kfz_erstzulassung"]	= f_get_text_value("erstzulassung_edit");
	la_send["kfz_datenquelle"]		= f_get_text_value("quellen_liste");
	la_send["kfz_type"]				= f_get_text_value("type_edit");	
	
	if(f_get_auswahl_fin() == -1)
	{
	  la_send["kfz_fin"] = f_get_text_value("fin_edit");
	  la_send["kfz_fin_fehlt_grund"] = "";
    }
    else
    {
	  la_send["kfz_fin_fehlt_grund"] = f_get_text_value("fingrund_edit");
	  la_send["kfz_fin"] = "";    
    }
	//Baue Liste zusammen
	var ls_post = '?work=create_kfz&vars='+URLencode(la_send.toJSONString());
	var response = sendRequest(maintainerAbschluss,'../erfassung/erfassung_data.php', ls_post, f_process_kfz, 0, null);
}
function f_process_kfz(response)
{	
	eval("var ret = " + response);
	// Falls fehler, dann ausgabe und ende
	if (ret["result_code"] == false) {alert(ret["result_msg"]);	return;}

	// kfz_id kommt retour
	var kfz_id = ret["kfz_id"];
	f_set_value("kfz_id",kfz_id);	
	
    f_create_abhol();

}

function f_create_abhol()
{
	// ##################################################################	
	// 3. Abholung erstellen
	// ##################################################################

	// Array aufbauen
	var la_send = new Object();	
	la_send["abhol_name"] = f_get_text_value("abhol_name_edit");
	la_send["abhol_str"] = f_get_text_value("abhol_strasse_edit");
	
	var la_help = f_get_text_value("plzort_id").split("_");
	var ll_plzid = la_help[0];
	var ls_ort = la_help[1];
	
	la_send["abhol_plz"] = ll_plzid;
	la_send["abhol_ort"] = ls_ort;
	la_send["abhol_tel"] = f_get_text_value("abhol_tel_edit");
	la_send["abhol_mail"] = f_get_text_value("abhol_mail_edit");
	la_send["kfz_id"] = f_get_value("kfz_id");
	
	//Baue Liste zusammen
	var ls_post = '?work=create_abhol&vars='+URLencode(la_send.toJSONString());
	sendRequest(maintainerAbschluss,'../erfassung/erfassung_data.php', ls_post, f_process_abhol, 0, null);
}
function f_process_abhol(response)
{	
	eval("var ret = " + response);
	// Falls fehler, dann ausgabe und ende
	if (ret["result_code"] == false) {alert(ret["result_msg"]);	return;}

	var kfz_id = ret["kfz_id"];
	
    if (f_get_value("entnahmen_count") > 0)
	{
		// Entnahmen erstellen
		f_create_entnahmen(kfz_id);
	} 
	else
	{	
	  f_create_pdf();
	}

}

function f_create_entnahmen(kfz_id)
{
	// ##################################################################
	// 4. Entnahmen erstellen
	// ##################################################################

	// Array aufbauen
	var la_send = new Object();	
	la_send["kfz_id"] = kfz_id;
	la_send["teile"] = new Array();
	var la_teile = la_send["teile"];
	
	// Teile befüllen
	var la_liste = document.getElementsByName("cbx_fehlend");
	var j=0;
	for (var i=0;i< la_liste.length;i++)
	{
		if (la_liste[i].checked)
		{
			var tei_id = la_liste[i].id.substr(4); // ab pos=4 nehmen "cbx_xx"
			var ls_name = "menge_"+tei_id;
			var menge_node = document.getElementById(ls_name);
			
			la_teile[j] = new Object();
			la_teile[j].tei_id = tei_id;
			la_teile[j].menge  = f_get_decimal(menge_node.value);
			j++;
		}
	}
	
	la_send["fill_in_wiederverwendung"] = false;
    la_send["wei_datum"] = f_get_text_value("uebernahme_edit");

	//Baue Liste zusammen
	var ls_post = '?work=create_entnahmen&vars='+URLencode(la_send.toJSONString());
	sendRequest(maintainerAbschluss,'../erfassung/erfassung_data.php', ls_post, f_process_entnahmen, 0, null);
}

function f_process_entnahmen(response)
{	
	eval("var ret = " + response);
	// Falls fehler, dann ausgabe und ende
	if (ret["result_code"] == false) {alert(ret["result_msg"]);	return;}

	var kfz_id = f_get_value("kfz_id");
	
	f_create_pdf();
}

function f_create_pdf()
{
	// ##################################################################
	// 6. Verwertungsnachweis / Übernahmebestätigung erstellen
	// ##################################################################

	var la_send = new Object();	
	la_send["kfz_id"] = f_get_value("kfz_id");
	//Baue Liste zusammen
	var ls_post = '?work=create_pdf&vars='+URLencode(la_send.toJSONString());
	sendRequest(maintainerAbschluss,'../erfassung/erfassung_data.php', ls_post, f_process_create_pdf, 0, null);
}

function f_process_create_pdf( response )
{
	// Daten in array übersetzen
	eval("var ret = " + response);	
	// Falls fehler, dann ausgabe und ende
	if (ret["result_code"] == false) {alert(ret["result_msg"]);return;}

	// File setzen		
	f_set_value("pdf_filename",ret["filename"]);

	// Nachricht an User, Kfz wurde erfasst.
	alert(la_msg[66]);

    //Mail senden
    sendRequest(maintainerAbschluss, "../erfassung/erfassung_data.php", "?work=office_mail&as_pdffile="+ret["filename"], f_mail_sent, 0, null);
}

function f_mail_sent( response )
{
  	eval("var ret = " + response);
	// Falls fehler, dann ausgabe und ende
	if (ret["result_code"] == false) {alert(ret["result_msg"]);	return;}
	
	showElement("cb_nochmal", true);
	showElement("cb_cancel", true);
	showElement("cb_druck", true);
	f_show_pdf();
}

function f_show_pdf()
{
	var ls_script = f_get_value("pdf_filename");
	document.form1.action = ls_script;
	document.form1.target = "_blank";
	document.form1.submit();
}

