window.onscroll = function() { lightbox_adjust(); }
window.onresize = function() { lightbox_adjust(); }

function rawurlencode (str) {
    // URL-encodes string  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/rawurlencode    // +   original by: Brett Zamir (http://brett-zamir.me)
   // %          note 1: This reflects PHP 5.3/6.0+ behavior
    // %        note 2: Please be aware that this function expects to encode into UTF-8 encoded strings, as found on
    // %        note 2: pages served as UTF-8
    // *     example 1: rawurlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin%20van%20Zonneveld%21'    
	// *     example 2: rawurlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'    
    str = (str+'').toString(); 
    // Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current
    // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A');
}

function getSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [ myWidth, myHeight ];
}

function getDocSize() {	
	var x,y;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) // all but Explorer Mac
	{
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	}
	else // Explorer Mac;
	     //would also work in Explorer 6 Strict, Mozilla and Safari
	{
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}	
  	return [ x, y ];
}

function lightbox(dbType) {

	// dbTypes
	// 1 = angebote_main: Weiterbildung, Integrationskurse, Gesundheitsfoerderung
	// 2 = anbieter_main: Weiterbildungsanbieter
	// 3 = berat_main: Beratungsstellen
	// 4 = schulen_main: Schulen
	// 5 = Jugendfoerderkurse
	var iframeUrl = '/fort_weiterbildung/kurse/gmaps_angebote.php';
	switch (dbType)
	{
	// case 1:
	// 	iframeUrl = '/fort_weiterbildung/kurse/gmaps_angebote.php';
	// 	break;		
	case 2:
		iframeUrl = '/fort_weiterbildung/anbieter/gmaps_anbieter.php';
		break;		
	case 3:
		iframeUrl = '/beratung/suche/gmaps_berater.php';
		break;		
	case 4:
		iframeUrl = '/schule/schulen_koeln/gmaps_schulen.php';
		break;		
	case 5:
		iframeUrl = '/beratung/angebote_jugendliche/jugendfoerderkurse/gmaps_jugfk.php';
		break;
	}

	var clientSize = getSize();
	var docSize = getDocSize();
	
	document.getElementById('lightbox').style.width = docSize[0]+'px';
	document.getElementById('lightbox').style.height = docSize[1]+'px';	
	document.getElementById('lightbox').style.display = 'block';

	var position = get_scroll_position();
	var oben = position[1];
	var links = position[0];
	
	document.getElementById('container_googlemaps').style.top = ((clientSize[1]/2)-(520/2))+oben+'px';
	document.getElementById('container_googlemaps').style.left = ((clientSize[0]/2)-(700/2))+links+'px'; 
	document.getElementById('container_googlemaps').style.display = 'block';
	
	var idsQueryStr = '';
	if (document.getElementById('google_map_ids') != null) {
		var idsStr = document.getElementById('google_map_ids').innerHTML;
		var idsArr = idsStr.split(",");		
		for (i = 0; i < idsArr.length; i++) {
 			idsQueryStr = idsQueryStr + "&kid[]=" + idsArr[i];
			}
		}
	
	document.getElementById('container_googlemaps').innerHTML = '<div style="padding: 11px 12px 12px 12px;"><div align="right" style="padding-bottom:21px;"><a href="#" class="HREFListe" onClick="iprint(iframe_map); return false;" style="padding-right: 16px;">Drucken...</a><a href="#" onclick="lightbox_close(); return false;" class="HREFListe" title="Google-Maps-Ansicht schlie&szlig;en">Fenster schlie&szlig;en</a></div><iframe id="iframe_map" src="' + iframeUrl + '?f=b' + idsQueryStr + '&qs=' + rawurlencode(window.location.search.split('?')[1]) + '" name="iframe_map" width="675" height="462" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></iframe></div>';
		
	}

function lightbox_close() {
	document.getElementById('lightbox').style.display = 'none';
	document.getElementById('container_googlemaps').style.display = 'none';
	}


function lightbox_adjust() {
	if(document.getElementById('lightbox') != null && document.getElementById('lightbox').style.display == 'block') {
		var position = get_scroll_position();
		var oben = position[1];
		var links = position[0];
	
		var clientSize = getSize();		
		var docSize = getDocSize();
		
		document.getElementById('container_googlemaps').style.top = ((clientSize[1]/2)-(520/2))+oben+'px';
		document.getElementById('container_googlemaps').style.left = ((clientSize[0]/2)-(700/2))+links+'px';
		
		document.getElementById('lightbox').style.width = docSize[0]+'px';
		document.getElementById('lightbox').style.height = docSize[1]+'px';
		}
	}
 
function get_scroll_position() {
	 var scroll_x = 0, scroll_y = 0;
	 if (typeof( window.pageYOffset ) == 'number') { // Netscape
	  scroll_y = window.pageYOffset; scroll_x = window.pageXOffset;
	 }
	 else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) { // DOM
	  scroll_y = document.body.scrollTop; scroll_x = document.body.scrollLeft;
	 }
	 else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) { // IE6
	  scroll_y = document.documentElement.scrollTop; scroll_x = document.documentElement.scrollLeft;
	 }
	 return [scroll_x,scroll_y];
	}

function iprint(ptarget)
{
ptarget.focus();
ptarget.print();
} 
