//Initialisierung, Funktion wird im <body> tag aufgerufen
function DoOnInit()
{	
	// Abrufen des aktiven Steps
	var i = pf.Step();
	switch(i)
	{
		default :
		case 0:
			document.getElementById("bkbtn").style.visibility = 'hidden'; // Zurück Button unsichtbar machen
			document.getElementById("fwbtn").style.visibility = 'hidden';
			//pf.initHelp();      // Cache Help call
			break;
		case 1:
			setVerDisable( 1, Form1['b_bfr_b_zivilstand'].value != "2" );
			break;
		case 3:
            pf.setFieldStatus( 1, "b_bfr_b01_v_saeule3a_eff", (Form1['b_bfr_b01_v_lohnoderselbst'].value == "2"));
            pf.setFieldStatus( 1, "b_bfr_b01_m_saeule3a_eff", (Form1['b_bfr_b01_m_lohnoderselbst'].value == "2"));
			setParentRelation( 1, "reload", "");
   			break;
		case 2:
		case 4:
			break;
		case -1:		// Do Nothing
			break;
	}
	//alert(pf.Step());
}

// MANDANT
// Input Control disable Script für die "Verheiratet" Felder (Step1)
function setVerDisable( rowNumber, disable )
{	
	var a = GetTextMessages();
	var cols = new Array();
	cols[0] = 'b_bfr_e_unterhaltspflichtig';
	cols[1] = 'b_bfr_e_inausbildung';
	try
	{
	if(disable == true)
	{
		for(i=0;i<2;i++)
		{
			Form1[cols[i] + '_' + (rowNumber-1)].style.visibility = "hidden";
		}
		pf.setFieldText('t_ehegatte','');
		pf.setFieldText('b_bfr_e_unterhaltspflichtig_t','');
		pf.setFieldText('b_bfr_e_inausbildung_t','');
		pf.setInfoVisibility("b_bfr_i_e_unterhaltspflichtig",false);
		pf.setInfoVisibility("b_bfr_i_e_inausbildung",false);
	}
	else
	{
		for(i=0;i<2;i++)
		{
			Form1[cols[i] + '_' + (rowNumber-1)].style.visibility = "visible";
		}
		pf.setFieldText('t_ehegatte',a["text_t_ehegatte"]);
		pf.setFieldText('b_bfr_e_unterhaltspflichtig_t',a["text_b_bfr_e_unterhaltspflichtig_t"]);
		pf.setFieldText('b_bfr_e_inausbildung_t',a["text_b_bfr_e_inausbildung_t"]);
		pf.setInfoVisibility("b_bfr_i_e_unterhaltspflichtig",true);
		pf.setInfoVisibility("b_bfr_i_e_inausbildung",true);
	}
	}catch(e){
	}
	
}

