/**
 * WIDGET :: sun
 * C.line (c)
 * Celine AUZIAS 2004-2008
 * celine DOT auzias AT gmail DOT com */

var SPEED_SUN = 180000;

var GET_UP = 8;
var MID_DAY = 12;
var GET_DOWN = 19;

var posX_begin = 0;
var posX_end = 0;
var posY_begin = 0;
var posY_end = 0;
var posX = 0;
var posY = 0;

var sun_size = 200;
var var_x_up = 0;
var var_x_down = 0;
var var_y_up = 0;
var var_y_down = 0;

var timer_sun;
var timer_display_sun;


function init_sun(){
    resolution_sun();
    sun();
    timer_sun = setInterval("sun()", SPEED_SUN);
}

function clearTimer(){
    clearInterval(timer_sun);
    clearTimeout(timer_display_sun);
}


function resolution_sun(){
    posX_end = - sun_size ;
    posX_begin = screen_width - (sun_size / 2);
    posY_begin = screen_height - (sun_size/2) - 170;
    posY_end = -20;

    var_x_up = ((posX_end-posX_begin)/2) / ( (MID_DAY - GET_UP) * 60 * 60);
    var_x_down = ((posX_end-posX_begin)/2) / ( (GET_DOWN - MID_DAY) * 60 * 60);
    var_y_up = (posY_begin-posY_end) / ( (MID_DAY - GET_UP) * 60 * 60);
    var_y_down = (posY_begin-posY_end) / ( (GET_DOWN - MID_DAY) * 60 * 60);
}

function calcul_sun(){
    var now = new Date();
    var h = now.getHours();
    var m = now.getMinutes();
    var s = now.getSeconds();

    if ( (GET_UP <= h) && (h < MID_DAY) ){
        posX = posX_begin + ( ( ((h-GET_UP) * 60 * 60) + (m*60) + s ) * var_x_up);
        posY = posY_begin - ( ( ((h-GET_UP) * 60 * 60) + (m*60) + s ) * var_y_up);
    }
    else if ( (MID_DAY <= h) && (h < GET_DOWN) ){
        posX = ((screen_width/2) - (sun_size/2)) + ( ( ((h-MID_DAY) * 60 * 60) + (m*60) + s ) * var_x_down);
        posY = posY_end + ( ( ((h-MID_DAY) * 60 * 60) + (m*60) + s ) * var_y_down);
    }
    else {
        posX = - sun_size;
        posY = - sun_size;
    }
}

function sun(){
    calcul_sun();
    document.getElementById("sun").style.left = Math.floor(posX)+"px";
    document.getElementById("sun").style.top = Math.floor(posY)+"px";
    document.getElementById("sun").innerHTML = '<img src=\'widgets/sun/img/sun.png\'>';
}

