<?php
header
'Content-Type: text/html; charset=utf-8' );

// platuma
$latitude = ! isset( $_GET['lt'] ) ? 54.993524 : (float) $_GET['lt'];
$latitude abs$latitude );

// metai
$Y date'Y' );

// mėnuo
$m = empty( $_GET['m'] ) ? date'n' ) : (int) $_GET['m'];
$m = ( $m and $m 13 ) ? $m date'n' );

// diena
$d = empty( $_GET['d'] ) ? date'j' ) : (int) $_GET['d'];
if ( ! 
checkdate$m$d$Y ) ) {
    
$d date'd'strtotime"last day of $Y-$m) );
}

$angle         getAngle$latitude$Y$m$d );
$angleLygiadie roundgetAngle$latitude$Y321 ) );
$angleVasaSaul roundgetAngle$latitude$Y620 ) );
$angleZiemSaul roundgetAngle$latitude$Y1220 ) );

// jei reikia tik kampo skaičiuko
if ( isset( $_GET['oa'] ) ) {
    echo 
$angle;
    exit;
}

// url's
$home         substrdirname__FILE__ ), strlen'/' trim$_SERVER['DOCUMENT_ROOT'], '/' ) ) );
$siandien     $home '/?lt=' $latitude '&m=' date'n' ) . '&d=' date'j' );
$staciausias  $home '/?lt=' $latitude '&m=12&d=20';
$gulsciausias $home '/?lt=' $latitude '&m=6&d=20';
$aoUrl        $home '/?' http_build_queryarray_uniquearray_merge$_GET, array( 'oa' => ) ) ) );

function 
getAngle$latitude$Y$m$d ) {

    
// kelinta diena, skaičiuojant nuo kovo 21
    
$dCal            = new DateTime"$Y-$m-$d);
    
$dMar            = new DateTime"$Y-03-21" );
    
$dDiff           $dMar->diff$dCal );
    
$daysFromMarch21 $dDiff->invert ? ( 365 $dDiff->days ) : $dDiff->days;

    
// Saulės deklinacija
    
$declination 23.45 sindeg2rad( ( $daysFromMarch21 365.25 ) * 360 ) );

    
// PVM kampas (nuo horizonto)
    
return abs$latitude $declination );

}

