function CalcTime()
{
    longAux = new LongLat();
    timeAux = new TimeCoord();    
    longitude1 = new LongitudeCoord();
    longitude2 = new LongitudeCoord();    
    time1 = new TimeCoord();
    time2 = new TimeCoord();
    time1Type = "HcL";
    time2Type = "Hz";    
    timeGreenwich = new TimeCoord();

    GetData( time1, 'Hour1', 'Min1', 'Sec1', "" );
    if( document.getElementById("HcL1").checked ) 
        time1Type = "HcL" ;
    else
        time1Type = "Hz" ;    
    GetData( time2, 'Hour2', 'Min2', 'Sec2', "" );        
    if( document.getElementById("HcL2").checked ) 
        time2Type = "HcL" ;
    else
        time2Tipe = "Hz" ;    

    GetData( longitude1, 'Deg1Lon', 'Min1Lon', 'Sec1Lon', 'Side1LonW' );    
    GetData( longitude2, 'Deg2Lon', 'Min2Lon', 'Sec2Lon', 'Side2LonW' );    
    //alert( GetHMSString( time1 ) );
    //alert( GetHMSString( longitude1 ) );    
    //alert( GetHMSString( longitude2 ) );     

    T1 = GetDegrees( time1 );
    L1 = GetDegrees( longitude1 ) ; 
    L2 = GetDegrees( longitude2 ) ;     
    sign1 = 0;  // sign to go from H1 to HcG 
    sign2 = 0;  // sign to go from HcG to H2
    if( L1 > 0 ) // E 
    {
        sign1 = -1;
        if( L2 > 0 ) //E
            document.getElementById('ResultImage').innerHTML = '<img src="images/timeWE.gif"/>';    
        else //W
            document.getElementById('ResultImage').innerHTML = '<img src="images/timeWW.gif"/>';            
    }
    else //W
    {
        sign1 = 1;
        if( L2 > 0 ) //E
            document.getElementById('ResultImage').innerHTML = '<img src="images/timeEE.gif"/>';            
        else //W
            document.getElementById('ResultImage').innerHTML = '<img src="images/timeEW.gif"/>';            
    }    
    if( L2 > 0 )
        sign2 = 1;    
    else
        sign2 = -1;    
    
    // H1 -> HcG
    sLine = "";
    L1 = Math.abs( L1 );
    SetDMS( L1, longAux );
    if ( time1Type == "HcL" ) // HcL
    {
        // Step 1: Convert L1 to time 
        L1 = L1 / 15.0;
        SetDMS( L1, timeAux );
        sLine = GetDMSString( longAux ) + " / 15&deg;/h = " + GetHMSString( timeAux ) ;
        document.getElementById('ResultT1').innerHTML = sLine;         

        // Step 2: Calculate HcG
        sLine = "";
        sLine = GetHMSString( time1 ) ;
        if( sign1 > 0 )
            sLine = sLine + " + "
        else
            sLine = sLine + " &ndash; " 
        sLine = sLine + GetHMSString( timeAux ) + " = " ;
        HcG1 = Math.abs( T1 ) + sign1 * L1;
        SetDMS( HcG1, timeGreenwich );            
        sLine = sLine + GetHMSString( timeGreenwich );
        document.getElementById('ResultHcGT').innerHTML = sLine;                 

        document.getElementById('Step1T').style.display = 'block';        
        document.getElementById('Step1Z').style.display = 'none';                
        document.getElementById('Step2T').style.display = 'block';        
        document.getElementById('Step2Z').style.display = 'none';                        
    }
    else // Hz
    {
        // Step 1: Convert L1 to Z
        Z1 = L1 / 15.0 ;
        sLine = GetDMSString( longAux ) + " / 15&deg/h = " + Round( Z1, 3 ) + "h&nbsp;&rArr;&nbsp;Z1 = " + Math.round( Z1 ) + "h";
        Z1 = Math.round( Z1 );
        document.getElementById('ResultZ1').innerHTML = sLine; 

        // Step 2: Calculate HcG
        sLine = "";
        sLine = GetHMSString( time1 ) ;
        if( sign1 > 0 )
            sLine = sLine + " + "
        else
            sLine = sLine + " &ndash; " 
        sLine = sLine + Z1 + "h = " ;
        HcG1 = Math.abs( T1 ) + sign1 * Z1;
        SetDMS( HcG1, timeGreenwich );            
        sLine = sLine + GetHMSString( timeGreenwich );
        document.getElementById('ResultHcGZ').innerHTML = sLine;                 
        
        document.getElementById('Step1T').style.display = 'none';        
        document.getElementById('Step1Z').style.display = 'block';                
        document.getElementById('Step2T').style.display = 'none';        
        document.getElementById('Step2Z').style.display = 'block';                
    }

    // HcG -> H2
    sLine = "";
    L2 = Math.abs( L2 );
    SetDMS( L2, longAux );
    if ( time2Type == "HcL" ) // HcL
    {
        // Step 3: Convert L2 to time 
        L2 = L2 / 15.0;
        SetDMS( L2, timeAux );
        sLine = GetDMSString( longAux ) + " / 15&deg;/h = " + GetHMSString( timeAux ) ;
        document.getElementById('ResultT2').innerHTML = sLine;         

        // Step 4: Calculate H2
        sLine = "";
        sLine = GetHMSString( timeGreenwich ) ;
        if( sign2 > 0 )
            sLine = sLine + " + "
        else
            sLine = sLine + " &ndash; " 
        sLine = sLine + GetHMSString( timeAux ) + " = " ;
        HcG2 = GetDegrees( timeGreenwich ) + sign2 * L2;
        sDay = "";
        
        document.getElementById('CommentResultPlus1Day').style.display = 'none';
        document.getElementById('CommentResultMinus1Day').style.display = 'none';        
        while( HcG2 < 0 )
        {
            HcG2 = HcG2 + 24;
            sDay = " <font color='red'>&ndash;1D (*)</font>";
            document.getElementById('CommentResultMinus1Day').style.display = 'block';
        }        
        while( HcG2 > 24 )
        {
            HcG2 = HcG2 - 24;
            sDay = " <font color='red'>+1D <font color='red'>(*)</font>";
            document.getElementById('CommentResultPlus1Day').style.display = 'block';            
        }        
        SetDMS( HcG2, timeAux );            
        sLine = sLine + "<strong>" + GetHMSString( timeAux ) + sDay + "</strong>";
        document.getElementById('ResultHcL2').innerHTML = sLine;                 

        document.getElementById('Hour2').value = timeAux.degrees;        
        document.getElementById('Min2').value = timeAux.minutes;        
        document.getElementById('Sec2').value = timeAux.seconds;                
 
        document.getElementById('Step3T').style.display = 'block';        
        document.getElementById('Step3Z').style.display = 'none';                
        document.getElementById('Step4T').style.display = 'block';        
        document.getElementById('Step4Z').style.display = 'none';                        
    }
    else // Hz
    {
        // Step 3: Convert L2 to Z
        Z2 = L2 / 15.0 ;
        sLine = GetDMSString( longAux ) + " / 15&deg/h = " + Round( Z2, 3 ) + "h&nbsp;&rArr;&nbsp;Z2 = " + Math.round( Z2 ) + "h" ;
        Z2 = Math.round( Z2 );
        document.getElementById('ResultZ2').innerHTML = sLine; 

        // Step 4: Calculate HcG
        sLine = "";
        sLine = GetHMSString( timeGreenwich ) ;
        if( sign2 > 0 )
            sLine = sLine + " + "
        else
            sLine = sLine + " &ndash; " 
        sLine = sLine + Z2 + "h = " ;
        HcG2 = GetDegrees( timeGreenwich ) + sign2 * Z2;

        sDay = "";
        document.getElementById('CommentResultPlus1Day').style.display = 'none';
        document.getElementById('CommentResultMinus1Day').style.display = 'none';        
        while( HcG2 < 0 )
        {
            HcG2 = HcG2 + 24;
            sDay = " <font color='red'>&ndash;1D <font color='red'>(*)</font>";
            document.getElementById('CommentResultMinus1Day').style.display = 'block';            
        }        
        while( HcG2 > 24 )
        {
            HcG2 = HcG2 - 24;
            sDay = " <font color='red'>+1D (*)</font>";
            document.getElementById('CommentResultPlus1Day').style.display = 'block';            
        }        
        SetDMS( HcG2, timeAux );            
        sLine = sLine + "<strong>" + GetHMSString( timeAux ) + sDay +"</strong>";
        document.getElementById('ResultHz2').innerHTML = sLine;                 

        document.getElementById('Hour2').value = timeAux.degrees;        
        document.getElementById('Min2').value = timeAux.minutes;        
        document.getElementById('Sec2').value = timeAux.seconds;                
        
        document.getElementById('Step3T').style.display = 'none';        
        document.getElementById('Step3Z').style.display = 'block';                
        document.getElementById('Step4T').style.display = 'none';        
        document.getElementById('Step4Z').style.display = 'block';                
    }

    // Show Result    
    a = document.getElementById('ResultTime');
    a.style.display = 'block';

}