/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by ----- filename.js -----
 */

/* ----- formsubmithelpers.js ----- */
function inputSubmitOnClick(event) {
    if (!event) var event = window.event; // IE compatibility

    if (hasClassName(this, 'submitting')) {
        return confirm(window.form_resubmit_message);
    } else {
        addClassName(this, 'submitting');
    }
    return true;
}

function registerSubmitHandler() {
    var nodes = cssQuery('input[type=submit]');
    for (var i=0; i<nodes.length; i++) {
        var node = nodes[i];
        if (!node.onclick) {
            node.onclick = inputSubmitOnClick;
        }
    }
}
registerPloneFunction(registerSubmitHandler);


/* ----- calculs_astro.js ----- */

function calculeHauteurDD()
{
choix1 =  document.dateDDD.latNS1.selectedIndex;
if (choix1 ==0 )
{signe1 = 1;  }
else
{signe1 = -1; }
var a = document.dateDDD.aaaa.value;
var m = document.dateDDD.mm.value-1;
var j = document.dateDDD.jj.value;
var aujourdhui = new Date(a,m,j,12,0,0 );

var latDeg = document.dateDDD.dd1.value;
var latMin = document.dateDDD.mm1.value;
var latSec = 0;
var latSeconde = latSec-60*(-latMin)-3600*(-latDeg);
var latDegreDD = Math.round(latSeconde/3600*10000)/10000*signe1;


var DatePrintemps10 = new Date(2010, 2, 20, 17, 32, 0);

var periodeAn = 365.25 ;
var ecart = (aujourdhui.getTime() - DatePrintemps10.getTime());
var ecartJour = ecart/(24*3600*1000);
var Phase = ecartJour*2*3.1415926 / periodeAn;
var declinaison = 23.450*Math.sin(Phase);
var hauteurV = latDegreDD - declinaison ;





var arondiHauteurV    = Math.abs(Math.round(1000*hauteurV) / 1000);
var entDegreV = Math.floor(arondiHauteurV); 
var minuteV = (arondiHauteurV-entDegreV)*60;

var entMinuteV = Math.round(minuteV);

var hauteur = 90 - latDegreDD + declinaison ;

if (hauteurV>=0 )
{
if (hauteurV>=90 )
{affHauteur= "No Sun";affOmbre="";affdd1="Polar";affmm1="Night";affDirection="";
 }
else
{affHauteur= arondiHauteurV;
affOmbre=Math.round(1000/Math.tan(hauteur*3.1415927/180)) / 10;
affdd1= entDegreV;
affmm1= entMinuteV;
affDirection="->N";
 }
}
else
if (hauteurV<=0 )
{
if (hauteurV<=-90 )
{affHauteur= "NoSun";affOmbre="NoSun";affdd1="";affmm1=""; affDirection="No Sun";}
else
{affHauteur= arondiHauteurV; 
affOmbre=Math.round(1000/Math.tan(hauteur*3.1415927/180)) / 10;
affdd1= entDegreV;
affmm1= entMinuteV;
affDirection="->S";



}
}

affAngle = " "  + affdd1 + "°" + affmm1 +  "'  =  " + affHauteur + "° ";
affLongOmbre = " " + affOmbre + " cm   (" + affDirection + ") ";



document.differenceS.deg.value =affAngle;
document.differenceS.ombre.value =affLongOmbre;

}


function calculeMidiSolaire()
{
choix2 =  document.dateDDD.longEO2.selectedIndex;
if (choix2 ==0 )
{signe2 = 1;  }
else
{signe2 = -1; }

var a = document.dateDDD.aaaa.value;
var m = document.dateDDD.mm.value-1;
var j = document.dateDDD.jj.value;

var longDeg = document.dateDDD.longdd1.value;
var longMin = document.dateDDD.longmm1.value;
var longSec = 0;
var longSeconde = longSec-60*(-longMin)*signe2-3600*(-longDeg)*signe2;
var longDegreDD = Math.round(longSeconde/3600*10000)/10000;


var aujourdhui = new Date(a,m,j,12,0,0 );
var DatePrintemps10 = new Date(2010, 2, 20, 17, 32, 0);
var Date3janvier = new Date(2010, 12, 3, 0, 0, 0);
var periodeAn = 365.25 ;
var ecart = (aujourdhui.getTime() - DatePrintemps10.getTime());
var ecartJour = ecart/(24*3600*1000) ;
var Phase2 = ecartJour*4*3.1415927 / periodeAn;
var kepler = -592 / 60*Math.sin(Phase2);

var ecart3Janvier = (aujourdhui.getTime() - Date3janvier.getTime());
var ecartJour3Janvier = ecart3Janvier/(24*3600*1000) ;
var Phase3Janvier = ecartJour3Janvier*2*3.1415927 / periodeAn;
var ecliptique = 460 / 60*Math.sin(Phase3Janvier);

var corLongitude = -4*longDegreDD;
var cor =(kepler+ecliptique+corLongitude); 
var min = Math.round(cor);
var hTU = Math.round(min/60);
var mTU = min-60*hTU;

if (mTU >=0)
 { 
if (mTU>=10 )
{heureS=(hTU+12)+":"+mTU; }
else
{heureS=(hTU+12)+":0"+mTU; }
}
else
{
if (mTU>=-50 )
{heureS= (hTU+11) +":"+(60+mTU); }
else
{heureS=(hTU+11)+ ":0"+(60+mTU); }
}


affMidi = " " + heureS + " (UT) ";

document.differenceS.MidiLegal.value =affMidi;


}


