/**
* Copyright (c) InOut TV 2008
* @file date.js
* @author Albert Daurell
* @brief Obtain date strings and draw date/time to some layers
* @date 07/03/08
*/

var IODate = {

	aDays       : {0:"Domingo", 1:"Lunes", 2:"Martes", 3:"Mi&eacute;rcoles", 4:"Jueves", 5:"Viernes", 6:"S&aacute;bado"},
	aMonths     : {0:"Enero", 1:"Febrero", 2:"Marzo", 3:"Abril", 4:"Mayo", 5:"Junio", 6:"Julio", 7:"Agosto", 8:"Septiembre", 9:"Octubre", 10:"Noviembre", 11:"Diciembre"},
	hourLayer   : null,
	dateLayer   : null,
	mTimer      : null,
	
	init : function(hourLayer,dateLayer)
	{
	    if(typeof hourLayer == "string") hourLayer=IOLayers.getLayerById(hourLayer);
	    if(typeof dateLayer == "string") dateLayer=IOLayers.getLayerById(dateLayer);
	    IODate.hourLayer=hourLayer;
	    IODate.dateLayer=dateLayer;
	    IODate.refreshDate();
	},
	
	refreshDate: function()
	{
	    if(IODate.hourLayer) IODate.hourLayer.innerHTML=IODate.getHour();
	    if(IODate.dateLayer) IODate.dateLayer.innerHTML=IODate.getDateStr();
	    // Refresh date every 10 sec
	    if(IODate.mTimer!=null)
	    {
	        try
            {
                clearTimeout(IODate.mTimer);
            }
            catch(exc) {};
	        IODate.mTimer=null;
	    }
	    IODate.mTimer=setTimeout("IODate.refreshDate();",10000);
	},
	
	getHour: function()
	{
	    var now=new Date();
	    return (""+now.getHours()).toDigit(2)+":"+(""+now.getMinutes()).toDigit(2);
	},
	
	getCacheParam: function()
	{
	    var now=new Date();
	    // Cache every 5 min query
	    mins=Math.floor(now.getMinutes()/5)*5;
	    return ""+now.getFullYear()+now.getDay()+now.getMonth()+now.getHours()+mins;
	},
	
	getDateStr: function()
	{
	    var now=new Date();
	    return ""+IODate.aDays[now.getDay()]+", "+now.getDate()+" de "+IODate.aMonths[now.getMonth()];
               
	},
	
	expires: function(days) 
	{   
        var now= new Date()                                       
        var msec = eval(days) * 24 * 60 * 60 * 1000; // Days to msec
        now.setTime(now.getTime() + msec);
        return (now.toGMTString())   
    }   

};


		
		