var offsetSec = 0;
var offsetSecInit = 0;

function checkDate( day, month, year, hour, minute )
{
   /* fix for handling different formats between year and year in dayOff */
   if (year > 2000) {
	year = year - 2000;
   }

   var timeArray;
   for (var i=0; i<dayOff.length-1; i++)
   {
        if ( day  == dayOff[i][2] && month == dayOff[i][1] && year == dayOff[i][0])
        {
             if ( dayOff[i][3] != '')
             {
                timeArray = dayOff[i][3].split( ':');
                if ( hour < Number( timeArray[0] ) || ( hour == Number( timeArray[0] ) && minute < Number( timeArray[1] ) ) )
                   return false;
             }
             if ( dayOff[i][4] != '')
             {
                timeArray = dayOff[i][4].split( ':');
                if ( hour > Number( timeArray[0] ) || ( hour == Number( timeArray[0] ) && minute >= Number( timeArray[1] ) ) )
                   return false;
             }
             if ( dayOff[i][3] == '' && dayOff[i][4] == '' ) 
             {
                return false;
             }
        }
   }
   return true;
}

function checkWeekend( time )
{
    if ( time.getDay() == 6 || time.getDay() == 0 )
        return false;
    return true;
}

function jsClock()
{
  var time = new Date();
  if ( ! offsetSecInit )
  {
     var bms = time.getTime();
     var bsec = Math.round(time.getTime()/1000);
     offsetSec = bsec - serverTS;
     offsetmin = ( time.getTimezoneOffset() - serveroffset ) * (-1);
     offsetSec = offsetSec + offsetmin * 60;
     offsetSecInit = 1;
  }
  time.setTime( time.getTime() -  offsetSec * 1000 );
  var day = time.getDate();
  var month = time.getMonth() + 1;
  var year = time.getYear()-100;
  var hour = time.getHours();
  var minute = time.getMinutes();
  var second = time.getSeconds();
  var temp = '';
  if ( year >= 1900 )
    year = year - 1900;

  var dayT = ((day < 10) ? "0" : "") + day;
  temp +=  dayT;
  temp += ".";
  var monthT = ((month < 10) ? "0" : "") + month;
  temp += monthT;
  temp += ".";
  var  yearT = ((year < 10) ? "200" : "20") + year;
  temp += yearT;
  temp += " / kl. ";
  var hourT = ((hour < 10) ? "0" : "") + hour;
  temp += hourT;
  var minuteT =((minute < 10) ? ":0" : ":") + minute + " ";
  temp += minuteT;
  var span1 = document.getElementById('timeopen');
  span1.innerHTML = temp;
  var open = false;
  if ( !checkWeekend( time ) ||
       !checkDate( dayT, monthT, yearT, hour, minute ) ||
       ( hour < 9 ||  ( hour >= 17 && minute >= 20 ) || hour >= 18 ) )
      open = false;
  else
      open = true;

  var span2 = document.getElementById('openmessage');
  if ( open )
     span2.innerHTML = openedmessage;
  else
     span2.innerHTML = closedmessage;
  id = setTimeout("jsClock()",5000);
}

function obAddEvent( el, t, h )
{
    t = t.replace(/^on/i,'');
    if ( el.addEventListener )
        el.addEventListener( t, h, false );
    else if ( el.attachEvent )
        el.attachEvent( 'on' + t, h );
    else
    {
        var c = el['on' + t];
        el['on' + t] = typeof c !== 'function' ? h : function(){ h(); c()};
    }
}

function obSetUserStatus( status, name )
{
    var r = '', r2 = '', cookArr = document.cookie.split('; '), t;
    status = status + '=';
    name = name + '=';
    for ( var i = 0, l = cookArr.length; i < l; i++ )
    {
        t = cookArr[i].replace(/^\s+|\s+$/g, '');
        if ( t.indexOf( name ) === 0 ) r2 = t.substring( name.length, t.length );
        else if ( t.indexOf( status ) === 0 ) r = t.substring( status.length, t.length );
    }
    if ( r && document.getElementById('user_links_logged_out') && document.getElementById('user_links_logged_in') )
    {
        document.getElementById('user_links_logged_out').style.display = 'none';
        document.getElementById('user_links_logged_in').style.display = '';
        // name cookie is not always present if your logged in via admin or vlogin/login url_alias stops working
        if ( r2 && decodeURIComponent !== undefined )
        {
            document.getElementById('cookie_currentuser_name').innerHTML =  '(' + decodeURIComponent( r2.replace(/\+/g, ' ') ) + ')';
        }
    }
}

function obOmsSetMLUri( icon_id, text_id, eng_sa )
{
    var salinks = [ document.getElementById( icon_id ), document.getElementById( text_id ) ], sauri;
    for ( var i = 0, l = salinks.length; i < l; i++ )
    {
        if( salinks[i] && document.location.pathname.indexOf('markedsaktivitet') !== -1 )
        {
            if ( salinks[i].href.indexOf( eng_sa ) !== -1 )
                salinks[i].href = '/' + eng_sa + document.location.pathname + document.location.search;
            else 
                salinks[i].href = document.location.pathname.replace( '/' + eng_sa, '' ) + document.location.search;
        }
    }
}

obAddEvent( window, 'onload', jsClock );

