/*
init-Params-Example

var timeParams = new Object();
timeParams['year'] = 2010;
timeParams['month'] = 10;
timeParams['day'] = 12;
timeParams['hours'] = 2;
timeParams['minutes'] = 15;
timeParams['seconds'] = 48;


*/

function time_initDateTime(time){

  var paramKeys = new Object();
  paramKeys['year'] = 1970;
  paramKeys['month'] = 0;
  paramKeys['day'] = 1;
  paramKeys['hours'] = 0;
  paramKeys['minutes'] = 0;
  paramKeys['seconds'] = 0;
  
  
  //Objektname = new Date(Jahr, Monat, Tag, Stunden, Minuten, Sekunden);
  if(typeof time == 'object'){
    var initTime = new Object();
    
    for(var i in paramKeys){
      if(typeof time[i] == 'undefined') {
        initTime[i] = paramKeys[i];
        continue;
      }
      
      var value = time[i];
      switch(i){
        default:          
          break
        case 'month':   //Month base is '0'
          value = parseInt(time[i])-1;
          break;
      
      }
      initTime[i] = parseInt(value);
      
    }

    var timeOject = new Date(initTime.year, initTime.month, initTime.day, initTime.hours, initTime.minutes, initTime.seconds);
  } else {
    var timeOject = new Date();
  }
  
  return timeOject;
}

function time_getTimestamp(time){
  
  var now = time_initDateTime(time);

  //now.getYear()  // year 2000 BUG!! Do not use this!!  
  var year    = now.getFullYear();  
  var month   = now.getMonth()+1;
  var day     = now.getDate();
  var minutes = now.getMinutes();
  var hours   = now.getHours();
  var seconds = now.getSeconds();
  //var milliseconds = now.getMilliseconds();
  
  
  var timestamp = new Array(); 
  timestamp.push(year); 
  timestamp.push(str_pad(month,2,'0','left')); 
  timestamp.push(str_pad(day,2,'0','left')); 
  timestamp.push(str_pad(hours,2,'0','left')); 
  timestamp.push(str_pad(minutes,2,'0','left')); 
  timestamp.push(str_pad(seconds,2,'0','left')); 
  //timestamp.push(milliseconds); 
  
  timestamp = timestamp.join('');
  
  return timestamp;
}


function time_getUnixTimestamp(time){
  var now = time_initDateTime(time);
  
  //milliseconds from 01.01.1970 UTC
  var timestamp = (now.getTime()/1000);
  
  return timestamp;
}


function time_getMilliTimestamp(time){
  
  var now = time_initDateTime(time);
  var milliTime = now.getTime();
  
  return milliTime;
}

function time_getUnixTimestamp(time){
  
  var now = time_getMilliTimestamp(time)/1000;
  now = parseInt(now);
  
  return now;
}





