
function switchBillUserType()
{
    if( document.getElementById( "billUserTypeCompany" ).checked )
    {
        document.getElementById( "userRegistrationData" ).style.display= "none";
        document.getElementById( "companyRegistrationData" ).style.display= "block";
        
        document.getElementById( "billTypeInvoice" ).checked= true;
        document.getElementById( "billTypeReceipt" ).checked= false;
        document.getElementById( "billTypeReceipt" ).disabled= true;
    }
    else
    {
        document.getElementById( "companyRegistrationData" ).style.display= "none";
        document.getElementById( "userRegistrationData" ).style.display= "block";
        document.getElementById( "billTypeReceipt" ).disabled= false;
        
    }
    
}



function synchFields( event, synched )
{
    if( !synchFields.used_elements )
        synchFields.used_elements= new Object();
    
/*        updateAllNames.synched= new Array( 'registerName', 'addressUserName', 'billUserName' );*/
    
    var sender= getEventTarget( event );
    
    //console.log( sender );
    var new_val= sender.value
    
    synchFields.used_elements[ sender.id ]= true;
    
    for( var itr= 0; itr < synched.length; itr++ )
    {
        if( synchFields.used_elements[ synched[ itr ] ] )
            continue;
        
        document.getElementById( synched[ itr ] ).value= new_val;
    }
    
}


function initRegistrationFormHelper()
{
    addPortableEventListener(
        document.getElementById( "billUserTypeCompany" ),
        "change",
        switchBillUserType
        );
    
    addPortableEventListener(
        document.getElementById( "billUserTypePerson" ),
        "change",
        switchBillUserType
        );
        
    switchBillUserType();
    
    
    
    addPortableEventListener(
        document.getElementById( "registerName" ),
        'keyup',
        function( event ){ synchFields( event, new Array( 'registerName', 'addressUserName', 'billUserName' ) ) }
        );
        
    addPortableEventListener(
        document.getElementById( "addressUserName" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
        
    addPortableEventListener(
        document.getElementById( "billUserName" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
        
    addPortableEventListener(
        document.getElementById( "registerSurname" ),
        'keyup',
        function( event ){ synchFields( event, new Array( 'registerSurname', 'addressUserSurname', 'billUserSurname' ) ) }
        );
        
    addPortableEventListener(
        document.getElementById( "addressUserSurname" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
        
    addPortableEventListener(
        document.getElementById( "billUserSurname" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
        
    addPortableEventListener(
        document.getElementById( "addressUserStreet" ),
        'keyup',
        function( event ){ synchFields( event, new Array( 'addressUserStreet', 'billUserStreet' ) ) }
        );
        
    addPortableEventListener(
        document.getElementById( "billUserStreet" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
    
    addPortableEventListener(
        document.getElementById( "addressUserBuilding" ),
        'keyup',
        function( event ){ synchFields( event, new Array( 'addressUserBuilding', 'billUserBuilding' ) ) }
        );

    addPortableEventListener(
        document.getElementById( "billUserBuilding" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
    
    addPortableEventListener(
        document.getElementById( "addressUserFlat" ),
        'keyup',
        function( event ){ synchFields( event, new Array( 'addressUserFlat', 'billUserFlat' ) ) }
        );
        
    addPortableEventListener(
        document.getElementById( "billUserFlat" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
        
    addPortableEventListener(
        document.getElementById( "addressUserCity" ),
        'keyup',
        function( event ){ synchFields( event, new Array( 'addressUserCity', 'billUserCity' ) ) }
        );
        
    addPortableEventListener(
        document.getElementById( "billUserCity" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
        
    addPortableEventListener(
        document.getElementById( "addressUserPostCode" ),
        'keyup',
        function( event ){ synchFields( event, new Array( 'addressUserPostCode', 'billUserPostCode' ) ) }
        );
        
    addPortableEventListener(
        document.getElementById( "billUserPostCode" ),
        'keyup',
        function( event ){ synchFields( event, new Array() ) }
        );
}







runOnLoad( initRegistrationFormHelper );