?>
<!doctype html>
<html lang="lt">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <link href="//fonts.googleapis.com" rel="dns-prefetch">
    <style type="text/css">
        html {
            margin: 0;
            padding: 1em;
            border-radius: 5px 5px 5px 5px;
            -moz-border-radius: 5px 5px 5px 5px;
            -webkit-border-radius: 5px 5px 5px 5px;
            border: 1px solid #77216f;
        }

        body {
            background-color: #f5f5f5;
            margin: 0;
            padding: 0;
            font-family: Arial,sans-serif;
            font-size: 76.6%;
        }

        ul, li {
            display: block;
            overflow: hidden;
            margin: 0;
            padding: 0;
            list-style-type: none;
        }

        #iliustracija {
            position: relative;
            background: transparent url(kampas.png) no-repeat 0 0;
            width: 413px;
            height: 260px;
            margin: 2em 0 0
        }

        #lygiadienis {
            position: absolute;
            border-top: 1px solid #969696;
            color: #969696;
            width: 250px;
            height: 0;
            top: 197px;
            right: 180px;
            text-align: center;
            font-size: .8em;
            transform-origin: 100% 100%;
            -ms-transform-origin: 100% 100%;
            -webkit-transform-origin: 100% 100%;
            transform: rotate(<?= htmlspecialchars(round($angleLygiadie)) ?>deg);
            -ms-transform: rotate(<?= htmlspecialchars(round($angleLygiadie)) ?>deg);
            -webkit-transform: rotate(<?= htmlspecialchars(round($angleLygiadie)) ?>deg);
        }

        #vasara {
            position: absolute;
            border-top: 1px solid #7A9642;
            color: #7A9642;
            width: 250px;
            height: 0;
            top: 197px;
            right: 180px;
            text-align: center;
            font-size: .8em;
            transform-origin: 100% 100%;
            -ms-transform-origin: 100% 100%;
            -webkit-transform-origin: 100% 100%;
            transform: rotate(<?= htmlspecialchars(round($angleVasaSaul)) ?>deg);
            -ms-transform: rotate(<?= htmlspecialchars(round($angleVasaSaul)) ?>deg);
            -webkit-transform: rotate(<?= htmlspecialchars(round($angleVasaSaul)) ?>deg);
        }

        #ziema {
            position: absolute;
            border-top: 1px solid #537B96;
            color: #537B96;
            width: 250px;
            height: 0;
            top: 197px;
            right: 180px;
            text-align: center;
            font-size: .8em;
            transform-origin: 100% 100%;
            -ms-transform-origin: 100% 100%;
            -webkit-transform-origin: 100% 100%;
            transform: rotate(<?= htmlspecialchars(round($angleZiemSaul)) ?>deg);
            -ms-transform: rotate(<?= htmlspecialchars(round($angleZiemSaul)) ?>deg);
            -webkit-transform: rotate(<?= htmlspecialchars(round($angleZiemSaul)) ?>deg);
        }

        #modulis {
            position: absolute;
            background-color: #000;
            color: #FFF;
            font-size: 12px;
            line-height: 12px;
            height: 12px;
            width: 160px;
            margin: 0;
            padding: 0;
            text-align: center;
            top: 185px;
            right: 180px;
            transform-origin: 100% 100%;
            -ms-transform-origin: 100% 100%;
            -webkit-transform-origin: 100% 100%;
            transform: rotate(<?= htmlspecialchars(round($angle)) ?>deg);
            -ms-transform: rotate(<?= htmlspecialchars(round($angle)) ?>deg);
            -webkit-transform: rotate(<?= htmlspecialchars(round($angle)) ?>deg);
        }

        #kampas {
            display: block;
            position: absolute;
            right: 250px;
            width: 5em;
            top: 175px;
            background-color: #FFF;
            font-family: monospace;
            line-height: 20px;
            text-align: right;
            font-size: 1.4em
        }
    </style>
    <script type='text/javascript' src='/wp-includes/js/jquery/jquery.js'></script>
    <title>Saulės modulių kampas</title>
</head>
<body>

    <h2>Saulės modulių kampas</h2>
    <form autocomplete="off">
        <ul>
            <li>
                <label>
                    <input type="text" name="lt" value="<?= htmlspecialchars$latitude ?>" size="8">
                    platuma
                </label>
            <li>
                <label>
                    <input type="text" name="m" value="<?= htmlspecialchars$m ?>" size="2" maxlength="2">
                    mėnuo
                </label>
                <label>
                    <input type="text" name="d" value="<?= htmlspecialchars$d ?>" size="2" maxlength="2">
                    diena
                </label>
            <li>
                <input type="submit" value="kampas">
                arba<br>
                <a href="<?= htmlspecialchars$home ?>">pradžia</a> |
                <a href="<?= htmlspecialchars$siandien ?>">šiandien</a> |
                <a href="<?= htmlspecialchars$staciausias ?>">stačiausias</a> |
                <a href="<?= htmlspecialchars$gulsciausias ?>">gulsčiausias</a> |
                <a href="<?= htmlspecialchars$aoUrl ?>" target="_blank">tik laipsniai</a>
            <li id="iliustracija">
                <div id="lygiadienis"><?= $angleLygiadie ?>° lygiadienis</div>
                <div id="vasara"><?= $angleVasaSaul ?>° vasaros saulėgrįža</div>
                <div id="ziema"><?= $angleZiemSaul ?>° žiemos saulėgrįža</div>
                <div id="modulis">saulės modulis</div>
                <span id="kampas"><?= htmlspecialcharsround$angle) ) ?>°</span>
        </ul>
    </form>

</body>
</html>