function geoeffnet_status_anhand_uhrzeit( shop_id ) {

  oeffnungszeiten_str  = '';
  oeffnungszeiten_str += oeffnungszeiten[shop_id]['sun'];
  oeffnungszeiten_str += oeffnungszeiten[shop_id]['mon'];
  oeffnungszeiten_str += oeffnungszeiten[shop_id]['tue'];
  oeffnungszeiten_str += oeffnungszeiten[shop_id]['wed'];
  oeffnungszeiten_str += oeffnungszeiten[shop_id]['thu'];
  oeffnungszeiten_str += oeffnungszeiten[shop_id]['fri'];
  oeffnungszeiten_str += oeffnungszeiten[shop_id]['sat'];  
  
  timezone_offset_shop    = oeffnungszeiten[shop_id]['timezone'] * 3600;
  timezone_offset_user    = jetzt.getTimezoneOffset() * 60;
  timezone_offset_country = daylight_savings_sekunden * 1;
  
  jetzt      = new Date();

  pos  = 0;
  pos += jetzt.getDay()  * 86400;
  pos += jetzt.getHours() * 3600;
  pos += jetzt.getMinutes() * 60;
  pos += jetzt.getSeconds()  * 1;

  pos += timezone_offset_user; // ist in de negativ
  pos += timezone_offset_shop;
  pos += timezone_offset_country;  

  while (pos>86400)  pos -= 604800;
  while (pos<0)      pos += 604800;
  
  pos  = Math.floor( pos/604800*336 );

  return (oeffnungszeiten_str.substr( pos, 1 )=='x') ? true : false;
} // function geoeffnet_status_anhand_uhrzeit( shop_id )


function zeige_wer_offen_hat() {
	
  geoeffnet_status = new Object();
  for (var shop_id in oeffnungszeiten) {
    if (geoeffnet_status_anhand_uhrzeit( shop_id )) {
      div_einblenden( 'statusanzeige_offen_'+ shop_id );
      div_ausblenden( 'statusanzeige_geschlossen_'+ shop_id );
      geoeffnet_status[ shop_id ] = 1;
    } else { // if (geoeffnet_status_anhand_uhrzeit(oeffnungszeiten[shop_id][tag]))
    	
      
    	
      div_einblenden( 'statusanzeige_geschlossen_'+ shop_id );
      div_ausblenden( 'statusanzeige_offen_'+ shop_id );
      geoeffnet_status[ shop_id ] = 0;
    } // if (geoeffnet_status_anhand_uhrzeit(oeffnungszeiten[shop_id][tag]))
  } // for (var shop_id in oeffnungszeiten)
  return geoeffnet_status;
} // function zeige_wer_offen_hat()

function getTimeToOpen(shop_id)
{
	
	var oeffnungszeiten_str  = '';
	oeffnungszeiten_str += oeffnungszeiten[shop_id]['sun'];
	oeffnungszeiten_str += oeffnungszeiten[shop_id]['mon'];
	oeffnungszeiten_str += oeffnungszeiten[shop_id]['tue'];
	oeffnungszeiten_str += oeffnungszeiten[shop_id]['wed'];
	oeffnungszeiten_str += oeffnungszeiten[shop_id]['thu'];
	oeffnungszeiten_str += oeffnungszeiten[shop_id]['fri'];
	oeffnungszeiten_str += oeffnungszeiten[shop_id]['sat'];  
	  
	timezone_offset_shop    = oeffnungszeiten[shop_id]['timezone'] * 3600;
	timezone_offset_user    = jetzt.getTimezoneOffset() * 60;
	timezone_offset_country = daylight_savings_sekunden * 1;
	  
	jetzt      = new Date();

	pos  = 0;
	pos += jetzt.getDay()  * 86400;
	pos += jetzt.getHours() * 3600;
	pos += jetzt.getMinutes() * 60;
	pos += jetzt.getSeconds()  * 1;

	pos += timezone_offset_user; // ist in de negativ
	pos += timezone_offset_shop;
	pos += timezone_offset_country;  

	while (pos>86400)  pos -= 604800;
	while (pos<0)      pos += 604800;
	  
	pos  = Math.floor( pos/604800*336 );

	if(oeffnungszeiten_str.indexOf('x') !== -1)
	{
		var first_open_pos = oeffnungszeiten_str.indexOf('x', pos);
	    
		if(first_open_pos !== -1)
		{
			var blocks_dif 	= first_open_pos - pos;
		}
		else
		{
			var blocks_dif	= oeffnungszeiten_str.indexOf('x', 0) + (oeffnungszeiten_str.length - pos);
		}
		
		if(jetzt.getMinutes() > 30)
		{
			blocks_dif++;
		}
		
		var hours 		= Math.floor(blocks_dif/2);
		var minutes		= (blocks_dif % 2) * 30;
		
		if(hours != 0)
		{
			hours--;
		}
		
		if(minutes == 0)
		{
			minutes = Math.abs(60 - jetzt.getMinutes());
		}
		else
		{
			if(jetzt.getMinutes() > 30)
			{
				minutes = Math.abs(30 + 60 - jetzt.getMinutes());
			}
			else
			{
				minutes = Math.abs(minutes - jetzt.getMinutes());
			}
		}
	
		if(hours < 10)
		{
			hours = "0" + hours;
		}
		
		
		if(minutes < 10)
		{
			minutes = "0" + minutes;
		}
		
		return [hours, minutes]
		
	}
	else
	{
		return false;
	}
}

function starte_oeffnungszeiten_anzeige() {
  div_einblenden('trefferliste_kontainer');
  window.setInterval("zeige_wer_offen_hat()",60000);
  zeige_wer_offen_hat();
} // function starte_oeffnungszeiten_anzeige()