function setParentRelation( rowNumber, columnName, varValue)
{
	var a = GetTextMessages();
    var li_rc = 0;      // = OK in itemchanged event
    var li_i = 0;
    var ib_VaterVisible = true;
    var ib_MutterVisible = true;
    var li_Visible = 0;
    var lnat_bal = new Object();
    var ls_VaterFields = new Array();
    var ls_MutterFields = new Array();


    ls_VaterFields[1] = "b_bfr_v_acc_kinder";
    ls_VaterFields[2] = "b_bfr_v_acc_kinderunterhalth";
    ls_VaterFields[3] = "b_bfr_v_acc_kinderausbildung";
    ls_VaterFields[4] = "b_bfr_b01_v_eink_steuerb";
    ls_VaterFields[5] = "b_bfr_b01_v_anderepraemien";
    ls_VaterFields[6] = "b_bfr_b01_v_saeule3a_eff";
    ls_VaterFields[7] = "b_bfr_b01_v_eink2saule_eff";
    ls_VaterFields[8] = "b_bfr_b01_v_privsdzins_eff";
    ls_VaterFields[9] = "b_bfr_b01_v_unterhlieg_eff";
    ls_VaterFields[10] = "b_bfr_b02_v_verm_steuerb";
    ls_VaterFields[11] = "b_bfr_b01_v_lohnoderselbst";

    ls_MutterFields[1] = "b_bfr_m_acc_kinder";
    ls_MutterFields[2] = "b_bfr_m_acc_kinderunterhalth";
    ls_MutterFields[3] = "b_bfr_m_acc_kinderausbildung";
    ls_MutterFields[4] = "b_bfr_b01_m_eink_steuerb";
    ls_MutterFields[5] = "b_bfr_b01_m_anderepraemien";
    ls_MutterFields[6] = "b_bfr_b01_m_saeule3a_eff";
    ls_MutterFields[7] = "b_bfr_b01_m_eink2saule_eff";
    ls_MutterFields[8] = "b_bfr_b01_m_privsdzins_eff";
    ls_MutterFields[9] = "b_bfr_b01_m_unterhlieg_eff";
    ls_MutterFields[10] = "b_bfr_b02_m_verm_steuerb";
    ls_MutterFields[11] = "b_bfr_b01_m_lohnoderselbst";

     // Herauslesen aller PreInsert und Eingabefelder
    if (columnName == "" )      // Reload
    {
        lnat_bal.ii_bch_elt_verhaeltnis  = parseInt(Form1['b_bch_elt_verhaeltnis'].value);
        lnat_bal.is_bch_elt_sorgerecht  = Form1['b_bch_elt_sorgerecht'].value;
        lnat_bal.ii_bch_elt_v_zivilstand  = parseInt(Form1['b_bch_elt_v_zivilstand'].value);
        lnat_bal.ii_bch_elt_m_zivilstand  = parseInt(Form1['b_bch_elt_m_zivilstand'].value);
    }
    else
    {
        lnat_bal.ii_bch_elt_verhaeltnis  = objWebDW.GetItem(rowNumber,'b_bch_elt_verhaeltnis');
        lnat_bal.is_bch_elt_sorgerecht  = objWebDW.GetItem(rowNumber,'b_bch_elt_sorgerecht');
        lnat_bal.ii_bch_elt_v_zivilstand  = objWebDW.GetItem(rowNumber,'b_bch_elt_v_zivilstand');
        lnat_bal.ii_bch_elt_m_zivilstand  = objWebDW.GetItem(rowNumber,'b_bch_elt_m_zivilstand');
    }
        
    switch( columnName )
    {
        case "b_bch_elt_verhaeltnis":
		    lnat_bal.ii_bch_elt_verhaeltnis  = parseInt(varValue);
		    break;
	    case "b_bch_elt_sorgerecht":
		    lnat_bal.is_bch_elt_sorgerecht  = varValue;
		    break;
	    case "b_bch_elt_v_zivilstand":
		    lnat_bal.ii_bch_elt_v_zivilstand  = parseInt(varValue);
		    break;
	    case "b_bch_elt_m_zivilstand":
		    lnat_bal.ii_bch_elt_m_zivilstand  = parseInt(varValue);
		    break;
    }
    // Prüfen, ob die Felder gesetzt werden sollen
    if (lnat_bal.ii_bch_elt_verhaeltnis > 0  && lnat_bal.ii_bch_elt_v_zivilstand > 0 && lnat_bal.ii_bch_elt_m_zivilstand > 0 )
	{
	    // Prüfen des Falles
	    if( columnName != "reload" )
	        if (pf.checkElko( lnat_bal.ii_bch_elt_verhaeltnis, lnat_bal.ii_bch_elt_v_zivilstand, lnat_bal.ii_bch_elt_m_zivilstand, "FR", "" ) < 0 )
	            return -1;
	    
	    switch(lnat_bal.ii_bch_elt_verhaeltnis)
	    {
		    case 2: // aktuell Zusammenverheiratet
			    ib_VaterVisible = true;
			    ib_MutterVisible = false;	
			    break;
		    case 1:
		    case 3:
		    case 4: // nie zusammenverheiratet, waren verheiratet und ein Elternteil gestorben, voneiander geschieden
		        switch(lnat_bal.is_bch_elt_sorgerecht)
		        {
				    case "G":
				    case "K":
					    ib_VaterVisible = true;
					    ib_MutterVisible = true;	
					    break;
				    case "V":
					    ib_VaterVisible = true;
					    ib_MutterVisible = false;	
					    break;
				    case "M":
					    ib_VaterVisible = false;
					    ib_MutterVisible = true;
					    break;
			    }
			    break;
		    default:
			    ib_VaterVisible = false;
			    ib_MutterVisible = false;	
			    break;
	    }
	
	    // Setzen des Vaterteils
	    if(ib_VaterVisible)
		   for( li_i=1; li_i<ls_VaterFields.length; li_i++)
		       pf.setFieldStatus( rowNumber, ls_VaterFields[li_i], false );
	    else
		   for( li_i=1; li_i<ls_VaterFields.length; li_i++)
		    {
			    pf.setFieldStatus( rowNumber, ls_VaterFields[li_i], true );
			    objWebDW.SetItem(rowNumber,ls_VaterFields[li_i],0);
		    }
    	
	    // Setzen des Mutterteils
	    if(ib_MutterVisible)
		    for( li_i=1; li_i<ls_MutterFields.length; li_i++)
		       pf.setFieldStatus( rowNumber, ls_MutterFields[li_i], false );
	    else
		   for( li_i=1; li_i<ls_MutterFields.length; li_i++)
		    {
			    pf.setFieldStatus( rowNumber, ls_MutterFields[li_i], true );
			    objWebDW.SetItem(rowNumber,ls_MutterFields[li_i],0);
		    }

	    // Setzen der Überschriften
	    if (lnat_bal.ii_bch_elt_verhaeltnis == 2)
	    {
	        pf.setFieldText("titel_fam_vater",a["text_familie"]);
	        pf.setFieldText("titel_fam_vater_moeglichkeiten",a["text_familie"]);
            pf.setFieldText("titel_mutter","");
            pf.setFieldText("titel_mutter_moeglichkeiten","");
        }
	    else
	    {
	        pf.setFieldText("titel_fam_vater",a["text_vater"]);
	        pf.setFieldText("titel_fam_vater_moeglichkeiten",a["text_vater"]);
	        if(ib_MutterVisible)
	        {
	            pf.setFieldText("titel_mutter",a["text_mutter"]);
	            pf.setFieldText("titel_mutter_moeglichkeiten",a["text_mutter"]);
	        }
 	        else
 	        {
	            pf.setFieldText("titel_mutter","");
	            pf.setFieldText("titel_mutter_moeglichkeiten","");
	        }
	        if(ib_VaterVisible)
	        {
		        pf.setFieldText("titel_fam_vater", a["text_vater"]);
		        pf.setFieldText("titel_fam_vater_moeglichkeiten", a["text_vater"]);
		    }
	        else
	        {
		        pf.setFieldText("titel_fam_vater", "");
		        pf.setFieldText("titel_fam_vater_moeglichkeiten", "");
	        }
        }    	
     }
    // Alimente
    if( (lnat_bal.ii_bch_elt_verhaeltnis != 2)  && (lnat_bal.ii_bch_elt_v_zivilstand < 6) && (lnat_bal.ii_bch_elt_verhaeltnis != null))
    {
        pf.setFieldText( "b_bp1_elt_v_alimentejn_t", a["text_b_bp1_elt_v_alimentejn_t"]);
        pf.setFieldStatus( rowNumber, "b_bch_elt_v_alimentejn", false);
    }
    else
    {
        pf.setFieldText( "b_bp1_elt_v_alimentejn_t", "");
        pf.setFieldStatus( rowNumber, "b_bch_elt_v_alimentejn", true);
    }
    if( (lnat_bal.ii_bch_elt_verhaeltnis != 2)  && (lnat_bal.ii_bch_elt_m_zivilstand < 6) && (lnat_bal.ii_bch_elt_verhaeltnis != null))
    {
        pf.setFieldText( "b_bp1_elt_m_alimentejn_t", a["text_b_bp1_elt_m_alimentejn_t"]);
        pf.setFieldStatus( rowNumber, "b_bch_elt_m_alimentejn", false);
    }
    else
    {
        pf.setFieldText( "b_bp1_elt_m_alimentejn_t", "");
        pf.setFieldStatus( rowNumber, "b_bch_elt_m_alimentejn", true);
    }
   
    return li_rc;
}

